From f8f752fcc9c25484012b478d1d99097836f4e344 Mon Sep 17 00:00:00 2001 From: Evgeny Zinoviev Date: Mon, 29 May 2023 23:58:07 +0300 Subject: [PATCH] lws: add h265webjs lib --- .../h265webjs-dist/h265webjs-v20221106.js | 428 + .../missile-120func-v20221120.js | 7070 ++++++++++++++ .../missile-120func-v20221120.wasm | Bin 0 -> 2190151 bytes .../assets/h265webjs-dist/missile-120func.js | 7070 ++++++++++++++ .../h265webjs-dist/missile-256mb-v20221120.js | 7062 ++++++++++++++ .../missile-256mb-v20221120.wasm | Bin 0 -> 2108889 bytes .../assets/h265webjs-dist/missile-256mb.js | 7062 ++++++++++++++ .../h265webjs-dist/missile-512mb-v20221120.js | 7062 ++++++++++++++ .../missile-512mb-v20221120.wasm | Bin 0 -> 2108889 bytes .../assets/h265webjs-dist/missile-512mb.js | 7062 ++++++++++++++ .../assets/h265webjs-dist/missile-format.js | 8300 +++++++++++++++++ .../h265webjs-dist/missile-v20221120.js | 7062 ++++++++++++++ .../h265webjs-dist/missile-v20221120.wasm | Bin 0 -> 2108891 bytes .../htdocs/assets/h265webjs-dist/missile.js | 7062 ++++++++++++++ .../assets/h265webjs-dist/raw-parser.js | 331 + .../h265webjs-dist/worker-fetch-dist.js | 86 + .../h265webjs-dist/worker-parse-dist.js | 405 + 17 files changed, 66062 insertions(+) create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/h265webjs-v20221106.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-120func-v20221120.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-120func-v20221120.wasm create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-120func.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-256mb-v20221120.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-256mb-v20221120.wasm create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-256mb.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-512mb-v20221120.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-512mb-v20221120.wasm create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-512mb.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-format.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-v20221120.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile-v20221120.wasm create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/missile.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/raw-parser.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/worker-fetch-dist.js create mode 100644 localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js diff --git a/localwebsite/htdocs/assets/h265webjs-dist/h265webjs-v20221106.js b/localwebsite/htdocs/assets/h265webjs-dist/h265webjs-v20221106.js new file mode 100644 index 0000000..3dd4880 --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/h265webjs-v20221106.js @@ -0,0 +1,428 @@ +!function e(t,i,n){function r(s,o){if(!i[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var h=i[s]={exports:{}};t[s][0].call(h.exports,(function(e){return r(t[s][1][e]||e)}),h,h.exports,e,t,i,n)}return i[s].exports}for(var a="function"==typeof require&&require,s=0;sh&&(u-=h,u-=h,u-=c(2))}return Number(u)};i.numberToBytes=function(e,t){var i=(void 0===t?{}:t).le,n=void 0!==i&&i;("bigint"!=typeof e&&"number"!=typeof e||"number"==typeof e&&e!=e)&&(e=0),e=c(e);for(var r=s(e),a=new Uint8Array(new ArrayBuffer(r)),o=0;o=t.length&&u.call(t,(function(t,i){return t===(o[i]?o[i]&e[a+i]:e[a+i])}))};i.sliceBytes=function(e,t,i){return Uint8Array.prototype.slice?Uint8Array.prototype.slice.call(e,t,i):new Uint8Array(Array.prototype.slice.call(e,t,i))};i.reverseBytes=function(e){return e.reverse?e.reverse():Array.prototype.reverse.call(e)}},{"@babel/runtime/helpers/interopRequireDefault":6,"global/window":34}],10:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.getHvcCodec=i.getAvcCodec=i.getAv1Codec=void 0;var n=e("./byte-helpers.js");i.getAv1Codec=function(e){var t,i="",r=e[1]>>>3,a=31&e[1],s=e[2]>>>7,o=(64&e[2])>>6,u=(32&e[2])>>5,l=(16&e[2])>>4,h=(8&e[2])>>3,d=(4&e[2])>>2,c=3&e[2];return i+=r+"."+(0,n.padStart)(a,2,"0"),0===s?i+="M":1===s&&(i+="H"),t=2===r&&o?u?12:10:o?10:8,i+="."+(0,n.padStart)(t,2,"0"),i+="."+l,i+="."+h+d+c};i.getAvcCodec=function(e){return""+(0,n.toHexString)(e[1])+(0,n.toHexString)(252&e[2])+(0,n.toHexString)(e[3])};i.getHvcCodec=function(e){var t="",i=e[1]>>6,r=31&e[1],a=(32&e[1])>>5,s=e.subarray(2,6),o=e.subarray(6,12),u=e[12];1===i?t+="A":2===i?t+="B":3===i&&(t+="C"),t+=r+".";var l=parseInt((0,n.toBinaryString)(s).split("").reverse().join(""),2);l>255&&(l=parseInt((0,n.toBinaryString)(s),2)),t+=l.toString(16)+".",t+=0===a?"L":"H",t+=u;for(var h="",d=0;d=1)return 71===e[0];for(var t=0;t+1880}},{"./byte-helpers.js":9,"./ebml-helpers.js":14,"./id3-helpers.js":15,"./mp4-helpers.js":17,"./nal-helpers.js":18}],13:[function(e,t,i){(function(n){"use strict";var r=e("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=function(e){for(var t=(s=e,a.default.atob?a.default.atob(s):n.from(s,"base64").toString("binary")),i=new Uint8Array(t.length),r=0;r=i.length)return i.length;var a=o(i,r,!1);if((0,n.bytesMatch)(t.bytes,a.bytes))return r;var s=o(i,r+a.length);return e(t,i,r+s.length+s.value+a.length)},h=function e(t,i){i=function(e){return Array.isArray(e)?e.map((function(e){return u(e)})):[u(e)]}(i),t=(0,n.toUint8)(t);var r=[];if(!i.length)return r;for(var a=0;at.length?t.length:d+h.value,f=t.subarray(d,c);(0,n.bytesMatch)(i[0],s.bytes)&&(1===i.length?r.push(f):r=r.concat(e(f,i.slice(1)))),a+=s.length+h.length+f.length}return r};i.findEbml=h;var d=function(e,t,i,r){var s;"group"===t&&((s=h(e,[a.BlockDuration])[0])&&(s=1/i*(s=(0,n.bytesToNumber)(s))*i/1e3),e=h(e,[a.Block])[0],t="block");var u=new DataView(e.buffer,e.byteOffset,e.byteLength),l=o(e,0),d=u.getInt16(l.length,!1),c=e[l.length+2],f=e.subarray(l.length+3),p=1/i*(r+d)*i/1e3,m={duration:s,trackNumber:l.value,keyframe:"simple"===t&&c>>7==1,invisible:(8&c)>>3==1,lacing:(6&c)>>1,discardable:"simple"===t&&1==(1&c),frames:[],pts:p,dts:p,timestamp:d};if(!m.lacing)return m.frames.push(f),m;var _=f[0]+1,g=[],v=1;if(2===m.lacing)for(var y=(f.length-v)/_,b=0;b<_;b++)g.push(y);if(1===m.lacing)for(var S=0;S<_-1;S++){var T=0;do{T+=f[v],v++}while(255===f[v-1]);g.push(T)}if(3===m.lacing)for(var E=0,w=0;w<_-1;w++){var A=0===w?o(f,v):o(f,v,!0,!0);E+=A.value,g.push(E),v+=A.length}return g.forEach((function(e){m.frames.push(f.subarray(v,v+e)),v+=e})),m};i.decodeBlock=d;var c=function(e){e=(0,n.toUint8)(e);var t=[],i=h(e,[a.Segment,a.Tracks,a.Track]);return i.length||(i=h(e,[a.Tracks,a.Track])),i.length||(i=h(e,[a.Track])),i.length?(i.forEach((function(e){var i=h(e,a.TrackType)[0];if(i&&i.length){if(1===i[0])i="video";else if(2===i[0])i="audio";else{if(17!==i[0])return;i="subtitle"}var s={rawCodec:(0,n.bytesToString)(h(e,[a.CodecID])[0]),type:i,codecPrivate:h(e,[a.CodecPrivate])[0],number:(0,n.bytesToNumber)(h(e,[a.TrackNumber])[0]),defaultDuration:(0,n.bytesToNumber)(h(e,[a.DefaultDuration])[0]),default:h(e,[a.FlagDefault])[0],rawData:e},o="";if(/V_MPEG4\/ISO\/AVC/.test(s.rawCodec))o="avc1."+(0,r.getAvcCodec)(s.codecPrivate);else if(/V_MPEGH\/ISO\/HEVC/.test(s.rawCodec))o="hev1."+(0,r.getHvcCodec)(s.codecPrivate);else if(/V_MPEG4\/ISO\/ASP/.test(s.rawCodec))o=s.codecPrivate?"mp4v.20."+s.codecPrivate[4].toString():"mp4v.20.9";else if(/^V_THEORA/.test(s.rawCodec))o="theora";else if(/^V_VP8/.test(s.rawCodec))o="vp8";else if(/^V_VP9/.test(s.rawCodec))if(s.codecPrivate){var u=function(e){for(var t=0,i={};t>>3).toString():"mp4a.40.2":/^A_AC3/.test(s.rawCodec)?o="ac-3":/^A_PCM/.test(s.rawCodec)?o="pcm":/^A_MS\/ACM/.test(s.rawCodec)?o="speex":/^A_EAC3/.test(s.rawCodec)?o="ec-3":/^A_VORBIS/.test(s.rawCodec)?o="vorbis":/^A_FLAC/.test(s.rawCodec)?o="flac":/^A_OPUS/.test(s.rawCodec)&&(o="opus");s.codec=o,t.push(s)}})),t.sort((function(e,t){return e.number-t.number}))):t};i.parseTracks=c;i.parseData=function(e,t){var i=[],r=h(e,[a.Segment])[0],s=h(r,[a.SegmentInfo,a.TimestampScale])[0];s=s&&s.length?(0,n.bytesToNumber)(s):1e6;var o=h(r,[a.Cluster]);return t||(t=c(r)),o.forEach((function(e,t){var r=h(e,[a.SimpleBlock]).map((function(e){return{type:"simple",data:e}})),o=h(e,[a.BlockGroup]).map((function(e){return{type:"group",data:e}})),u=h(e,[a.Timestamp])[0]||0;u&&u.length&&(u=(0,n.bytesToNumber)(u)),r.concat(o).sort((function(e,t){return e.data.byteOffset-t.data.byteOffset})).forEach((function(e,t){var n=d(e.data,e.type,s,u);i.push(n)}))})),{tracks:t,blocks:i}}},{"./byte-helpers":9,"./codec-helpers.js":10}],15:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.getId3Offset=i.getId3Size=void 0;var n=e("./byte-helpers.js"),r=(0,n.toUint8)([73,68,51]),a=function(e,t){void 0===t&&(t=0);var i=(e=(0,n.toUint8)(e))[t+5],r=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(16&i)>>4?r+20:r+10};i.getId3Size=a;i.getId3Offset=function e(t,i){return void 0===i&&(i=0),(t=(0,n.toUint8)(t)).length-i<10||!(0,n.bytesMatch)(t,r,{offset:i})?i:e(t,i+=a(t,i))}},{"./byte-helpers.js":9}],16:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.simpleTypeFromSourceType=void 0;var n=/^(audio|video|application)\/(x-|vnd\.apple\.)?mpegurl/i,r=/^application\/dash\+xml/i;i.simpleTypeFromSourceType=function(e){return n.test(e)?"hls":r.test(e)?"dash":"application/vnd.videojs.vhs+json"===e?"vhs-json":null}},{}],17:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.parseMediaInfo=i.parseTracks=i.addSampleDescription=i.buildFrameTable=i.findNamedBox=i.findBox=i.parseDescriptors=void 0;var n,r=e("./byte-helpers.js"),a=e("./codec-helpers.js"),s=e("./opus-helpers.js"),o=function(e){return"string"==typeof e?(0,r.stringToBytes)(e):e},u=function(e){e=(0,r.toUint8)(e);for(var t=[],i=0;e.length>i;){var a=e[i],s=0,o=0,u=e[++o];for(o++;128&u;)s=(127&u)<<7,u=e[o],o++;s+=127&u;for(var l=0;l>>0,l=t.subarray(s+4,s+8);if(0===u)break;var h=s+u;if(h>t.length){if(n)break;h=t.length}var d=t.subarray(s+8,h);(0,r.bytesMatch)(l,i[0])&&(1===i.length?a.push(d):a.push.apply(a,e(d,i.slice(1),n))),s=h}return a};i.findBox=l;var h=function(e,t){if(!(t=o(t)).length)return e.subarray(e.length);for(var i=0;i>>0,a=n>1?i+n:e.byteLength;return e.subarray(i+4,a)}i++}return e.subarray(e.length)};i.findNamedBox=h;var d=function(e,t,i){void 0===t&&(t=4),void 0===i&&(i=function(e){return(0,r.bytesToNumber)(e)});var n=[];if(!e||!e.length)return n;for(var a=(0,r.bytesToNumber)(e.subarray(4,8)),s=8;a;s+=t,a--)n.push(i(e.subarray(s,s+t)));return n},c=function(e,t){for(var i=d(l(e,["stss"])[0]),n=d(l(e,["stco"])[0]),a=d(l(e,["stts"])[0],8,(function(e){return{sampleCount:(0,r.bytesToNumber)(e.subarray(0,4)),sampleDelta:(0,r.bytesToNumber)(e.subarray(4,8))}})),s=d(l(e,["stsc"])[0],12,(function(e){return{firstChunk:(0,r.bytesToNumber)(e.subarray(0,4)),samplesPerChunk:(0,r.bytesToNumber)(e.subarray(4,8)),sampleDescriptionIndex:(0,r.bytesToNumber)(e.subarray(8,12))}})),o=l(e,["stsz"])[0],u=d(o&&o.length&&o.subarray(4)||null),h=[],c=0;c=m.firstChunk&&(p+1>=s.length||c+1>3).toString():32===d.oti?i+="."+d.descriptors[0].bytes[4].toString():221===d.oti&&(i="vorbis")):"audio"===e.type?i+=".40.2":i+=".20.9"}else if("av01"===i)i+="."+(0,a.getAv1Codec)(h(t,"av1C"));else if("vp09"===i){var c=h(t,"vpcC"),f=c[0],p=c[1],m=c[2]>>4,_=(15&c[2])>>1,g=(15&c[2])>>3,v=c[3],y=c[4],b=c[5];i+="."+(0,r.padStart)(f,2,"0"),i+="."+(0,r.padStart)(p,2,"0"),i+="."+(0,r.padStart)(m,2,"0"),i+="."+(0,r.padStart)(_,2,"0"),i+="."+(0,r.padStart)(v,2,"0"),i+="."+(0,r.padStart)(y,2,"0"),i+="."+(0,r.padStart)(b,2,"0"),i+="."+(0,r.padStart)(g,2,"0")}else if("theo"===i)i="theora";else if("spex"===i)i="speex";else if(".mp3"===i)i="mp4a.40.34";else if("msVo"===i)i="vorbis";else if("Opus"===i){i="opus";var S=h(t,"dOps");e.info.opus=(0,s.parseOpusHead)(S),e.info.codecDelay=65e5}else i=i.toLowerCase();e.codec=i};i.addSampleDescription=f;i.parseTracks=function(e,t){void 0===t&&(t=!0),e=(0,r.toUint8)(e);var i=l(e,["moov","trak"],!0),n=[];return i.forEach((function(e){var i={bytes:e},a=l(e,["mdia"])[0],s=l(a,["hdlr"])[0],o=(0,r.bytesToString)(s.subarray(8,12));i.type="soun"===o?"audio":"vide"===o?"video":o;var u=l(e,["tkhd"])[0];if(u){var h=new DataView(u.buffer,u.byteOffset,u.byteLength),d=h.getUint8(0);i.number=0===d?h.getUint32(12):h.getUint32(20)}var p=l(a,["mdhd"])[0];if(p){var m=0===p[0]?12:20;i.timescale=(p[m]<<24|p[m+1]<<16|p[m+2]<<8|p[m+3])>>>0}for(var _=l(a,["minf","stbl"])[0],g=l(_,["stsd"])[0],v=(0,r.bytesToNumber)(g.subarray(4,8)),y=8;v--;){var b=(0,r.bytesToNumber)(g.subarray(y,y+4)),S=g.subarray(y+4,y+4+b);f(i,S),y+=4+b}t&&(i.frameTable=c(_,i.timescale)),n.push(i)})),n};i.parseMediaInfo=function(e){var t=l(e,["moov","mvhd"],!0)[0];if(t&&t.length){var i={};return 1===t[0]?(i.timestampScale=(0,r.bytesToNumber)(t.subarray(20,24)),i.duration=(0,r.bytesToNumber)(t.subarray(24,32))):(i.timestampScale=(0,r.bytesToNumber)(t.subarray(12,16)),i.duration=(0,r.bytesToNumber)(t.subarray(16,20))),i.bytes=t,i}}},{"./byte-helpers.js":9,"./codec-helpers.js":10,"./opus-helpers.js":19}],18:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.findH265Nal=i.findH264Nal=i.findNal=i.discardEmulationPreventionBytes=i.EMULATION_PREVENTION=i.NAL_TYPE_TWO=i.NAL_TYPE_ONE=void 0;var n=e("./byte-helpers.js"),r=(0,n.toUint8)([0,0,0,1]);i.NAL_TYPE_ONE=r;var a=(0,n.toUint8)([0,0,1]);i.NAL_TYPE_TWO=a;var s=(0,n.toUint8)([0,0,3]);i.EMULATION_PREVENTION=s;var o=function(e){for(var t=[],i=1;i>1&63),-1!==i.indexOf(c)&&(u=l+d),l+=d+("h264"===t?1:2)}else l++}return e.subarray(0,0)};i.findNal=u;i.findH264Nal=function(e,t,i){return u(e,"h264",t,i)};i.findH265Nal=function(e,t,i){return u(e,"h265",t,i)}},{"./byte-helpers.js":9}],19:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.setOpusHead=i.parseOpusHead=i.OPUS_HEAD=void 0;var n=new Uint8Array([79,112,117,115,72,101,97,100]);i.OPUS_HEAD=n;i.parseOpusHead=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i=t.getUint8(0),n=0!==i,r={version:i,channels:t.getUint8(1),preSkip:t.getUint16(2,n),sampleRate:t.getUint32(4,n),outputGain:t.getUint16(8,n),channelMappingFamily:t.getUint8(10)};if(r.channelMappingFamily>0&&e.length>10){r.streamCount=t.getUint8(11),r.twoChannelStreamCount=t.getUint8(12),r.channelMapping=[];for(var a=0;a0&&(i.setUint8(11,e.streamCount),e.channelMapping.foreach((function(e,t){i.setUint8(12+t,e)}))),new Uint8Array(i.buffer)}},{}],20:[function(e,t,i){"use strict";var n=e("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var r=n(e("url-toolkit")),a=n(e("global/window")),s=function(e,t){if(/^[a-z]+:/i.test(t))return t;/^data:/.test(e)&&(e=a.default.location&&a.default.location.href||"");var i="function"==typeof a.default.URL,n=/^\/\//.test(e),s=!a.default.location&&!/\/\//i.test(e);if(i?e=new a.default.URL(e,a.default.location||"http://example.com"):/\/\//i.test(e)||(e=r.default.buildAbsoluteURL(a.default.location&&a.default.location.href||"",e)),i){var o=new URL(t,e);return s?o.href.slice("http://example.com".length):n?o.href.slice(o.protocol.length):o.href}return r.default.buildAbsoluteURL(e,t)};i.default=s,t.exports=i.default},{"@babel/runtime/helpers/interopRequireDefault":6,"global/window":34,"url-toolkit":46}],21:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var n=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e]=this.listeners[e].slice(0),this.listeners[e].splice(i,1),i>-1},t.trigger=function(e){var t=this.listeners[e];if(t)if(2===arguments.length)for(var i=t.length,n=0;n=400&&r.statusCode<=599){var s=a;if(t)if(n.TextDecoder){var o=function(e){void 0===e&&(e="");return e.toLowerCase().split(";").reduce((function(e,t){var i=t.split("="),n=i[0],r=i[1];return"charset"===n.trim()?r.trim():e}),"utf-8")}(r.headers&&r.headers["content-type"]);try{s=new TextDecoder(o).decode(a)}catch(e){}}else s=String.fromCharCode.apply(null,new Uint8Array(a));e({cause:s})}else e(null,a)}}},{"global/window":34}],23:[function(e,t,i){"use strict";var n=e("global/window"),r=e("@babel/runtime/helpers/extends"),a=e("is-function");o.httpHandler=e("./http-handler.js");function s(e,t,i){var n=e;return a(t)?(i=t,"string"==typeof e&&(n={uri:e})):n=r({},t,{uri:e}),n.callback=i,n}function o(e,t,i){return u(t=s(e,t,i))}function u(e){if(void 0===e.callback)throw new Error("callback argument missing");var t=!1,i=function(i,n,r){t||(t=!0,e.callback(i,n,r))};function n(){var e=void 0;if(e=l.response?l.response:l.responseText||function(e){try{if("document"===e.responseType)return e.responseXML;var t=e.responseXML&&"parsererror"===e.responseXML.documentElement.nodeName;if(""===e.responseType&&!t)return e.responseXML}catch(e){}return null}(l),_)try{e=JSON.parse(e)}catch(e){}return e}function r(e){return clearTimeout(h),e instanceof Error||(e=new Error(""+(e||"Unknown XMLHttpRequest Error"))),e.statusCode=0,i(e,g)}function a(){if(!u){var t;clearTimeout(h),t=e.useXDR&&void 0===l.status?200:1223===l.status?204:l.status;var r=g,a=null;return 0!==t?(r={body:n(),statusCode:t,method:c,headers:{},url:d,rawRequest:l},l.getAllResponseHeaders&&(r.headers=function(e){var t={};return e?(e.trim().split("\n").forEach((function(e){var i=e.indexOf(":"),n=e.slice(0,i).trim().toLowerCase(),r=e.slice(i+1).trim();void 0===t[n]?t[n]=r:Array.isArray(t[n])?t[n].push(r):t[n]=[t[n],r]})),t):t}(l.getAllResponseHeaders()))):a=new Error("Internal XMLHttpRequest Error"),i(a,r,r.body)}}var s,u,l=e.xhr||null;l||(l=e.cors||e.useXDR?new o.XDomainRequest:new o.XMLHttpRequest);var h,d=l.url=e.uri||e.url,c=l.method=e.method||"GET",f=e.body||e.data,p=l.headers=e.headers||{},m=!!e.sync,_=!1,g={body:void 0,headers:{},statusCode:0,method:c,url:d,rawRequest:l};if("json"in e&&!1!==e.json&&(_=!0,p.accept||p.Accept||(p.Accept="application/json"),"GET"!==c&&"HEAD"!==c&&(p["content-type"]||p["Content-Type"]||(p["Content-Type"]="application/json"),f=JSON.stringify(!0===e.json?f:e.json))),l.onreadystatechange=function(){4===l.readyState&&setTimeout(a,0)},l.onload=a,l.onerror=r,l.onprogress=function(){},l.onabort=function(){u=!0},l.ontimeout=r,l.open(c,d,!m,e.username,e.password),m||(l.withCredentials=!!e.withCredentials),!m&&e.timeout>0&&(h=setTimeout((function(){if(!u){u=!0,l.abort("timeout");var e=new Error("XMLHttpRequest timeout");e.code="ETIMEDOUT",r(e)}}),e.timeout)),l.setRequestHeader)for(s in p)p.hasOwnProperty(s)&&l.setRequestHeader(s,p[s]);else if(e.headers&&!function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(e.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in e&&(l.responseType=e.responseType),"beforeSend"in e&&"function"==typeof e.beforeSend&&e.beforeSend(l),l.send(f||null),l}t.exports=o,t.exports.default=o,o.XMLHttpRequest=n.XMLHttpRequest||function(){},o.XDomainRequest="withCredentials"in new o.XMLHttpRequest?o.XMLHttpRequest:n.XDomainRequest,function(e,t){for(var i=0;i=t+i||t?new java.lang.String(e,t,i)+"":e}function _(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}d.prototype.parseFromString=function(e,t){var i=this.options,n=new h,r=i.domBuilder||new c,s=i.errorHandler,o=i.locator,l=i.xmlns||{},d=/\/x?html?$/.test(t),f=d?a.HTML_ENTITIES:a.XML_ENTITIES;return o&&r.setDocumentLocator(o),n.errorHandler=function(e,t,i){if(!e){if(t instanceof c)return t;e=t}var n={},r=e instanceof Function;function a(t){var a=e[t];!a&&r&&(a=2==e.length?function(i){e(t,i)}:e),n[t]=a&&function(e){a("[xmldom "+t+"]\t"+e+p(i))}||function(){}}return i=i||{},a("warning"),a("error"),a("fatalError"),n}(s,r,o),n.domBuilder=i.domBuilder||r,d&&(l[""]=u.HTML),l.xml=l.xml||u.XML,e&&"string"==typeof e?n.parse(e,l,f):n.errorHandler.error("invalid doc source"),r.doc},c.prototype={startDocument:function(){this.doc=(new o).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,i,n){var r=this.doc,a=r.createElementNS(e,i||t),s=n.length;_(this,a),this.currentElement=a,this.locator&&f(this.locator,a);for(var o=0;o=0))throw k(A,new Error(e.tagName+"@"+i));for(var r=t.length-1;n"==e&&">")||"&"==e&&"&"||'"'==e&&"""||"&#"+e.charCodeAt()+";"}function B(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(B(e,t))return!0}while(e=e.nextSibling)}function N(){}function j(e,t,i,r){e&&e._inc++,i.namespaceURI===n.XMLNS&&delete t._nsMap[i.prefix?i.localName:""]}function V(e,t,i){if(e&&e._inc){e._inc++;var n=t.childNodes;if(i)n[n.length++]=i;else{for(var r=t.firstChild,a=0;r;)n[a++]=r,r=r.nextSibling;n.length=a}}}function H(e,t){var i=t.previousSibling,n=t.nextSibling;return i?i.nextSibling=n:e.firstChild=n,n?n.previousSibling=i:e.lastChild=i,V(e.ownerDocument,e),t}function z(e,t,i){var n=t.parentNode;if(n&&n.removeChild(t),t.nodeType===b){var r=t.firstChild;if(null==r)return t;var a=t.lastChild}else r=a=t;var s=i?i.previousSibling:e.lastChild;r.previousSibling=s,a.nextSibling=i,s?s.nextSibling=r:e.firstChild=r,null==i?e.lastChild=a:i.previousSibling=a;do{r.parentNode=e}while(r!==a&&(r=r.nextSibling));return V(e.ownerDocument||e,e),t.nodeType==b&&(t.firstChild=t.lastChild=null),t}function G(){this._nsMap={}}function W(){}function Y(){}function q(){}function K(){}function X(){}function Q(){}function $(){}function J(){}function Z(){}function ee(){}function te(){}function ie(){}function ne(e,t){var i=[],n=9==this.nodeType&&this.documentElement||this,r=n.prefix,a=n.namespaceURI;if(a&&null==r&&null==(r=n.lookupPrefix(a)))var s=[{namespace:a,prefix:null}];return se(this,i,e,t,s),i.join("")}function re(e,t,i){var r=e.prefix||"",a=e.namespaceURI;if(!a)return!1;if("xml"===r&&a===n.XML||a===n.XMLNS)return!1;for(var s=i.length;s--;){var o=i[s];if(o.prefix===r)return o.namespace!==a}return!0}function ae(e,t,i){e.push(" ",t,'="',i.replace(/[<&"]/g,F),'"')}function se(e,t,i,r,a){if(a||(a=[]),r){if(!(e=r(e)))return;if("string"==typeof e)return void t.push(e)}switch(e.nodeType){case h:var s=e.attributes,o=s.length,u=e.firstChild,l=e.tagName,m=l;if(!(i=n.isHTML(e.namespaceURI)||i)&&!e.prefix&&e.namespaceURI){for(var S,T=0;T=0;E--){if(""===(w=a[E]).prefix&&w.namespace===e.namespaceURI){S=w.namespace;break}}if(S!==e.namespaceURI)for(E=a.length-1;E>=0;E--){var w;if((w=a[E]).namespace===e.namespaceURI){w.prefix&&(m=w.prefix+":"+l);break}}}t.push("<",m);for(var A=0;A"),i&&/^script$/i.test(l))for(;u;)u.data?t.push(u.data):se(u,t,i,r,a.slice()),u=u.nextSibling;else for(;u;)se(u,t,i,r,a.slice()),u=u.nextSibling;t.push("")}else t.push("/>");return;case v:case b:for(u=e.firstChild;u;)se(u,t,i,r,a.slice()),u=u.nextSibling;return;case d:return ae(t,e.name,e.value);case c:return t.push(e.data.replace(/[<&]/g,F).replace(/]]>/g,"]]>"));case f:return t.push("");case g:return t.push("\x3c!--",e.data,"--\x3e");case y:var I=e.publicId,L=e.systemId;if(t.push("");else if(L&&"."!=L)t.push(" SYSTEM ",L,">");else{var x=e.internalSubset;x&&t.push(" [",x,"]"),t.push(">")}return;case _:return t.push("");case p:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function oe(e,t,i){e[t]=i}k.prototype=Error.prototype,o(T,k),P.prototype={length:0,item:function(e){return this[e]||null},toString:function(e,t){for(var i=[],n=0;n0},lookupPrefix:function(e){for(var t=this;t;){var i=t._nsMap;if(i)for(var n in i)if(i[n]==e)return n;t=t.nodeType==d?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var i=t._nsMap;if(i&&e in i)return i[e];t=t.nodeType==d?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return null==this.lookupPrefix(e)}},o(l,M),o(l,M.prototype),N.prototype={nodeName:"#document",nodeType:v,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==b){for(var i=e.firstChild;i;){var n=i.nextSibling;this.insertBefore(i,t),i=n}return e}return null==this.documentElement&&e.nodeType==h&&(this.documentElement=e),z(this,e,t),e.ownerDocument=this,e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),H(this,e)},importNode:function(e,t){return function e(t,i,n){var r;switch(i.nodeType){case h:(r=i.cloneNode(!1)).ownerDocument=t;case b:break;case d:n=!0}r||(r=i.cloneNode(!1));if(r.ownerDocument=t,r.parentNode=null,n)for(var a=i.firstChild;a;)r.appendChild(e(t,a,n)),a=a.nextSibling;return r}(this,e,t)},getElementById:function(e){var t=null;return B(this.documentElement,(function(i){if(i.nodeType==h&&i.getAttribute("id")==e)return t=i,!0})),t},getElementsByClassName:function(e){var t=s(e);return new I(this,(function(i){var n=[];return t.length>0&&B(i.documentElement,(function(r){if(r!==i&&r.nodeType===h){var a=r.getAttribute("class");if(a){var o=e===a;if(!o){var u=s(a);o=t.every((l=u,function(e){return l&&-1!==l.indexOf(e)}))}o&&n.push(r)}}var l})),n}))},createElement:function(e){var t=new G;return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.localName=e,t.childNodes=new P,(t.attributes=new x)._ownerElement=t,t},createDocumentFragment:function(){var e=new ee;return e.ownerDocument=this,e.childNodes=new P,e},createTextNode:function(e){var t=new q;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new K;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new X;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var i=new te;return i.ownerDocument=this,i.tagName=i.target=e,i.nodeValue=i.data=t,i},createAttribute:function(e){var t=new W;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new Z;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var i=new G,n=t.split(":"),r=i.attributes=new x;return i.childNodes=new P,i.ownerDocument=this,i.nodeName=t,i.tagName=t,i.namespaceURI=e,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,r._ownerElement=i,i},createAttributeNS:function(e,t){var i=new W,n=t.split(":");return i.ownerDocument=this,i.nodeName=t,i.name=t,i.namespaceURI=e,i.specified=!0,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,i}},u(N,M),G.prototype={nodeType:h,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||""},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var i=this.ownerDocument.createAttribute(e);i.value=i.nodeValue=""+t,this.setAttributeNode(i)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===b?this.insertBefore(e,null):function(e,t){var i=t.parentNode;if(i){var n=e.lastChild;i.removeChild(t);n=e.lastChild}return n=e.lastChild,t.parentNode=e,t.previousSibling=n,t.nextSibling=null,n?n.nextSibling=t:e.firstChild=t,e.lastChild=t,V(e.ownerDocument,e,t),t}(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);i&&this.removeAttributeNode(i)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);return i&&i.value||""},setAttributeNS:function(e,t,i){var n=this.ownerDocument.createAttributeNS(e,t);n.value=n.nodeValue=""+i,this.setAttributeNode(n)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new I(this,(function(t){var i=[];return B(t,(function(n){n===t||n.nodeType!=h||"*"!==e&&n.tagName!=e||i.push(n)})),i}))},getElementsByTagNameNS:function(e,t){return new I(this,(function(i){var n=[];return B(i,(function(r){r===i||r.nodeType!==h||"*"!==e&&r.namespaceURI!==e||"*"!==t&&r.localName!=t||n.push(r)})),n}))}},N.prototype.getElementsByTagName=G.prototype.getElementsByTagName,N.prototype.getElementsByTagNameNS=G.prototype.getElementsByTagNameNS,u(G,M),W.prototype.nodeType=d,u(W,M),Y.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(E[w])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,i){i=this.data.substring(0,e)+i+this.data.substring(e+t),this.nodeValue=this.data=i,this.length=i.length}},u(Y,M),q.prototype={nodeName:"#text",nodeType:c,splitText:function(e){var t=this.data,i=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var n=this.ownerDocument.createTextNode(i);return this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling),n}},u(q,Y),K.prototype={nodeName:"#comment",nodeType:g},u(K,Y),X.prototype={nodeName:"#cdata-section",nodeType:f},u(X,Y),Q.prototype.nodeType=y,u(Q,M),$.prototype.nodeType=S,u($,M),J.prototype.nodeType=m,u(J,M),Z.prototype.nodeType=p,u(Z,M),ee.prototype.nodeName="#document-fragment",ee.prototype.nodeType=b,u(ee,M),te.prototype.nodeType=_,u(te,M),ie.prototype.serializeToString=function(e,t,i){return ne.call(e,t,i)},M.prototype.toString=ne;try{if(Object.defineProperty){Object.defineProperty(I.prototype,"length",{get:function(){return L(this),this.$$length}}),Object.defineProperty(M.prototype,"textContent",{get:function(){return function e(t){switch(t.nodeType){case h:case b:var i=[];for(t=t.firstChild;t;)7!==t.nodeType&&8!==t.nodeType&&i.push(e(t)),t=t.nextSibling;return i.join("");default:return t.nodeValue}}(this)},set:function(e){switch(this.nodeType){case h:case b:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),oe=function(e,t,i){e["$$"+t]=i}}}catch(e){}i.DocumentType=Q,i.DOMException=k,i.DOMImplementation=U,i.Element=G,i.Node=M,i.NodeList=P,i.XMLSerializer=ie},{"./conventions":24}],27:[function(e,t,i){var n=e("./conventions").freeze;i.XML_ENTITIES=n({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),i.HTML_ENTITIES=n({lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}),i.entityMap=i.HTML_ENTITIES},{"./conventions":24}],28:[function(e,t,i){var n=e("./dom");i.DOMImplementation=n.DOMImplementation,i.XMLSerializer=n.XMLSerializer,i.DOMParser=e("./dom-parser").DOMParser},{"./dom":26,"./dom-parser":25}],29:[function(e,t,i){var n=e("./conventions").NAMESPACE,r=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,a=new RegExp("[\\-\\.0-9"+r.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),s=new RegExp("^"+r.source+a.source+"*(?::"+r.source+a.source+"*)?$");function o(e,t){this.message=e,this.locator=t,Error.captureStackTrace&&Error.captureStackTrace(this,o)}function u(){}function l(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function h(e,t,i,r,a,s){function o(e,t,n){i.attributeNames.hasOwnProperty(e)&&s.fatalError("Attribute "+e+" redefined"),i.addValue(e,t,n)}for(var u,l=++t,h=0;;){var d=e.charAt(l);switch(d){case"=":if(1===h)u=e.slice(t,l),h=3;else{if(2!==h)throw new Error("attribute equal must after attrName");h=3}break;case"'":case'"':if(3===h||1===h){if(1===h&&(s.warning('attribute value must after "="'),u=e.slice(t,l)),t=l+1,!((l=e.indexOf(d,t))>0))throw new Error("attribute value no end '"+d+"' match");o(u,c=e.slice(t,l).replace(/&#?\w+;/g,a),t-1),h=5}else{if(4!=h)throw new Error('attribute value must after "="');o(u,c=e.slice(t,l).replace(/&#?\w+;/g,a),t),s.warning('attribute "'+u+'" missed start quot('+d+")!!"),t=l+1,h=5}break;case"/":switch(h){case 0:i.setTagName(e.slice(t,l));case 5:case 6:case 7:h=7,i.closed=!0;case 4:case 1:case 2:break;default:throw new Error("attribute invalid close char('/')")}break;case"":return s.error("unexpected end of input"),0==h&&i.setTagName(e.slice(t,l)),l;case">":switch(h){case 0:i.setTagName(e.slice(t,l));case 5:case 6:case 7:break;case 4:case 1:"/"===(c=e.slice(t,l)).slice(-1)&&(i.closed=!0,c=c.slice(0,-1));case 2:2===h&&(c=u),4==h?(s.warning('attribute "'+c+'" missed quot(")!'),o(u,c.replace(/&#?\w+;/g,a),t)):(n.isHTML(r[""])&&c.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute "'+c+'" missed value!! "'+c+'" instead!!'),o(c,c,t));break;case 3:throw new Error("attribute value missed!!")}return l;case"€":d=" ";default:if(d<=" ")switch(h){case 0:i.setTagName(e.slice(t,l)),h=6;break;case 1:u=e.slice(t,l),h=2;break;case 4:var c=e.slice(t,l).replace(/&#?\w+;/g,a);s.warning('attribute "'+c+'" missed quot(")!!'),o(u,c,t);case 5:h=6}else switch(h){case 2:i.tagName;n.isHTML(r[""])&&u.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute "'+u+'" missed value!! "'+u+'" instead2!!'),o(u,u,t),t=l,h=1;break;case 5:s.warning('attribute space is required"'+u+'"!!');case 6:h=1,t=l;break;case 3:h=4,t=l;break;case 7:throw new Error("elements closed character '/' and '>' must be connected to")}}l++}}function d(e,t,i){for(var r=e.tagName,a=null,s=e.length;s--;){var o=e[s],u=o.qName,l=o.value;if((f=u.indexOf(":"))>0)var h=o.prefix=u.slice(0,f),d=u.slice(f+1),c="xmlns"===h&&d;else d=u,h=null,c="xmlns"===u&&"";o.localName=d,!1!==c&&(null==a&&(a={},p(i,i={})),i[c]=a[c]=l,o.uri=n.XMLNS,t.startPrefixMapping(c,l))}for(s=e.length;s--;){(h=(o=e[s]).prefix)&&("xml"===h&&(o.uri=n.XML),"xmlns"!==h&&(o.uri=i[h||""]))}var f;(f=r.indexOf(":"))>0?(h=e.prefix=r.slice(0,f),d=e.localName=r.slice(f+1)):(h=null,d=e.localName=r);var m=e.uri=i[h||""];if(t.startElement(m,d,r,e),!e.closed)return e.currentNSMap=i,e.localNSMap=a,!0;if(t.endElement(m,d,r),a)for(h in a)t.endPrefixMapping(h)}function c(e,t,i,n,r){if(/^(?:script|textarea)$/i.test(i)){var a=e.indexOf("",t),s=e.substring(t+1,a);if(/[&<]/.test(s))return/^script$/i.test(i)?(r.characters(s,0,s.length),a):(s=s.replace(/&#?\w+;/g,n),r.characters(s,0,s.length),a)}return t+1}function f(e,t,i,n){var r=n[i];return null==r&&((r=e.lastIndexOf(""))t?(i.comment(e,t+4,r-t-4),r+3):(n.error("Unclosed comment"),-1):-1;default:if("CDATA["==e.substr(t+3,6)){var r=e.indexOf("]]>",t+9);return i.startCDATA(),i.characters(e,t+9,r-t-9),i.endCDATA(),r+3}var a=function(e,t){var i,n=[],r=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;r.lastIndex=t,r.exec(e);for(;i=r.exec(e);)if(n.push(i),i[1])return n}(e,t),s=a.length;if(s>1&&/!doctype/i.test(a[0][0])){var o=a[1][0],u=!1,l=!1;s>3&&(/^public$/i.test(a[2][0])?(u=a[3][0],l=s>4&&a[4][0]):/^system$/i.test(a[2][0])&&(l=a[3][0]));var h=a[s-1];return i.startDTD(o,u,l),i.endDTD(),h.index+h[0].length}}return-1}function _(e,t,i){var n=e.indexOf("?>",t);if(n){var r=e.substring(t,n).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(r){r[0].length;return i.processingInstruction(r[1],r[2]),n+2}return-1}return-1}function g(){this.attributeNames={}}o.prototype=new Error,o.prototype.name=o.name,u.prototype={parse:function(e,t,i){var r=this.domBuilder;r.startDocument(),p(t,t={}),function(e,t,i,r,a){function s(e){var t=e.slice(1,-1);return t in i?i[t]:"#"===t.charAt(0)?function(e){if(e>65535){var t=55296+((e-=65536)>>10),i=56320+(1023&e);return String.fromCharCode(t,i)}return String.fromCharCode(e)}(parseInt(t.substr(1).replace("x","0x"))):(a.error("entity not found:"+e),e)}function u(t){if(t>w){var i=e.substring(w,t).replace(/&#?\w+;/g,s);S&&p(w),r.characters(i,0,t-w),w=t}}function p(t,i){for(;t>=y&&(i=b.exec(e));)v=i.index,y=v+i[0].length,S.lineNumber++;S.columnNumber=t-v+1}var v=0,y=0,b=/.*(?:\r\n?|\n)|.*$/g,S=r.locator,T=[{currentNSMap:t}],E={},w=0;for(;;){try{var A=e.indexOf("<",w);if(A<0){if(!e.substr(w).match(/^\s*$/)){var C=r.doc,k=C.createTextNode(e.substr(w));C.appendChild(k),r.currentElement=k}return}switch(A>w&&u(A),e.charAt(A+1)){case"/":var P=e.indexOf(">",A+3),I=e.substring(A+2,P).replace(/[ \t\n\r]+$/g,""),L=T.pop();P<0?(I=e.substring(A+2).replace(/[\s<].*/,""),a.error("end tag name: "+I+" is not complete:"+L.tagName),P=A+1+I.length):I.match(/\sw?w=P:u(Math.max(A,w)+1)}}(e,t,i,r,this.errorHandler),r.endDocument()}},g.prototype={setTagName:function(e){if(!s.test(e))throw new Error("invalid tagName:"+e);this.tagName=e},addValue:function(e,t,i){if(!s.test(e))throw new Error("invalid attribute:"+e);this.attributeNames[e]=this.length,this[this.length++]={qName:e,value:t,offset:i}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}},i.XMLReader=u,i.ParseError=o},{"./conventions":24}],30:[function(e,t,i){"use strict";i.byteLength=function(e){var t=l(e),i=t[0],n=t[1];return 3*(i+n)/4-n},i.toByteArray=function(e){var t,i,n=l(e),s=n[0],o=n[1],u=new a(function(e,t,i){return 3*(t+i)/4-i}(0,s,o)),h=0,d=o>0?s-4:s;for(i=0;i>16&255,u[h++]=t>>8&255,u[h++]=255&t;2===o&&(t=r[e.charCodeAt(i)]<<2|r[e.charCodeAt(i+1)]>>4,u[h++]=255&t);1===o&&(t=r[e.charCodeAt(i)]<<10|r[e.charCodeAt(i+1)]<<4|r[e.charCodeAt(i+2)]>>2,u[h++]=t>>8&255,u[h++]=255&t);return u},i.fromByteArray=function(e){for(var t,i=e.length,r=i%3,a=[],s=0,o=i-r;so?o:s+16383));1===r?(t=e[i-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return a.join("")};for(var n=[],r=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,u=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.indexOf("=");return-1===i&&(i=t),[i,i===t?0:4-i%4]}function h(e,t,i){for(var r,a,s=[],o=t;o>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},{}],31:[function(e,t,i){},{}],32:[function(e,t,i){(function(t){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +"use strict";var n=e("base64-js"),r=e("ieee754");i.Buffer=t,i.SlowBuffer=function(e){+e!=e&&(e=0);return t.alloc(+e)},i.INSPECT_MAX_BYTES=50;function a(e){if(e>2147483647)throw new RangeError('The value "'+e+'" is invalid for option "size"');var i=new Uint8Array(e);return i.__proto__=t.prototype,i}function t(e,t,i){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return u(e)}return s(e,t,i)}function s(e,i,n){if("string"==typeof e)return function(e,i){"string"==typeof i&&""!==i||(i="utf8");if(!t.isEncoding(i))throw new TypeError("Unknown encoding: "+i);var n=0|d(e,i),r=a(n),s=r.write(e,i);s!==n&&(r=r.slice(0,s));return r}(e,i);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(B(e,ArrayBuffer)||e&&B(e.buffer,ArrayBuffer))return function(e,i,n){if(i<0||e.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|e}function d(e,i){if(t.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||B(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var a=!1;;)switch(i){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return U(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return M(e).length;default:if(a)return r?-1:U(e).length;i=(""+i).toLowerCase(),a=!0}}function c(e,t,i){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,i);case"utf8":case"utf-8":return E(this,t,i);case"ascii":return w(this,t,i);case"latin1":case"binary":return A(this,t,i);case"base64":return T(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,i);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function f(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}function p(e,i,n,r,a){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),N(n=+n)&&(n=a?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if("string"==typeof i&&(i=t.from(i,r)),t.isBuffer(i))return 0===i.length?-1:m(e,i,n,r,a);if("number"==typeof i)return i&=255,"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,i,n):Uint8Array.prototype.lastIndexOf.call(e,i,n):m(e,[i],n,r,a);throw new TypeError("val must be string, number or Buffer")}function m(e,t,i,n,r){var a,s=1,o=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,o/=2,u/=2,i/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var h=-1;for(a=i;ao&&(i=o-u),a=i;a>=0;a--){for(var d=!0,c=0;cr&&(n=r):n=r;var a=t.length;n>a/2&&(n=a/2);for(var s=0;s>8,r=i%256,a.push(r),a.push(n);return a}(t,e.length-i),e,i,n)}function T(e,t,i){return 0===t&&i===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,i))}function E(e,t,i){i=Math.min(e.length,i);for(var n=[],r=t;r239?4:l>223?3:l>191?2:1;if(r+d<=i)switch(d){case 1:l<128&&(h=l);break;case 2:128==(192&(a=e[r+1]))&&(u=(31&l)<<6|63&a)>127&&(h=u);break;case 3:a=e[r+1],s=e[r+2],128==(192&a)&&128==(192&s)&&(u=(15&l)<<12|(63&a)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:a=e[r+1],s=e[r+2],o=e[r+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(u=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&u<1114112&&(h=u)}null===h?(h=65533,d=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),r+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var i="",n=0;for(;nt&&(e+=" ... "),""},t.prototype.compare=function(e,i,n,r,a){if(B(e,Uint8Array)&&(e=t.from(e,e.offset,e.byteLength)),!t.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===i&&(i=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),i<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&i>=n)return 0;if(r>=a)return-1;if(i>=n)return 1;if(this===e)return 0;for(var s=(a>>>=0)-(r>>>=0),o=(n>>>=0)-(i>>>=0),u=Math.min(s,o),l=this.slice(r,a),h=e.slice(i,n),d=0;d>>=0,isFinite(i)?(i>>>=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-t;if((void 0===i||i>r)&&(i=r),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return _(this,e,t,i);case"utf8":case"utf-8":return g(this,e,t,i);case"ascii":return v(this,e,t,i);case"latin1":case"binary":return y(this,e,t,i);case"base64":return b(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;rn)&&(i=n);for(var r="",a=t;ai)throw new RangeError("Trying to access beyond buffer length")}function I(e,i,n,r,a,s){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(i>a||ie.length)throw new RangeError("Index out of range")}function L(e,t,i,n,r,a){if(i+n>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function x(e,t,i,n,a){return t=+t,i>>>=0,a||L(e,0,i,4),r.write(e,t,i,n,23,4),i+4}function R(e,t,i,n,a){return t=+t,i>>>=0,a||L(e,0,i,8),r.write(e,t,i,n,52,8),i+8}t.prototype.slice=function(e,i){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(i=void 0===i?n:~~i)<0?(i+=n)<0&&(i=0):i>n&&(i=n),i>>=0,t>>>=0,i||P(e,t,this.length);for(var n=this[e],r=1,a=0;++a>>=0,t>>>=0,i||P(e,t,this.length);for(var n=this[e+--t],r=1;t>0&&(r*=256);)n+=this[e+--t]*r;return n},t.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},t.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},t.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},t.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},t.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},t.prototype.readIntLE=function(e,t,i){e>>>=0,t>>>=0,i||P(e,t,this.length);for(var n=this[e],r=1,a=0;++a=(r*=128)&&(n-=Math.pow(2,8*t)),n},t.prototype.readIntBE=function(e,t,i){e>>>=0,t>>>=0,i||P(e,t,this.length);for(var n=t,r=1,a=this[e+--n];n>0&&(r*=256);)a+=this[e+--n]*r;return a>=(r*=128)&&(a-=Math.pow(2,8*t)),a},t.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},t.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},t.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},t.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},t.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},t.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},t.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},t.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},t.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},t.prototype.writeUIntLE=function(e,t,i,n){(e=+e,t>>>=0,i>>>=0,n)||I(this,e,t,i,Math.pow(2,8*i)-1,0);var r=1,a=0;for(this[t]=255&e;++a>>=0,i>>>=0,n)||I(this,e,t,i,Math.pow(2,8*i)-1,0);var r=i-1,a=1;for(this[t+r]=255&e;--r>=0&&(a*=256);)this[t+r]=e/a&255;return t+i},t.prototype.writeUInt8=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,1,255,0),this[t]=255&e,t+1},t.prototype.writeUInt16LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeUInt16BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeUInt32LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},t.prototype.writeUInt32BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t>>>=0,!n){var r=Math.pow(2,8*i-1);I(this,e,t,i,r-1,-r)}var a=0,s=1,o=0;for(this[t]=255&e;++a>0)-o&255;return t+i},t.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t>>>=0,!n){var r=Math.pow(2,8*i-1);I(this,e,t,i,r-1,-r)}var a=i-1,s=1,o=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+i},t.prototype.writeInt8=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},t.prototype.writeInt16LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeInt16BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeInt32LE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},t.prototype.writeInt32BE=function(e,t,i){return e=+e,t>>>=0,i||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeFloatLE=function(e,t,i){return x(this,e,t,!0,i)},t.prototype.writeFloatBE=function(e,t,i){return x(this,e,t,!1,i)},t.prototype.writeDoubleLE=function(e,t,i){return R(this,e,t,!0,i)},t.prototype.writeDoubleBE=function(e,t,i){return R(this,e,t,!1,i)},t.prototype.copy=function(e,i,n,r){if(!t.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),i>=e.length&&(i=e.length),i||(i=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-i=0;--s)e[s+i]=this[s+n];else Uint8Array.prototype.set.call(e,this.subarray(n,r),i);return a},t.prototype.fill=function(e,i,n,r){if("string"==typeof e){if("string"==typeof i?(r=i,i=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!t.isEncoding(r))throw new TypeError("Unknown encoding: "+r);if(1===e.length){var a=e.charCodeAt(0);("utf8"===r&&a<128||"latin1"===r)&&(e=a)}}else"number"==typeof e&&(e&=255);if(i<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=i;s55295&&i<57344){if(!r){if(i>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(t-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(t-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((t-=1)<0)break;a.push(i)}else if(i<2048){if((t-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function M(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,i,n){for(var r=0;r=t.length||r>=e.length);++r)t[r+i]=e[r];return r}function B(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function N(e){return e!=e}}).call(this,e("buffer").Buffer)},{"base64-js":30,buffer:32,ieee754:35}],33:[function(e,t,i){(function(i){var n,r=void 0!==i?i:"undefined"!=typeof window?window:{},a=e("min-document");"undefined"!=typeof document?n=document:(n=r["__GLOBAL_DOCUMENT_CACHE@4"])||(n=r["__GLOBAL_DOCUMENT_CACHE@4"]=a),t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"min-document":31}],34:[function(e,t,i){(function(e){var i;i="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},t.exports=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],35:[function(e,t,i){i.read=function(e,t,i,n,r){var a,s,o=8*r-n-1,u=(1<>1,h=-7,d=i?r-1:0,c=i?-1:1,f=e[t+d];for(d+=c,a=f&(1<<-h)-1,f>>=-h,h+=o;h>0;a=256*a+e[t+d],d+=c,h-=8);for(s=a&(1<<-h)-1,a>>=-h,h+=n;h>0;s=256*s+e[t+d],d+=c,h-=8);if(0===a)a=1-l;else{if(a===u)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),a-=l}return(f?-1:1)*s*Math.pow(2,a-n)},i.write=function(e,t,i,n,r,a){var s,o,u,l=8*a-r-1,h=(1<>1,c=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=h):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+d>=1?c/u:c*Math.pow(2,1-d))*u>=2&&(s++,u/=2),s+d>=h?(o=0,s=h):s+d>=1?(o=(t*u-1)*Math.pow(2,r),s+=d):(o=t*Math.pow(2,d-1)*Math.pow(2,r),s=0));r>=8;e[i+f]=255&o,f+=p,o/=256,r-=8);for(s=s<0;e[i+f]=255&s,f+=p,s/=256,l-=8);e[i+f-p]|=128*m}},{}],36:[function(e,t,i){t.exports=function(e){if(!e)return!1;var t=n.call(e);return"[object Function]"===t||"function"==typeof e&&"[object RegExp]"!==t||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)};var n=Object.prototype.toString},{}],37:[function(e,t,i){function n(e){if(e&&"object"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if("number"==typeof e)return o[e];var i,n=String(e);return(i=r[n.toLowerCase()])?i:(i=a[n.toLowerCase()])||(1===n.length?n.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&"object"==typeof e){var i=e.which||e.keyCode||e.charCode;if(null==i)return!1;if("string"==typeof t){var n;if(n=r[t.toLowerCase()])return n===i;if(n=a[t.toLowerCase()])return n===i}else if("number"==typeof t)return t===i;return!1}};var r=(i=t.exports=n).code=i.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},a=i.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91}; +/*! + * Programatically add the following + */ +for(s=97;s<123;s++)r[String.fromCharCode(s)]=s-32;for(var s=48;s<58;s++)r[s-48]=s;for(s=1;s<13;s++)r["f"+s]=s+111;for(s=0;s<10;s++)r["numpad "+s]=s+96;var o=i.names=i.title={};for(s in r)o[r[s]]=s;for(var u in a)r[u]=a[u]},{}],38:[function(e,t,i){ +/*! @name m3u8-parser @version 4.7.0 @license Apache-2.0 */ +"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n=e("@babel/runtime/helpers/inheritsLoose"),r=e("@videojs/vhs-utils/cjs/stream.js"),a=e("@babel/runtime/helpers/extends"),s=e("@babel/runtime/helpers/assertThisInitialized"),o=e("@videojs/vhs-utils/cjs/decode-b64-to-uint8-array.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(n),h=u(r),d=u(a),c=u(s),f=u(o),p=function(e){function t(){var t;return(t=e.call(this)||this).buffer="",t}return l.default(t,e),t.prototype.push=function(e){var t;for(this.buffer+=e,t=this.buffer.indexOf("\n");t>-1;t=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)},t}(h.default),m=String.fromCharCode(9),_=function(e){var t=/([0-9.]*)?@?([0-9.]*)?/.exec(e||""),i={};return t[1]&&(i.length=parseInt(t[1],10)),t[2]&&(i.offset=parseInt(t[2],10)),i},g=function(e){for(var t,i=e.split(new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))')),n={},r=i.length;r--;)""!==i[r]&&((t=/([^=]*)=(.*)/.exec(i[r]).slice(1))[0]=t[0].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^\s+|\s+$/g,""),t[1]=t[1].replace(/^['"](.*)['"]$/g,"$1"),n[t[0]]=t[1]);return n},v=function(e){function t(){var t;return(t=e.call(this)||this).customParsers=[],t.tagMappers=[],t}l.default(t,e);var i=t.prototype;return i.push=function(e){var t,i,n=this;0!==(e=e.trim()).length&&("#"===e[0]?this.tagMappers.reduce((function(t,i){var n=i(e);return n===e?t:t.concat([n])}),[e]).forEach((function(e){for(var r=0;r0&&(s.duration=e.duration),0===e.duration&&(s.duration=.01,this.trigger("info",{message:"updating zero segment duration to a small value"})),this.manifest.segments=a},key:function(){if(e.attributes)if("NONE"!==e.attributes.METHOD)if(e.attributes.URI){if("com.apple.streamingkeydelivery"===e.attributes.KEYFORMAT)return this.manifest.contentProtection=this.manifest.contentProtection||{},void(this.manifest.contentProtection["com.apple.fps.1_0"]={attributes:e.attributes});if("urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"===e.attributes.KEYFORMAT){return-1===["SAMPLE-AES","SAMPLE-AES-CTR","SAMPLE-AES-CENC"].indexOf(e.attributes.METHOD)?void this.trigger("warn",{message:"invalid key method provided for Widevine"}):("SAMPLE-AES-CENC"===e.attributes.METHOD&&this.trigger("warn",{message:"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"}),"data:text/plain;base64,"!==e.attributes.URI.substring(0,23)?void this.trigger("warn",{message:"invalid key URI provided for Widevine"}):e.attributes.KEYID&&"0x"===e.attributes.KEYID.substring(0,2)?(this.manifest.contentProtection=this.manifest.contentProtection||{},void(this.manifest.contentProtection["com.widevine.alpha"]={attributes:{schemeIdUri:e.attributes.KEYFORMAT,keyId:e.attributes.KEYID.substring(2)},pssh:f.default(e.attributes.URI.split(",")[1])})):void this.trigger("warn",{message:"invalid key ID provided for Widevine"}))}e.attributes.METHOD||this.trigger("warn",{message:"defaulting key method to AES-128"}),n={method:e.attributes.METHOD||"AES-128",uri:e.attributes.URI},void 0!==e.attributes.IV&&(n.iv=e.attributes.IV)}else this.trigger("warn",{message:"ignoring key declaration without URI"});else n=null;else this.trigger("warn",{message:"ignoring key declaration without attribute list"})},"media-sequence":function(){isFinite(e.number)?this.manifest.mediaSequence=e.number:this.trigger("warn",{message:"ignoring invalid media sequence: "+e.number})},"discontinuity-sequence":function(){isFinite(e.number)?(this.manifest.discontinuitySequence=e.number,h=e.number):this.trigger("warn",{message:"ignoring invalid discontinuity sequence: "+e.number})},"playlist-type":function(){/VOD|EVENT/.test(e.playlistType)?this.manifest.playlistType=e.playlistType:this.trigger("warn",{message:"ignoring unknown playlist type: "+e.playlist})},map:function(){i={},e.uri&&(i.uri=e.uri),e.byterange&&(i.byterange=e.byterange),n&&(i.key=n)},"stream-inf":function(){this.manifest.playlists=a,this.manifest.mediaGroups=this.manifest.mediaGroups||l,e.attributes?(s.attributes||(s.attributes={}),d.default(s.attributes,e.attributes)):this.trigger("warn",{message:"ignoring empty stream-inf attributes"})},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||l,e.attributes&&e.attributes.TYPE&&e.attributes["GROUP-ID"]&&e.attributes.NAME){var i=this.manifest.mediaGroups[e.attributes.TYPE];i[e.attributes["GROUP-ID"]]=i[e.attributes["GROUP-ID"]]||{},t=i[e.attributes["GROUP-ID"]],(c={default:/yes/i.test(e.attributes.DEFAULT)}).default?c.autoselect=!0:c.autoselect=/yes/i.test(e.attributes.AUTOSELECT),e.attributes.LANGUAGE&&(c.language=e.attributes.LANGUAGE),e.attributes.URI&&(c.uri=e.attributes.URI),e.attributes["INSTREAM-ID"]&&(c.instreamId=e.attributes["INSTREAM-ID"]),e.attributes.CHARACTERISTICS&&(c.characteristics=e.attributes.CHARACTERISTICS),e.attributes.FORCED&&(c.forced=/yes/i.test(e.attributes.FORCED)),t[e.attributes.NAME]=c}else this.trigger("warn",{message:"ignoring incomplete or missing media group"})},discontinuity:function(){h+=1,s.discontinuity=!0,this.manifest.discontinuityStarts.push(a.length)},"program-date-time":function(){void 0===this.manifest.dateTimeString&&(this.manifest.dateTimeString=e.dateTimeString,this.manifest.dateTimeObject=e.dateTimeObject),s.dateTimeString=e.dateTimeString,s.dateTimeObject=e.dateTimeObject},targetduration:function(){!isFinite(e.duration)||e.duration<0?this.trigger("warn",{message:"ignoring invalid target duration: "+e.duration}):(this.manifest.targetDuration=e.duration,b.call(this,this.manifest))},start:function(){e.attributes&&!isNaN(e.attributes["TIME-OFFSET"])?this.manifest.start={timeOffset:e.attributes["TIME-OFFSET"],precise:e.attributes.PRECISE}:this.trigger("warn",{message:"ignoring start declaration without appropriate attribute list"})},"cue-out":function(){s.cueOut=e.data},"cue-out-cont":function(){s.cueOutCont=e.data},"cue-in":function(){s.cueIn=e.data},skip:function(){this.manifest.skip=y(e.attributes),this.warnOnMissingAttributes_("#EXT-X-SKIP",e.attributes,["SKIPPED-SEGMENTS"])},part:function(){var t=this;o=!0;var i=this.manifest.segments.length,n=y(e.attributes);s.parts=s.parts||[],s.parts.push(n),n.byterange&&(n.byterange.hasOwnProperty("offset")||(n.byterange.offset=_),_=n.byterange.offset+n.byterange.length);var r=s.parts.length-1;this.warnOnMissingAttributes_("#EXT-X-PART #"+r+" for segment #"+i,e.attributes,["URI","DURATION"]),this.manifest.renditionReports&&this.manifest.renditionReports.forEach((function(e,i){e.hasOwnProperty("lastPart")||t.trigger("warn",{message:"#EXT-X-RENDITION-REPORT #"+i+" lacks required attribute(s): LAST-PART"})}))},"server-control":function(){var t=this.manifest.serverControl=y(e.attributes);t.hasOwnProperty("canBlockReload")||(t.canBlockReload=!1,this.trigger("info",{message:"#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false"})),b.call(this,this.manifest),t.canSkipDateranges&&!t.hasOwnProperty("canSkipUntil")&&this.trigger("warn",{message:"#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set"})},"preload-hint":function(){var t=this.manifest.segments.length,i=y(e.attributes),n=i.type&&"PART"===i.type;s.preloadHints=s.preloadHints||[],s.preloadHints.push(i),i.byterange&&(i.byterange.hasOwnProperty("offset")||(i.byterange.offset=n?_:0,n&&(_=i.byterange.offset+i.byterange.length)));var r=s.preloadHints.length-1;if(this.warnOnMissingAttributes_("#EXT-X-PRELOAD-HINT #"+r+" for segment #"+t,e.attributes,["TYPE","URI"]),i.type)for(var a=0;a=r&&console.debug("["+a.getDurationString(new Date-n,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=r&&console.info("["+a.getDurationString(new Date-n,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=r&&a.getDurationString(new Date-n,1e3)},error:function(e,t){4>=r&&console.error("["+a.getDurationString(new Date-n,1e3)+"]","["+e+"]",t)}});a.getDurationString=function(e,t){var i;function n(e,t){for(var i=(""+e).split(".");i[0].length0){for(var i="",n=0;n0&&(i+=","),i+="["+a.getDurationString(e.start(n))+","+a.getDurationString(e.end(n))+"]";return i}return"(empty)"},void 0!==i&&(i.Log=a);var s=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};s.prototype.getPosition=function(){return this.position},s.prototype.getEndPosition=function(){return this.buffer.byteLength},s.prototype.getLength=function(){return this.buffer.byteLength},s.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},s.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},s.prototype.readAnyInt=function(e,t){var i=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:i=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:i=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";i=this.dataview.getUint8(this.position)<<16,i|=this.dataview.getUint8(this.position)<<8,i|=this.dataview.getUint8(this.position);break;case 4:i=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";i=this.dataview.getUint32(this.position)<<32,i|=this.dataview.getUint32(this.position);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,i}throw"Not enough bytes in buffer"},s.prototype.readUint8=function(){return this.readAnyInt(1,!1)},s.prototype.readUint16=function(){return this.readAnyInt(2,!1)},s.prototype.readUint24=function(){return this.readAnyInt(3,!1)},s.prototype.readUint32=function(){return this.readAnyInt(4,!1)},s.prototype.readUint64=function(){return this.readAnyInt(8,!1)},s.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",i=0;ithis._byteLength&&(this._byteLength=t);else{for(i<1&&(i=1);t>i;)i*=2;var n=new ArrayBuffer(i),r=new Uint8Array(this._buffer);new Uint8Array(n,0,r.length).set(r),this.buffer=n,this._byteLength=t}}},o.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),i=new Uint8Array(this._buffer,0,t.length);t.set(i),this.buffer=e}},o.BIG_ENDIAN=!1,o.LITTLE_ENDIAN=!0,o.prototype._byteLength=0,Object.defineProperty(o.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(o.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(o.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(o.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),o.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},o.prototype.isEof=function(){return this.position>=this._byteLength},o.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},o.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Int32Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Int16Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return o.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},o.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Uint32Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Uint16Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return o.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},o.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var i=new Float64Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Float32Array(e);return o.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),o.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},o.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},o.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},o.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},o.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},o.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},o.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},o.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},o.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},o.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,o.memcpy=function(e,t,i,n,r){var a=new Uint8Array(e,t,r),s=new Uint8Array(i,n,r);a.set(s)},o.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},o.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},o.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=0;ir;n--,r++){var a=t[r];t[r]=t[n],t[n]=a}return e},o.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],i=0;i>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},o.prototype.adjustUint32=function(e,t){var i=this.position;this.seek(e),this.writeUint32(t),this.seek(i)},o.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var i=new Int32Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},o.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var i=new Int16Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},o.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},o.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var i=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},o.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var i=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},o.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var i=new Float64Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=8*e,i},o.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var i=new Float32Array(this._buffer,this.byteOffset+this.position,e);return o.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i};var l=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(l.prototype=new o(new ArrayBuffer,0,o.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,a.debug("MultiBufferStream","Stream ready for parsing"),!0):(a.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(a.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){a.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(new Uint8Array(e),0),i.set(new Uint8Array(t),e.byteLength),i.buffer},l.prototype.reduceBuffer=function(e,t,i){var n;return(n=new Uint8Array(i)).set(new Uint8Array(e,t,i)),n.buffer.fileStart=e.fileStart+t,n.buffer.usedBytes=0,n.buffer},l.prototype.insertBuffer=function(e){for(var t=!0,i=0;in.byteLength){this.buffers.splice(i,1),i--;continue}a.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=n.fileStart||(e=this.reduceBuffer(e,0,n.fileStart-e.fileStart)),a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(i,0,e),0===i&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,r,s)}}t&&(a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===i&&(this.buffer=e))},l.prototype.logBufferLevel=function(e){var t,i,n,r,s,o=[],u="";for(n=0,r=0,t=0;t0&&(u+=s.end-1+"]");var l=e?a.info:a.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+n+"/"+r+" bytes): "+u)},l.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},l.prototype.findPosition=function(e,t,i){var n,r=null,s=-1;for(n=!0===e?0:this.bufferIndex;n=t?(a.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},l.prototype.findEndContiguousBuf=function(e){var t,i,n,r=void 0!==e?e:this.bufferIndex;if(i=this.buffers[r],this.buffers.length>r+1)for(t=r+1;t>3;return 31===n&&i.data.length>=2&&(n=32+((7&i.data[0])<<3)+((224&i.data[1])>>5)),n}return null},i.DecoderConfigDescriptor=function(e){i.Descriptor.call(this,4,e)},i.DecoderConfigDescriptor.prototype=new i.Descriptor,i.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},i.DecoderSpecificInfo=function(e){i.Descriptor.call(this,5,e)},i.DecoderSpecificInfo.prototype=new i.Descriptor,i.SLConfigDescriptor=function(e){i.Descriptor.call(this,6,e)},i.SLConfigDescriptor.prototype=new i.Descriptor,this};void 0!==i&&(i.MPEG4DescriptorParser=h);var d={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){d.FullBox.prototype=new d.Box,d.ContainerBox.prototype=new d.Box,d.SampleEntry.prototype=new d.Box,d.TrackGroupTypeBox.prototype=new d.FullBox,d.BASIC_BOXES.forEach((function(e){d.createBoxCtor(e)})),d.FULL_BOXES.forEach((function(e){d.createFullBoxCtor(e)})),d.CONTAINER_BOXES.forEach((function(e){d.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,i){this.type=e,this.size=t,this.uuid=i},FullBox:function(e,t,i){d.Box.call(this,e,t,i),this.flags=0,this.version=0},ContainerBox:function(e,t,i){d.Box.call(this,e,t,i),this.boxes=[]},SampleEntry:function(e,t,i,n){d.ContainerBox.call(this,e,t),this.hdr_size=i,this.start=n},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){d.FullBox.call(this,e,t)},createBoxCtor:function(e,t){d.boxCodes.push(e),d[e+"Box"]=function(t){d.Box.call(this,e,t)},d[e+"Box"].prototype=new d.Box,t&&(d[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){d[e+"Box"]=function(t){d.FullBox.call(this,e,t)},d[e+"Box"].prototype=new d.FullBox,d[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,i=0;ii?(a.error("BoxParser","Box of type '"+h+"' has a size "+l+" greater than its container size "+i),{code:d.ERR_NOT_ENOUGH_DATA,type:h,size:l,hdr_size:u,start:o}):o+l>e.getEndPosition()?(e.seek(o),a.info("BoxParser","Not enough data in stream to parse the entire '"+h+"' box"),{code:d.ERR_NOT_ENOUGH_DATA,type:h,size:l,hdr_size:u,start:o}):t?{code:d.OK,type:h,size:l,hdr_size:u,start:o}:(d[h+"Box"]?n=new d[h+"Box"](l):"uuid"!==h?(a.warn("BoxParser","Unknown box type: '"+h+"'"),(n=new d.Box(h,l)).has_unparsed_data=!0):d.UUIDBoxes[s]?n=new d.UUIDBoxes[s](l):(a.warn("BoxParser","Unknown uuid type: '"+s+"'"),(n=new d.Box(h,l)).uuid=s,n.has_unparsed_data=!0),n.hdr_size=u,n.start=o,n.write===d.Box.prototype.write&&"mdat"!==n.type&&(a.info("BoxParser","'"+c+"' box writing not yet implemented, keeping unparsed data in memory for later write"),n.parseDataAndRewind(e)),n.parse(e),(r=e.getPosition()-(n.start+n.size))<0?(a.warn("BoxParser","Parsing of box '"+c+"' did not read the entire indicated box data size (missing "+-r+" bytes), seeking forward"),e.seek(n.start+n.size)):r>0&&(a.error("BoxParser","Parsing of box '"+c+"' read "+r+" more bytes than the indicated box data size, seeking backwards"),e.seek(n.start+n.size)),{code:d.OK,box:n,size:n.size})},d.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},d.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},d.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},d.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},d.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},d.ContainerBox.prototype.parse=function(e){for(var t,i;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},d.SAMPLE_ENTRY_TYPE_VISUAL="Visual",d.SAMPLE_ENTRY_TYPE_AUDIO="Audio",d.SAMPLE_ENTRY_TYPE_HINT="Hint",d.SAMPLE_ENTRY_TYPE_METADATA="Metadata",d.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",d.SAMPLE_ENTRY_TYPE_SYSTEM="System",d.SAMPLE_ENTRY_TYPE_TEXT="Text",d.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},d.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},d.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},d.SampleEntry.prototype.parseFooter=function(e){d.ContainerBox.prototype.parse.call(this,e)},d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_HINT),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_METADATA),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SUBTITLE),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SYSTEM),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_TEXT),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_TEXT,"enct"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_METADATA,"encm"),d.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)a.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void a.error("av1C reserved_2 parsing problem");var i=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(i)}else a.error("av1C reserved_1 parsing problem");else a.error("av1C version "+this.version+" not supported")})),d.createBoxCtor("avcC",(function(e){var t,i;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),i=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(i))})),d.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),d.createBoxCtor("clap",(function(e){this.cleanApertureWidthN=e.readUint32(),this.cleanApertureWidthD=e.readUint32(),this.cleanApertureHeightN=e.readUint32(),this.cleanApertureHeightD=e.readUint32(),this.horizOffN=e.readUint32(),this.horizOffD=e.readUint32(),this.vertOffN=e.readUint32(),this.vertOffD=e.readUint32()})),d.createBoxCtor("clli",(function(e){this.max_content_light_level=e.readUint16(),this.max_pic_average_light_level=e.readUint16()})),d.createFullBoxCtor("co64",(function(e){var t,i;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(i=0;i>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),d.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),d.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),d.createFullBoxCtor("ctts",(function(e){var t,i;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(i=0;i>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|i>>6&3,this.acmod=i>>3&7,this.lfeon=i>>2&1,this.bit_rate_code=3&i|n>>5&7})),d.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var i=0;i>6,n.bsid=r>>1&31,n.bsmod=(1&r)<<4|a>>4&15,n.acmod=a>>1&7,n.lfeon=1&a,n.num_dep_sub=s>>1&15,n.num_dep_sub>0&&(n.chan_loc=(1&s)<<8|e.readUint8())}})),d.createFullBoxCtor("dfLa",(function(e){var t=[],i=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var n=e.readUint8(),r=Math.min(127&n,i.length-1);if(r?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(i[r]),128&n)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),d.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),d.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),d.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),d.createFullBoxCtor("dref",(function(e){var t,i;this.entries=[];for(var n=e.readUint32(),r=0;r=4;)this.compatible_brands[i]=e.readString(4),t-=4,i++})),d.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),d.createBoxCtor("hvcC",(function(e){var t,i,n,r;this.configurationVersion=e.readUint8(),r=e.readUint8(),this.general_profile_space=r>>6,this.general_tier_flag=(32&r)>>5,this.general_profile_idc=31&r,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),r=e.readUint8(),this.constantFrameRate=r>>6,this.numTemporalLayers=(13&r)>>3,this.temporalIdNested=(4&r)>>2,this.lengthSizeMinusOne=3&r,this.nalu_arrays=[];var a=e.readUint8();for(t=0;t>7,s.nalu_type=63&r;var o=e.readUint16();for(i=0;i>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var i=0;if(this.version<2)i=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";i=e.readUint32()}for(var n=0;n=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),d.createFullBoxCtor("ipma",(function(e){var t,i;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?s.property_index=(127&a)<<8|e.readUint8():s.property_index=127&a}}})),d.createFullBoxCtor("iref",(function(e){var t,i;for(this.references=[];e.getPosition()>7,n.assignment_type=127&r,n.assignment_type){case 0:n.grouping_type=e.readString(4);break;case 1:n.grouping_type=e.readString(4),n.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:n.sub_track_id=e.readUint32();break;default:a.warn("BoxParser","Unknown leva assignement type")}}})),d.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),d.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]={},this.display_primaries[0].x=e.readUint16(),this.display_primaries[0].y=e.readUint16(),this.display_primaries[1]={},this.display_primaries[1].x=e.readUint16(),this.display_primaries[1].y=e.readUint16(),this.display_primaries[2]={},this.display_primaries[2].x=e.readUint16(),this.display_primaries[2].y=e.readUint16(),this.white_point={},this.white_point.x=e.readUint16(),this.white_point.y=e.readUint16(),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),d.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),d.createFullBoxCtor("mehd",(function(e){1&this.flags&&(a.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),d.createFullBoxCtor("meta",(function(e){this.boxes=[],d.ContainerBox.prototype.parse.call(this,e)})),d.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),d.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),d.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),d.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),d.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),d.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var i=0;i0){var t=e.readUint32();this.kid=[];for(var i=0;i0&&(this.data=e.readUint8Array(n))})),d.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),d.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),d.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),d.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),d.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),d.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var i=0;i>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var i=e.readUint8(),n=0;n>7,this.num_leading_samples=127&t})),d.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=d.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),d.createSampleGroupCtor("stsa",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),d.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),d.createSampleGroupCtor("tsas",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createSampleGroupCtor("tscl",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createSampleGroupCtor("vipr",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),i=0;i>6,this.sample_depends_on[n]=t>>4&3,this.sample_is_depended_on[n]=t>>2&3,this.sample_has_redundancy[n]=3&t})),d.createFullBoxCtor("senc"),d.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),a.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),i=0;i>31&1,n.referenced_size=2147483647&r,n.subsegment_duration=e.readUint32(),r=e.readUint32(),n.starts_with_SAP=r>>31&1,n.SAP_type=r>>28&7,n.SAP_delta_time=268435455&r}})),d.SingleItemTypeReferenceBox=function(e,t,i,n){d.Box.call(this,e,t),this.hdr_size=i,this.start=n},d.SingleItemTypeReferenceBox.prototype=new d.Box,d.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var i=0;i>4&15,this.sample_sizes[t+1]=15&n}else if(8===this.field_size)for(t=0;t0)for(i=0;i>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=d.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),d.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),d.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&d.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),d.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var i=e.readUint32(),n=0;n>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),d.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),d.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),d.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),d.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),d.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),d.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},d.createTrackGroupCtor("msrc"),d.TrackReferenceTypeBox=function(e,t,i,n){d.Box.call(this,e,t),this.hdr_size=i,this.start=n},d.TrackReferenceTypeBox.prototype=new d.Box,d.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},d.trefBox.prototype.parse=function(e){for(var t,i;e.getPosition()t&&this.flags&d.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&d.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var i=0;i0&&(this.location=e.readCString())})),d.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),d.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=d.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),d.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),d.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=d.parseHex16(e)})),d.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),d.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),d.SampleEntry.prototype.isVideo=function(){return!1},d.SampleEntry.prototype.isAudio=function(){return!1},d.SampleEntry.prototype.isSubtitle=function(){return!1},d.SampleEntry.prototype.isMetadata=function(){return!1},d.SampleEntry.prototype.isHint=function(){return!1},d.SampleEntry.prototype.getCodec=function(){return this.type.replace(".","")},d.SampleEntry.prototype.getWidth=function(){return""},d.SampleEntry.prototype.getHeight=function(){return""},d.SampleEntry.prototype.getChannelCount=function(){return""},d.SampleEntry.prototype.getSampleRate=function(){return""},d.SampleEntry.prototype.getSampleSize=function(){return""},d.VisualSampleEntry.prototype.isVideo=function(){return!0},d.VisualSampleEntry.prototype.getWidth=function(){return this.width},d.VisualSampleEntry.prototype.getHeight=function(){return this.height},d.AudioSampleEntry.prototype.isAudio=function(){return!0},d.AudioSampleEntry.prototype.getChannelCount=function(){return this.channel_count},d.AudioSampleEntry.prototype.getSampleRate=function(){return this.samplerate},d.AudioSampleEntry.prototype.getSampleSize=function(){return this.samplesize},d.SubtitleSampleEntry.prototype.isSubtitle=function(){return!0},d.MetadataSampleEntry.prototype.isMetadata=function(){return!0},d.decimalToHex=function(e,t){var i=Number(e).toString(16);for(t=null==t?t=2:t;i.length>=1;t+=d.decimalToHex(n,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var r=!1,a="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||r)&&(a="."+d.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+a,r=!0);t+=a}return t},d.mp4aSampleEntry.prototype.getCodec=function(){var e=d.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),i=this.esds.esd.getAudioConfig();return e+"."+d.decimalToHex(t)+(i?"."+i:"")}return e},d.stxtSampleEntry.prototype.getCodec=function(){var e=d.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},d.av01SampleEntry.prototype.getCodec=function(){var e,t=d.SampleEntry.prototype.getCodec.call(this);return 2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+this.av1C.seq_level_idx_0+(this.av1C.seq_tier_0?"H":"M")+"."+e},d.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>u&&(this.size+=8),"uuid"===this.type&&(this.size+=16),a.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>u?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>u&&e.writeUint64(this.size)},d.FullBox.prototype.writeHeader=function(e){this.size+=4,d.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},d.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},d.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1-1||e[i]instanceof d.Box||t[i]instanceof d.Box||void 0===e[i]||void 0===t[i]||"function"==typeof e[i]||"function"==typeof t[i]||e.subBoxNames&&e.subBoxNames.indexOf(i.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(i.slice(0,4))>-1||"data"===i||"start"===i||"size"===i||"creation_time"===i||"modification_time"===i||d.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(i)>-1||e[i]===t[i]))return!1;return!0},d.boxEqual=function(e,t){if(!d.boxEqualFields(e,t))return!1;for(var i=0;i=t?e:new Array(t-e.length+1).join(i)+e}function r(e){var t=Math.floor(e/3600),i=Math.floor((e-3600*t)/60),r=Math.floor(e-3600*t-60*i),a=Math.floor(1e3*(e-3600*t-60*i-r));return n(t,2)+":"+n(i,2)+":"+n(r,2)+"."+n(a,3)}for(var a=this.parseSample(i),s="",o=0;o1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},m.prototype.setExtractionOptions=function(e,t,i){var n=this.getTrackById(e);if(n){var r={};this.extractedTracks.push(r),r.id=e,r.user=t,r.trak=n,n.nextSample=0,r.nb_samples=1e3,r.samples=[],i&&i.nbSamples&&(r.nb_samples=i.nbSamples)}},m.prototype.unsetExtractionOptions=function(e){for(var t=-1,i=0;i-1&&this.extractedTracks.splice(t,1)},m.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=d.parseOneBox(this.stream,!1)).code===d.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var i;switch(i="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),i){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[i]&&a.warn("ISOFile","Duplicate Box of type: "+i+", overriding previous occurrence"),this[i]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},m.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(a.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(a.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(a.warn("ISOFile","Not ready to start parsing"),!1))},m.prototype.appendBuffer=function(e,t){var i;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(i=this.nextSeekPosition,this.nextSeekPosition=void 0):i=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(i=this.stream.getEndFilePositionAfter(i))):i=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(a.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+i),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),i},m.prototype.getInfo=function(){var e,t,i,n,r,a={},s=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(a.hasMoov=!0,a.duration=this.moov.mvhd.duration,a.timescale=this.moov.mvhd.timescale,a.isFragmented=null!=this.moov.mvex,a.isFragmented&&this.moov.mvex.mehd&&(a.fragment_duration=this.moov.mvex.mehd.fragment_duration),a.isProgressive=this.isProgressive,a.hasIOD=null!=this.moov.iods,a.brands=[],a.brands.push(this.ftyp.major_brand),a.brands=a.brands.concat(this.ftyp.compatible_brands),a.created=new Date(s+1e3*this.moov.mvhd.creation_time),a.modified=new Date(s+1e3*this.moov.mvhd.modification_time),a.tracks=[],a.audioTracks=[],a.videoTracks=[],a.subtitleTracks=[],a.metadataTracks=[],a.hintTracks=[],a.otherTracks=[],e=0;e0?a.mime+='video/mp4; codecs="':a.audioTracks&&a.audioTracks.length>0?a.mime+='audio/mp4; codecs="':a.mime+='application/mp4; codecs="',e=0;e=i.samples.length)&&(a.info("ISOFile","Sending fragmented data on track #"+n.id+" for samples ["+Math.max(0,i.nextSample-n.nb_samples)+","+(i.nextSample-1)+"]"),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(n.id,n.user,n.segmentStream.buffer,i.nextSample,e||i.nextSample>=i.samples.length),n.segmentStream=null,n!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=i.samples.length)&&(a.debug("ISOFile","Sending samples on track #"+s.id+" for sample "+i.nextSample),this.onSamples&&this.onSamples(s.id,s.user,s.samples),s.samples=[],s!==this.extractedTracks[t]))break}}}},m.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},m.prototype.getBoxes=function(e,t){var i=[];return m._sweep.call(this,e,i,t),i},m._sweep=function(e,t,i){for(var n in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&i)return;m._sweep.call(this.boxes[n],e,t,i)}},m.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},m.prototype.getTrackSample=function(e,t){var i=this.getTrackById(e);return this.getSample(i,t)},m.prototype.releaseUsedSamples=function(e,t){var i=0,n=this.getTrackById(e);n.lastValidSample||(n.lastValidSample=0);for(var r=n.lastValidSample;re*r.timescale){l=n-1;break}t&&r.is_sync&&(u=n)}for(t&&(l=u),e=i.samples[l].cts,i.nextSample=l;i.samples[l].alreadyRead===i.samples[l].size&&i.samples[l+1];)l++;return s=i.samples[l].offset+i.samples[l].alreadyRead,a.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+i.nextSample+" on track "+i.tkhd.track_id+", time "+a.getDurationString(e,o)+" and offset: "+s),{offset:s,time:e/o}},m.prototype.seek=function(e,t){var i,n,r,s=this.moov,o={offset:1/0,time:1/0};if(this.moov){for(r=0;r-1){s=o;break}switch(s){case"Visual":r.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),a.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24);break;case"Audio":r.add("smhd").set("balance",t.balance||0),a.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":r.add("hmhd");break;case"Subtitle":switch(r.add("sthd"),t.type){case"stpp":a.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"")}break;case"Metadata":case"System":default:r.add("nmhd")}t.description&&a.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){a.addBox(e)})),r.add("dinf").add("dref").addEntry((new d["url Box"]).set("flags",1));var h=r.add("stbl");return h.add("stsd").addEntry(a),h.add("stts").set("sample_counts",[]).set("sample_deltas",[]),h.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),h.add("stco").set("chunk_offsets",[]),h.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(i),t.id}},d.Box.prototype.computeSize=function(e){var t=e||new o;t.endianness=o.BIG_ENDIAN,this.write(t)},m.prototype.addSample=function(e,t,i){var n=i||{},r={},a=this.getTrackById(e);if(null!==a){r.number=a.samples.length,r.track_id=a.tkhd.track_id,r.timescale=a.mdia.mdhd.timescale,r.description_index=n.sample_description_index?n.sample_description_index-1:0,r.description=a.mdia.minf.stbl.stsd.entries[r.description_index],r.data=t,r.size=t.length,r.alreadyRead=r.size,r.duration=n.duration||1,r.cts=n.cts||0,r.dts=n.dts||0,r.is_sync=n.is_sync||!1,r.is_leading=n.is_leading||0,r.depends_on=n.depends_on||0,r.is_depended_on=n.is_depended_on||0,r.has_redundancy=n.has_redundancy||0,r.degradation_priority=n.degradation_priority||0,r.offset=0,r.subsamples=n.subsamples,a.samples.push(r),a.samples_size+=r.size,a.samples_duration+=r.duration,this.processSamples();var s=m.createSingleSampleMoof(r);return this.addBox(s),s.computeSize(),s.trafs[0].truns[0].data_offset=s.size+8,this.add("mdat").data=t,r}},m.createSingleSampleMoof=function(e){var t=new d.moofBox;t.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=t.add("traf");return i.add("tfhd").set("track_id",e.track_id).set("flags",d.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts),i.add("trun").set("flags",d.TRUN_FLAGS_DATA_OFFSET|d.TRUN_FLAGS_DURATION|d.TRUN_FLAGS_SIZE|d.TRUN_FLAGS_FLAGS|d.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[0]).set("sample_composition_time_offset",[e.cts-e.dts]),t},m.prototype.lastMoofIndex=0,m.prototype.samplesDataSize=0,m.prototype.resetTables=function(){var e,t,i,n,r,a;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(u=r[s].grouping_type+"/0",(o=new l(r[s].grouping_type,0)).is_fragment=!0,t.sample_groups_info[u]||(t.sample_groups_info[u]=o))}else for(s=0;s=2&&(u=n[s].grouping_type+"/0",o=new l(n[s].grouping_type,0),e.sample_groups_info[u]||(e.sample_groups_info[u]=o))},m.setSampleGroupProperties=function(e,t,i,n){var r,a;for(r in t.sample_groups=[],n){var s;if(t.sample_groups[r]={},t.sample_groups[r].grouping_type=n[r].grouping_type,t.sample_groups[r].grouping_type_parameter=n[r].grouping_type_parameter,i>=n[r].last_sample_in_run&&(n[r].last_sample_in_run<0&&(n[r].last_sample_in_run=0),n[r].entry_index++,n[r].entry_index<=n[r].sbgp.entries.length-1&&(n[r].last_sample_in_run+=n[r].sbgp.entries[n[r].entry_index].sample_count)),n[r].entry_index<=n[r].sbgp.entries.length-1?t.sample_groups[r].group_description_index=n[r].sbgp.entries[n[r].entry_index].group_description_index:t.sample_groups[r].group_description_index=-1,0!==t.sample_groups[r].group_description_index)s=n[r].fragment_description?n[r].fragment_description:n[r].description,t.sample_groups[r].group_description_index>0?(a=t.sample_groups[r].group_description_index>65535?(t.sample_groups[r].group_description_index>>16)-1:t.sample_groups[r].group_description_index-1,s&&a>=0&&(t.sample_groups[r].description=s.entries[a])):s&&s.version>=2&&s.default_group_description_index>0&&(t.sample_groups[r].description=s.entries[s.default_group_description_index-1])}},m.process_sdtp=function(e,t,i){t&&(e?(t.is_leading=e.is_leading[i],t.depends_on=e.sample_depends_on[i],t.is_depended_on=e.sample_is_depended_on[i],t.has_redundancy=e.sample_has_redundancy[i]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},m.prototype.buildSampleLists=function(){var e,t;for(e=0;ey&&(b++,y<0&&(y=0),y+=a.sample_counts[b]),t>0?(e.samples[t-1].duration=a.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,C.dts=e.samples[t-1].dts+e.samples[t-1].duration):C.dts=0,s?(t>=S&&(T++,S<0&&(S=0),S+=s.sample_counts[T]),C.cts=e.samples[t].dts+s.sample_offsets[T]):C.cts=C.dts,o?(t==o.sample_numbers[E]-1?(C.is_sync=!0,E++):(C.is_sync=!1,C.degradation_priority=0),l&&l.entries[w].sample_delta+A==t+1&&(C.subsamples=l.entries[w].subsamples,A+=l.entries[w].sample_delta,w++)):C.is_sync=!0,m.process_sdtp(e.mdia.minf.stbl.sdtp,C,C.number),C.degradation_priority=c?c.priority[t]:0,l&&l.entries[w].sample_delta+A==t&&(C.subsamples=l.entries[w].subsamples,A+=l.entries[w].sample_delta),(h.length>0||d.length>0)&&m.setSampleGroupProperties(e,C,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},m.prototype.updateSampleLists=function(){var e,t,i,n,r,a,s,o,u,l,h,c,f,p,_;if(void 0!==this.moov)for(;this.lastMoofIndex0&&m.initSampleGroups(c,h,h.sbgps,c.mdia.minf.stbl.sgpds,h.sgpds),t=0;t0?p.dts=c.samples[c.samples.length-2].dts+c.samples[c.samples.length-2].duration:(h.tfdt?p.dts=h.tfdt.baseMediaDecodeTime:p.dts=0,c.first_traf_merged=!0),p.cts=p.dts,g.flags&d.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+g.sample_composition_time_offset[i]),_=s,g.flags&d.TRUN_FLAGS_FLAGS?_=g.sample_flags[i]:0===i&&g.flags&d.TRUN_FLAGS_FIRST_FLAG&&(_=g.first_sample_flags),p.is_sync=!(_>>16&1),p.is_leading=_>>26&3,p.depends_on=_>>24&3,p.is_depended_on=_>>22&3,p.has_redundancy=_>>20&3,p.degradation_priority=65535&_;var v=!!(h.tfhd.flags&d.TFHD_FLAG_BASE_DATA_OFFSET),y=!!(h.tfhd.flags&d.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(g.flags&d.TRUN_FLAGS_DATA_OFFSET),S=0;S=v?h.tfhd.base_data_offset:y||0===t?l.start:o,p.offset=0===t&&0===i?b?S+g.data_offset:S:o,o=p.offset+p.size,(h.sbgps.length>0||h.sgpds.length>0||c.mdia.minf.stbl.sbgps.length>0||c.mdia.minf.stbl.sgpds.length>0)&&m.setSampleGroupProperties(c,p,p.number_in_traf,h.sample_groups_info)}}if(h.subs){c.has_fragment_subsamples=!0;var T=h.first_sample_index;for(t=0;t-1))return null;var s=(i=this.stream.buffers[r]).byteLength-(n.offset+n.alreadyRead-i.fileStart);if(n.size-n.alreadyRead<=s)return a.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-i.fileStart)+" read size: "+(n.size-n.alreadyRead)+" full size: "+n.size+")"),o.memcpy(n.data.buffer,n.alreadyRead,i,n.offset+n.alreadyRead-i.fileStart,n.size-n.alreadyRead),i.usedBytes+=n.size-n.alreadyRead,this.stream.logBufferLevel(),n.alreadyRead=n.size,n;if(0===s)return null;a.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-i.fileStart)+" read size: "+s+" full size: "+n.size+")"),o.memcpy(n.data.buffer,n.alreadyRead,i,n.offset+n.alreadyRead-i.fileStart,s),n.alreadyRead+=s,i.usedBytes+=s,this.stream.logBufferLevel()}},m.prototype.releaseSample=function(e,t){var i=e.samples[t];return i.data?(this.samplesDataSize-=i.size,i.data=null,i.alreadyRead=0,i.size):0},m.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},m.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},m.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(i.protection=r.ipro.protections[r.iinf.item_infos[e].protection_index-1]),r.iinf.item_infos[e].item_type?i.type=r.iinf.item_infos[e].item_type:i.type="mime",i.content_type=r.iinf.item_infos[e].content_type,i.content_encoding=r.iinf.item_infos[e].content_encoding;if(r.iloc)for(e=0;e0){var c=r.iprp.ipco.boxes[d.property_index-1];i.properties[c.type]=c,i.properties.boxes.push(c)}}}}}},m.prototype.getItem=function(e){var t,i;if(!this.meta)return null;if(!(i=this.items[e]).data&&i.size)i.data=new Uint8Array(i.size),i.alreadyRead=0,this.itemsDataSize+=i.size,a.debug("ISOFile","Allocating item #"+e+" of size "+i.size+" (total: "+this.itemsDataSize+")");else if(i.alreadyRead===i.size)return i;for(var n=0;n-1))return null;var u=(t=this.stream.buffers[s]).byteLength-(r.offset+r.alreadyRead-t.fileStart);if(!(r.length-r.alreadyRead<=u))return a.debug("ISOFile","Getting item #"+e+" extent #"+n+" partial data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+u+" full extent size: "+r.length+" full item size: "+i.size+")"),o.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,u),r.alreadyRead+=u,i.alreadyRead+=u,t.usedBytes+=u,this.stream.logBufferLevel(),null;a.debug("ISOFile","Getting item #"+e+" extent #"+n+" data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+(r.length-r.alreadyRead)+" full extent size: "+r.length+" full item size: "+i.size+")"),o.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,r.length-r.alreadyRead),t.usedBytes+=r.length-r.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead+=r.length-r.alreadyRead,r.alreadyRead=r.length}}return i.alreadyRead===i.size?i:null},m.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var i=0;i0?this.moov.traks[e].samples[0].duration:0),t.push(n)}return t},d.Box.prototype.printHeader=function(e){this.size+=8,this.size>u&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},d.FullBox.prototype.printHeader=function(e){this.size+=4,d.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},d.Box.prototype.print=function(e){this.printHeader(e)},d.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},d.tkhdBox.prototype.print=function(e){d.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var _={createFile:function(e,t){var i=void 0===e||e,n=new m(t);return n.discardMdatData=!i,n}};void 0!==i&&(i.createFile=_.createFile)},{}],40:[function(e,t,i){ +/*! @name mpd-parser @version 0.19.0 @license Apache-2.0 */ +"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n=e("@videojs/vhs-utils/cjs/resolve-url"),r=e("global/window"),a=e("@videojs/vhs-utils/cjs/decode-b64-to-uint8-array"),s=e("@xmldom/xmldom");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=o(n),l=o(r),h=o(a),d=function(e){return!!e&&"object"==typeof e},c=function e(){for(var t=arguments.length,i=new Array(t),n=0;n=0&&(f.minimumUpdatePeriod=1e3*u),t&&(f.locations=t),"dynamic"===s&&(f.suggestedPresentationDelay=o);var p=0===f.playlists.length;return h.length&&(f.mediaGroups.AUDIO.audio=function(e,t,i){var n;void 0===t&&(t={}),void 0===i&&(i=!1);var r=e.reduce((function(e,r){var a=r.attributes.role&&r.attributes.role.value||"",s=r.attributes.lang||"",o=r.attributes.label||"main";if(s&&!r.attributes.label){var u=a?" ("+a+")":"";o=""+r.attributes.lang+u}e[o]||(e[o]={language:s,autoselect:!0,default:"main"===a,playlists:[],uri:""});var l=I(function(e,t){var i,n=e.attributes,r=e.segments,a=e.sidx,s={attributes:(i={NAME:n.id,BANDWIDTH:n.bandwidth,CODECS:n.codecs},i["PROGRAM-ID"]=1,i),uri:"",endList:"static"===n.type,timeline:n.periodIndex,resolvedUri:"",targetDuration:n.duration,segments:r,mediaSequence:r.length?r[0].number:1};return n.contentProtection&&(s.contentProtection=n.contentProtection),a&&(s.sidx=a),t&&(s.attributes.AUDIO="audio",s.attributes.SUBTITLES="subs"),s}(r,i),t);return e[o].playlists.push(l),void 0===n&&"main"===a&&((n=r).default=!0),e}),{});n||(r[Object.keys(r)[0]].default=!0);return r}(h,i,p)),d.length&&(f.mediaGroups.SUBTITLES.subs=function(e,t){return void 0===t&&(t={}),e.reduce((function(e,i){var n=i.attributes.lang||"text";return e[n]||(e[n]={language:n,default:!1,autoselect:!1,playlists:[],uri:""}),e[n].playlists.push(I(function(e){var t,i=e.attributes,n=e.segments;void 0===n&&(n=[{uri:i.baseUrl,timeline:i.periodIndex,resolvedUri:i.baseUrl||"",duration:i.sourceDuration,number:0}],i.duration=i.sourceDuration);var r=((t={NAME:i.id,BANDWIDTH:i.bandwidth})["PROGRAM-ID"]=1,t);return i.codecs&&(r.CODECS=i.codecs),{attributes:r,uri:"",endList:"static"===i.type,timeline:i.periodIndex,resolvedUri:i.baseUrl||"",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1}}(i),t)),e}),{})}(d,i)),c.length&&(f.mediaGroups["CLOSED-CAPTIONS"].cc=c.reduce((function(e,t){return t?(t.forEach((function(t){var i=t.channel,n=t.language;e[n]={autoselect:!1,default:!1,instreamId:i,language:n},t.hasOwnProperty("aspectRatio")&&(e[n].aspectRatio=t.aspectRatio),t.hasOwnProperty("easyReader")&&(e[n].easyReader=t.easyReader),t.hasOwnProperty("3D")&&(e[n]["3D"]=t["3D"])})),e):e}),{})),f},M=function(e,t,i){var n=e.NOW,r=e.clientOffset,a=e.availabilityStartTime,s=e.timescale,o=void 0===s?1:s,u=e.start,l=void 0===u?0:u,h=e.minimumUpdatePeriod,d=(n+r)/1e3+(void 0===h?0:h)-(a+l);return Math.ceil((d*o-t)/i)},F=function(e,t){for(var i=e.type,n=e.minimumUpdatePeriod,r=void 0===n?0:n,a=e.media,s=void 0===a?"":a,o=e.sourceDuration,u=e.timescale,l=void 0===u?1:u,h=e.startNumber,d=void 0===h?1:h,c=e.periodIndex,f=[],p=-1,m=0;mp&&(p=y);var b=void 0;if(v<0){var S=m+1;b=S===t.length?"dynamic"===i&&r>0&&s.indexOf("$Number$")>0?M(e,p,g):(o*l-p)/g:(t[S].t-p)/g}else b=v+1;for(var T=d+f.length+b,E=d+f.length;E=r?a:""+new Array(r-a.length+1).join("0")+a)}}(t))},j=function(e,t){var i={RepresentationID:e.id,Bandwidth:e.bandwidth||0},n=e.initialization,r=void 0===n?{sourceURL:"",range:""}:n,a=S({baseUrl:e.baseUrl,source:N(r.sourceURL,i),range:r.range});return function(e,t){return e.duration||t?e.duration?w(e):F(e,t):[{number:e.startNumber||1,duration:e.sourceDuration,time:0,timeline:e.periodIndex}]}(e,t).map((function(t){i.Number=t.number,i.Time=t.time;var n=N(e.media||"",i),r=e.timescale||1,s=e.presentationTimeOffset||0,o=e.periodStart+(t.time-s)/r;return{uri:n,timeline:t.timeline,duration:t.duration,resolvedUri:u.default(e.baseUrl||"",n),map:a,number:t.number,presentationTime:o}}))},V=function(e,t){var i=e.duration,n=e.segmentUrls,r=void 0===n?[]:n,a=e.periodStart;if(!i&&!t||i&&t)throw new Error(y);var s,o=r.map((function(t){return function(e,t){var i=e.baseUrl,n=e.initialization,r=void 0===n?{}:n,a=S({baseUrl:i,source:r.sourceURL,range:r.range}),s=S({baseUrl:i,source:t.media,range:t.mediaRange});return s.map=a,s}(e,t)}));return i&&(s=w(e)),t&&(s=F(e,t)),s.map((function(t,i){if(o[i]){var n=o[i],r=e.timescale||1,s=e.presentationTimeOffset||0;return n.timeline=t.timeline,n.duration=t.duration,n.number=t.number,n.presentationTime=a+(t.time-s)/r,n}})).filter((function(e){return e}))},H=function(e){var t,i,n=e.attributes,r=e.segmentInfo;r.template?(i=j,t=c(n,r.template)):r.base?(i=A,t=c(n,r.base)):r.list&&(i=V,t=c(n,r.list));var a={attributes:n};if(!i)return a;var s=i(t,r.segmentTimeline);if(t.duration){var o=t,u=o.duration,l=o.timescale,h=void 0===l?1:l;t.duration=u/h}else s.length?t.duration=s.reduce((function(e,t){return Math.max(e,Math.ceil(t.duration))}),0):t.duration=0;return a.attributes=t,a.segments=s,r.base&&t.indexRange&&(a.sidx=s[0],a.segments=[]),a},z=function(e){return e.map(H)},G=function(e,t){return p(e.childNodes).filter((function(e){return e.tagName===t}))},W=function(e){return e.textContent.trim()},Y=function(e){var t=/P(?:(\d*)Y)?(?:(\d*)M)?(?:(\d*)D)?(?:T(?:(\d*)H)?(?:(\d*)M)?(?:([\d.]*)S)?)?/.exec(e);if(!t)return 0;var i=t.slice(1),n=i[0],r=i[1],a=i[2],s=i[3],o=i[4],u=i[5];return 31536e3*parseFloat(n||0)+2592e3*parseFloat(r||0)+86400*parseFloat(a||0)+3600*parseFloat(s||0)+60*parseFloat(o||0)+parseFloat(u||0)},q={mediaPresentationDuration:function(e){return Y(e)},availabilityStartTime:function(e){return/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(t=e)&&(t+="Z"),Date.parse(t)/1e3;var t},minimumUpdatePeriod:function(e){return Y(e)},suggestedPresentationDelay:function(e){return Y(e)},type:function(e){return e},timeShiftBufferDepth:function(e){return Y(e)},start:function(e){return Y(e)},width:function(e){return parseInt(e,10)},height:function(e){return parseInt(e,10)},bandwidth:function(e){return parseInt(e,10)},startNumber:function(e){return parseInt(e,10)},timescale:function(e){return parseInt(e,10)},presentationTimeOffset:function(e){return parseInt(e,10)},duration:function(e){var t=parseInt(e,10);return isNaN(t)?Y(e):t},d:function(e){return parseInt(e,10)},t:function(e){return parseInt(e,10)},r:function(e){return parseInt(e,10)},DEFAULT:function(e){return e}},K=function(e){return e&&e.attributes?p(e.attributes).reduce((function(e,t){var i=q[t.name]||q.DEFAULT;return e[t.name]=i(t.value),e}),{}):{}},X={"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b":"org.w3.clearkey","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":"com.widevine.alpha","urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":"com.microsoft.playready","urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb":"com.adobe.primetime"},Q=function(e,t){return t.length?f(e.map((function(e){return t.map((function(t){return u.default(e,W(t))}))}))):e},$=function(e){var t=G(e,"SegmentTemplate")[0],i=G(e,"SegmentList")[0],n=i&&G(i,"SegmentURL").map((function(e){return c({tag:"SegmentURL"},K(e))})),r=G(e,"SegmentBase")[0],a=i||t,s=a&&G(a,"SegmentTimeline")[0],o=i||r||t,u=o&&G(o,"Initialization")[0],l=t&&K(t);l&&u?l.initialization=u&&K(u):l&&l.initialization&&(l.initialization={sourceURL:l.initialization});var h={template:l,segmentTimeline:s&&G(s,"S").map((function(e){return K(e)})),list:i&&c(K(i),{segmentUrls:n,initialization:K(u)}),base:r&&c(K(r),{initialization:K(u)})};return Object.keys(h).forEach((function(e){h[e]||delete h[e]})),h},J=function(e,t,i){return function(n){var r,a=K(n),s=Q(t,G(n,"BaseURL")),o=G(n,"Role")[0],u={role:K(o)},l=c(e,a,u),d=G(n,"Accessibility")[0],p="urn:scte:dash:cc:cea-608:2015"===(r=K(d)).schemeIdUri?r.value.split(";").map((function(e){var t,i;if(i=e,/^CC\d=/.test(e)){var n=e.split("=");t=n[0],i=n[1]}else/^CC\d$/.test(e)&&(t=e);return{channel:t,language:i}})):"urn:scte:dash:cc:cea-708:2015"===r.schemeIdUri?r.value.split(";").map((function(e){var t={channel:void 0,language:void 0,aspectRatio:1,easyReader:0,"3D":0};if(/=/.test(e)){var i=e.split("="),n=i[0],r=i[1],a=void 0===r?"":r;t.channel=n,t.language=e,a.split(",").forEach((function(e){var i=e.split(":"),n=i[0],r=i[1];"lang"===n?t.language=r:"er"===n?t.easyReader=Number(r):"war"===n?t.aspectRatio=Number(r):"3D"===n&&(t["3D"]=Number(r))}))}else t.language=e;return t.channel&&(t.channel="SERVICE"+t.channel),t})):void 0;p&&(l=c(l,{captionServices:p}));var m=G(n,"Label")[0];if(m&&m.childNodes.length){var _=m.childNodes[0].nodeValue.trim();l=c(l,{label:_})}var g=G(n,"ContentProtection").reduce((function(e,t){var i=K(t),n=X[i.schemeIdUri];if(n){e[n]={attributes:i};var r=G(t,"cenc:pssh")[0];if(r){var a=W(r),s=a&&h.default(a);e[n].pssh=s}}return e}),{});Object.keys(g).length&&(l=c(l,{contentProtection:g}));var v=$(n),y=G(n,"Representation"),b=c(i,v);return f(y.map(function(e,t,i){return function(n){var r=G(n,"BaseURL"),a=Q(t,r),s=c(e,K(n)),o=$(n);return a.map((function(e){return{segmentInfo:c(i,o),attributes:c(s,{baseUrl:e})}}))}}(l,s,b)))}},Z=function(e,t){return function(i,n){var r=Q(t,G(i.node,"BaseURL")),a=parseInt(i.attributes.id,10),s=l.default.isNaN(a)?n:a,o=c(e,{periodIndex:s,periodStart:i.attributes.start});"number"==typeof i.attributes.duration&&(o.periodDuration=i.attributes.duration);var u=G(i.node,"AdaptationSet"),h=$(i.node);return f(u.map(J(o,r,h)))}},ee=function(e,t){void 0===t&&(t={});var i=t,n=i.manifestUri,r=void 0===n?"":n,a=i.NOW,s=void 0===a?Date.now():a,o=i.clientOffset,u=void 0===o?0:o,l=G(e,"Period");if(!l.length)throw new Error(m);var h=G(e,"Location"),d=K(e),c=Q([r],G(e,"BaseURL"));d.type=d.type||"static",d.sourceDuration=d.mediaPresentationDuration||0,d.NOW=s,d.clientOffset=u,h.length&&(d.locations=h.map(W));var p=[];return l.forEach((function(e,t){var i=K(e),n=p[t-1];i.start=function(e){var t=e.attributes,i=e.priorPeriodAttributes,n=e.mpdType;return"number"==typeof t.start?t.start:i&&"number"==typeof i.start&&"number"==typeof i.duration?i.start+i.duration:i||"static"!==n?null:0}({attributes:i,priorPeriodAttributes:n?n.attributes:null,mpdType:d.type}),p.push({node:e,attributes:i})})),{locations:d.locations,representationInfo:f(p.map(Z(d,c)))}},te=function(e){if(""===e)throw new Error(_);var t,i,n=new s.DOMParser;try{i=(t=n.parseFromString(e,"application/xml"))&&"MPD"===t.documentElement.tagName?t.documentElement:null}catch(e){}if(!i||i&&i.getElementsByTagName("parsererror").length>0)throw new Error(g);return i};i.VERSION="0.19.0",i.addSidxSegmentsToPlaylist=C,i.generateSidxKey=k,i.inheritAttributes=ee,i.parse=function(e,t){void 0===t&&(t={});var i=ee(te(e),t),n=z(i.representationInfo);return U(n,i.locations,t.sidxMapping)},i.parseUTCTiming=function(e){return function(e){var t=G(e,"UTCTiming")[0];if(!t)return null;var i=K(t);switch(i.schemeIdUri){case"urn:mpeg:dash:utc:http-head:2014":case"urn:mpeg:dash:utc:http-head:2012":i.method="HEAD";break;case"urn:mpeg:dash:utc:http-xsdate:2014":case"urn:mpeg:dash:utc:http-iso:2014":case"urn:mpeg:dash:utc:http-xsdate:2012":case"urn:mpeg:dash:utc:http-iso:2012":i.method="GET";break;case"urn:mpeg:dash:utc:direct:2014":case"urn:mpeg:dash:utc:direct:2012":i.method="DIRECT",i.value=Date.parse(i.value);break;case"urn:mpeg:dash:utc:http-ntp:2014":case"urn:mpeg:dash:utc:ntp:2014":case"urn:mpeg:dash:utc:sntp:2014":default:throw new Error(b)}return i}(te(e))},i.stringToMpdXml=te,i.toM3u8=U,i.toPlaylists=z},{"@videojs/vhs-utils/cjs/decode-b64-to-uint8-array":13,"@videojs/vhs-utils/cjs/resolve-url":20,"@xmldom/xmldom":28,"global/window":34}],41:[function(e,t,i){var n,r;n=window,r=function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=14)}([function(e,t,i){"use strict";var n=i(6),r=i.n(n),a=function(){function e(){}return e.e=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","error",n),e.ENABLE_ERROR&&(console.error?console.error(n):console.warn)},e.i=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","info",n),e.ENABLE_INFO&&console.info&&console.info(n)},e.w=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","warn",n),e.ENABLE_WARN&&console.warn},e.d=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","debug",n),e.ENABLE_DEBUG&&console.debug&&console.debug(n)},e.v=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","verbose",n),e.ENABLE_VERBOSE},e}();a.GLOBAL_TAG="mpegts.js",a.FORCE_GLOBAL_TAG=!1,a.ENABLE_ERROR=!0,a.ENABLE_INFO=!0,a.ENABLE_WARN=!0,a.ENABLE_DEBUG=!0,a.ENABLE_VERBOSE=!0,a.ENABLE_CALLBACK=!1,a.emitter=new r.a,t.a=a},function(e,t,i){"use strict";t.a={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",TIMED_ID3_METADATA_ARRIVED:"timed_id3_metadata_arrived",PES_PRIVATE_DATA_DESCRIPTOR:"pes_private_data_descriptor",PES_PRIVATE_DATA_ARRIVED:"pes_private_data_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"}},function(e,t,i){"use strict";i.d(t,"c",(function(){return r})),i.d(t,"b",(function(){return a})),i.d(t,"a",(function(){return s}));var n=i(3),r={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},a={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"},s=function(){function e(e){this._type=e||"undefined",this._status=r.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return e.prototype.destroy=function(){this._status=r.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null},e.prototype.isWorking=function(){return this._status===r.kConnecting||this._status===r.kBuffering},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"status",{get:function(){return this._status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"needStashBuffer",{get:function(){return this._needStash},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onContentLengthKnown",{get:function(){return this._onContentLengthKnown},set:function(e){this._onContentLengthKnown=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onURLRedirect",{get:function(){return this._onURLRedirect},set:function(e){this._onURLRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataArrival",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onComplete",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),e.prototype.open=function(e,t){throw new n.c("Unimplemented abstract function!")},e.prototype.abort=function(){throw new n.c("Unimplemented abstract function!")},e}()},function(e,t,i){"use strict";i.d(t,"d",(function(){return a})),i.d(t,"a",(function(){return s})),i.d(t,"b",(function(){return o})),i.d(t,"c",(function(){return u}));var n,r=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=function(){function e(e){this._message=e}return Object.defineProperty(e.prototype,"name",{get:function(){return"RuntimeException"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name+": "+this.message},e}(),s=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"IllegalStateException"},enumerable:!1,configurable:!0}),t}(a),o=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"InvalidArgumentException"},enumerable:!1,configurable:!0}),t}(a),u=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"NotImplementedException"},enumerable:!1,configurable:!0}),t}(a)},function(e,t,i){"use strict";var n={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(iemobile)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(e)||[],i=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",majorVersion:t[4]||t[2]||"0",platform:i[0]||""},a={};if(r.browser){a[r.browser]=!0;var s=r.majorVersion.split(".");a.version={major:parseInt(r.majorVersion,10),string:r.version},s.length>1&&(a.version.minor=parseInt(s[1],10)),s.length>2&&(a.version.build=parseInt(s[2],10))}for(var o in r.platform&&(a[r.platform]=!0),(a.chrome||a.opr||a.safari)&&(a.webkit=!0),(a.rv||a.iemobile)&&(a.rv&&delete a.rv,r.browser="msie",a.msie=!0),a.edge&&(delete a.edge,r.browser="msedge",a.msedge=!0),a.opr&&(r.browser="opera",a.opera=!0),a.safari&&a.android&&(r.browser="android",a.android=!0),a.name=r.browser,a.platform=r.platform,n)n.hasOwnProperty(o)&&delete n[o];Object.assign(n,a)}(),t.a=n},function(e,t,i){"use strict";t.a={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"}},function(e,t,i){"use strict";var n,r="object"==typeof Reflect?Reflect:null,a=r&&"function"==typeof r.apply?r.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};n=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(i,n){function r(i){e.removeListener(t,a),n(i)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",r),i([].slice.call(arguments))}g(e,t,a,{once:!0}),"error"!==t&&function(e,t,i){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,r)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var u=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function h(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function d(e,t,i,n){var r,a,s;if(l(i),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),a=e._events),s=a[t]),void 0===s)s=a[t]=i,++e._eventsCount;else if("function"==typeof s?s=a[t]=n?[i,s]:[s,i]:n?s.unshift(i):s.push(i),(r=h(e))>0&&s.length>r&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,console&&console.warn}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},r=c.bind(n);return r.listener=i,n.wrapFn=r,r}function p(e,t,i){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(e){for(var t=new Array(e.length),i=0;i0&&(s=t[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var u=r[e];if(void 0===u)return!1;if("function"==typeof u)a(u,this,t);else{var l=u.length,h=_(u,l);for(i=0;i=0;a--)if(i[a]===t||i[a].listener===t){s=i[a].listener,r=a;break}if(r<0)return this;0===r?i.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},o.prototype.listenerCount=m,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,i){"use strict";i.d(t,"d",(function(){return n})),i.d(t,"b",(function(){return r})),i.d(t,"a",(function(){return a})),i.d(t,"c",(function(){return s}));var n=function(e,t,i,n,r){this.dts=e,this.pts=t,this.duration=i,this.originalDts=n,this.isSyncPoint=r,this.fileposition=null},r=function(){function e(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return e.prototype.appendSyncPoint=function(e){e.isSyncPoint=!0,this.syncPoints.push(e)},e}(),a=function(){function e(){this._list=[]}return e.prototype.clear=function(){this._list=[]},e.prototype.appendArray=function(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts=t[r].dts&&et[n].lastSample.originalDts&&e=t[n].lastSample.originalDts&&(n===t.length-1||n0&&(r=this._searchNearestSegmentBefore(i.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,i)},e.prototype.getLastSegmentBefore=function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null},e.prototype.getLastSampleBefore=function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null},e.prototype.getLastSyncPointBefore=function(e){for(var t=this._searchNearestSegmentBefore(e),i=this._list[t].syncPoints;0===i.length&&t>0;)t--,i=this._list[t].syncPoints;return i.length>0?i[i.length-1]:null},e}()},function(e,t,i){"use strict";var n=function(){function e(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return e.prototype.isComplete=function(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&e&&t},e.prototype.isSeekable=function(){return!0===this.hasKeyframesIndex},e.prototype.getNearestKeyframe=function(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,i=this._search(t.times,e);return{index:i,milliseconds:t.times[i],fileposition:t.filepositions[i]}},e.prototype._search=function(e,t){var i=0,n=e.length-1,r=0,a=0,s=n;for(t=e[r]&&t0){var i=e.getConfig();t.emit("change",i)}},e.registerListener=function(t){e.emitter.addListener("change",t)},e.removeListener=function(t){e.emitter.removeListener("change",t)},e.addLogListener=function(t){a.a.emitter.addListener("log",t),a.a.emitter.listenerCount("log")>0&&(a.a.ENABLE_CALLBACK=!0,e._notifyChange())},e.removeLogListener=function(t){a.a.emitter.removeListener("log",t),0===a.a.emitter.listenerCount("log")&&(a.a.ENABLE_CALLBACK=!1,e._notifyChange())},e}();s.emitter=new r.a,t.a=s},function(e,t,i){"use strict";var n=i(6),r=i.n(n),a=i(0),s=i(4),o=i(8);function u(e,t,i){var n=e;if(t+i=128){t.push(String.fromCharCode(65535&a)),n+=2;continue}}else if(i[n]<240){if(u(i,n,2)&&(a=(15&i[n])<<12|(63&i[n+1])<<6|63&i[n+2])>=2048&&55296!=(63488&a)){t.push(String.fromCharCode(65535&a)),n+=3;continue}}else if(i[n]<248){var a;if(u(i,n,3)&&(a=(7&i[n])<<18|(63&i[n+1])<<12|(63&i[n+2])<<6|63&i[n+3])>65536&&a<1114112){a-=65536,t.push(String.fromCharCode(a>>>10|55296)),t.push(String.fromCharCode(1023&a|56320)),n+=4;continue}}t.push(String.fromCharCode(65533)),++n}return t.join("")},c=i(3),f=(l=new ArrayBuffer(2),new DataView(l).setInt16(0,256,!0),256===new Int16Array(l)[0]),p=function(){function e(){}return e.parseScriptData=function(t,i,n){var r={};try{var s=e.parseValue(t,i,n),o=e.parseValue(t,i+s.size,n-s.size);r[s.data]=o.data}catch(e){a.a.e("AMF",e.toString())}return r},e.parseObject=function(t,i,n){if(n<3)throw new c.a("Data not enough when parse ScriptDataObject");var r=e.parseString(t,i,n),a=e.parseValue(t,i+r.size,n-r.size),s=a.objectEnd;return{data:{name:r.data,value:a.data},size:r.size+a.size,objectEnd:s}},e.parseVariable=function(t,i,n){return e.parseObject(t,i,n)},e.parseString=function(e,t,i){if(i<2)throw new c.a("Data not enough when parse String");var n=new DataView(e,t,i).getUint16(0,!f);return{data:n>0?d(new Uint8Array(e,t+2,n)):"",size:2+n}},e.parseLongString=function(e,t,i){if(i<4)throw new c.a("Data not enough when parse LongString");var n=new DataView(e,t,i).getUint32(0,!f);return{data:n>0?d(new Uint8Array(e,t+4,n)):"",size:4+n}},e.parseDate=function(e,t,i){if(i<10)throw new c.a("Data size invalid when parse Date");var n=new DataView(e,t,i),r=n.getFloat64(0,!f),a=n.getInt16(8,!f);return{data:new Date(r+=60*a*1e3),size:10}},e.parseValue=function(t,i,n){if(n<1)throw new c.a("Data not enough when parse Value");var r,s=new DataView(t,i,n),o=1,u=s.getUint8(0),l=!1;try{switch(u){case 0:r=s.getFloat64(1,!f),o+=8;break;case 1:r=!!s.getUint8(1),o+=1;break;case 2:var h=e.parseString(t,i+1,n-1);r=h.data,o+=h.size;break;case 3:r={};var d=0;for(9==(16777215&s.getUint32(n-4,!f))&&(d=3);o32)throw new c.b("ExpGolomb: readBits() bits exceeded max 32bits!");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var i=this._current_word_bits_left?this._current_word:0;i>>>=32-this._current_word_bits_left;var n=e-this._current_word_bits_left;this._fillCurrentWord();var r=Math.min(n,this._current_word_bits_left),a=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,i<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()},e.prototype.readUEG=function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1},e.prototype.readSEG=function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)},e}(),_=function(){function e(){}return e._ebsp2rbsp=function(e){for(var t=e,i=t.byteLength,n=new Uint8Array(i),r=0,a=0;a=2&&3===t[a]&&0===t[a-1]&&0===t[a-2]||(n[r]=t[a],r++);return new Uint8Array(n.buffer,0,r)},e.parseSPS=function(t){for(var i=t.subarray(1,4),n="avc1.",r=0;r<3;r++){var a=i[r].toString(16);a.length<2&&(a="0"+a),n+=a}var s=e._ebsp2rbsp(t),o=new m(s);o.readByte();var u=o.readByte();o.readByte();var l=o.readByte();o.readUEG();var h=e.getProfileString(u),d=e.getLevelString(l),c=1,f=420,p=8,_=8;if((100===u||110===u||122===u||244===u||44===u||83===u||86===u||118===u||128===u||138===u||144===u)&&(3===(c=o.readUEG())&&o.readBits(1),c<=3&&(f=[0,420,422,444][c]),p=o.readUEG()+8,_=o.readUEG()+8,o.readBits(1),o.readBool()))for(var g=3!==c?8:12,v=0;v0&&U<16?(I=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][U-1],L=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][U-1]):255===U&&(I=o.readByte()<<8|o.readByte(),L=o.readByte()<<8|o.readByte())}if(o.readBool()&&o.readBool(),o.readBool()&&(o.readBits(4),o.readBool()&&o.readBits(24)),o.readBool()&&(o.readUEG(),o.readUEG()),o.readBool()){var M=o.readBits(32),F=o.readBits(32);R=o.readBool(),x=(D=F)/(O=2*M)}}var B=1;1===I&&1===L||(B=I/L);var N=0,j=0;0===c?(N=1,j=2-w):(N=3===c?1:2,j=(1===c?2:1)*(2-w));var V=16*(T+1),H=16*(E+1)*(2-w);V-=(A+C)*N,H-=(k+P)*j;var z=Math.ceil(V*B);return o.destroy(),o=null,{codec_mimetype:n,profile_idc:u,level_idc:l,profile_string:h,level_string:d,chroma_format_idc:c,bit_depth:p,bit_depth_luma:p,bit_depth_chroma:_,ref_frames:S,chroma_format:f,chroma_format_string:e.getChromaFormatString(f),frame_rate:{fixed:R,fps:x,fps_den:O,fps_num:D},sar_ratio:{width:I,height:L},codec_size:{width:V,height:H},present_size:{width:z,height:H}}},e._skipScalingList=function(e,t){for(var i=8,n=8,r=0;r>>2!=0,a=0!=(1&t[4]),s=(n=t)[5]<<24|n[6]<<16|n[7]<<8|n[8];return s<9?i:{match:!0,consumed:s,dataOffset:s,hasAudioTrack:r,hasVideoTrack:a}},e.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},Object.defineProperty(e.prototype,"onTrackMetadata",{get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaInfo",{get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMetaDataArrived",{get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScriptDataArrived",{get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataAvailable",{get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"timestampBase",{get:function(){return this._timestampBase},set:function(e){this._timestampBase=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedDuration",{get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasAudio",{set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasVideo",{set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e},enumerable:!1,configurable:!0}),e.prototype.resetMediaInfo=function(){this._mediaInfo=new o.a},e.prototype._isInitialMetadataDispatched=function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched},e.prototype.parseChunks=function(t,i){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new c.a("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var n=0,r=this._littleEndian;if(0===i){if(!(t.byteLength>13))return 0;n=e.probe(t).dataOffset}for(this._firstParse&&(this._firstParse=!1,i+n!==this._dataOffset&&a.a.w(this.TAG,"First time parsing but chunk byteStart invalid!"),0!==(s=new DataView(t,n)).getUint32(0,!r)&&a.a.w(this.TAG,"PrevTagSize0 !== 0 !!!"),n+=4);nt.byteLength)break;var o=s.getUint8(0),u=16777215&s.getUint32(0,!r);if(n+11+u+4>t.byteLength)break;if(8===o||9===o||18===o){var l=s.getUint8(4),h=s.getUint8(5),d=s.getUint8(6)|h<<8|l<<16|s.getUint8(7)<<24;0!=(16777215&s.getUint32(7,!r))&&a.a.w(this.TAG,"Meet tag which has StreamID != 0!");var f=n+11;switch(o){case 8:this._parseAudioData(t,f,u,d);break;case 9:this._parseVideoData(t,f,u,d,i+n);break;case 18:this._parseScriptData(t,f,u)}var p=s.getUint32(11+u,!r);p!==11+u&&a.a.w(this.TAG,"Invalid PrevTagSize "+p),n+=11+u+4}else a.a.w(this.TAG,"Unsupported tag type "+o+", skipped"),n+=11+u+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),n},e.prototype._parseScriptData=function(e,t,i){var n=p.parseScriptData(e,t,i);if(n.hasOwnProperty("onMetaData")){if(null==n.onMetaData||"object"!=typeof n.onMetaData)return void a.a.w(this.TAG,"Invalid onMetaData structure!");this._metadata&&a.a.w(this.TAG,"Found another onMetaData tag!"),this._metadata=n;var r=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},r)),"boolean"==typeof r.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=r.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),"boolean"==typeof r.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=r.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),"number"==typeof r.audiodatarate&&(this._mediaInfo.audioDataRate=r.audiodatarate),"number"==typeof r.videodatarate&&(this._mediaInfo.videoDataRate=r.videodatarate),"number"==typeof r.width&&(this._mediaInfo.width=r.width),"number"==typeof r.height&&(this._mediaInfo.height=r.height),"number"==typeof r.duration){if(!this._durationOverrided){var s=Math.floor(r.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if("number"==typeof r.framerate){var o=Math.floor(1e3*r.framerate);if(o>0){var u=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=u,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=u}}if("object"==typeof r.keyframes){this._mediaInfo.hasKeyframesIndex=!0;var l=r.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(l),r.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=r,a.a.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(n).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},n))},e.prototype._parseKeyframesIndex=function(e){for(var t=[],i=[],n=1;n>>4;if(2===s||10===s){var o=0,u=(12&r)>>>2;if(u>=0&&u<=4){o=this._flvSoundRateTable[u];var l=1&r,h=this._audioMetadata,d=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),(h=this._audioMetadata={}).type="audio",h.id=d.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===l?1:2),10===s){var c=this._parseAACAudioData(e,t+1,i-1);if(null==c)return;if(0===c.packetType){h.config&&a.a.w(this.TAG,"Found another AudioSpecificConfig!");var f=c.data;h.audioSampleRate=f.samplingRate,h.channelCount=f.channelCount,h.codec=f.codec,h.originalCodec=f.originalCodec,h.config=f.config,h.refSampleDuration=1024/h.audioSampleRate*h.timescale,a.a.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",h),(_=this._mediaInfo).audioCodec=h.originalCodec,_.audioSampleRate=h.audioSampleRate,_.audioChannelCount=h.channelCount,_.hasVideo?null!=_.videoCodec&&(_.mimeType='video/x-flv; codecs="'+_.videoCodec+","+_.audioCodec+'"'):_.mimeType='video/x-flv; codecs="'+_.audioCodec+'"',_.isComplete()&&this._onMediaInfo(_)}else if(1===c.packetType){var p=this._timestampBase+n,m={unit:c.data,length:c.data.byteLength,dts:p,pts:p};d.samples.push(m),d.length+=c.data.length}else a.a.e(this.TAG,"Flv: Unsupported AAC data type "+c.packetType)}else if(2===s){if(!h.codec){var _;if(null==(f=this._parseMP3AudioData(e,t+1,i-1,!0)))return;h.audioSampleRate=f.samplingRate,h.channelCount=f.channelCount,h.codec=f.codec,h.originalCodec=f.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,a.a.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",h),(_=this._mediaInfo).audioCodec=h.codec,_.audioSampleRate=h.audioSampleRate,_.audioChannelCount=h.channelCount,_.audioDataRate=f.bitRate,_.hasVideo?null!=_.videoCodec&&(_.mimeType='video/x-flv; codecs="'+_.videoCodec+","+_.audioCodec+'"'):_.mimeType='video/x-flv; codecs="'+_.audioCodec+'"',_.isComplete()&&this._onMediaInfo(_)}var v=this._parseMP3AudioData(e,t+1,i-1,!1);if(null==v)return;p=this._timestampBase+n;var y={unit:v,length:v.byteLength,dts:p,pts:p};d.samples.push(y),d.length+=v.length}}else this._onError(g.a.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+u)}else this._onError(g.a.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+s)}},e.prototype._parseAACAudioData=function(e,t,i){if(!(i<=1)){var n={},r=new Uint8Array(e,t,i);return n.packetType=r[0],0===r[0]?n.data=this._parseAACAudioSpecificConfig(e,t+1,i-1):n.data=r.subarray(1),n}a.a.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!")},e.prototype._parseAACAudioSpecificConfig=function(e,t,i){var n,r,a=new Uint8Array(e,t,i),s=null,o=0,u=null;if(o=n=a[0]>>>3,(r=(7&a[0])<<1|a[1]>>>7)<0||r>=this._mpegSamplingRates.length)this._onError(g.a.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");else{var l=this._mpegSamplingRates[r],h=(120&a[1])>>>3;if(!(h<0||h>=8)){5===o&&(u=(7&a[1])<<1|a[2]>>>7,a[2]);var d=self.navigator.userAgent.toLowerCase();return-1!==d.indexOf("firefox")?r>=6?(o=5,s=new Array(4),u=r-3):(o=2,s=new Array(2),u=r):-1!==d.indexOf("android")?(o=2,s=new Array(2),u=r):(o=5,u=r,s=new Array(4),r>=6?u=r-3:1===h&&(o=2,s=new Array(2),u=r)),s[0]=o<<3,s[0]|=(15&r)>>>1,s[1]=(15&r)<<7,s[1]|=(15&h)<<3,5===o&&(s[1]|=(15&u)>>>1,s[2]=(1&u)<<7,s[2]|=8,s[3]=0),{config:s,samplingRate:l,channelCount:h,codec:"mp4a.40."+o,originalCodec:"mp4a.40."+n}}this._onError(g.a.FORMAT_ERROR,"Flv: AAC invalid channel configuration")}},e.prototype._parseMP3AudioData=function(e,t,i,n){if(!(i<4)){this._littleEndian;var r=new Uint8Array(e,t,i),s=null;if(n){if(255!==r[0])return;var o=r[1]>>>3&3,u=(6&r[1])>>1,l=(240&r[2])>>>4,h=(12&r[2])>>>2,d=3!=(r[3]>>>6&3)?2:1,c=0,f=0;switch(o){case 0:c=this._mpegAudioV25SampleRateTable[h];break;case 2:c=this._mpegAudioV20SampleRateTable[h];break;case 3:c=this._mpegAudioV10SampleRateTable[h]}switch(u){case 1:l>>4,u=15&s;7===u?this._parseAVCVideoPacket(e,t+1,i-1,n,r,o):this._onError(g.a.CODEC_UNSUPPORTED,"Flv: Unsupported codec in video frame: "+u)}},e.prototype._parseAVCVideoPacket=function(e,t,i,n,r,s){if(i<4)a.a.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");else{var o=this._littleEndian,u=new DataView(e,t,i),l=u.getUint8(0),h=(16777215&u.getUint32(0,!o))<<8>>8;if(0===l)this._parseAVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===l)this._parseAVCVideoData(e,t+4,i-4,n,r,s,h);else if(2!==l)return void this._onError(g.a.FORMAT_ERROR,"Flv: Invalid video packet type "+l)}},e.prototype._parseAVCDecoderConfigurationRecord=function(e,t,i){if(i<7)a.a.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");else{var n=this._videoMetadata,r=this._videoTrack,s=this._littleEndian,o=new DataView(e,t,i);n?void 0!==n.avcc&&a.a.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type="video",n.id=r.id,n.timescale=this._timescale,n.duration=this._duration);var u=o.getUint8(0),l=o.getUint8(1);if(o.getUint8(2),o.getUint8(3),1===u&&0!==l)if(this._naluLengthSize=1+(3&o.getUint8(4)),3===this._naluLengthSize||4===this._naluLengthSize){var h=31&o.getUint8(5);if(0!==h){h>1&&a.a.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = "+h);for(var d=6,c=0;c1&&a.a.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = "+A),d++,c=0;c=i){a.a.w(this.TAG,"Malformed Nalu near timestamp "+p+", offset = "+c+", dataSize = "+i);break}var _=l.getUint32(c,!u);if(3===f&&(_>>>=8),_>i-f)return void a.a.w(this.TAG,"Malformed Nalus near timestamp "+p+", NaluSize > DataSize!");var g=31&l.getUint8(c+f);5===g&&(m=!0);var v=new Uint8Array(e,t+c,f+_),y={type:g,data:v};h.push(y),d+=v.byteLength,c+=f+_}if(h.length){var b=this._videoTrack,S={units:h,length:d,isKeyframe:m,dts:p,cts:o,pts:p+o};m&&(S.fileposition=r),b.samples.push(S),b.length+=d}},e}(),y=function(){function e(){}return e.prototype.destroy=function(){this.onError=null,this.onMediaInfo=null,this.onMetaDataArrived=null,this.onTrackMetadata=null,this.onDataAvailable=null,this.onTimedID3Metadata=null,this.onPESPrivateData=null,this.onPESPrivateDataDescriptor=null},e}(),b=function(){this.program_pmt_pid={}};!function(e){e[e.kMPEG1Audio=3]="kMPEG1Audio",e[e.kMPEG2Audio=4]="kMPEG2Audio",e[e.kPESPrivateData=6]="kPESPrivateData",e[e.kADTSAAC=15]="kADTSAAC",e[e.kID3=21]="kID3",e[e.kH264=27]="kH264",e[e.kH265=36]="kH265"}(h||(h={}));var S,T=function(){this.pid_stream_type={},this.common_pids={h264:void 0,adts_aac:void 0},this.pes_private_data_pids={},this.timed_id3_pids={}},E=function(){},w=function(){this.slices=[],this.total_length=0,this.expected_length=0,this.file_position=0};!function(e){e[e.kUnspecified=0]="kUnspecified",e[e.kSliceNonIDR=1]="kSliceNonIDR",e[e.kSliceDPA=2]="kSliceDPA",e[e.kSliceDPB=3]="kSliceDPB",e[e.kSliceDPC=4]="kSliceDPC",e[e.kSliceIDR=5]="kSliceIDR",e[e.kSliceSEI=6]="kSliceSEI",e[e.kSliceSPS=7]="kSliceSPS",e[e.kSlicePPS=8]="kSlicePPS",e[e.kSliceAUD=9]="kSliceAUD",e[e.kEndOfSequence=10]="kEndOfSequence",e[e.kEndOfStream=11]="kEndOfStream",e[e.kFiller=12]="kFiller",e[e.kSPSExt=13]="kSPSExt",e[e.kReserved0=14]="kReserved0"}(S||(S={}));var A,C,k=function(){},P=function(e){var t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)},I=function(){function e(e){this.TAG="H264AnnexBParser",this.current_startcode_offset_=0,this.eof_flag_=!1,this.data_=e,this.current_startcode_offset_=this.findNextStartCodeOffset(0),this.eof_flag_&&a.a.e(this.TAG,"Could not found H264 startcode until payload end!")}return e.prototype.findNextStartCodeOffset=function(e){for(var t=e,i=this.data_;;){if(t+3>=i.byteLength)return this.eof_flag_=!0,i.byteLength;var n=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],r=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===n||1===r)return t;t++}},e.prototype.readNextNaluPayload=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_startcode_offset_,n=31&e[i+=1==(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3],r=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);if(this.current_startcode_offset_=a,!(n>=S.kReserved0)&&0===r){var s=e.subarray(i,a);(t=new k).type=n,t.data=s}}return t},e}(),L=function(){function e(e,t,i){var n=8+e.byteLength+1+2+t.byteLength,r=!1;66!==e[3]&&77!==e[3]&&88!==e[3]&&(r=!0,n+=4);var a=this.data=new Uint8Array(n);a[0]=1,a[1]=e[1],a[2]=e[2],a[3]=e[3],a[4]=255,a[5]=225;var s=e.byteLength;a[6]=s>>>8,a[7]=255&s;var o=8;a.set(e,8),a[o+=s]=1;var u=t.byteLength;a[o+1]=u>>>8,a[o+2]=255&u,a.set(t,o+3),o+=3+u,r&&(a[o]=252|i.chroma_format_idc,a[o+1]=248|i.bit_depth_luma-8,a[o+2]=248|i.bit_depth_chroma-8,a[o+3]=0,o+=4)}return e.prototype.getData=function(){return this.data},e}();!function(e){e[e.kNull=0]="kNull",e[e.kAACMain=1]="kAACMain",e[e.kAAC_LC=2]="kAAC_LC",e[e.kAAC_SSR=3]="kAAC_SSR",e[e.kAAC_LTP=4]="kAAC_LTP",e[e.kAAC_SBR=5]="kAAC_SBR",e[e.kAAC_Scalable=6]="kAAC_Scalable",e[e.kLayer1=32]="kLayer1",e[e.kLayer2=33]="kLayer2",e[e.kLayer3=34]="kLayer3"}(A||(A={})),function(e){e[e.k96000Hz=0]="k96000Hz",e[e.k88200Hz=1]="k88200Hz",e[e.k64000Hz=2]="k64000Hz",e[e.k48000Hz=3]="k48000Hz",e[e.k44100Hz=4]="k44100Hz",e[e.k32000Hz=5]="k32000Hz",e[e.k24000Hz=6]="k24000Hz",e[e.k22050Hz=7]="k22050Hz",e[e.k16000Hz=8]="k16000Hz",e[e.k12000Hz=9]="k12000Hz",e[e.k11025Hz=10]="k11025Hz",e[e.k8000Hz=11]="k8000Hz",e[e.k7350Hz=12]="k7350Hz"}(C||(C={}));var x,R=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],D=function(){},O=function(){function e(e){this.TAG="AACADTSParser",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&a.a.e(this.TAG,"Could not found ADTS syncword until payload end")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+7>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(4095==(i[t+0]<<8|i[t+1])>>>4)return t;t++}},e.prototype.readNextAACFrame=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_syncword_offset_,n=(8&e[i+1])>>>3,r=(6&e[i+1])>>>1,a=1&e[i+1],s=(192&e[i+2])>>>6,o=(60&e[i+2])>>>2,u=(1&e[i+2])<<2|(192&e[i+3])>>>6,l=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;if(e[i+6],i+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var h=1===a?7:9,d=l-h;i+=h;var c=this.findNextSyncwordOffset(i+d);if(this.current_syncword_offset_=c,(0===n||1===n)&&0===r){var f=e.subarray(i,i+d);(t=new D).audio_object_type=s+1,t.sampling_freq_index=o,t.sampling_frequency=R[o],t.channel_config=u,t.data=f}}return t},e.prototype.hasIncompleteData=function(){return this.has_last_incomplete_data},e.prototype.getIncompleteData=function(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null},e}(),U=function(e){var t=null,i=e.audio_object_type,n=e.audio_object_type,r=e.sampling_freq_index,a=e.channel_config,s=0,o=navigator.userAgent.toLowerCase();-1!==o.indexOf("firefox")?r>=6?(n=5,t=new Array(4),s=r-3):(n=2,t=new Array(2),s=r):-1!==o.indexOf("android")?(n=2,t=new Array(2),s=r):(n=5,s=r,t=new Array(4),r>=6?s=r-3:1===a&&(n=2,t=new Array(2),s=r)),t[0]=n<<3,t[0]|=(15&r)>>>1,t[1]=(15&r)<<7,t[1]|=(15&a)<<3,5===n&&(t[1]|=(15&s)>>>1,t[2]=(1&s)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=R[r],this.channel_count=a,this.codec_mimetype="mp4a.40."+n,this.original_codec_mimetype="mp4a.40."+i},M=function(){},F=function(){},B=(x=function(e,t){return(x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}x(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),N=function(e){function t(t,i){var n=e.call(this)||this;return n.TAG="TSDemuxer",n.first_parse_=!0,n.media_info_=new o.a,n.timescale_=90,n.duration_=0,n.current_pmt_pid_=-1,n.program_pmt_map_={},n.pes_slice_queues_={},n.video_metadata_={sps:void 0,pps:void 0,sps_details:void 0},n.audio_metadata_={audio_object_type:void 0,sampling_freq_index:void 0,sampling_frequency:void 0,channel_config:void 0},n.aac_last_sample_pts_=void 0,n.aac_last_incomplete_data_=null,n.has_video_=!1,n.has_audio_=!1,n.video_init_segment_dispatched_=!1,n.audio_init_segment_dispatched_=!1,n.video_metadata_changed_=!1,n.audio_metadata_changed_=!1,n.video_track_={type:"video",id:1,sequenceNumber:0,samples:[],length:0},n.audio_track_={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},n.ts_packet_size_=t.ts_packet_size,n.sync_offset_=t.sync_offset,n.config_=i,n}return B(t,e),t.prototype.destroy=function(){this.media_info_=null,this.pes_slice_queues_=null,this.video_metadata_=null,this.audio_metadata_=null,this.aac_last_incomplete_data_=null,this.video_track_=null,this.audio_track_=null,e.prototype.destroy.call(this)},t.probe=function(e){var t=new Uint8Array(e),i=-1,n=188;if(t.byteLength<=3*n)return a.a.e("TSDemuxer","Probe data "+t.byteLength+" bytes is too few for judging MPEG-TS stream format!"),{match:!1};for(;-1===i;){for(var r=Math.min(1e3,t.byteLength-3*n),s=0;s=4?(a.a.v("TSDemuxer","ts_packet_size = 192, m2ts mode"),i-=4):204===n&&a.a.v("TSDemuxer","ts_packet_size = 204, RS encoded MPEG2-TS stream"),{match:!0,consumed:0,ts_packet_size:n,sync_offset:i})},t.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},t.prototype.resetMediaInfo=function(){this.media_info_=new o.a},t.prototype.parseChunks=function(e,t){if(!(this.onError&&this.onMediaInfo&&this.onTrackMetadata&&this.onDataAvailable))throw new c.a("onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var i=0;for(this.first_parse_&&(this.first_parse_=!1,i=this.sync_offset_);i+this.ts_packet_size_<=e.byteLength;){var n=t+i;192===this.ts_packet_size_&&(i+=4);var r=new Uint8Array(e,i,188),s=r[0];if(71!==s){a.a.e(this.TAG,"sync_byte = "+s+", not 0x47");break}var o=(64&r[1])>>>6,u=(r[1],(31&r[1])<<8|r[2]),l=(48&r[3])>>>4,h=15&r[3],d={},f=4;if(2==l||3==l){var p=r[4];if(5+p===188){i+=188,204===this.ts_packet_size_&&(i+=16);continue}p>0&&(d=this.parseAdaptationField(e,i+4,1+p)),f=5+p}if(1==l||3==l)if(0===u||u===this.current_pmt_pid_){o&&(f+=1+r[f]);var m=188-f;0===u?this.parsePAT(e,i+f,m,{payload_unit_start_indicator:o,continuity_conunter:h}):this.parsePMT(e,i+f,m,{payload_unit_start_indicator:o,continuity_conunter:h})}else if(null!=this.pmt_&&null!=this.pmt_.pid_stream_type[u]){m=188-f;var _=this.pmt_.pid_stream_type[u];u!==this.pmt_.common_pids.h264&&u!==this.pmt_.common_pids.adts_aac&&!0!==this.pmt_.pes_private_data_pids[u]&&!0!==this.pmt_.timed_id3_pids[u]||this.handlePESSlice(e,i+f,m,{pid:u,stream_type:_,file_position:n,payload_unit_start_indicator:o,continuity_conunter:h,random_access_indicator:d.random_access_indicator})}i+=188,204===this.ts_packet_size_&&(i+=16)}return this.dispatchAudioVideoMediaSegment(),i},t.prototype.parseAdaptationField=function(e,t,i){var n=new Uint8Array(e,t,i),r=n[0];return r>0?r>183?(a.a.w(this.TAG,"Illegal adaptation_field_length: "+r),{}):{discontinuity_indicator:(128&n[1])>>>7,random_access_indicator:(64&n[1])>>>6,elementary_stream_priority_indicator:(32&n[1])>>>5}:{}},t.prototype.parsePAT=function(e,t,i,n){var r=new Uint8Array(e,t,i),s=r[0];if(0===s){var o=(15&r[1])<<8|r[2],u=(r[3],r[4],(62&r[5])>>>1),l=1&r[5],h=r[6],d=(r[7],null);if(1===l&&0===h)(d=new b).version_number=u;else if(null==(d=this.pat_))return;for(var c=o-5-4,f=-1,p=-1,m=8;m<8+c;m+=4){var _=r[m]<<8|r[m+1],g=(31&r[m+2])<<8|r[m+3];0===_?d.network_pid=g:(d.program_pmt_pid[_]=g,-1===f&&(f=_),-1===p&&(p=g))}1===l&&0===h&&(null==this.pat_&&a.a.v(this.TAG,"Parsed first PAT: "+JSON.stringify(d)),this.pat_=d,this.current_program_=f,this.current_pmt_pid_=p)}else a.a.e(this.TAG,"parsePAT: table_id "+s+" is not corresponded to PAT!")},t.prototype.parsePMT=function(e,t,i,n){var r=new Uint8Array(e,t,i),s=r[0];if(2===s){var o=(15&r[1])<<8|r[2],u=r[3]<<8|r[4],l=(62&r[5])>>>1,d=1&r[5],c=r[6],f=(r[7],null);if(1===d&&0===c)(f=new T).program_number=u,f.version_number=l,this.program_pmt_map_[u]=f;else if(null==(f=this.program_pmt_map_[u]))return;r[8],r[9];for(var p=(15&r[10])<<8|r[11],m=12+p,_=o-9-p-4,g=m;g0){var S=r.subarray(g+5,g+5+b);this.dispatchPESPrivateDataDescriptor(y,v,S)}}else v===h.kID3&&(f.timed_id3_pids[y]=!0);else f.common_pids.adts_aac=y;else f.common_pids.h264=y;g+=5+b}u===this.current_program_&&(null==this.pmt_&&a.a.v(this.TAG,"Parsed first PMT: "+JSON.stringify(f)),this.pmt_=f,f.common_pids.h264&&(this.has_video_=!0),f.common_pids.adts_aac&&(this.has_audio_=!0))}else a.a.e(this.TAG,"parsePMT: table_id "+s+" is not corresponded to PMT!")},t.prototype.handlePESSlice=function(e,t,i,n){var r=new Uint8Array(e,t,i),s=r[0]<<16|r[1]<<8|r[2],o=(r[3],r[4]<<8|r[5]);if(n.payload_unit_start_indicator){if(1!==s)return void a.a.e(this.TAG,"handlePESSlice: packet_start_code_prefix should be 1 but with value "+s);var u=this.pes_slice_queues_[n.pid];u&&(0===u.expected_length||u.expected_length===u.total_length?this.emitPESSlices(u,n):this.cleanPESSlices(u,n)),this.pes_slice_queues_[n.pid]=new w,this.pes_slice_queues_[n.pid].file_position=n.file_position,this.pes_slice_queues_[n.pid].random_access_indicator=n.random_access_indicator}if(null!=this.pes_slice_queues_[n.pid]){var l=this.pes_slice_queues_[n.pid];l.slices.push(r),n.payload_unit_start_indicator&&(l.expected_length=0===o?0:o+6),l.total_length+=r.byteLength,l.expected_length>0&&l.expected_length===l.total_length?this.emitPESSlices(l,n):l.expected_length>0&&l.expected_length>>6,o=t[8],u=void 0,l=void 0;2!==s&&3!==s||(u=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,l=3===s?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:u);var d=9+o,c=void 0;if(0!==r){if(r<3+o)return void a.a.v(this.TAG,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");c=r-3-o}else c=t.byteLength-d;var f=t.subarray(d,d+c);switch(e.stream_type){case h.kMPEG1Audio:case h.kMPEG2Audio:break;case h.kPESPrivateData:this.parsePESPrivateDataPayload(f,u,l,e.pid,n);break;case h.kADTSAAC:this.parseAACPayload(f,u);break;case h.kID3:this.parseTimedID3MetadataPayload(f,u,l,e.pid,n);break;case h.kH264:this.parseH264Payload(f,u,l,e.file_position,e.random_access_indicator);break;case h.kH265:}}else 188!==n&&191!==n&&240!==n&&241!==n&&255!==n&&242!==n&&248!==n||e.stream_type!==h.kPESPrivateData||(d=6,c=void 0,c=0!==r?r:t.byteLength-d,f=t.subarray(d,d+c),this.parsePESPrivateDataPayload(f,void 0,void 0,e.pid,n));else a.a.e(this.TAG,"parsePES: packet_start_code_prefix should be 1 but with value "+i)},t.prototype.parseH264Payload=function(e,t,i,n,r){for(var s=new I(e),o=null,u=[],l=0,h=!1;null!=(o=s.readNextNaluPayload());){var d=new P(o);if(d.type===S.kSliceSPS){var c=_.parseSPS(o.data);this.video_init_segment_dispatched_?!0===this.detectVideoMetadataChange(d,c)&&(a.a.v(this.TAG,"H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment"),this.video_metadata_changed_=!0,this.video_metadata_={sps:d,pps:void 0,sps_details:c}):(this.video_metadata_.sps=d,this.video_metadata_.sps_details=c)}else d.type===S.kSlicePPS?this.video_init_segment_dispatched_&&!this.video_metadata_changed_||(this.video_metadata_.pps=d,this.video_metadata_.sps&&this.video_metadata_.pps&&(this.video_metadata_changed_&&this.dispatchVideoMediaSegment(),this.dispatchVideoInitSegment())):(d.type===S.kSliceIDR||d.type===S.kSliceNonIDR&&1===r)&&(h=!0);this.video_init_segment_dispatched_&&(u.push(d),l+=d.data.byteLength)}var f=Math.floor(t/this.timescale_),p=Math.floor(i/this.timescale_);if(u.length){var m=this.video_track_,g={units:u,length:l,isKeyframe:h,dts:p,pts:f,cts:f-p,file_position:n};m.samples.push(g),m.length+=l}},t.prototype.detectVideoMetadataChange=function(e,t){if(t.codec_mimetype!==this.video_metadata_.sps_details.codec_mimetype)return a.a.v(this.TAG,"H264: Codec mimeType changed from "+this.video_metadata_.sps_details.codec_mimetype+" to "+t.codec_mimetype),!0;if(t.codec_size.width!==this.video_metadata_.sps_details.codec_size.width||t.codec_size.height!==this.video_metadata_.sps_details.codec_size.height){var i=this.video_metadata_.sps_details.codec_size,n=t.codec_size;return a.a.v(this.TAG,"H264: Coded Resolution changed from "+i.width+"x"+i.height+" to "+n.width+"x"+n.height),!0}return t.present_size.width!==this.video_metadata_.sps_details.present_size.width&&(a.a.v(this.TAG,"H264: Present resolution width changed from "+this.video_metadata_.sps_details.present_size.width+" to "+t.present_size.width),!0)},t.prototype.isInitSegmentDispatched=function(){return this.has_video_&&this.has_audio_?this.video_init_segment_dispatched_&&this.audio_init_segment_dispatched_:this.has_video_&&!this.has_audio_?this.video_init_segment_dispatched_:!(this.has_video_||!this.has_audio_)&&this.audio_init_segment_dispatched_},t.prototype.dispatchVideoInitSegment=function(){var e=this.video_metadata_.sps_details,t={type:"video"};t.id=this.video_track_.id,t.timescale=1e3,t.duration=this.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;var i=t.frameRate.fps_den,n=t.frameRate.fps_num;t.refSampleDuration=i/n*1e3,t.codec=e.codec_mimetype;var r=this.video_metadata_.sps.data.subarray(4),s=this.video_metadata_.pps.data.subarray(4),o=new L(r,s,e);t.avcc=o.getData(),0==this.video_init_segment_dispatched_&&a.a.v(this.TAG,"Generated first AVCDecoderConfigurationRecord for mimeType: "+t.codec),this.onTrackMetadata("video",t),this.video_init_segment_dispatched_=!0,this.video_metadata_changed_=!1;var u=this.media_info_;u.hasVideo=!0,u.width=t.codecWidth,u.height=t.codecHeight,u.fps=t.frameRate.fps,u.profile=t.profile,u.level=t.level,u.refFrames=e.ref_frames,u.chromaFormat=e.chroma_format_string,u.sarNum=t.sarRatio.width,u.sarDen=t.sarRatio.height,u.videoCodec=t.codec,u.hasAudio&&u.audioCodec?u.mimeType='video/mp2t; codecs="'+u.videoCodec+","+u.audioCodec+'"':u.mimeType='video/mp2t; codecs="'+u.videoCodec+'"',u.isComplete()&&this.onMediaInfo(u)},t.prototype.dispatchVideoMediaSegment=function(){this.isInitSegmentDispatched()&&this.video_track_.length&&this.onDataAvailable(null,this.video_track_)},t.prototype.dispatchAudioMediaSegment=function(){this.isInitSegmentDispatched()&&this.audio_track_.length&&this.onDataAvailable(this.audio_track_,null)},t.prototype.dispatchAudioVideoMediaSegment=function(){this.isInitSegmentDispatched()&&(this.audio_track_.length||this.video_track_.length)&&this.onDataAvailable(this.audio_track_,this.video_track_)},t.prototype.parseAACPayload=function(e,t){if(!this.has_video_||this.video_init_segment_dispatched_){if(this.aac_last_incomplete_data_){var i=new Uint8Array(e.byteLength+this.aac_last_incomplete_data_.byteLength);i.set(this.aac_last_incomplete_data_,0),i.set(e,this.aac_last_incomplete_data_.byteLength),e=i}var n,r;if(null!=t)r=t/this.timescale_;else{if(null==this.aac_last_sample_pts_)return void a.a.w(this.TAG,"AAC: Unknown pts");n=1024/this.audio_metadata_.sampling_frequency*1e3,r=this.aac_last_sample_pts_+n}if(this.aac_last_incomplete_data_&&this.aac_last_sample_pts_){n=1024/this.audio_metadata_.sampling_frequency*1e3;var s=this.aac_last_sample_pts_+n;Math.abs(s-r)>1&&(a.a.w(this.TAG,"AAC: Detected pts overlapped, expected: "+s+"ms, PES pts: "+r+"ms"),r=s)}for(var o,u=new O(e),l=null,h=r;null!=(l=u.readNextAACFrame());){n=1024/l.sampling_frequency*1e3,0==this.audio_init_segment_dispatched_?(this.audio_metadata_.audio_object_type=l.audio_object_type,this.audio_metadata_.sampling_freq_index=l.sampling_freq_index,this.audio_metadata_.sampling_frequency=l.sampling_frequency,this.audio_metadata_.channel_config=l.channel_config,this.dispatchAudioInitSegment(l)):this.detectAudioMetadataChange(l)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(l)),o=h;var d=Math.floor(h),c={unit:l.data,length:l.data.byteLength,pts:d,dts:d};this.audio_track_.samples.push(c),this.audio_track_.length+=l.data.byteLength,h+=n}u.hasIncompleteData()&&(this.aac_last_incomplete_data_=u.getIncompleteData()),o&&(this.aac_last_sample_pts_=o)}},t.prototype.detectAudioMetadataChange=function(e){return e.audio_object_type!==this.audio_metadata_.audio_object_type?(a.a.v(this.TAG,"AAC: AudioObjectType changed from "+this.audio_metadata_.audio_object_type+" to "+e.audio_object_type),!0):e.sampling_freq_index!==this.audio_metadata_.sampling_freq_index?(a.a.v(this.TAG,"AAC: SamplingFrequencyIndex changed from "+this.audio_metadata_.sampling_freq_index+" to "+e.sampling_freq_index),!0):e.channel_config!==this.audio_metadata_.channel_config&&(a.a.v(this.TAG,"AAC: Channel configuration changed from "+this.audio_metadata_.channel_config+" to "+e.channel_config),!0)},t.prototype.dispatchAudioInitSegment=function(e){var t=new U(e),i={type:"audio"};i.id=this.audio_track_.id,i.timescale=1e3,i.duration=this.duration_,i.audioSampleRate=t.sampling_rate,i.channelCount=t.channel_count,i.codec=t.codec_mimetype,i.originalCodec=t.original_codec_mimetype,i.config=t.config,i.refSampleDuration=1024/i.audioSampleRate*i.timescale,0==this.audio_init_segment_dispatched_&&a.a.v(this.TAG,"Generated first AudioSpecificConfig for mimeType: "+i.codec),this.onTrackMetadata("audio",i),this.audio_init_segment_dispatched_=!0,this.video_metadata_changed_=!1;var n=this.media_info_;n.hasAudio=!0,n.audioCodec=i.originalCodec,n.audioSampleRate=i.audioSampleRate,n.audioChannelCount=i.channelCount,n.hasVideo&&n.videoCodec?n.mimeType='video/mp2t; codecs="'+n.videoCodec+","+n.audioCodec+'"':n.mimeType='video/mp2t; codecs="'+n.audioCodec+'"',n.isComplete()&&this.onMediaInfo(n)},t.prototype.dispatchPESPrivateDataDescriptor=function(e,t,i){var n=new F;n.pid=e,n.stream_type=t,n.descriptor=i,this.onPESPrivateDataDescriptor&&this.onPESPrivateDataDescriptor(n)},t.prototype.parsePESPrivateDataPayload=function(e,t,i,n,r){var a=new M;if(a.pid=n,a.stream_id=r,a.len=e.byteLength,a.data=e,null!=t){var s=Math.floor(t/this.timescale_);a.pts=s}else a.nearest_pts=this.aac_last_sample_pts_;if(null!=i){var o=Math.floor(i/this.timescale_);a.dts=o}this.onPESPrivateData&&this.onPESPrivateData(a)},t.prototype.parseTimedID3MetadataPayload=function(e,t,i,n,r){var a=new M;if(a.pid=n,a.stream_id=r,a.len=e.byteLength,a.data=e,null!=t){var s=Math.floor(t/this.timescale_);a.pts=s}if(null!=i){var o=Math.floor(i/this.timescale_);a.dts=o}this.onTimedID3Metadata&&this.onTimedID3Metadata(a)},t}(y),j=function(){function e(){}return e.init=function(){for(var t in e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var i=e.constants={};i.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),i.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),i.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSC=i.STCO=i.STTS,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),i.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])},e.box=function(e){for(var t=8,i=null,n=Array.prototype.slice.call(arguments,1),r=n.length,a=0;a>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);var s=8;for(a=0;a>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))},e.trak=function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.tkhd=function(t){var i=t.id,n=t.duration,r=t.presentWidth,a=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,a>>>8&255,255&a,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))},e.mdhd=function(t){var i=t.timescale,n=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))},e.hdlr=function(t){var i;return i="audio"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,i)},e.minf=function(t){var i;return i="audio"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,i,e.dinf(),e.stbl(t))},e.dinf=function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))},e.mp3=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[".mp3"],r)},e.mp4a=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.mp4a,r,e.esds(t))},e.esds=function(t){var i=t.config||[],n=i.length,r=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n]).concat(i).concat([6,1,2]));return e.box(e.types.esds,r)},e.avc1=function(t){var i=t.avcc,n=t.codecWidth,r=t.codecHeight,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,a,e.box(e.types.avcC,i))},e.mvex=function(t){return e.box(e.types.mvex,e.trex(t))},e.trex=function(t){var i=t.id,n=new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,n)},e.moof=function(t,i){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,i))},e.mfhd=function(t){var i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,i)},e.traf=function(t,i){var n=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.sdtp(t),o=e.trun(t,s.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,a,o,s)},e.sdtp=function(t){for(var i=t.samples||[],n=i.length,r=new Uint8Array(4+n),a=0;a>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0);for(var o=0;o>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.isNonSync,0,0,d>>>24&255,d>>>16&255,d>>>8&255,255&d],12+16*o)}return e.box(e.types.trun,s)},e.mdat=function(t){return e.box(e.types.mdat,t)},e}();j.init();var V=j,H=function(){function e(){}return e.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},e}(),z=i(7),G=function(){function e(e){this.TAG="MP4Remuxer",this._config=e,this._isLive=!0===e.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new z.c("audio"),this._videoSegmentInfoList=new z.c("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!s.a.chrome||!(s.a.version.major<50||50===s.a.version.major&&s.a.version.build<2661)),this._fillSilentAfterSeek=s.a.msedge||s.a.msie,this._mp3UseMpegAudio=!s.a.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return e.prototype.destroy=function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null},e.prototype.bindDataSource=function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this},Object.defineProperty(e.prototype,"onInitSegment",{get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaSegment",{get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e},enumerable:!1,configurable:!0}),e.prototype.insertDiscontinuity=function(){this._audioNextDts=this._videoNextDts=void 0},e.prototype.seek=function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()},e.prototype.remux=function(e,t){if(!this._onMediaSegment)throw new c.a("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(e,t),t&&this._remuxVideo(t),e&&this._remuxAudio(e)},e.prototype._onTrackMetadataReceived=function(e,t){var i=null,n="mp4",r=t.codec;if("audio"===e)this._audioMeta=t,"mp3"===t.codec&&this._mp3UseMpegAudio?(n="mpeg",r="",i=new Uint8Array):i=V.generateInitSegment(t);else{if("video"!==e)return;this._videoMeta=t,i=V.generateInitSegment(t)}if(!this._onInitSegment)throw new c.a("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(e,{type:e,data:i.buffer,codec:r,container:e+"/"+n,mediaDuration:t.duration})},e.prototype._calculateDtsBase=function(e,t){this._dtsBaseInited||(e&&e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t&&t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)},e.prototype.getTimestampBase=function(){if(this._dtsBaseInited)return this._dtsBase},e.prototype.flushStashedSamples=function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,i={type:"video",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(i.samples.push(e),i.length=e.length);var n={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(n.samples.push(t),n.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(i,!0),this._remuxAudio(n,!0)},e.prototype._remuxAudio=function(e,t){if(null!=this._audioMeta){var i,n=e,r=n.samples,o=void 0,u=-1,l=this._audioMeta.refSampleDuration,h="mp3"===this._audioMeta.codec&&this._mp3UseMpegAudio,d=this._dtsBaseInited&&void 0===this._audioNextDts,c=!1;if(r&&0!==r.length&&(1!==r.length||t)){var f=0,p=null,m=0;h?(f=0,m=n.length):(f=8,m=8+n.length);var _=null;if(r.length>1&&(m-=(_=r.pop()).length),null!=this._audioStashedLastSample){var g=this._audioStashedLastSample;this._audioStashedLastSample=null,r.unshift(g),m+=g.length}null!=_&&(this._audioStashedLastSample=_);var v=r[0].dts-this._dtsBase;if(this._audioNextDts)o=v-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())o=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&"mp3"!==this._audioMeta.originalCodec&&(c=!0);else{var y=this._audioSegmentInfoList.getLastSampleBefore(v);if(null!=y){var b=v-(y.originalDts+y.duration);b<=3&&(b=0),o=v-(y.dts+y.duration+b)}else o=0}if(c){var S=v-o,T=this._videoSegmentInfoList.getLastSegmentBefore(v);if(null!=T&&T.beginDts=3*l&&this._fillAudioTimestampGap&&!s.a.safari){I=!0;var D,O=Math.floor(o/l);a.a.w(this.TAG,"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\noriginalDts: "+P+" ms, curRefDts: "+R+" ms, dtsCorrection: "+Math.round(o)+" ms, generate: "+O+" frames"),E=Math.floor(R),x=Math.floor(R+l)-E,null==(D=H.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount))&&(a.a.w(this.TAG,"Unable to generate silent frame for "+this._audioMeta.originalCodec+" with "+this._audioMeta.channelCount+" channels, repeat last frame"),D=k),L=[];for(var U=0;U=1?A[A.length-1].duration:Math.floor(l),this._audioNextDts=E+x;-1===u&&(u=E),A.push({dts:E,pts:E,cts:0,unit:g.unit,size:g.unit.byteLength,duration:x,originalDts:P,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),I&&A.push.apply(A,L)}}if(0===A.length)return n.samples=[],void(n.length=0);for(h?p=new Uint8Array(m):((p=new Uint8Array(m))[0]=m>>>24&255,p[1]=m>>>16&255,p[2]=m>>>8&255,p[3]=255&m,p.set(V.types.mdat,4)),C=0;C1&&(d-=(c=a.pop()).length),null!=this._videoStashedLastSample){var f=this._videoStashedLastSample;this._videoStashedLastSample=null,a.unshift(f),d+=f.length}null!=c&&(this._videoStashedLastSample=c);var p=a[0].dts-this._dtsBase;if(this._videoNextDts)s=p-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())s=0;else{var m=this._videoSegmentInfoList.getLastSampleBefore(p);if(null!=m){var _=p-(m.originalDts+m.duration);_<=3&&(_=0),s=p-(m.dts+m.duration+_)}else s=0}for(var g=new z.b,v=[],y=0;y=1?v[v.length-1].duration:Math.floor(this._videoMeta.refSampleDuration),S){var C=new z.d(T,w,A,f.dts,!0);C.fileposition=f.fileposition,g.appendSyncPoint(C)}v.push({dts:T,pts:w,cts:E,units:f.units,size:f.length,isKeyframe:S,duration:A,originalDts:b,flags:{isLeading:0,dependsOn:S?2:1,isDependedOn:S?1:0,hasRedundancy:0,isNonSync:S?0:1}})}for((h=new Uint8Array(d))[0]=d>>>24&255,h[1]=d>>>16&255,h[2]=d>>>8&255,h[3]=255&d,h.set(V.types.mdat,4),y=0;y0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((n=N.probe(e)).match){var s=this._demuxer=new N(n,this._config);this._remuxer||(this._remuxer=new G(this._config)),s.onError=this._onDemuxException.bind(this),s.onMediaInfo=this._onMediaInfo.bind(this),s.onMetaDataArrived=this._onMetaDataArrived.bind(this),s.onTimedID3Metadata=this._onTimedID3Metadata.bind(this),s.onPESPrivateDataDescriptor=this._onPESPrivateDataDescriptor.bind(this),s.onPESPrivateData=this._onPESPrivateData.bind(this),this._remuxer.bindDataSource(this._demuxer),this._demuxer.bindDataSource(this._ioctl),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else if((n=v.probe(e)).match){this._demuxer=new v(n,this._config),this._remuxer||(this._remuxer=new G(this._config));var o=this._mediaDataSource;null==o.duration||isNaN(o.duration)||(this._demuxer.overridedDuration=o.duration),"boolean"==typeof o.hasAudio&&(this._demuxer.overridedHasAudio=o.hasAudio),"boolean"==typeof o.hasVideo&&(this._demuxer.overridedHasVideo=o.hasVideo),this._demuxer.timestampBase=o.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else n=null,a.a.e(this.TAG,"Non MPEG-TS/FLV, Unsupported media type!"),Promise.resolve().then((function(){i._internalAbort()})),this._emitter.emit(Y.a.DEMUX_ERROR,g.a.FORMAT_UNSUPPORTED,"Non MPEG-TS/FLV, Unsupported media type!"),r=0;return r},e.prototype._onMediaInfo=function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,o.a.prototype));var i=Object.assign({},e);Object.setPrototypeOf(i,o.a.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=i,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then((function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)}))},e.prototype._onMetaDataArrived=function(e){this._emitter.emit(Y.a.METADATA_ARRIVED,e)},e.prototype._onScriptDataArrived=function(e){this._emitter.emit(Y.a.SCRIPTDATA_ARRIVED,e)},e.prototype._onTimedID3Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(Y.a.TIMED_ID3_METADATA_ARRIVED,e))},e.prototype._onPESPrivateDataDescriptor=function(e){this._emitter.emit(Y.a.PES_PRIVATE_DATA_DESCRIPTOR,e)},e.prototype._onPESPrivateData=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(Y.a.PES_PRIVATE_DATA_ARRIVED,e))},e.prototype._onIOSeeked=function(){this._remuxer.insertDiscontinuity()},e.prototype._onIOComplete=function(e){var t=e+1;t0&&i[0].originalDts===n&&(n=i[0].pts),this._emitter.emit(Y.a.RECOMMEND_SEEKPOINT,n)}},e.prototype._enableStatisticsReporter=function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))},e.prototype._disableStatisticsReporter=function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype._reportSegmentMediaInfo=function(e){var t=this._mediaInfo.segments[e],i=Object.assign({},t);i.duration=this._mediaInfo.duration,i.segmentCount=this._mediaInfo.segmentCount,delete i.segments,delete i.keyframesIndex,this._emitter.emit(Y.a.MEDIA_INFO,i)},e.prototype._reportStatisticsInfo=function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(Y.a.STATISTICS_INFO,e)},e}();t.a=q},function(e,t,i){"use strict";var n,r=i(0),a=function(){function e(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return e.prototype.reset=function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0},e.prototype.addBytes=function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())},Object.defineProperty(e.prototype,"currentKBps",{get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastSecondKBps",{get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"averageKBps",{get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024},enumerable:!1,configurable:!0}),e}(),s=i(2),o=i(4),u=i(3),l=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),h=function(e){function t(t,i){var n=e.call(this,"fetch-stream-loader")||this;return n.TAG="FetchStreamLoader",n._seekHandler=t,n._config=i,n._needStash=!0,n._requestAbort=!1,n._abortController=null,n._contentLength=null,n._receivedLength=0,n}return l(t,e),t.isSupported=function(){try{var e=o.a.msedge&&o.a.version.minor>=15048,t=!o.a.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){var i=this;this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(n=e.redirectedURL);var r=this._seekHandler.getConfig(n,t),a=new self.Headers;if("object"==typeof r.headers){var o=r.headers;for(var l in o)o.hasOwnProperty(l)&&a.append(l,o[l])}var h={method:"GET",headers:a,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if("object"==typeof this._config.headers)for(var l in this._config.headers)a.append(l,this._config.headers[l]);!1===e.cors&&(h.mode="same-origin"),e.withCredentials&&(h.credentials="include"),e.referrerPolicy&&(h.referrerPolicy=e.referrerPolicy),self.AbortController&&(this._abortController=new self.AbortController,h.signal=this._abortController.signal),this._status=s.c.kConnecting,self.fetch(r.url,h).then((function(e){if(i._requestAbort)return i._status=s.c.kIdle,void e.body.cancel();if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==r.url&&i._onURLRedirect){var t=i._seekHandler.removeURLParameters(e.url);i._onURLRedirect(t)}var n=e.headers.get("Content-Length");return null!=n&&(i._contentLength=parseInt(n),0!==i._contentLength&&i._onContentLengthKnown&&i._onContentLengthKnown(i._contentLength)),i._pump.call(i,e.body.getReader())}if(i._status=s.c.kError,!i._onError)throw new u.d("FetchStreamLoader: Http code invalid, "+e.status+" "+e.statusText);i._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})})).catch((function(e){if(!i._abortController||!i._abortController.signal.aborted){if(i._status=s.c.kError,!i._onError)throw e;i._onError(s.b.EXCEPTION,{code:-1,msg:e.message})}}))},t.prototype.abort=function(){if(this._requestAbort=!0,(this._status!==s.c.kBuffering||!o.a.chrome)&&this._abortController)try{this._abortController.abort()}catch(e){}},t.prototype._pump=function(e){var t=this;return e.read().then((function(i){if(i.done)if(null!==t._contentLength&&t._receivedLength299)){if(this._status=s.c.kError,!this._onError)throw new u.d("MozChunkedLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=s.c.kBuffering}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,i=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)}},t.prototype._onLoadEnd=function(e){!0!==this._requestAbort?this._status!==s.c.kError&&(this._status=s.c.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)):this._requestAbort=!1},t.prototype._onXhrError=function(e){this._status=s.c.kError;var t=0,i=null;if(this._contentLength&&e.loaded=this._contentLength&&(i=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:i},this._internalOpen(this._dataSource,this._currentRequestRange)},t.prototype._internalOpen=function(e,t){this._lastTimeLoaded=0;var i=e.url;this._config.reuseRedirectedURL&&(null!=this._currentRedirectedURL?i=this._currentRedirectedURL:null!=e.redirectedURL&&(i=e.redirectedURL));var n=this._seekHandler.getConfig(i,t);this._currentRequestURL=n.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",n.url,!0),r.responseType="arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onload=this._onLoad.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"==typeof n.headers){var a=n.headers;for(var s in a)a.hasOwnProperty(s)&&r.setRequestHeader(s,a[s])}if("object"==typeof this._config.headers)for(var s in a=this._config.headers)a.hasOwnProperty(s)&&r.setRequestHeader(s,a[s]);r.send()},t.prototype.abort=function(){this._requestAbort=!0,this._internalAbort(),this._status=s.c.kComplete},t.prototype._internalAbort=function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL){var i=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&i!==this._currentRedirectedURL&&(this._currentRedirectedURL=i,this._onURLRedirect&&this._onURLRedirect(i))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=s.c.kBuffering}else{if(this._status=s.c.kError,!this._onError)throw new u.d("RangeLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var i=e.total;this._internalAbort(),null!=i&0!==i&&(this._totalLength=i)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var n=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(n)}},t.prototype._normalizeSpeed=function(e){var t=this._chunkSizeKBList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=3&&(t=this._speedSampler.currentKBps)),0!==t){var i=this._normalizeSpeed(t);this._currentSpeedNormalized!==i&&(this._currentSpeedNormalized=i,this._currentChunkSizeKB=i)}var n=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=n.byteLength;var a=!1;null!=this._contentLength&&this._receivedLength0&&this._receivedLength0)for(var a=i.split("&"),s=0;s0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+="&"),r+=a[s])}return 0===r.length?t:t+"?"+r},e}(),y=function(){function e(e,t,i){this.TAG="IOController",this._config=t,this._extraData=i,this._stashInitialSize=65536,null!=t.stashInitialSize&&t.stashInitialSize>0&&(this._stashInitialSize=t.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===t.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=e,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(e.url),this._refTotalLength=e.filesize?e.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new a,this._speedNormalizeList=[32,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return e.prototype.destroy=function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null},e.prototype.isWorking=function(){return this._loader&&this._loader.isWorking()&&!this._paused},e.prototype.isPaused=function(){return this._paused},Object.defineProperty(e.prototype,"status",{get:function(){return this._loader.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"extraData",{get:function(){return this._extraData},set:function(e){this._extraData=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataArrival",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSeeked",{get:function(){return this._onSeeked},set:function(e){this._onSeeked=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onComplete",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRedirect",{get:function(){return this._onRedirect},set:function(e){this._onRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRecoveredEarlyEof",{get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentURL",{get:function(){return this._dataSource.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasRedirect",{get:function(){return null!=this._redirectedURL||null!=this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentRedirectedURL",{get:function(){return this._redirectedURL||this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentSpeed",{get:function(){return this._loaderClass===p?this._loader.currentSpeed:this._speedSampler.lastSecondKBps},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"loaderType",{get:function(){return this._loader.type},enumerable:!1,configurable:!0}),e.prototype._selectSeekHandler=function(){var e=this._config;if("range"===e.seekType)this._seekHandler=new g(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",i=e.seekParamEnd||"bend";this._seekHandler=new v(t,i)}else{if("custom"!==e.seekType)throw new u.b("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new u.b("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}},e.prototype._selectLoader=function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=_;else if(h.isSupported())this._loaderClass=h;else if(c.isSupported())this._loaderClass=c;else{if(!p.isSupported())throw new u.d("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=p}},e.prototype._createLoader=function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)},e.prototype.open=function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))},e.prototype.abort=function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)},e.prototype.pause=function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)},e.prototype.resume=function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}},e.prototype.seek=function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)},e.prototype._internalSeek=function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var i={from:e,to:-1};this._currentRange={from:i.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,i),this._onSeeked&&this._onSeeked()},e.prototype.updateUrl=function(e){if(!e||"string"!=typeof e||0===e.length)throw new u.b("Url must be a non-empty string!");this._dataSource.url=e},e.prototype._expandBuffer=function(e){for(var t=this._stashSize;t+10485760){var n=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(i,0,t).set(n,0)}this._stashBuffer=i,this._bufferSize=t}},e.prototype._normalizeSpeed=function(e){var t=this._speedNormalizeList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var i=1024*t+1048576;this._bufferSize0){var a=this._stashBuffer.slice(0,this._stashUsed);(l=this._dispatchChunks(a,this._stashByteStart))0&&(h=new Uint8Array(a,l),o.set(h,0),this._stashUsed=h.byteLength,this._stashByteStart+=l):(this._stashUsed=0,this._stashByteStart+=l),this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else(l=this._dispatchChunks(e,t))this._bufferSize&&(this._expandBuffer(s),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e,l),0),this._stashUsed+=s,this._stashByteStart=t+l);else if(0===this._stashUsed){var s;(l=this._dispatchChunks(e,t))this._bufferSize&&this._expandBuffer(s),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e,l),0),this._stashUsed+=s,this._stashByteStart=t+l)}else{var o,l;if(this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength,(l=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart))0){var h=new Uint8Array(this._stashBuffer,l);o.set(h,0)}this._stashUsed-=l,this._stashByteStart+=l}}},e.prototype._flushStashBuffer=function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),i=this._dispatchChunks(t,this._stashByteStart),n=t.byteLength-i;if(i0){var a=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,i);a.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=i}return 0}r.a.w(this.TAG,n+" bytes unconsumed data remain when flush buffer, dropped")}return this._stashUsed=0,this._stashByteStart=0,n}return 0},e.prototype._onLoaderComplete=function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)},e.prototype._onLoaderError=function(e,t){switch(r.a.e(this.TAG,"Loader error, code = "+t.code+", msg = "+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=s.b.UNRECOVERABLE_EARLY_EOF),e){case s.b.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var i=this._currentRange.to+1;return void(i0}),!1)}e.exports=function(e,t){t=t||{};var r={main:i.m},o=t.all?{main:Object.keys(r.main)}:function(e,t){for(var i={main:[t]},n={main:[]},r={main:{}};s(i);)for(var o=Object.keys(i),u=0;u1)for(var i=1;i0&&(n+=";codecs="+i.codec);var r=!1;if(d.a.v(this.TAG,"Received Initialization Segment, mimeType: "+n),this._lastInitSegments[i.type]=i,n!==this._mimeTypes[i.type]){if(this._mimeTypes[i.type])d.a.v(this.TAG,"Notice: "+i.type+" mimeType changed, origin: "+this._mimeTypes[i.type]+", target: "+n);else{r=!0;try{var a=this._sourceBuffers[i.type]=this._mediaSource.addSourceBuffer(n);a.addEventListener("error",this.e.onSourceBufferError),a.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(e){return d.a.e(this.TAG,e.message),void this._emitter.emit(S,{code:e.code,msg:e.message})}}this._mimeTypes[i.type]=n}t||this._pendingSegments[i.type].push(i),r||this._sourceBuffers[i.type]&&!this._sourceBuffers[i.type].updating&&this._doAppendSegments(),c.a.safari&&"audio/mpeg"===i.container&&i.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=i.mediaDuration/1e3,this._updateMediaSourceDuration())},e.prototype.appendMediaSegment=function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var i=this._sourceBuffers[t.type];!i||i.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()},e.prototype.seek=function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var i=this._sourceBuffers[t];if("open"===this._mediaSource.readyState)try{i.abort()}catch(e){d.a.e(this.TAG,e.message)}this._idrList.clear();var n=this._pendingSegments[t];if(n.splice(0,n.length),"closed"!==this._mediaSource.readyState){for(var r=0;r=1&&e-n.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1},e.prototype._doCleanupSourceBuffer=function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var i=this._sourceBuffers[t];if(i){for(var n=i.buffered,r=!1,a=0;a=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:s,end:u})}}else o0&&(isNaN(t)||i>t)&&(d.a.v(this.TAG,"Update MediaSource duration from "+t+" to "+i),this._mediaSource.duration=i),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}},e.prototype._doRemoveRanges=function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],i=this._pendingRemoveRanges[e];i.length&&!t.updating;){var n=i.shift();t.remove(n.start,n.end)}},e.prototype._doAppendSegments=function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var i=e[t].shift();if(i.timestampOffset){var n=this._sourceBuffers[t].timestampOffset,r=i.timestampOffset/1e3;Math.abs(n-r)>.1&&(d.a.v(this.TAG,"Update MPEG audio timestampOffset from "+n+" to "+r),this._sourceBuffers[t].timestampOffset=r),delete i.timestampOffset}if(!i.data||0===i.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(i.data),this._isBufferFull=!1,"video"===t&&i.hasOwnProperty("info")&&this._idrList.appendArray(i.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(i),22===e.code?(this._isBufferFull||this._emitter.emit(w),this._isBufferFull=!0):(d.a.e(this.TAG,e.message),this._emitter.emit(S,{code:e.code,msg:e.message}))}}},e.prototype._onSourceOpen=function(){if(d.a.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(T)},e.prototype._onSourceEnded=function(){d.a.v(this.TAG,"MediaSource onSourceEnded")},e.prototype._onSourceClose=function(){d.a.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))},e.prototype._hasPendingSegments=function(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0},e.prototype._hasPendingRemoveRanges=function(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0},e.prototype._onSourceBufferUpdateEnd=function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(E)},e.prototype._onSourceBufferError=function(e){d.a.e(this.TAG,"SourceBuffer Error: "+e)},e}(),P=i(5),I={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},L={NETWORK_EXCEPTION:u.b.EXCEPTION,NETWORK_STATUS_CODE_INVALID:u.b.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:u.b.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:u.b.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:P.a.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:P.a.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:P.a.CODEC_UNSUPPORTED},x=function(){function e(e,t){this.TAG="MSEPlayer",this._type="MSEPlayer",this._emitter=new h.a,this._config=s(),"object"==typeof t&&Object.assign(this._config,t);var i=e.type.toLowerCase();if("mse"!==i&&"mpegts"!==i&&"m2ts"!==i&&"flv"!==i)throw new C.b("MSEPlayer requires an mpegts/m2ts/flv MediaDataSource input!");!0===e.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=e,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var n=c.a.chrome&&(c.a.version.major<50||50===c.a.version.major&&c.a.version.build<2661);this._alwaysSeekKeyframe=!!(n||c.a.msedge||c.a.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return e.prototype.destroy=function(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){var i=this;e===f.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then((function(){i._emitter.emit(f.MEDIA_INFO,i.mediaInfo)})):e===f.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then((function(){i._emitter.emit(f.STATISTICS_INFO,i.statisticsInfo)})),this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.attachMediaElement=function(e){var t=this;if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),e.addEventListener("seeking",this.e.onvSeeking),e.addEventListener("canplay",this.e.onvCanPlay),e.addEventListener("stalled",this.e.onvStalled),e.addEventListener("progress",this.e.onvProgress),this._msectl=new k(this._config),this._msectl.on(E,this._onmseUpdateEnd.bind(this)),this._msectl.on(w,this._onmseBufferFull.bind(this)),this._msectl.on(T,(function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())})),this._msectl.on(S,(function(e){t._emitter.emit(f.ERROR,I.MEDIA_ERROR,L.MEDIA_MSE_ERROR,e)})),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}},e.prototype.detachMediaElement=function(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)},e.prototype.load=function(){var e=this;if(!this._mediaElement)throw new C.a("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new C.a("MSEPlayer.load() has been called, please call unload() first!");this._hasPendingLoad||(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened?this._hasPendingLoad=!0:(this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new b(this._mediaDataSource,this._config),this._transmuxer.on(v.a.INIT_SEGMENT,(function(t,i){e._msectl.appendInitSegment(i)})),this._transmuxer.on(v.a.MEDIA_SEGMENT,(function(t,i){if(e._msectl.appendMediaSegment(i),e._config.lazyLoad&&!e._config.isLive){var n=e._mediaElement.currentTime;i.info.endDts>=1e3*(n+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(d.a.v(e.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),e._suspendTransmuxer())}})),this._transmuxer.on(v.a.LOADING_COMPLETE,(function(){e._msectl.endOfStream(),e._emitter.emit(f.LOADING_COMPLETE)})),this._transmuxer.on(v.a.RECOVERED_EARLY_EOF,(function(){e._emitter.emit(f.RECOVERED_EARLY_EOF)})),this._transmuxer.on(v.a.IO_ERROR,(function(t,i){e._emitter.emit(f.ERROR,I.NETWORK_ERROR,t,i)})),this._transmuxer.on(v.a.DEMUX_ERROR,(function(t,i){e._emitter.emit(f.ERROR,I.MEDIA_ERROR,t,{code:-1,msg:i})})),this._transmuxer.on(v.a.MEDIA_INFO,(function(t){e._mediaInfo=t,e._emitter.emit(f.MEDIA_INFO,Object.assign({},t))})),this._transmuxer.on(v.a.METADATA_ARRIVED,(function(t){e._emitter.emit(f.METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SCRIPTDATA_ARRIVED,(function(t){e._emitter.emit(f.SCRIPTDATA_ARRIVED,t)})),this._transmuxer.on(v.a.TIMED_ID3_METADATA_ARRIVED,(function(t){e._emitter.emit(f.TIMED_ID3_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_DESCRIPTOR,(function(t){e._emitter.emit(f.PES_PRIVATE_DATA_DESCRIPTOR,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_ARRIVED,(function(t){e._emitter.emit(f.PES_PRIVATE_DATA_ARRIVED,t)})),this._transmuxer.on(v.a.STATISTICS_INFO,(function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(f.STATISTICS_INFO,Object.assign({},e._statisticsInfo))})),this._transmuxer.on(v.a.RECOMMEND_SEEKPOINT,(function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)})),this._transmuxer.open()))},e.prototype.unload=function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){return Object.assign({},this._mediaInfo)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)},enumerable:!1,configurable:!0}),e.prototype._fillStatisticsInfo=function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},e.prototype._onmseUpdateEnd=function(){var e=this._mediaElement.buffered,t=this._mediaElement.currentTime;if(this._config.isLive&&this._config.liveBufferLatencyChasing&&e.length>0&&!this._mediaElement.paused){var i=e.end(e.length-1);if(i>this._config.liveBufferLatencyMaxLatency&&i-t>this._config.liveBufferLatencyMaxLatency){var n=i-this._config.liveBufferLatencyMinRemain;this.currentTime=n}}if(this._config.lazyLoad&&!this._config.isLive){for(var r=0,a=0;a=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(d.a.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}},e.prototype._onmseBufferFull=function(){d.a.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),null==this._progressChecker&&this._suspendTransmuxer()},e.prototype._suspendTransmuxer=function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))},e.prototype._checkProgressAndResume=function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,i=!1,n=0;n=r&&e=a-this._config.lazyLoadRecoverDuration&&(i=!0);break}}i&&(window.clearInterval(this._progressChecker),this._progressChecker=null,i&&(d.a.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))},e.prototype._isTimepointBuffered=function(e){for(var t=this._mediaElement.buffered,i=0;i=n&&e0){var r=this._mediaElement.buffered.start(0);(r<1&&e0&&t.currentTime0){var n=i.start(0);if(n<1&&t0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)},e.prototype.unload=function(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){var e={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(e.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(e.width=this._mediaElement.videoWidth,e.height=this._mediaElement.videoHeight)),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},enumerable:!1,configurable:!0}),e.prototype._onvLoadedMetadata=function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(f.MEDIA_INFO,this.mediaInfo)},e.prototype._reportStatisticsInfo=function(){this._emitter.emit(f.STATISTICS_INFO,this.statisticsInfo)},e}();n.a.install();var D={createPlayer:function(e,t){var i=e;if(null==i||"object"!=typeof i)throw new C.b("MediaDataSource must be an javascript object!");if(!i.hasOwnProperty("type"))throw new C.b("MediaDataSource must has type field to indicate video file type!");switch(i.type){case"mse":case"mpegts":case"m2ts":case"flv":return new x(i,t);default:return new R(i,t)}},isSupported:function(){return o.supportMSEH264Playback()},getFeatureList:function(){return o.getFeatureList()}};D.BaseLoader=u.a,D.LoaderStatus=u.c,D.LoaderErrors=u.b,D.Events=f,D.ErrorTypes=I,D.ErrorDetails=L,D.MSEPlayer=x,D.NativePlayer=R,D.LoggingControl=_.a,Object.defineProperty(D,"version",{enumerable:!0,get:function(){return"1.6.10"}}),t.default=D}])},"object"==typeof i&&"object"==typeof t?t.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof i?i.mpegts=r():n.mpegts=r()},{}],42:[function(e,t,i){var n=Math.pow(2,32);t.exports=function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),references:[],referenceId:t.getUint32(4),timescale:t.getUint32(8)},r=12;0===i.version?(i.earliestPresentationTime=t.getUint32(r),i.firstOffset=t.getUint32(r+4),r+=8):(i.earliestPresentationTime=t.getUint32(r)*n+t.getUint32(r+4),i.firstOffset=t.getUint32(r+8)*n+t.getUint32(r+12),r+=16),r+=2;var a=t.getUint16(r);for(r+=2;a>0;r+=12,a--)i.references.push({referenceType:(128&e[r])>>>7,referencedSize:2147483647&t.getUint32(r),subsegmentDuration:t.getUint32(r+4),startsWithSap:!!(128&e[r+8]),sapType:(112&e[r+8])>>>4,sapDeltaTime:268435455&t.getUint32(r+8)});return i}},{}],43:[function(e,t,i){var n,r,a,s,o,u,l;n=function(e){return 9e4*e},r=function(e,t){return e*t},a=function(e){return e/9e4},s=function(e,t){return e/t},o=function(e,t){return n(s(e,t))},u=function(e,t){return r(a(e),t)},l=function(e,t,i){return a(i?e:e-t)},t.exports={ONE_SECOND_IN_TS:9e4,secondsToVideoTs:n,secondsToAudioTs:r,videoTsToSeconds:a,audioTsToSeconds:s,audioTsToVideoTs:o,videoTsToAudioTs:u,metadataTsToSeconds:l}},{}],44:[function(e,t,i){var n,r,a=t.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var l,h=[],d=!1,c=-1;function f(){d&&l&&(d=!1,l.length?h=l.concat(h):c=-1,h.length&&p())}function p(){if(!d){var e=u(f);d=!0;for(var t=h.length;t;){for(l=h,h=[];++c1)for(var i=1;i + * Copyright Brightcove, Inc. + * Available under Apache License Version 2.0 + * + * + * Includes vtt.js + * Available under Apache License Version 2.0 + * + */ +"use strict";var n=e("global/window"),r=e("global/document"),a=e("@babel/runtime/helpers/extends"),s=e("@babel/runtime/helpers/assertThisInitialized"),o=e("@babel/runtime/helpers/inheritsLoose"),u=e("safe-json-parse/tuple"),l=e("keycode"),h=e("@videojs/xhr"),d=e("videojs-vtt.js"),c=e("@babel/runtime/helpers/construct"),f=e("@babel/runtime/helpers/inherits"),p=e("@videojs/vhs-utils/cjs/resolve-url.js"),m=e("m3u8-parser"),_=e("@videojs/vhs-utils/cjs/codecs.js"),g=e("@videojs/vhs-utils/cjs/media-types.js"),v=e("mpd-parser"),y=e("mux.js/lib/tools/parse-sidx"),b=e("@videojs/vhs-utils/cjs/id3-helpers"),S=e("@videojs/vhs-utils/cjs/containers"),T=e("@videojs/vhs-utils/cjs/byte-helpers"),E=e("mux.js/lib/utils/clock");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}for(var A,C=w(n),k=w(r),P=w(a),I=w(s),L=w(o),x=w(u),R=w(l),D=w(h),O=w(d),U=w(c),M=w(f),F=w(p),B=w(y),N={},j=function(e,t){return N[e]=N[e]||[],t&&(N[e]=N[e].concat(t)),N[e]},V=function(e,t){var i=j(e).indexOf(t);return!(i<=-1)&&(N[e]=N[e].slice(),N[e].splice(i,1),!0)},H={prefixed:!0},z=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror","fullscreen"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"]],G=z[0],W=0;W0?o:0)}if(C.default.console){var u=C.default.console[i];u||"debug"!==i||(u=C.default.console.info||C.default.console.log),u&&a&&s.test(i)&&u[Array.isArray(r)?"apply":"call"](C.default.console,r)}}}(t,r),r.createLogger=function(i){return e(t+": "+i)},r.levels={all:"debug|log|warn|error",off:"",debug:"debug|log|warn|error",info:"log|warn|error",warn:"warn|error",error:"error",DEFAULT:n},r.level=function(e){if("string"==typeof e){if(!r.levels.hasOwnProperty(e))throw new Error('"'+e+'" in not a valid log level');n=e}return n},(r.history=function(){return q?[].concat(q):[]}).filter=function(e){return(q||[]).filter((function(t){return new RegExp(".*"+e+".*").test(t[0])}))},r.history.clear=function(){q&&(q.length=0)},r.history.disable=function(){null!==q&&(q.length=0,q=null)},r.history.enable=function(){null===q&&(q=[])},r.error=function(){for(var e=arguments.length,t=new Array(e),r=0;r1?t-1:0),n=1;n=0)throw new Error("class has illegal whitespace characters")}function ke(){return k.default===C.default.document}function Pe(e){return ee(e)&&1===e.nodeType}function Ie(){try{return C.default.parent!==C.default.self}catch(e){return!0}}function Le(e){return function(t,i){if(!Ae(t))return k.default[e](null);Ae(i)&&(i=k.default.querySelector(i));var n=Pe(i)?i:k.default;return n[e]&&n[e](t)}}function xe(e,t,i,n){void 0===e&&(e="div"),void 0===t&&(t={}),void 0===i&&(i={});var r=k.default.createElement(e);return Object.getOwnPropertyNames(t).forEach((function(e){var i=t[e];-1!==e.indexOf("aria-")||"role"===e||"type"===e?(K.warn("Setting attributes in the second argument of createEl()\nhas been deprecated. Use the third argument instead.\ncreateEl(type, properties, attributes). Attempting to set "+e+" to "+i+"."),r.setAttribute(e,i)):"textContent"===e?Re(r,i):r[e]===i&&"tabIndex"!==e||(r[e]=i)})),Object.getOwnPropertyNames(i).forEach((function(e){r.setAttribute(e,i[e])})),n&&$e(r,n),r}function Re(e,t){return void 0===e.textContent?e.innerText=t:e.textContent=t,e}function De(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)}function Oe(e,t){return Ce(t),e.classList?e.classList.contains(t):(i=t,new RegExp("(^|\\s)"+i+"($|\\s)")).test(e.className);var i}function Ue(e,t){return e.classList?e.classList.add(t):Oe(e,t)||(e.className=(e.className+" "+t).trim()),e}function Me(e,t){return e?(e.classList?e.classList.remove(t):(Ce(t),e.className=e.className.split(/\s+/).filter((function(e){return e!==t})).join(" ")),e):(K.warn("removeClass was called with an element that doesn't exist"),null)}function Fe(e,t,i){var n=Oe(e,t);if("function"==typeof i&&(i=i(e,t)),"boolean"!=typeof i&&(i=!n),i!==n)return i?Ue(e,t):Me(e,t),e}function Be(e,t){Object.getOwnPropertyNames(t).forEach((function(i){var n=t[i];null==n||!1===n?e.removeAttribute(i):e.setAttribute(i,!0===n?"":n)}))}function Ne(e){var t={},i=",autoplay,controls,playsinline,loop,muted,default,defaultMuted,";if(e&&e.attributes&&e.attributes.length>0)for(var n=e.attributes,r=n.length-1;r>=0;r--){var a=n[r].name,s=n[r].value;"boolean"!=typeof e[a]&&-1===i.indexOf(","+a+",")||(s=null!==s),t[a]=s}return t}function je(e,t){return e.getAttribute(t)}function Ve(e,t,i){e.setAttribute(t,i)}function He(e,t){e.removeAttribute(t)}function ze(){k.default.body.focus(),k.default.onselectstart=function(){return!1}}function Ge(){k.default.onselectstart=function(){return!0}}function We(e){if(e&&e.getBoundingClientRect&&e.parentNode){var t=e.getBoundingClientRect(),i={};return["bottom","height","left","right","top","width"].forEach((function(e){void 0!==t[e]&&(i[e]=t[e])})),i.height||(i.height=parseFloat(ie(e,"height"))),i.width||(i.width=parseFloat(ie(e,"width"))),i}}function Ye(e){if(!e||e&&!e.offsetParent)return{left:0,top:0,width:0,height:0};for(var t=e.offsetWidth,i=e.offsetHeight,n=0,r=0;e.offsetParent&&e!==k.default[H.fullscreenElement];)n+=e.offsetLeft,r+=e.offsetTop,e=e.offsetParent;return{left:n,top:r,width:t,height:i}}function qe(e,t){var i={x:0,y:0};if(Te)for(var n=e;n&&"html"!==n.nodeName.toLowerCase();){var r=ie(n,"transform");if(/^matrix/.test(r)){var a=r.slice(7,-1).split(/,\s/).map(Number);i.x+=a[4],i.y+=a[5]}else if(/^matrix3d/.test(r)){var s=r.slice(9,-1).split(/,\s/).map(Number);i.x+=s[12],i.y+=s[13]}n=n.parentNode}var o={},u=Ye(t.target),l=Ye(e),h=l.width,d=l.height,c=t.offsetY-(l.top-u.top),f=t.offsetX-(l.left-u.left);return t.changedTouches&&(f=t.changedTouches[0].pageX-l.left,c=t.changedTouches[0].pageY+l.top,Te&&(f-=i.x,c-=i.y)),o.y=1-Math.max(0,Math.min(1,c/d)),o.x=Math.max(0,Math.min(1,f/h)),o}function Ke(e){return ee(e)&&3===e.nodeType}function Xe(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function Qe(e){return"function"==typeof e&&(e=e()),(Array.isArray(e)?e:[e]).map((function(e){return"function"==typeof e&&(e=e()),Pe(e)||Ke(e)?e:"string"==typeof e&&/\S/.test(e)?k.default.createTextNode(e):void 0})).filter((function(e){return e}))}function $e(e,t){return Qe(t).forEach((function(t){return e.appendChild(t)})),e}function Je(e,t){return $e(Xe(e),t)}function Ze(e){return void 0===e.button&&void 0===e.buttons||(0===e.button&&void 0===e.buttons||("mouseup"===e.type&&0===e.button&&0===e.buttons||0===e.button&&1===e.buttons))}var et,tt=Le("querySelector"),it=Le("querySelectorAll"),nt=Object.freeze({__proto__:null,isReal:ke,isEl:Pe,isInFrame:Ie,createEl:xe,textContent:Re,prependTo:De,hasClass:Oe,addClass:Ue,removeClass:Me,toggleClass:Fe,setAttributes:Be,getAttributes:Ne,getAttribute:je,setAttribute:Ve,removeAttribute:He,blockTextSelection:ze,unblockTextSelection:Ge,getBoundingClientRect:We,findPosition:Ye,getPointerPosition:qe,isTextNode:Ke,emptyEl:Xe,normalizeContent:Qe,appendContent:$e,insertContent:Je,isSingleLeftClick:Ze,$:tt,$$:it}),rt=!1,at=function(){if(!1!==et.options.autoSetup){var e=Array.prototype.slice.call(k.default.getElementsByTagName("video")),t=Array.prototype.slice.call(k.default.getElementsByTagName("audio")),i=Array.prototype.slice.call(k.default.getElementsByTagName("video-js")),n=e.concat(t,i);if(n&&n.length>0)for(var r=0,a=n.length;r-1&&(r={passive:!0}),e.addEventListener(t,n.dispatcher,r)}else e.attachEvent&&e.attachEvent("on"+t,n.dispatcher)}function bt(e,t,i){if(pt.has(e)){var n=pt.get(e);if(n.handlers){if(Array.isArray(t))return _t(bt,e,t,i);var r=function(e,t){n.handlers[t]=[],mt(e,t)};if(void 0!==t){var a=n.handlers[t];if(a)if(i){if(i.guid)for(var s=0;s=t&&(e.apply(void 0,arguments),i=n)}},Pt=function(){};Pt.prototype.allowedEvents_={},Pt.prototype.on=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},yt(this,e,t),this.addEventListener=i},Pt.prototype.addEventListener=Pt.prototype.on,Pt.prototype.off=function(e,t){bt(this,e,t)},Pt.prototype.removeEventListener=Pt.prototype.off,Pt.prototype.one=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},Tt(this,e,t),this.addEventListener=i},Pt.prototype.any=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},Et(this,e,t),this.addEventListener=i},Pt.prototype.trigger=function(e){var t=e.type||e;"string"==typeof e&&(e={type:t}),e=gt(e),this.allowedEvents_[t]&&this["on"+t]&&this["on"+t](e),St(this,e)},Pt.prototype.dispatchEvent=Pt.prototype.trigger,Pt.prototype.queueTrigger=function(e){var t=this;wt||(wt=new Map);var i=e.type||e,n=wt.get(this);n||(n=new Map,wt.set(this,n));var r=n.get(i);n.delete(i),C.default.clearTimeout(r);var a=C.default.setTimeout((function(){0===n.size&&(n=null,wt.delete(t)),t.trigger(e)}),0);n.set(i,a)};var It=function(e){return"function"==typeof e.name?e.name():"string"==typeof e.name?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e},Lt=function(e){return e instanceof Pt||!!e.eventBusEl_&&["on","one","off","trigger"].every((function(t){return"function"==typeof e[t]}))},xt=function(e){return"string"==typeof e&&/\S/.test(e)||Array.isArray(e)&&!!e.length},Rt=function(e,t,i){if(!e||!e.nodeName&&!Lt(e))throw new Error("Invalid target for "+It(t)+"#"+i+"; must be a DOM node or evented object.")},Dt=function(e,t,i){if(!xt(e))throw new Error("Invalid event type for "+It(t)+"#"+i+"; must be a non-empty string or array.")},Ot=function(e,t,i){if("function"!=typeof e)throw new Error("Invalid listener for "+It(t)+"#"+i+"; must be a function.")},Ut=function(e,t,i){var n,r,a,s=t.length<3||t[0]===e||t[0]===e.eventBusEl_;return s?(n=e.eventBusEl_,t.length>=3&&t.shift(),r=t[0],a=t[1]):(n=t[0],r=t[1],a=t[2]),Rt(n,e,i),Dt(r,e,i),Ot(a,e,i),{isTargetingSelf:s,target:n,type:r,listener:a=Ct(e,a)}},Mt=function(e,t,i,n){Rt(e,e,t),e.nodeName?At[t](e,i,n):e[t](i,n)},Ft={on:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n=0;e--)this.children_[e].dispose&&this.children_[e].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&(this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_),this.el_=null),this.player_=null}},t.isDisposed=function(){return Boolean(this.isDisposed_)},t.player=function(){return this.player_},t.options=function(e){return e?(this.options_=zt(this.options_,e),this.options_):this.options_},t.el=function(){return this.el_},t.createEl=function(e,t,i){return xe(e,t,i)},t.localize=function(e,t,i){void 0===i&&(i=e);var n=this.player_.language&&this.player_.language(),r=this.player_.languages&&this.player_.languages(),a=r&&r[n],s=n&&n.split("-")[0],o=r&&r[s],u=i;return a&&a[e]?u=a[e]:o&&o[e]&&(u=o[e]),t&&(u=u.replace(/\{(\d+)\}/g,(function(e,i){var n=t[i-1],r=n;return void 0===n&&(r=e),r}))),u},t.handleLanguagechange=function(){},t.contentEl=function(){return this.contentEl_||this.el_},t.id=function(){return this.id_},t.name=function(){return this.name_},t.children=function(){return this.children_},t.getChildById=function(e){return this.childIndex_[e]},t.getChild=function(e){if(e)return this.childNameIndex_[e]},t.getDescendant=function(){for(var e=arguments.length,t=new Array(e),i=0;i=0;i--)if(this.children_[i]===e){t=!0,this.children_.splice(i,1);break}if(t){e.parentComponent_=null,this.childIndex_[e.id()]=null,this.childNameIndex_[Ht(e.name())]=null,this.childNameIndex_[Vt(e.name())]=null;var n=e.el();n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}}},t.initChildren=function(){var t=this,i=this.options_.children;if(i){var n,r=this.options_,a=e.getComponent("Tech");(n=Array.isArray(i)?i:Object.keys(i)).concat(Object.keys(this.options_).filter((function(e){return!n.some((function(t){return"string"==typeof t?e===t:e===t.name}))}))).map((function(e){var n,r;return"string"==typeof e?r=i[n=e]||t.options_[n]||{}:(n=e.name,r=e),{name:n,opts:r}})).filter((function(t){var i=e.getComponent(t.opts.componentClass||Ht(t.name));return i&&!a.isTech(i)})).forEach((function(e){var i=e.name,n=e.opts;if(void 0!==r[i]&&(n=r[i]),!1!==n){!0===n&&(n={}),n.playerOptions=t.options_.playerOptions;var a=t.addChild(i,n);a&&(t[i]=a)}}))}},t.buildCSSClass=function(){return""},t.ready=function(e,t){if(void 0===t&&(t=!1),e)return this.isReady_?void(t?e.call(this):this.setTimeout(e,1)):(this.readyQueue_=this.readyQueue_||[],void this.readyQueue_.push(e))},t.triggerReady=function(){this.isReady_=!0,this.setTimeout((function(){var e=this.readyQueue_;this.readyQueue_=[],e&&e.length>0&&e.forEach((function(e){e.call(this)}),this),this.trigger("ready")}),1)},t.$=function(e,t){return tt(e,t||this.contentEl())},t.$$=function(e,t){return it(e,t||this.contentEl())},t.hasClass=function(e){return Oe(this.el_,e)},t.addClass=function(e){Ue(this.el_,e)},t.removeClass=function(e){Me(this.el_,e)},t.toggleClass=function(e,t){Fe(this.el_,e,t)},t.show=function(){this.removeClass("vjs-hidden")},t.hide=function(){this.addClass("vjs-hidden")},t.lockShowing=function(){this.addClass("vjs-lock-showing")},t.unlockShowing=function(){this.removeClass("vjs-lock-showing")},t.getAttribute=function(e){return je(this.el_,e)},t.setAttribute=function(e,t){Ve(this.el_,e,t)},t.removeAttribute=function(e){He(this.el_,e)},t.width=function(e,t){return this.dimension("width",e,t)},t.height=function(e,t){return this.dimension("height",e,t)},t.dimensions=function(e,t){this.width(e,!0),this.height(t)},t.dimension=function(e,t,i){if(void 0!==t)return null!==t&&t==t||(t=0),-1!==(""+t).indexOf("%")||-1!==(""+t).indexOf("px")?this.el_.style[e]=t:this.el_.style[e]="auto"===t?"":t+"px",void(i||this.trigger("componentresize"));if(!this.el_)return 0;var n=this.el_.style[e],r=n.indexOf("px");return-1!==r?parseInt(n.slice(0,r),10):parseInt(this.el_["offset"+Ht(e)],10)},t.currentDimension=function(e){var t=0;if("width"!==e&&"height"!==e)throw new Error("currentDimension only accepts width or height value");if(t=ie(this.el_,e),0===(t=parseFloat(t))||isNaN(t)){var i="offset"+Ht(e);t=this.el_[i]}return t},t.currentDimensions=function(){return{width:this.currentDimension("width"),height:this.currentDimension("height")}},t.currentWidth=function(){return this.currentDimension("width")},t.currentHeight=function(){return this.currentDimension("height")},t.focus=function(){this.el_.focus()},t.blur=function(){this.el_.blur()},t.handleKeyDown=function(e){this.player_&&(e.stopPropagation(),this.player_.handleKeyDown(e))},t.handleKeyPress=function(e){this.handleKeyDown(e)},t.emitTapEvents=function(){var e,t=0,i=null;this.on("touchstart",(function(n){1===n.touches.length&&(i={pageX:n.touches[0].pageX,pageY:n.touches[0].pageY},t=C.default.performance.now(),e=!0)})),this.on("touchmove",(function(t){if(t.touches.length>1)e=!1;else if(i){var n=t.touches[0].pageX-i.pageX,r=t.touches[0].pageY-i.pageY;Math.sqrt(n*n+r*r)>10&&(e=!1)}}));var n=function(){e=!1};this.on("touchleave",n),this.on("touchcancel",n),this.on("touchend",(function(n){(i=null,!0===e)&&(C.default.performance.now()-t<200&&(n.preventDefault(),this.trigger("tap")))}))},t.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var e,t=Ct(this.player(),this.player().reportUserActivity);this.on("touchstart",(function(){t(),this.clearInterval(e),e=this.setInterval(t,250)}));var i=function(i){t(),this.clearInterval(e)};this.on("touchmove",t),this.on("touchend",i),this.on("touchcancel",i)}},t.setTimeout=function(e,t){var i,n=this;return e=Ct(this,e),this.clearTimersOnDispose_(),i=C.default.setTimeout((function(){n.setTimeoutIds_.has(i)&&n.setTimeoutIds_.delete(i),e()}),t),this.setTimeoutIds_.add(i),i},t.clearTimeout=function(e){return this.setTimeoutIds_.has(e)&&(this.setTimeoutIds_.delete(e),C.default.clearTimeout(e)),e},t.setInterval=function(e,t){e=Ct(this,e),this.clearTimersOnDispose_();var i=C.default.setInterval(e,t);return this.setIntervalIds_.add(i),i},t.clearInterval=function(e){return this.setIntervalIds_.has(e)&&(this.setIntervalIds_.delete(e),C.default.clearInterval(e)),e},t.requestAnimationFrame=function(e){var t,i=this;return this.supportsRaf_?(this.clearTimersOnDispose_(),e=Ct(this,e),t=C.default.requestAnimationFrame((function(){i.rafIds_.has(t)&&i.rafIds_.delete(t),e()})),this.rafIds_.add(t),t):this.setTimeout(e,1e3/60)},t.requestNamedAnimationFrame=function(e,t){var i=this;if(!this.namedRafs_.has(e)){this.clearTimersOnDispose_(),t=Ct(this,t);var n=this.requestAnimationFrame((function(){t(),i.namedRafs_.has(e)&&i.namedRafs_.delete(e)}));return this.namedRafs_.set(e,n),e}},t.cancelNamedAnimationFrame=function(e){this.namedRafs_.has(e)&&(this.cancelAnimationFrame(this.namedRafs_.get(e)),this.namedRafs_.delete(e))},t.cancelAnimationFrame=function(e){return this.supportsRaf_?(this.rafIds_.has(e)&&(this.rafIds_.delete(e),C.default.cancelAnimationFrame(e)),e):this.clearTimeout(e)},t.clearTimersOnDispose_=function(){var e=this;this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one("dispose",(function(){[["namedRafs_","cancelNamedAnimationFrame"],["rafIds_","cancelAnimationFrame"],["setTimeoutIds_","clearTimeout"],["setIntervalIds_","clearInterval"]].forEach((function(t){var i=t[0],n=t[1];e[i].forEach((function(t,i){return e[n](i)}))})),e.clearingTimersOnDispose_=!1})))},e.registerComponent=function(t,i){if("string"!=typeof t||!t)throw new Error('Illegal component name, "'+t+'"; must be a non-empty string.');var n,r=e.getComponent("Tech"),a=r&&r.isTech(i),s=e===i||e.prototype.isPrototypeOf(i.prototype);if(a||!s)throw n=a?"techs must be registered using Tech.registerTech()":"must be a Component subclass",new Error('Illegal component, "'+t+'"; '+n+".");t=Ht(t),e.components_||(e.components_={});var o=e.getComponent("Player");if("Player"===t&&o&&o.players){var u=o.players,l=Object.keys(u);if(u&&l.length>0&&l.map((function(e){return u[e]})).every(Boolean))throw new Error("Can not register Player component after player has been created.")}return e.components_[t]=i,e.components_[Vt(t)]=i,i},e.getComponent=function(t){if(t&&e.components_)return e.components_[t]},e}();function Xt(e,t,i,n){return function(e,t,i){if("number"!=typeof t||t<0||t>i)throw new Error("Failed to execute '"+e+"' on 'TimeRanges': The index provided ("+t+") is non-numeric or out of bounds (0-"+i+").")}(e,n,i.length-1),i[n][t]}function Qt(e){var t;return t=void 0===e||0===e.length?{length:0,start:function(){throw new Error("This TimeRanges object is empty")},end:function(){throw new Error("This TimeRanges object is empty")}}:{length:e.length,start:Xt.bind(null,"start",0,e),end:Xt.bind(null,"end",1,e)},C.default.Symbol&&C.default.Symbol.iterator&&(t[C.default.Symbol.iterator]=function(){return(e||[]).values()}),t}function $t(e,t){return Array.isArray(e)?Qt(e):void 0===e||void 0===t?Qt():Qt([[e,t]])}function Jt(e,t){var i,n,r=0;if(!t)return 0;e&&e.length||(e=$t(0,0));for(var a=0;at&&(n=t),r+=n-i;return r/t}function Zt(e){if(e instanceof Zt)return e;"number"==typeof e?this.code=e:"string"==typeof e?this.message=e:ee(e)&&("number"==typeof e.code&&(this.code=e.code),Z(this,e)),this.message||(this.message=Zt.defaultMessages[this.code]||"")}Kt.prototype.supportsRaf_="function"==typeof C.default.requestAnimationFrame&&"function"==typeof C.default.cancelAnimationFrame,Kt.registerComponent("Component",Kt),Zt.prototype.code=0,Zt.prototype.message="",Zt.prototype.status=null,Zt.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"],Zt.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."};for(var ei=0;ei=0;n--)if(t[n].enabled){li(t,t[n]);break}return(i=e.call(this,t)||this).changing_=!1,i}L.default(t,e);var i=t.prototype;return i.addTrack=function(t){var i=this;t.enabled&&li(this,t),e.prototype.addTrack.call(this,t),t.addEventListener&&(t.enabledChange_=function(){i.changing_||(i.changing_=!0,li(i,t),i.changing_=!1,i.trigger("change"))},t.addEventListener("enabledchange",t.enabledChange_))},i.removeTrack=function(t){e.prototype.removeTrack.call(this,t),t.removeEventListener&&t.enabledChange_&&(t.removeEventListener("enabledchange",t.enabledChange_),t.enabledChange_=null)},t}(oi),di=function(e,t){for(var i=0;i=0;n--)if(t[n].selected){di(t,t[n]);break}return(i=e.call(this,t)||this).changing_=!1,Object.defineProperty(I.default(i),"selectedIndex",{get:function(){for(var e=0;e0&&(C.default.console&&C.default.console.groupCollapsed&&C.default.console.groupCollapsed("Text Track parsing errors for "+t.src),n.forEach((function(e){return K.error(e)})),C.default.console&&C.default.console.groupEnd&&C.default.console.groupEnd()),i.flush()},ki=function(e,t){var i={uri:e},n=wi(e);n&&(i.cors=n);var r="use-credentials"===t.tech_.crossOrigin();r&&(i.withCredentials=r),D.default(i,Ct(this,(function(e,i,n){if(e)return K.error(e,i);t.loaded_=!0,"function"!=typeof C.default.WebVTT?t.tech_&&t.tech_.any(["vttjsloaded","vttjserror"],(function(e){if("vttjserror"!==e.type)return Ci(n,t);K.error("vttjs failed to load, stopping trying to process "+t.src)})):Ci(n,t)})))},Pi=function(e){function t(t){var i;if(void 0===t&&(t={}),!t.tech)throw new Error("A tech was not provided.");var n=zt(t,{kind:vi[t.kind]||"subtitles",language:t.language||t.srclang||""}),r=yi[n.mode]||"disabled",a=n.default;"metadata"!==n.kind&&"chapters"!==n.kind||(r="hidden"),(i=e.call(this,n)||this).tech_=n.tech,i.cues_=[],i.activeCues_=[],i.preload_=!1!==i.tech_.preloadTextTracks;var s=new mi(i.cues_),o=new mi(i.activeCues_),u=!1,l=Ct(I.default(i),(function(){this.tech_.isReady_&&!this.tech_.isDisposed()&&(this.activeCues=this.activeCues,u&&(this.trigger("cuechange"),u=!1))}));return i.tech_.one("dispose",(function(){i.tech_.off("timeupdate",l)})),"disabled"!==r&&i.tech_.on("timeupdate",l),Object.defineProperties(I.default(i),{default:{get:function(){return a},set:function(){}},mode:{get:function(){return r},set:function(e){yi[e]&&r!==e&&(r=e,this.preload_||"disabled"===r||0!==this.cues.length||ki(this.src,this),this.tech_.off("timeupdate",l),"disabled"!==r&&this.tech_.on("timeupdate",l),this.trigger("modechange"))}},cues:{get:function(){return this.loaded_?s:null},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null;if(0===this.cues.length)return o;for(var e=this.tech_.currentTime(),t=[],i=0,n=this.cues.length;i=e||r.startTime===r.endTime&&r.startTime<=e&&r.startTime+.5>=e)&&t.push(r)}if(u=!1,t.length!==this.activeCues_.length)u=!0;else for(var a=0;a0)return void this.trigger("vttjsloaded");var t=k.default.createElement("script");t.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js",t.onload=function(){e.trigger("vttjsloaded")},t.onerror=function(){e.trigger("vttjserror")},this.on("dispose",(function(){t.onload=null,t.onerror=null})),C.default.WebVTT=!0,this.el().parentNode.appendChild(t)}else this.ready(this.addWebVttScript_)},i.emulateTextTracks=function(){var e=this,t=this.textTracks(),i=this.remoteTextTracks(),n=function(e){return t.addTrack(e.track)},r=function(e){return t.removeTrack(e.track)};i.on("addtrack",n),i.on("removetrack",r),this.addWebVttScript_();var a=function(){return e.trigger("texttrackchange")},s=function(){a();for(var e=0;e=0;r--){var a=e[r];a[t]&&a[t](n,i)}}(e,i,o,s),o}var Vi={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},Hi={setCurrentTime:1,setMuted:1,setVolume:1},zi={play:1,pause:1};function Gi(e){return function(t,i){return t===Bi?Bi:i[e]?i[e](t):t}}var Wi={opus:"video/ogg",ogv:"video/ogg",mp4:"video/mp4",mov:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",m4a:"audio/mp4",mp3:"audio/mpeg",aac:"audio/aac",caf:"audio/x-caf",flac:"audio/flac",oga:"audio/ogg",wav:"audio/wav",m3u8:"application/x-mpegURL",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",png:"image/png",svg:"image/svg+xml",webp:"image/webp"},Yi=function(e){void 0===e&&(e="");var t=Ei(e);return Wi[t.toLowerCase()]||""};function qi(e){if(!e.type){var t=Yi(e.src);t&&(e.type=t)}return e}var Ki=function(e){function t(t,i,n){var r,a=zt({createEl:!1},i);if(r=e.call(this,t,a,n)||this,i.playerOptions.sources&&0!==i.playerOptions.sources.length)t.src(i.playerOptions.sources);else for(var s=0,o=i.playerOptions.techOrder;s0;!this.player_.tech(!0)||(_e||fe)&&t||this.player_.tech(!0).focus(),this.player_.paused()?ii(this.player_.play()):this.player_.pause()}},t}(Xi);Kt.registerComponent("PosterImage",Qi);var $i={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'};function Ji(e,t){var i;if(4===e.length)i=e[1]+e[1]+e[2]+e[2]+e[3]+e[3];else{if(7!==e.length)throw new Error("Invalid color code provided, "+e+"; must be formatted as e.g. #f0e or #f604e2.");i=e.slice(1)}return"rgba("+parseInt(i.slice(0,2),16)+","+parseInt(i.slice(2,4),16)+","+parseInt(i.slice(4,6),16)+","+t+")"}function Zi(e,t,i){try{e.style[t]=i}catch(e){return}}var en=function(e){function t(t,i,n){var r;r=e.call(this,t,i,n)||this;var a=function(e){return r.updateDisplay(e)};return t.on("loadstart",(function(e){return r.toggleDisplay(e)})),t.on("texttrackchange",a),t.on("loadedmetadata",(function(e){return r.preselectTrack(e)})),t.ready(Ct(I.default(r),(function(){if(t.tech_&&t.tech_.featuresNativeTextTracks)this.hide();else{t.on("fullscreenchange",a),t.on("playerresize",a),C.default.addEventListener("orientationchange",a),t.on("dispose",(function(){return C.default.removeEventListener("orientationchange",a)}));for(var e=this.options_.playerOptions.tracks||[],i=0;i0;return ii(t),void(!this.player_.tech(!0)||(_e||fe)&&i||this.player_.tech(!0).focus())}var n=this.player_.getChild("controlBar"),r=n&&n.getChild("playToggle");if(r){var a=function(){return r.focus()};ti(t)?t.then(a,(function(){})):this.setTimeout(a,1)}else this.player_.tech(!0).focus()},i.handleKeyDown=function(t){this.mouseused_=!1,e.prototype.handleKeyDown.call(this,t)},i.handleMouseDown=function(e){this.mouseused_=!0},t}(nn);rn.prototype.controlText_="Play Video",Kt.registerComponent("BigPlayButton",rn);var an=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).controlText(i&&i.controlText||n.localize("Close")),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-close-button "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(e){this.trigger({type:"close",bubbles:!1})},i.handleKeyDown=function(t){R.default.isEventKey(t,"Esc")?(t.preventDefault(),t.stopPropagation(),this.trigger("click")):e.prototype.handleKeyDown.call(this,t)},t}(nn);Kt.registerComponent("CloseButton",an);var sn=function(e){function t(t,i){var n;return void 0===i&&(i={}),n=e.call(this,t,i)||this,i.replay=void 0===i.replay||i.replay,n.on(t,"play",(function(e){return n.handlePlay(e)})),n.on(t,"pause",(function(e){return n.handlePause(e)})),i.replay&&n.on(t,"ended",(function(e){return n.handleEnded(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-play-control "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(e){this.player_.paused()?ii(this.player_.play()):this.player_.pause()},i.handleSeeked=function(e){this.removeClass("vjs-ended"),this.player_.paused()?this.handlePause(e):this.handlePlay(e)},i.handlePlay=function(e){this.removeClass("vjs-ended"),this.removeClass("vjs-paused"),this.addClass("vjs-playing"),this.controlText("Pause")},i.handlePause=function(e){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.controlText("Play")},i.handleEnded=function(e){var t=this;this.removeClass("vjs-playing"),this.addClass("vjs-ended"),this.controlText("Replay"),this.one(this.player_,"seeked",(function(e){return t.handleSeeked(e)}))},t}(nn);sn.prototype.controlText_="Play",Kt.registerComponent("PlayToggle",sn);var on=function(e,t){e=e<0?0:e;var i=Math.floor(e%60),n=Math.floor(e/60%60),r=Math.floor(e/3600),a=Math.floor(t/60%60),s=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(r=n=i="-"),(r=r>0||s>0?r+":":"")+(n=((r||a>=10)&&n<10?"0"+n:n)+":")+(i=i<10?"0"+i:i)},un=on;function ln(e,t){return void 0===t&&(t=e),un(e,t)}var hn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,["timeupdate","ended"],(function(e){return n.updateContent(e)})),n.updateTextNode_(),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=this.buildCSSClass(),i=e.prototype.createEl.call(this,"div",{className:t+" vjs-time-control vjs-control"}),n=xe("span",{className:"vjs-control-text",textContent:this.localize(this.labelText_)+" "},{role:"presentation"});return i.appendChild(n),this.contentEl_=xe("span",{className:t+"-display"},{"aria-live":"off",role:"presentation"}),i.appendChild(this.contentEl_),i},i.dispose=function(){this.contentEl_=null,this.textNode_=null,e.prototype.dispose.call(this)},i.updateTextNode_=function(e){var t=this;void 0===e&&(e=0),e=ln(e),this.formattedTime_!==e&&(this.formattedTime_=e,this.requestNamedAnimationFrame("TimeDisplay#updateTextNode_",(function(){if(t.contentEl_){var e=t.textNode_;e&&t.contentEl_.firstChild!==e&&(e=null,K.warn("TimeDisplay#updateTextnode_: Prevented replacement of text node element since it was no longer a child of this node. Appending a new node instead.")),t.textNode_=k.default.createTextNode(t.formattedTime_),t.textNode_&&(e?t.contentEl_.replaceChild(t.textNode_,e):t.contentEl_.appendChild(t.textNode_))}})))},i.updateContent=function(e){},t}(Kt);hn.prototype.labelText_="Time",hn.prototype.controlText_="Time",Kt.registerComponent("TimeDisplay",hn);var dn=function(e){function t(){return e.apply(this,arguments)||this}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-current-time"},i.updateContent=function(e){var t;t=this.player_.ended()?this.player_.duration():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(t)},t}(hn);dn.prototype.labelText_="Current Time",dn.prototype.controlText_="Current Time",Kt.registerComponent("CurrentTimeDisplay",dn);var cn=function(e){function t(t,i){var n,r=function(e){return n.updateContent(e)};return(n=e.call(this,t,i)||this).on(t,"durationchange",r),n.on(t,"loadstart",r),n.on(t,"loadedmetadata",r),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-duration"},i.updateContent=function(e){var t=this.player_.duration();this.updateTextNode_(t)},t}(hn);cn.prototype.labelText_="Duration",cn.prototype.controlText_="Duration",Kt.registerComponent("DurationDisplay",cn);var fn=function(e){function t(){return e.apply(this,arguments)||this}return L.default(t,e),t.prototype.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-time-control vjs-time-divider"},{"aria-hidden":!0}),i=e.prototype.createEl.call(this,"div"),n=e.prototype.createEl.call(this,"span",{textContent:"/"});return i.appendChild(n),t.appendChild(i),t},t}(Kt);Kt.registerComponent("TimeDivider",fn);var pn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,"durationchange",(function(e){return n.updateContent(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-remaining-time"},i.createEl=function(){var t=e.prototype.createEl.call(this);return t.insertBefore(xe("span",{},{"aria-hidden":!0},"-"),this.contentEl_),t},i.updateContent=function(e){var t;"number"==typeof this.player_.duration()&&(t=this.player_.ended()?0:this.player_.remainingTimeDisplay?this.player_.remainingTimeDisplay():this.player_.remainingTime(),this.updateTextNode_(t))},t}(hn);pn.prototype.labelText_="Remaining Time",pn.prototype.controlText_="Remaining Time",Kt.registerComponent("RemainingTimeDisplay",pn);var mn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).updateShowing(),n.on(n.player(),"durationchange",(function(e){return n.updateShowing(e)})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-live-control vjs-control"});return this.contentEl_=xe("div",{className:"vjs-live-display"},{"aria-live":"off"}),this.contentEl_.appendChild(xe("span",{className:"vjs-control-text",textContent:this.localize("Stream Type")+" "})),this.contentEl_.appendChild(k.default.createTextNode(this.localize("LIVE"))),t.appendChild(this.contentEl_),t},i.dispose=function(){this.contentEl_=null,e.prototype.dispose.call(this)},i.updateShowing=function(e){this.player().duration()===1/0?this.show():this.hide()},t}(Kt);Kt.registerComponent("LiveDisplay",mn);var _n=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).updateLiveEdgeStatus(),n.player_.liveTracker&&(n.updateLiveEdgeStatusHandler_=function(e){return n.updateLiveEdgeStatus(e)},n.on(n.player_.liveTracker,"liveedgechange",n.updateLiveEdgeStatusHandler_)),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=e.prototype.createEl.call(this,"button",{className:"vjs-seek-to-live-control vjs-control"});return this.textEl_=xe("span",{className:"vjs-seek-to-live-text",textContent:this.localize("LIVE")},{"aria-hidden":"true"}),t.appendChild(this.textEl_),t},i.updateLiveEdgeStatus=function(){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute("aria-disabled",!0),this.addClass("vjs-at-live-edge"),this.controlText("Seek to live, currently playing live")):(this.setAttribute("aria-disabled",!1),this.removeClass("vjs-at-live-edge"),this.controlText("Seek to live, currently behind live"))},i.handleClick=function(){this.player_.liveTracker.seekToLiveEdge()},i.dispose=function(){this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.updateLiveEdgeStatusHandler_),this.textEl_=null,e.prototype.dispose.call(this)},t}(nn);_n.prototype.controlText_="Seek to live, currently playing live",Kt.registerComponent("SeekToLive",_n);var gn=function(e,t,i){return e=Number(e),Math.min(i,Math.max(t,isNaN(e)?t:e))},vn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).handleMouseDown_=function(e){return n.handleMouseDown(e)},n.handleMouseUp_=function(e){return n.handleMouseUp(e)},n.handleKeyDown_=function(e){return n.handleKeyDown(e)},n.handleClick_=function(e){return n.handleClick(e)},n.handleMouseMove_=function(e){return n.handleMouseMove(e)},n.update_=function(e){return n.update(e)},n.bar=n.getChild(n.options_.barName),n.vertical(!!n.options_.vertical),n.enable(),n}L.default(t,e);var i=t.prototype;return i.enabled=function(){return this.enabled_},i.enable=function(){this.enabled()||(this.on("mousedown",this.handleMouseDown_),this.on("touchstart",this.handleMouseDown_),this.on("keydown",this.handleKeyDown_),this.on("click",this.handleClick_),this.on(this.player_,"controlsvisible",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass("disabled"),this.setAttribute("tabindex",0),this.enabled_=!0)},i.disable=function(){if(this.enabled()){var e=this.bar.el_.ownerDocument;this.off("mousedown",this.handleMouseDown_),this.off("touchstart",this.handleMouseDown_),this.off("keydown",this.handleKeyDown_),this.off("click",this.handleClick_),this.off(this.player_,"controlsvisible",this.update_),this.off(e,"mousemove",this.handleMouseMove_),this.off(e,"mouseup",this.handleMouseUp_),this.off(e,"touchmove",this.handleMouseMove_),this.off(e,"touchend",this.handleMouseUp_),this.removeAttribute("tabindex"),this.addClass("disabled"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1}},i.createEl=function(t,i,n){return void 0===i&&(i={}),void 0===n&&(n={}),i.className=i.className+" vjs-slider",i=Z({tabIndex:0},i),n=Z({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},n),e.prototype.createEl.call(this,t,i,n)},i.handleMouseDown=function(e){var t=this.bar.el_.ownerDocument;"mousedown"===e.type&&e.preventDefault(),"touchstart"!==e.type||pe||e.preventDefault(),ze(),this.addClass("vjs-sliding"),this.trigger("slideractive"),this.on(t,"mousemove",this.handleMouseMove_),this.on(t,"mouseup",this.handleMouseUp_),this.on(t,"touchmove",this.handleMouseMove_),this.on(t,"touchend",this.handleMouseUp_),this.handleMouseMove(e)},i.handleMouseMove=function(e){},i.handleMouseUp=function(){var e=this.bar.el_.ownerDocument;Ge(),this.removeClass("vjs-sliding"),this.trigger("sliderinactive"),this.off(e,"mousemove",this.handleMouseMove_),this.off(e,"mouseup",this.handleMouseUp_),this.off(e,"touchmove",this.handleMouseMove_),this.off(e,"touchend",this.handleMouseUp_),this.update()},i.update=function(){var e=this;if(this.el_&&this.bar){var t=this.getProgress();return t===this.progress_||(this.progress_=t,this.requestNamedAnimationFrame("Slider#update",(function(){var i=e.vertical()?"height":"width";e.bar.el().style[i]=(100*t).toFixed(2)+"%"}))),t}},i.getProgress=function(){return Number(gn(this.getPercent(),0,1).toFixed(4))},i.calculateDistance=function(e){var t=qe(this.el_,e);return this.vertical()?t.y:t.x},i.handleKeyDown=function(t){R.default.isEventKey(t,"Left")||R.default.isEventKey(t,"Down")?(t.preventDefault(),t.stopPropagation(),this.stepBack()):R.default.isEventKey(t,"Right")||R.default.isEventKey(t,"Up")?(t.preventDefault(),t.stopPropagation(),this.stepForward()):e.prototype.handleKeyDown.call(this,t)},i.handleClick=function(e){e.stopPropagation(),e.preventDefault()},i.vertical=function(e){if(void 0===e)return this.vertical_||!1;this.vertical_=!!e,this.vertical_?this.addClass("vjs-slider-vertical"):this.addClass("vjs-slider-horizontal")},t}(Kt);Kt.registerComponent("Slider",vn);var yn=function(e,t){return gn(e/t*100,0,100).toFixed(2)+"%"},bn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).partEls_=[],n.on(t,"progress",(function(e){return n.update(e)})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-load-progress"}),i=xe("span",{className:"vjs-control-text"}),n=xe("span",{textContent:this.localize("Loaded")}),r=k.default.createTextNode(": ");return this.percentageEl_=xe("span",{className:"vjs-control-text-loaded-percentage",textContent:"0%"}),t.appendChild(i),i.appendChild(n),i.appendChild(r),i.appendChild(this.percentageEl_),t},i.dispose=function(){this.partEls_=null,this.percentageEl_=null,e.prototype.dispose.call(this)},i.update=function(e){var t=this;this.requestNamedAnimationFrame("LoadProgressBar#update",(function(){var e=t.player_.liveTracker,i=t.player_.buffered(),n=e&&e.isLive()?e.seekableEnd():t.player_.duration(),r=t.player_.bufferedEnd(),a=t.partEls_,s=yn(r,n);t.percent_!==s&&(t.el_.style.width=s,Re(t.percentageEl_,s),t.percent_=s);for(var o=0;oi.length;d--)t.el_.removeChild(a[d-1]);a.length=i.length}))},t}(Kt);Kt.registerComponent("LoadProgressBar",bn);var Sn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-time-tooltip"},{"aria-hidden":"true"})},i.update=function(e,t,i){var n=Ye(this.el_),r=We(this.player_.el()),a=e.width*t;if(r&&n){var s=e.left-r.left+a,o=e.width-a+(r.right-e.right),u=n.width/2;sn.width&&(u=n.width),u=Math.round(u),this.el_.style.right="-"+u+"px",this.write(i)}},i.write=function(e){Re(this.el_,e)},i.updateTime=function(e,t,i,n){var r=this;this.requestNamedAnimationFrame("TimeTooltip#updateTime",(function(){var a,s=r.player_.duration();if(r.player_.liveTracker&&r.player_.liveTracker.isLive()){var o=r.player_.liveTracker.liveWindow(),u=o-t*o;a=(u<1?"":"-")+ln(u,o)}else a=ln(i,s);r.update(e,t,a),n&&n()}))},t}(Kt);Kt.registerComponent("TimeTooltip",Sn);var Tn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-play-progress vjs-slider-bar"},{"aria-hidden":"true"})},i.update=function(e,t){var i=this.getChild("timeTooltip");if(i){var n=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();i.updateTime(e,t,n)}},t}(Kt);Tn.prototype.options_={children:[]},Te||le||Tn.prototype.options_.children.push("timeTooltip"),Kt.registerComponent("PlayProgressBar",Tn);var En=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"})},i.update=function(e,t){var i=this,n=t*this.player_.duration();this.getChild("timeTooltip").updateTime(e,t,n,(function(){i.el_.style.left=e.width*t+"px"}))},t}(Kt);En.prototype.options_={children:["timeTooltip"]},Kt.registerComponent("MouseTimeDisplay",En);var wn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).setEventHandlers_(),n}L.default(t,e);var i=t.prototype;return i.setEventHandlers_=function(){var e=this;this.update_=Ct(this,this.update),this.update=kt(this.update_,30),this.on(this.player_,["ended","durationchange","timeupdate"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,"liveedgechange",this.update),this.updateInterval=null,this.enableIntervalHandler_=function(t){return e.enableInterval_(t)},this.disableIntervalHandler_=function(t){return e.disableInterval_(t)},this.on(this.player_,["playing"],this.enableIntervalHandler_),this.on(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in k.default&&"visibilityState"in k.default&&this.on(k.default,"visibilitychange",this.toggleVisibility_)},i.toggleVisibility_=function(e){"hidden"===k.default.visibilityState?(this.cancelNamedAnimationFrame("SeekBar#update"),this.cancelNamedAnimationFrame("Slider#update"),this.disableInterval_(e)):(this.player_.ended()||this.player_.paused()||this.enableInterval_(),this.update())},i.enableInterval_=function(){this.updateInterval||(this.updateInterval=this.setInterval(this.update,30))},i.disableInterval_=function(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&e&&"ended"!==e.type||this.updateInterval&&(this.clearInterval(this.updateInterval),this.updateInterval=null)},i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-progress-holder"},{"aria-label":this.localize("Progress Bar")})},i.update=function(t){var i=this;if("hidden"!==k.default.visibilityState){var n=e.prototype.update.call(this);return this.requestNamedAnimationFrame("SeekBar#update",(function(){var e=i.player_.ended()?i.player_.duration():i.getCurrentTime_(),t=i.player_.liveTracker,r=i.player_.duration();t&&t.isLive()&&(r=i.player_.liveTracker.liveCurrentTime()),i.percent_!==n&&(i.el_.setAttribute("aria-valuenow",(100*n).toFixed(2)),i.percent_=n),i.currentTime_===e&&i.duration_===r||(i.el_.setAttribute("aria-valuetext",i.localize("progress bar timing: currentTime={1} duration={2}",[ln(e,r),ln(r,r)],"{1} of {2}")),i.currentTime_=e,i.duration_=r),i.bar&&i.bar.update(We(i.el()),i.getProgress())})),n}},i.userSeek_=function(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&this.player_.liveTracker.nextSeekedFromUser(),this.player_.currentTime(e)},i.getCurrentTime_=function(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime()},i.getPercent=function(){var e,t=this.getCurrentTime_(),i=this.player_.liveTracker;return i&&i.isLive()?(e=(t-i.seekableStart())/i.liveWindow(),i.atLiveEdge()&&(e=1)):e=t/this.player_.duration(),e},i.handleMouseDown=function(t){Ze(t)&&(t.stopPropagation(),this.player_.scrubbing(!0),this.videoWasPlaying=!this.player_.paused(),this.player_.pause(),e.prototype.handleMouseDown.call(this,t))},i.handleMouseMove=function(e){if(Ze(e)){var t,i=this.calculateDistance(e),n=this.player_.liveTracker;if(n&&n.isLive()){if(i>=.99)return void n.seekToLiveEdge();var r=n.seekableStart(),a=n.liveCurrentTime();if((t=r+i*n.liveWindow())>=a&&(t=a),t<=r&&(t=r+.1),t===1/0)return}else(t=i*this.player_.duration())===this.player_.duration()&&(t-=.1);this.userSeek_(t)}},i.enable=function(){e.prototype.enable.call(this);var t=this.getChild("mouseTimeDisplay");t&&t.show()},i.disable=function(){e.prototype.disable.call(this);var t=this.getChild("mouseTimeDisplay");t&&t.hide()},i.handleMouseUp=function(t){e.prototype.handleMouseUp.call(this,t),t&&t.stopPropagation(),this.player_.scrubbing(!1),this.player_.trigger({type:"timeupdate",target:this,manuallyTriggered:!0}),this.videoWasPlaying?ii(this.player_.play()):this.update_()},i.stepForward=function(){this.userSeek_(this.player_.currentTime()+5)},i.stepBack=function(){this.userSeek_(this.player_.currentTime()-5)},i.handleAction=function(e){this.player_.paused()?this.player_.play():this.player_.pause()},i.handleKeyDown=function(t){var i=this.player_.liveTracker;if(R.default.isEventKey(t,"Space")||R.default.isEventKey(t,"Enter"))t.preventDefault(),t.stopPropagation(),this.handleAction(t);else if(R.default.isEventKey(t,"Home"))t.preventDefault(),t.stopPropagation(),this.userSeek_(0);else if(R.default.isEventKey(t,"End"))t.preventDefault(),t.stopPropagation(),i&&i.isLive()?this.userSeek_(i.liveCurrentTime()):this.userSeek_(this.player_.duration());else if(/^[0-9]$/.test(R.default(t))){t.preventDefault(),t.stopPropagation();var n=10*(R.default.codes[R.default(t)]-R.default.codes[0])/100;i&&i.isLive()?this.userSeek_(i.seekableStart()+i.liveWindow()*n):this.userSeek_(this.player_.duration()*n)}else R.default.isEventKey(t,"PgDn")?(t.preventDefault(),t.stopPropagation(),this.userSeek_(this.player_.currentTime()-60)):R.default.isEventKey(t,"PgUp")?(t.preventDefault(),t.stopPropagation(),this.userSeek_(this.player_.currentTime()+60)):e.prototype.handleKeyDown.call(this,t)},i.dispose=function(){this.disableInterval_(),this.off(this.player_,["ended","durationchange","timeupdate"],this.update),this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.update),this.off(this.player_,["playing"],this.enableIntervalHandler_),this.off(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in k.default&&"visibilityState"in k.default&&this.off(k.default,"visibilitychange",this.toggleVisibility_),e.prototype.dispose.call(this)},t}(vn);wn.prototype.options_={children:["loadProgressBar","playProgressBar"],barName:"playProgressBar"},Te||le||wn.prototype.options_.children.splice(1,0,"mouseTimeDisplay"),Kt.registerComponent("SeekBar",wn);var An=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).handleMouseMove=kt(Ct(I.default(n),n.handleMouseMove),30),n.throttledHandleMouseSeek=kt(Ct(I.default(n),n.handleMouseSeek),30),n.handleMouseUpHandler_=function(e){return n.handleMouseUp(e)},n.handleMouseDownHandler_=function(e){return n.handleMouseDown(e)},n.enable(),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-progress-control vjs-control"})},i.handleMouseMove=function(e){var t=this.getChild("seekBar");if(t){var i=t.getChild("playProgressBar"),n=t.getChild("mouseTimeDisplay");if(i||n){var r=t.el(),a=Ye(r),s=qe(r,e).x;s=gn(s,0,1),n&&n.update(a,s),i&&i.update(a,t.getProgress())}}},i.handleMouseSeek=function(e){var t=this.getChild("seekBar");t&&t.handleMouseMove(e)},i.enabled=function(){return this.enabled_},i.disable=function(){if(this.children().forEach((function(e){return e.disable&&e.disable()})),this.enabled()&&(this.off(["mousedown","touchstart"],this.handleMouseDownHandler_),this.off(this.el_,"mousemove",this.handleMouseMove),this.removeListenersAddedOnMousedownAndTouchstart(),this.addClass("disabled"),this.enabled_=!1,this.player_.scrubbing())){var e=this.getChild("seekBar");this.player_.scrubbing(!1),e.videoWasPlaying&&ii(this.player_.play())}},i.enable=function(){this.children().forEach((function(e){return e.enable&&e.enable()})),this.enabled()||(this.on(["mousedown","touchstart"],this.handleMouseDownHandler_),this.on(this.el_,"mousemove",this.handleMouseMove),this.removeClass("disabled"),this.enabled_=!0)},i.removeListenersAddedOnMousedownAndTouchstart=function(){var e=this.el_.ownerDocument;this.off(e,"mousemove",this.throttledHandleMouseSeek),this.off(e,"touchmove",this.throttledHandleMouseSeek),this.off(e,"mouseup",this.handleMouseUpHandler_),this.off(e,"touchend",this.handleMouseUpHandler_)},i.handleMouseDown=function(e){var t=this.el_.ownerDocument,i=this.getChild("seekBar");i&&i.handleMouseDown(e),this.on(t,"mousemove",this.throttledHandleMouseSeek),this.on(t,"touchmove",this.throttledHandleMouseSeek),this.on(t,"mouseup",this.handleMouseUpHandler_),this.on(t,"touchend",this.handleMouseUpHandler_)},i.handleMouseUp=function(e){var t=this.getChild("seekBar");t&&t.handleMouseUp(e),this.removeListenersAddedOnMousedownAndTouchstart()},t}(Kt);An.prototype.options_={children:["seekBar"]},Kt.registerComponent("ProgressControl",An);var Cn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,["enterpictureinpicture","leavepictureinpicture"],(function(e){return n.handlePictureInPictureChange(e)})),n.on(t,["disablepictureinpicturechanged","loadedmetadata"],(function(e){return n.handlePictureInPictureEnabledChange(e)})),n.disable(),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-picture-in-picture-control "+e.prototype.buildCSSClass.call(this)},i.handlePictureInPictureEnabledChange=function(){k.default.pictureInPictureEnabled&&!1===this.player_.disablePictureInPicture()?this.enable():this.disable()},i.handlePictureInPictureChange=function(e){this.player_.isInPictureInPicture()?this.controlText("Exit Picture-in-Picture"):this.controlText("Picture-in-Picture"),this.handlePictureInPictureEnabledChange()},i.handleClick=function(e){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture()},t}(nn);Cn.prototype.controlText_="Picture-in-Picture",Kt.registerComponent("PictureInPictureToggle",Cn);var kn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,"fullscreenchange",(function(e){return n.handleFullscreenChange(e)})),!1===k.default[t.fsApi_.fullscreenEnabled]&&n.disable(),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-fullscreen-control "+e.prototype.buildCSSClass.call(this)},i.handleFullscreenChange=function(e){this.player_.isFullscreen()?this.controlText("Non-Fullscreen"):this.controlText("Fullscreen")},i.handleClick=function(e){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen()},t}(nn);kn.prototype.controlText_="Fullscreen",Kt.registerComponent("FullscreenToggle",kn);var Pn=function(e){function t(){return e.apply(this,arguments)||this}return L.default(t,e),t.prototype.createEl=function(){var t=e.prototype.createEl.call(this,"div",{className:"vjs-volume-level"});return t.appendChild(e.prototype.createEl.call(this,"span",{className:"vjs-control-text"})),t},t}(Kt);Kt.registerComponent("VolumeLevel",Pn);var In=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-volume-tooltip"},{"aria-hidden":"true"})},i.update=function(e,t,i,n){if(!i){var r=We(this.el_),a=We(this.player_.el()),s=e.width*t;if(!a||!r)return;var o=e.left-a.left+s,u=e.width-s+(a.right-e.right),l=r.width/2;or.width&&(l=r.width),this.el_.style.right="-"+l+"px"}this.write(n+"%")},i.write=function(e){Re(this.el_,e)},i.updateVolume=function(e,t,i,n,r){var a=this;this.requestNamedAnimationFrame("VolumeLevelTooltip#updateVolume",(function(){a.update(e,t,i,n.toFixed(0)),r&&r()}))},t}(Kt);Kt.registerComponent("VolumeLevelTooltip",In);var Ln=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).update=kt(Ct(I.default(n),n.update),30),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"})},i.update=function(e,t,i){var n=this,r=100*t;this.getChild("volumeLevelTooltip").updateVolume(e,t,i,r,(function(){i?n.el_.style.bottom=e.height*t+"px":n.el_.style.left=e.width*t+"px"}))},t}(Kt);Ln.prototype.options_={children:["volumeLevelTooltip"]},Kt.registerComponent("MouseVolumeLevelDisplay",Ln);var xn=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on("slideractive",(function(e){return n.updateLastVolume_(e)})),n.on(t,"volumechange",(function(e){return n.updateARIAAttributes(e)})),t.ready((function(){return n.updateARIAAttributes()})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-volume-bar vjs-slider-bar"},{"aria-label":this.localize("Volume Level"),"aria-live":"polite"})},i.handleMouseDown=function(t){Ze(t)&&e.prototype.handleMouseDown.call(this,t)},i.handleMouseMove=function(e){var t=this.getChild("mouseVolumeLevelDisplay");if(t){var i=this.el(),n=We(i),r=this.vertical(),a=qe(i,e);a=r?a.y:a.x,a=gn(a,0,1),t.update(n,a,r)}Ze(e)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(e)))},i.checkMuted=function(){this.player_.muted()&&this.player_.muted(!1)},i.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},i.stepForward=function(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1)},i.stepBack=function(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1)},i.updateARIAAttributes=function(e){var t=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute("aria-valuenow",t),this.el_.setAttribute("aria-valuetext",t+"%")},i.volumeAsPercentage_=function(){return Math.round(100*this.player_.volume())},i.updateLastVolume_=function(){var e=this,t=this.player_.volume();this.one("sliderinactive",(function(){0===e.player_.volume()&&e.player_.lastVolume_(t)}))},t}(vn);xn.prototype.options_={children:["volumeLevel"],barName:"volumeLevel"},Te||le||xn.prototype.options_.children.splice(0,0,"mouseVolumeLevelDisplay"),xn.prototype.playerEvent="volumechange",Kt.registerComponent("VolumeBar",xn);var Rn=function(e){function t(t,i){var n;return void 0===i&&(i={}),i.vertical=i.vertical||!1,(void 0===i.volumeBar||te(i.volumeBar))&&(i.volumeBar=i.volumeBar||{},i.volumeBar.vertical=i.vertical),n=e.call(this,t,i)||this,function(e,t){t.tech_&&!t.tech_.featuresVolumeControl&&e.addClass("vjs-hidden"),e.on(t,"loadstart",(function(){t.tech_.featuresVolumeControl?e.removeClass("vjs-hidden"):e.addClass("vjs-hidden")}))}(I.default(n),t),n.throttledHandleMouseMove=kt(Ct(I.default(n),n.handleMouseMove),30),n.handleMouseUpHandler_=function(e){return n.handleMouseUp(e)},n.on("mousedown",(function(e){return n.handleMouseDown(e)})),n.on("touchstart",(function(e){return n.handleMouseDown(e)})),n.on("mousemove",(function(e){return n.handleMouseMove(e)})),n.on(n.volumeBar,["focus","slideractive"],(function(){n.volumeBar.addClass("vjs-slider-active"),n.addClass("vjs-slider-active"),n.trigger("slideractive")})),n.on(n.volumeBar,["blur","sliderinactive"],(function(){n.volumeBar.removeClass("vjs-slider-active"),n.removeClass("vjs-slider-active"),n.trigger("sliderinactive")})),n}L.default(t,e);var i=t.prototype;return i.createEl=function(){var t="vjs-volume-horizontal";return this.options_.vertical&&(t="vjs-volume-vertical"),e.prototype.createEl.call(this,"div",{className:"vjs-volume-control vjs-control "+t})},i.handleMouseDown=function(e){var t=this.el_.ownerDocument;this.on(t,"mousemove",this.throttledHandleMouseMove),this.on(t,"touchmove",this.throttledHandleMouseMove),this.on(t,"mouseup",this.handleMouseUpHandler_),this.on(t,"touchend",this.handleMouseUpHandler_)},i.handleMouseUp=function(e){var t=this.el_.ownerDocument;this.off(t,"mousemove",this.throttledHandleMouseMove),this.off(t,"touchmove",this.throttledHandleMouseMove),this.off(t,"mouseup",this.handleMouseUpHandler_),this.off(t,"touchend",this.handleMouseUpHandler_)},i.handleMouseMove=function(e){this.volumeBar.handleMouseMove(e)},t}(Kt);Rn.prototype.options_={children:["volumeBar"]},Kt.registerComponent("VolumeControl",Rn);var Dn=function(e){function t(t,i){var n;return n=e.call(this,t,i)||this,function(e,t){t.tech_&&!t.tech_.featuresMuteControl&&e.addClass("vjs-hidden"),e.on(t,"loadstart",(function(){t.tech_.featuresMuteControl?e.removeClass("vjs-hidden"):e.addClass("vjs-hidden")}))}(I.default(n),t),n.on(t,["loadstart","volumechange"],(function(e){return n.update(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-mute-control "+e.prototype.buildCSSClass.call(this)},i.handleClick=function(e){var t=this.player_.volume(),i=this.player_.lastVolume_();if(0===t){var n=i<.1?.1:i;this.player_.volume(n),this.player_.muted(!1)}else this.player_.muted(!this.player_.muted())},i.update=function(e){this.updateIcon_(),this.updateControlText_()},i.updateIcon_=function(){var e=this.player_.volume(),t=3;Te&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),0===e||this.player_.muted()?t=0:e<.33?t=1:e<.67&&(t=2);for(var i=0;i<4;i++)Me(this.el_,"vjs-vol-"+i);Ue(this.el_,"vjs-vol-"+t)},i.updateControlText_=function(){var e=this.player_.muted()||0===this.player_.volume()?"Unmute":"Mute";this.controlText()!==e&&this.controlText(e)},t}(nn);Dn.prototype.controlText_="Mute",Kt.registerComponent("MuteToggle",Dn);var On=function(e){function t(t,i){var n;return void 0===i&&(i={}),void 0!==i.inline?i.inline=i.inline:i.inline=!0,(void 0===i.volumeControl||te(i.volumeControl))&&(i.volumeControl=i.volumeControl||{},i.volumeControl.vertical=!i.inline),(n=e.call(this,t,i)||this).handleKeyPressHandler_=function(e){return n.handleKeyPress(e)},n.on(t,["loadstart"],(function(e){return n.volumePanelState_(e)})),n.on(n.muteToggle,"keyup",(function(e){return n.handleKeyPress(e)})),n.on(n.volumeControl,"keyup",(function(e){return n.handleVolumeControlKeyUp(e)})),n.on("keydown",(function(e){return n.handleKeyPress(e)})),n.on("mouseover",(function(e){return n.handleMouseOver(e)})),n.on("mouseout",(function(e){return n.handleMouseOut(e)})),n.on(n.volumeControl,["slideractive"],n.sliderActive_),n.on(n.volumeControl,["sliderinactive"],n.sliderInactive_),n}L.default(t,e);var i=t.prototype;return i.sliderActive_=function(){this.addClass("vjs-slider-active")},i.sliderInactive_=function(){this.removeClass("vjs-slider-active")},i.volumePanelState_=function(){this.volumeControl.hasClass("vjs-hidden")&&this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-hidden"),this.volumeControl.hasClass("vjs-hidden")&&!this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-mute-toggle-only")},i.createEl=function(){var t="vjs-volume-panel-horizontal";return this.options_.inline||(t="vjs-volume-panel-vertical"),e.prototype.createEl.call(this,"div",{className:"vjs-volume-panel vjs-control "+t})},i.dispose=function(){this.handleMouseOut(),e.prototype.dispose.call(this)},i.handleVolumeControlKeyUp=function(e){R.default.isEventKey(e,"Esc")&&this.muteToggle.focus()},i.handleMouseOver=function(e){this.addClass("vjs-hover"),yt(k.default,"keyup",this.handleKeyPressHandler_)},i.handleMouseOut=function(e){this.removeClass("vjs-hover"),bt(k.default,"keyup",this.handleKeyPressHandler_)},i.handleKeyPress=function(e){R.default.isEventKey(e,"Esc")&&this.handleMouseOut()},t}(Kt);On.prototype.options_={children:["muteToggle","volumeControl"]},Kt.registerComponent("VolumePanel",On);var Un=function(e){function t(t,i){var n;return n=e.call(this,t,i)||this,i&&(n.menuButton_=i.menuButton),n.focusedChild_=-1,n.on("keydown",(function(e){return n.handleKeyDown(e)})),n.boundHandleBlur_=function(e){return n.handleBlur(e)},n.boundHandleTapClick_=function(e){return n.handleTapClick(e)},n}L.default(t,e);var i=t.prototype;return i.addEventListenerForItem=function(e){e instanceof Kt&&(this.on(e,"blur",this.boundHandleBlur_),this.on(e,["tap","click"],this.boundHandleTapClick_))},i.removeEventListenerForItem=function(e){e instanceof Kt&&(this.off(e,"blur",this.boundHandleBlur_),this.off(e,["tap","click"],this.boundHandleTapClick_))},i.removeChild=function(t){"string"==typeof t&&(t=this.getChild(t)),this.removeEventListenerForItem(t),e.prototype.removeChild.call(this,t)},i.addItem=function(e){var t=this.addChild(e);t&&this.addEventListenerForItem(t)},i.createEl=function(){var t=this.options_.contentElType||"ul";this.contentEl_=xe(t,{className:"vjs-menu-content"}),this.contentEl_.setAttribute("role","menu");var i=e.prototype.createEl.call(this,"div",{append:this.contentEl_,className:"vjs-menu"});return i.appendChild(this.contentEl_),yt(i,"click",(function(e){e.preventDefault(),e.stopImmediatePropagation()})),i},i.dispose=function(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,e.prototype.dispose.call(this)},i.handleBlur=function(e){var t=e.relatedTarget||k.default.activeElement;if(!this.children().some((function(e){return e.el()===t}))){var i=this.menuButton_;i&&i.buttonPressed_&&t!==i.el().firstChild&&i.unpressButton()}},i.handleTapClick=function(e){if(this.menuButton_){this.menuButton_.unpressButton();var t=this.children();if(!Array.isArray(t))return;var i=t.filter((function(t){return t.el()===e.target}))[0];if(!i)return;"CaptionSettingsMenuItem"!==i.name()&&this.menuButton_.focus()}},i.handleKeyDown=function(e){R.default.isEventKey(e,"Left")||R.default.isEventKey(e,"Down")?(e.preventDefault(),e.stopPropagation(),this.stepForward()):(R.default.isEventKey(e,"Right")||R.default.isEventKey(e,"Up"))&&(e.preventDefault(),e.stopPropagation(),this.stepBack())},i.stepForward=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_+1),this.focus(e)},i.stepBack=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_-1),this.focus(e)},i.focus=function(e){void 0===e&&(e=0);var t=this.children().slice();t.length&&t[0].hasClass("vjs-menu-title")&&t.shift(),t.length>0&&(e<0?e=0:e>=t.length&&(e=t.length-1),this.focusedChild_=e,t[e].el_.focus())},t}(Kt);Kt.registerComponent("Menu",Un);var Mn=function(e){function t(t,i){var n;void 0===i&&(i={}),(n=e.call(this,t,i)||this).menuButton_=new nn(t,i),n.menuButton_.controlText(n.controlText_),n.menuButton_.el_.setAttribute("aria-haspopup","true");var r=nn.prototype.buildCSSClass();n.menuButton_.el_.className=n.buildCSSClass()+" "+r,n.menuButton_.removeClass("vjs-control"),n.addChild(n.menuButton_),n.update(),n.enabled_=!0;var a=function(e){return n.handleClick(e)};return n.handleMenuKeyUp_=function(e){return n.handleMenuKeyUp(e)},n.on(n.menuButton_,"tap",a),n.on(n.menuButton_,"click",a),n.on(n.menuButton_,"keydown",(function(e){return n.handleKeyDown(e)})),n.on(n.menuButton_,"mouseenter",(function(){n.addClass("vjs-hover"),n.menu.show(),yt(k.default,"keyup",n.handleMenuKeyUp_)})),n.on("mouseleave",(function(e){return n.handleMouseLeave(e)})),n.on("keydown",(function(e){return n.handleSubmenuKeyDown(e)})),n}L.default(t,e);var i=t.prototype;return i.update=function(){var e=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=e,this.addChild(e),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute("aria-expanded","false"),this.items&&this.items.length<=this.hideThreshold_?this.hide():this.show()},i.createMenu=function(){var e=new Un(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){var t=xe("li",{className:"vjs-menu-title",textContent:Ht(this.options_.title),tabIndex:-1}),i=new Kt(this.player_,{el:t});e.addItem(i)}if(this.items=this.createItems(),this.items)for(var n=0;n-1&&"showing"===a.mode){i=!1;break}}i!==this.isSelected_&&this.selected(i)},i.handleSelectedLanguageChange=function(e){for(var t=this.player().textTracks(),i=!0,n=0,r=t.length;n-1&&"showing"===a.mode){i=!1;break}}i&&(this.player_.cache_.selectedLanguage={enabled:!1})},t}(jn);Kt.registerComponent("OffTextTrackMenuItem",Vn);var Hn=function(e){function t(t,i){return void 0===i&&(i={}),i.tracks=t.textTracks(),e.call(this,t,i)||this}return L.default(t,e),t.prototype.createItems=function(e,t){var i;void 0===e&&(e=[]),void 0===t&&(t=jn),this.label_&&(i=this.label_+" off"),e.push(new Vn(this.player_,{kinds:this.kinds_,kind:this.kind_,label:i})),this.hideThreshold_+=1;var n=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(var r=0;r-1){var s=new t(this.player_,{track:a,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});s.addClass("vjs-"+a.kind+"-menu-item"),e.push(s)}}return e},t}(Fn);Kt.registerComponent("TextTrackButton",Hn);var zn=function(e){function t(t,i){var n,r=i.track,a=i.cue,s=t.currentTime();return i.selectable=!0,i.multiSelectable=!1,i.label=a.text,i.selected=a.startTime<=s&&s=0;t--){var i=e[t];if(i.kind===this.kind_)return i}},i.getMenuCaption=function(){return this.track_&&this.track_.label?this.track_.label:this.localize(Ht(this.kind_))},i.createMenu=function(){return this.options_.title=this.getMenuCaption(),e.prototype.createMenu.call(this)},i.createItems=function(){var e=[];if(!this.track_)return e;var t=this.track_.cues;if(!t)return e;for(var i=0,n=t.length;i-1&&(n.label_="captions"),n.menuButton_.controlText(Ht(n.label_)),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-subs-caps-button "+e.prototype.buildCSSClass.call(this)},i.buildWrapperCSSClass=function(){return"vjs-subs-caps-button "+e.prototype.buildWrapperCSSClass.call(this)},i.createItems=function(){var t=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild("textTrackSettings")||(t.push(new qn(this.player_,{kind:this.label_})),this.hideThreshold_+=1),t=e.prototype.createItems.call(this,t,Xn)},t}(Hn);Qn.prototype.kinds_=["captions","subtitles"],Qn.prototype.controlText_="Subtitles",Kt.registerComponent("SubsCapsButton",Qn);var $n=function(e){function t(t,i){var n,r=i.track,a=t.audioTracks();i.label=r.label||r.language||"Unknown",i.selected=r.enabled,(n=e.call(this,t,i)||this).track=r,n.addClass("vjs-"+r.kind+"-menu-item");var s=function(){for(var e=arguments.length,t=new Array(e),i=0;i=0;i--)t.push(new Zn(this.player(),{rate:e[i]+"x"}));return t},i.updateARIAAttributes=function(){this.el().setAttribute("aria-valuenow",this.player().playbackRate())},i.handleClick=function(e){for(var t=this.player().playbackRate(),i=this.playbackRates(),n=i[0],r=0;rt){n=i[r];break}this.player().playbackRate(n)},i.handlePlaybackRateschange=function(e){this.update()},i.playbackRates=function(){var e=this.player();return e.playbackRates&&e.playbackRates()||[]},i.playbackRateSupported=function(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&this.playbackRates().length>0},i.updateVisibility=function(e){this.playbackRateSupported()?this.removeClass("vjs-hidden"):this.addClass("vjs-hidden")},i.updateLabel=function(e){this.playbackRateSupported()&&(this.labelEl_.textContent=this.player().playbackRate()+"x")},t}(Mn);er.prototype.controlText_="Playback Rate",Kt.registerComponent("PlaybackRateMenuButton",er);var tr=function(e){function t(){return e.apply(this,arguments)||this}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-spacer "+e.prototype.buildCSSClass.call(this)},i.createEl=function(t,i,n){return void 0===t&&(t="div"),void 0===i&&(i={}),void 0===n&&(n={}),i.className||(i.className=this.buildCSSClass()),e.prototype.createEl.call(this,t,i,n)},t}(Kt);Kt.registerComponent("Spacer",tr);var ir=function(e){function t(){return e.apply(this,arguments)||this}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-custom-control-spacer "+e.prototype.buildCSSClass.call(this)},i.createEl=function(){return e.prototype.createEl.call(this,"div",{className:this.buildCSSClass(),textContent:" "})},t}(tr);Kt.registerComponent("CustomControlSpacer",ir);var nr=function(e){function t(){return e.apply(this,arguments)||this}return L.default(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,"div",{className:"vjs-control-bar",dir:"ltr"})},t}(Kt);nr.prototype.options_={children:["playToggle","volumePanel","currentTimeDisplay","timeDivider","durationDisplay","progressControl","liveDisplay","seekToLive","remainingTimeDisplay","customControlSpacer","playbackRateMenuButton","chaptersButton","descriptionsButton","subsCapsButton","audioTrackButton","fullscreenToggle"]},"exitPictureInPicture"in k.default&&nr.prototype.options_.children.splice(nr.prototype.options_.children.length-1,0,"pictureInPictureToggle"),Kt.registerComponent("ControlBar",nr);var rr=function(e){function t(t,i){var n;return(n=e.call(this,t,i)||this).on(t,"error",(function(e){return n.open(e)})),n}L.default(t,e);var i=t.prototype;return i.buildCSSClass=function(){return"vjs-error-display "+e.prototype.buildCSSClass.call(this)},i.content=function(){var e=this.player().error();return e?this.localize(e.message):""},t}(si);rr.prototype.options_=P.default({},si.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0}),Kt.registerComponent("ErrorDisplay",rr);var ar=["#000","Black"],sr=["#00F","Blue"],or=["#0FF","Cyan"],ur=["#0F0","Green"],lr=["#F0F","Magenta"],hr=["#F00","Red"],dr=["#FFF","White"],cr=["#FF0","Yellow"],fr=["1","Opaque"],pr=["0.5","Semi-Transparent"],mr=["0","Transparent"],_r={backgroundColor:{selector:".vjs-bg-color > select",id:"captions-background-color-%s",label:"Color",options:[ar,dr,hr,ur,sr,cr,lr,or]},backgroundOpacity:{selector:".vjs-bg-opacity > select",id:"captions-background-opacity-%s",label:"Transparency",options:[fr,pr,mr]},color:{selector:".vjs-fg-color > select",id:"captions-foreground-color-%s",label:"Color",options:[dr,ar,hr,ur,sr,cr,lr,or]},edgeStyle:{selector:".vjs-edge-style > select",id:"%s",label:"Text Edge Style",options:[["none","None"],["raised","Raised"],["depressed","Depressed"],["uniform","Uniform"],["dropshadow","Dropshadow"]]},fontFamily:{selector:".vjs-font-family > select",id:"captions-font-family-%s",label:"Font Family",options:[["proportionalSansSerif","Proportional Sans-Serif"],["monospaceSansSerif","Monospace Sans-Serif"],["proportionalSerif","Proportional Serif"],["monospaceSerif","Monospace Serif"],["casual","Casual"],["script","Script"],["small-caps","Small Caps"]]},fontPercent:{selector:".vjs-font-percent > select",id:"captions-font-size-%s",label:"Font Size",options:[["0.50","50%"],["0.75","75%"],["1.00","100%"],["1.25","125%"],["1.50","150%"],["1.75","175%"],["2.00","200%"],["3.00","300%"],["4.00","400%"]],default:2,parser:function(e){return"1.00"===e?null:Number(e)}},textOpacity:{selector:".vjs-text-opacity > select",id:"captions-foreground-opacity-%s",label:"Transparency",options:[fr,pr]},windowColor:{selector:".vjs-window-color > select",id:"captions-window-color-%s",label:"Color"},windowOpacity:{selector:".vjs-window-opacity > select",id:"captions-window-opacity-%s",label:"Transparency",options:[mr,pr,fr]}};function gr(e,t){if(t&&(e=t(e)),e&&"none"!==e)return e}_r.windowColor.options=_r.backgroundColor.options;var vr=function(e){function t(t,i){var n;return i.temporary=!1,(n=e.call(this,t,i)||this).updateDisplay=n.updateDisplay.bind(I.default(n)),n.fill(),n.hasBeenOpened_=n.hasBeenFilled_=!0,n.endDialog=xe("p",{className:"vjs-control-text",textContent:n.localize("End of dialog window.")}),n.el().appendChild(n.endDialog),n.setDefaults(),void 0===i.persistTextTrackSettings&&(n.options_.persistTextTrackSettings=n.options_.playerOptions.persistTextTrackSettings),n.on(n.$(".vjs-done-button"),"click",(function(){n.saveSettings(),n.close()})),n.on(n.$(".vjs-default-button"),"click",(function(){n.setDefaults(),n.updateDisplay()})),J(_r,(function(e){n.on(n.$(e.selector),"change",n.updateDisplay)})),n.options_.persistTextTrackSettings&&n.restoreSettings(),n}L.default(t,e);var i=t.prototype;return i.dispose=function(){this.endDialog=null,e.prototype.dispose.call(this)},i.createElSelect_=function(e,t,i){var n=this;void 0===t&&(t=""),void 0===i&&(i="label");var r=_r[e],a=r.id.replace("%s",this.id_),s=[t,a].join(" ").trim();return["<"+i+' id="'+a+'" class="'+("label"===i?"vjs-label":"")+'">',this.localize(r.label),"",'").join("")},i.createElFgColor_=function(){var e="captions-text-legend-"+this.id_;return['
','',this.localize("Text"),"",this.createElSelect_("color",e),'',this.createElSelect_("textOpacity",e),"","
"].join("")},i.createElBgColor_=function(){var e="captions-background-"+this.id_;return['
','',this.localize("Background"),"",this.createElSelect_("backgroundColor",e),'',this.createElSelect_("backgroundOpacity",e),"","
"].join("")},i.createElWinColor_=function(){var e="captions-window-"+this.id_;return['
','',this.localize("Window"),"",this.createElSelect_("windowColor",e),'',this.createElSelect_("windowOpacity",e),"","
"].join("")},i.createElColors_=function(){return xe("div",{className:"vjs-track-settings-colors",innerHTML:[this.createElFgColor_(),this.createElBgColor_(),this.createElWinColor_()].join("")})},i.createElFont_=function(){return xe("div",{className:"vjs-track-settings-font",innerHTML:['
',this.createElSelect_("fontPercent","","legend"),"
",'
',this.createElSelect_("edgeStyle","","legend"),"
",'
',this.createElSelect_("fontFamily","","legend"),"
"].join("")})},i.createElControls_=function(){var e=this.localize("restore all settings to the default values");return xe("div",{className:"vjs-track-settings-controls",innerHTML:['",'"].join("")})},i.content=function(){return[this.createElColors_(),this.createElFont_(),this.createElControls_()]},i.label=function(){return this.localize("Caption Settings Dialog")},i.description=function(){return this.localize("Beginning of dialog window. Escape will cancel and close the window.")},i.buildCSSClass=function(){return e.prototype.buildCSSClass.call(this)+" vjs-text-track-settings"},i.getValues=function(){var e,t,i,n=this;return t=function(e,t,i){var r,a,s=(r=n.$(t.selector),a=t.parser,gr(r.options[r.options.selectedIndex].value,a));return void 0!==s&&(e[i]=s),e},void 0===(i={})&&(i=0),$(e=_r).reduce((function(i,n){return t(i,e[n],n)}),i)},i.setValues=function(e){var t=this;J(_r,(function(i,n){!function(e,t,i){if(t)for(var n=0;nthis.options_.liveTolerance;this.timeupdateSeen_&&n!==1/0||(a=!1),a!==this.behindLiveEdge_&&(this.behindLiveEdge_=a,this.trigger("liveedgechange"))}},i.handleDurationchange=function(){this.toggleTracking()},i.toggleTracking=function(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass("vjs-liveui"),this.startTracking()):(this.player_.removeClass("vjs-liveui"),this.stopTracking())},i.startTracking=function(){this.isTracking()||(this.timeupdateSeen_||(this.timeupdateSeen_=this.player_.hasStarted()),this.trackingInterval_=this.setInterval(this.trackLiveHandler_,30),this.trackLive_(),this.on(this.player_,["play","pause"],this.trackLiveHandler_),this.timeupdateSeen_?this.on(this.player_,"seeked",this.handleSeeked_):(this.one(this.player_,"play",this.handlePlay_),this.one(this.player_,"timeupdate",this.handleFirstTimeupdate_)))},i.handleFirstTimeupdate=function(){this.timeupdateSeen_=!0,this.on(this.player_,"seeked",this.handleSeeked_)},i.handleSeeked=function(){var e=Math.abs(this.liveCurrentTime()-this.player_.currentTime());this.seekedBehindLive_=this.nextSeekedFromUser_&&e>2,this.nextSeekedFromUser_=!1,this.trackLive_()},i.handlePlay=function(){this.one(this.player_,"timeupdate",this.seekToLiveEdge_)},i.reset_=function(){this.lastTime_=-1,this.pastSeekEnd_=0,this.lastSeekEnd_=-1,this.behindLiveEdge_=!0,this.timeupdateSeen_=!1,this.seekedBehindLive_=!1,this.nextSeekedFromUser_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.off(this.player_,["play","pause"],this.trackLiveHandler_),this.off(this.player_,"seeked",this.handleSeeked_),this.off(this.player_,"play",this.handlePlay_),this.off(this.player_,"timeupdate",this.handleFirstTimeupdate_),this.off(this.player_,"timeupdate",this.seekToLiveEdge_)},i.nextSeekedFromUser=function(){this.nextSeekedFromUser_=!0},i.stopTracking=function(){this.isTracking()&&(this.reset_(),this.trigger("liveedgechange"))},i.seekableEnd=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.end(i));return t.length?t.sort()[t.length-1]:1/0},i.seekableStart=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.start(i));return t.length?t.sort()[0]:0},i.liveWindow=function(){var e=this.liveCurrentTime();return e===1/0?0:e-this.seekableStart()},i.isLive=function(){return this.isTracking()},i.atLiveEdge=function(){return!this.behindLiveEdge()},i.liveCurrentTime=function(){return this.pastSeekEnd()+this.seekableEnd()},i.pastSeekEnd=function(){var e=this.seekableEnd();return-1!==this.lastSeekEnd_&&e!==this.lastSeekEnd_&&(this.pastSeekEnd_=0),this.lastSeekEnd_=e,this.pastSeekEnd_},i.behindLiveEdge=function(){return this.behindLiveEdge_},i.isTracking=function(){return"number"==typeof this.trackingInterval_},i.seekToLiveEdge=function(){this.seekedBehindLive_=!1,this.atLiveEdge()||(this.nextSeekedFromUser_=!1,this.player_.currentTime(this.liveCurrentTime()))},i.dispose=function(){this.off(k.default,"visibilitychange",this.handleVisibilityChange_),this.stopTracking(),e.prototype.dispose.call(this)},t}(Kt);Kt.registerComponent("LiveTracker",Sr);var Tr,Er=function(e){var t=e.el();if(t.hasAttribute("src"))return e.triggerSourceset(t.src),!0;var i=e.$$("source"),n=[],r="";if(!i.length)return!1;for(var a=0;a=2&&r.push("loadeddata"),e.readyState>=3&&r.push("canplay"),e.readyState>=4&&r.push("canplaythrough"),this.ready((function(){r.forEach((function(e){this.trigger(e)}),this)}))}},i.setScrubbing=function(e){this.isScrubbing_=e},i.scrubbing=function(){return this.isScrubbing_},i.setCurrentTime=function(e){try{this.isScrubbing_&&this.el_.fastSeek&&Ee?this.el_.fastSeek(e):this.el_.currentTime=e}catch(e){K(e,"Video is not ready. (Video.js)")}},i.duration=function(){var e=this;if(this.el_.duration===1/0&&le&&pe&&0===this.el_.currentTime){return this.on("timeupdate",(function t(){e.el_.currentTime>0&&(e.el_.duration===1/0&&e.trigger("durationchange"),e.off("timeupdate",t))})),NaN}return this.el_.duration||NaN},i.width=function(){return this.el_.offsetWidth},i.height=function(){return this.el_.offsetHeight},i.proxyWebkitFullscreen_=function(){var e=this;if("webkitDisplayingFullscreen"in this.el_){var t=function(){this.trigger("fullscreenchange",{isFullscreen:!1})},i=function(){"webkitPresentationMode"in this.el_&&"picture-in-picture"!==this.el_.webkitPresentationMode&&(this.one("webkitendfullscreen",t),this.trigger("fullscreenchange",{isFullscreen:!0,nativeIOSFullscreen:!0}))};this.on("webkitbeginfullscreen",i),this.on("dispose",(function(){e.off("webkitbeginfullscreen",i),e.off("webkitendfullscreen",t)}))}},i.supportsFullScreen=function(){if("function"==typeof this.el_.webkitEnterFullScreen){var e=C.default.navigator&&C.default.navigator.userAgent||"";if(/Android/.test(e)||!/Chrome|Mac OS X 10.5/.test(e))return!0}return!1},i.enterFullScreen=function(){var e=this.el_;if(e.paused&&e.networkState<=e.HAVE_METADATA)ii(this.el_.play()),this.setTimeout((function(){e.pause();try{e.webkitEnterFullScreen()}catch(e){this.trigger("fullscreenerror",e)}}),0);else try{e.webkitEnterFullScreen()}catch(e){this.trigger("fullscreenerror",e)}},i.exitFullScreen=function(){this.el_.webkitDisplayingFullscreen?this.el_.webkitExitFullScreen():this.trigger("fullscreenerror",new Error("The video is not fullscreen"))},i.requestPictureInPicture=function(){return this.el_.requestPictureInPicture()},i.src=function(e){if(void 0===e)return this.el_.src;this.setSrc(e)},i.reset=function(){t.resetMediaElement(this.el_)},i.currentSrc=function(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc},i.setControls=function(e){this.el_.controls=!!e},i.addTextTrack=function(t,i,n){return this.featuresNativeTextTracks?this.el_.addTextTrack(t,i,n):e.prototype.addTextTrack.call(this,t,i,n)},i.createRemoteTextTrack=function(t){if(!this.featuresNativeTextTracks)return e.prototype.createRemoteTextTrack.call(this,t);var i=k.default.createElement("track");return t.kind&&(i.kind=t.kind),t.label&&(i.label=t.label),(t.language||t.srclang)&&(i.srclang=t.language||t.srclang),t.default&&(i.default=t.default),t.id&&(i.id=t.id),t.src&&(i.src=t.src),i},i.addRemoteTextTrack=function(t,i){var n=e.prototype.addRemoteTextTrack.call(this,t,i);return this.featuresNativeTextTracks&&this.el().appendChild(n),n},i.removeRemoteTextTrack=function(t){if(e.prototype.removeRemoteTextTrack.call(this,t),this.featuresNativeTextTracks)for(var i=this.$$("track"),n=i.length;n--;)t!==i[n]&&t!==i[n].track||this.el().removeChild(i[n])},i.getVideoPlaybackQuality=function(){if("function"==typeof this.el().getVideoPlaybackQuality)return this.el().getVideoPlaybackQuality();var e={};return void 0!==this.el().webkitDroppedFrameCount&&void 0!==this.el().webkitDecodedFrameCount&&(e.droppedVideoFrames=this.el().webkitDroppedFrameCount,e.totalVideoFrames=this.el().webkitDecodedFrameCount),C.default.performance&&"function"==typeof C.default.performance.now?e.creationTime=C.default.performance.now():C.default.performance&&C.default.performance.timing&&"number"==typeof C.default.performance.timing.navigationStart&&(e.creationTime=C.default.Date.now()-C.default.performance.timing.navigationStart),e},t}(Ui);Ir(Lr,"TEST_VID",(function(){if(ke()){var e=k.default.createElement("video"),t=k.default.createElement("track");return t.kind="captions",t.srclang="en",t.label="English",e.appendChild(t),e}})),Lr.isSupported=function(){try{Lr.TEST_VID.volume=.5}catch(e){return!1}return!(!Lr.TEST_VID||!Lr.TEST_VID.canPlayType)},Lr.canPlayType=function(e){return Lr.TEST_VID.canPlayType(e)},Lr.canPlaySource=function(e,t){return Lr.canPlayType(e.type)},Lr.canControlVolume=function(){try{var e=Lr.TEST_VID.volume;return Lr.TEST_VID.volume=e/2+.1,e!==Lr.TEST_VID.volume}catch(e){return!1}},Lr.canMuteVolume=function(){try{var e=Lr.TEST_VID.muted;return Lr.TEST_VID.muted=!e,Lr.TEST_VID.muted?Ve(Lr.TEST_VID,"muted","muted"):He(Lr.TEST_VID,"muted"),e!==Lr.TEST_VID.muted}catch(e){return!1}},Lr.canControlPlaybackRate=function(){if(le&&pe&&me<58)return!1;try{var e=Lr.TEST_VID.playbackRate;return Lr.TEST_VID.playbackRate=e/2+.1,e!==Lr.TEST_VID.playbackRate}catch(e){return!1}},Lr.canOverrideAttributes=function(){try{var e=function(){};Object.defineProperty(k.default.createElement("video"),"src",{get:e,set:e}),Object.defineProperty(k.default.createElement("audio"),"src",{get:e,set:e}),Object.defineProperty(k.default.createElement("video"),"innerHTML",{get:e,set:e}),Object.defineProperty(k.default.createElement("audio"),"innerHTML",{get:e,set:e})}catch(e){return!1}return!0},Lr.supportsNativeTextTracks=function(){return Ee||Te&&pe},Lr.supportsNativeVideoTracks=function(){return!(!Lr.TEST_VID||!Lr.TEST_VID.videoTracks)},Lr.supportsNativeAudioTracks=function(){return!(!Lr.TEST_VID||!Lr.TEST_VID.audioTracks)},Lr.Events=["loadstart","suspend","abort","error","emptied","stalled","loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","seeking","seeked","ended","durationchange","timeupdate","progress","play","pause","ratechange","resize","volumechange"],[["featuresVolumeControl","canControlVolume"],["featuresMuteControl","canMuteVolume"],["featuresPlaybackRate","canControlPlaybackRate"],["featuresSourceset","canOverrideAttributes"],["featuresNativeTextTracks","supportsNativeTextTracks"],["featuresNativeVideoTracks","supportsNativeVideoTracks"],["featuresNativeAudioTracks","supportsNativeAudioTracks"]].forEach((function(e){var t=e[0],i=e[1];Ir(Lr.prototype,t,(function(){return Lr[i]()}),!0)})),Lr.prototype.movingMediaElementInDOM=!Te,Lr.prototype.featuresFullscreenResize=!0,Lr.prototype.featuresProgressEvents=!0,Lr.prototype.featuresTimeupdateEvents=!0,Lr.patchCanPlayType=function(){he>=4&&!ce&&!pe&&(Tr=Lr.TEST_VID&&Lr.TEST_VID.constructor.prototype.canPlayType,Lr.TEST_VID.constructor.prototype.canPlayType=function(e){return e&&/^application\/(?:x-|vnd\.apple\.)mpegurl/i.test(e)?"maybe":Tr.call(this,e)})},Lr.unpatchCanPlayType=function(){var e=Lr.TEST_VID.constructor.prototype.canPlayType;return Tr&&(Lr.TEST_VID.constructor.prototype.canPlayType=Tr),e},Lr.patchCanPlayType(),Lr.disposeMediaElement=function(e){if(e){for(e.parentNode&&e.parentNode.removeChild(e);e.hasChildNodes();)e.removeChild(e.firstChild);e.removeAttribute("src"),"function"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},Lr.resetMediaElement=function(e){if(e){for(var t=e.querySelectorAll("source"),i=t.length;i--;)e.removeChild(t[i]);e.removeAttribute("src"),"function"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},["muted","defaultMuted","autoplay","controls","loop","playsinline"].forEach((function(e){Lr.prototype[e]=function(){return this.el_[e]||this.el_.hasAttribute(e)}})),["muted","defaultMuted","autoplay","loop","playsinline"].forEach((function(e){Lr.prototype["set"+Ht(e)]=function(t){this.el_[e]=t,t?this.el_.setAttribute(e,e):this.el_.removeAttribute(e)}})),["paused","currentTime","buffered","volume","poster","preload","error","seeking","seekable","ended","playbackRate","defaultPlaybackRate","disablePictureInPicture","played","networkState","readyState","videoWidth","videoHeight","crossOrigin"].forEach((function(e){Lr.prototype[e]=function(){return this.el_[e]}})),["volume","src","poster","preload","playbackRate","defaultPlaybackRate","disablePictureInPicture","crossOrigin"].forEach((function(e){Lr.prototype["set"+Ht(e)]=function(t){this.el_[e]=t}})),["pause","load","play"].forEach((function(e){Lr.prototype[e]=function(){return this.el_[e]()}})),Ui.withSourceHandlers(Lr),Lr.nativeSourceHandler={},Lr.nativeSourceHandler.canPlayType=function(e){try{return Lr.TEST_VID.canPlayType(e)}catch(e){return""}},Lr.nativeSourceHandler.canHandleSource=function(e,t){if(e.type)return Lr.nativeSourceHandler.canPlayType(e.type);if(e.src){var i=Ei(e.src);return Lr.nativeSourceHandler.canPlayType("video/"+i)}return""},Lr.nativeSourceHandler.handleSource=function(e,t,i){t.setSrc(e.src)},Lr.nativeSourceHandler.dispose=function(){},Lr.registerSourceHandler(Lr.nativeSourceHandler),Ui.registerTech("Html5",Lr);var xr=["progress","abort","suspend","emptied","stalled","loadedmetadata","loadeddata","timeupdate","resize","volumechange","texttrackchange"],Rr={canplay:"CanPlay",canplaythrough:"CanPlayThrough",playing:"Playing",seeked:"Seeked"},Dr=["tiny","xsmall","small","medium","large","xlarge","huge"],Or={};Dr.forEach((function(e){var t="x"===e.charAt(0)?"x-"+e.substring(1):e;Or[e]="vjs-layout-"+t}));var Ur={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0},Mr=function(e){function t(i,n,r){var a;if(i.id=i.id||n.id||"vjs_video_"+ct(),(n=Z(t.getTagSettings(i),n)).initChildren=!1,n.createEl=!1,n.evented=!1,n.reportTouchActivity=!1,!n.language)if("function"==typeof i.closest){var s=i.closest("[lang]");s&&s.getAttribute&&(n.language=s.getAttribute("lang"))}else for(var o=i;o&&1===o.nodeType;){if(Ne(o).hasOwnProperty("lang")){n.language=o.getAttribute("lang");break}o=o.parentNode}if((a=e.call(this,null,n,r)||this).boundDocumentFullscreenChange_=function(e){return a.documentFullscreenChange_(e)},a.boundFullWindowOnEscKey_=function(e){return a.fullWindowOnEscKey(e)},a.boundUpdateStyleEl_=function(e){return a.updateStyleEl_(e)},a.boundApplyInitTime_=function(e){return a.applyInitTime_(e)},a.boundUpdateCurrentBreakpoint_=function(e){return a.updateCurrentBreakpoint_(e)},a.boundHandleTechClick_=function(e){return a.handleTechClick_(e)},a.boundHandleTechDoubleClick_=function(e){return a.handleTechDoubleClick_(e)},a.boundHandleTechTouchStart_=function(e){return a.handleTechTouchStart_(e)},a.boundHandleTechTouchMove_=function(e){return a.handleTechTouchMove_(e)},a.boundHandleTechTouchEnd_=function(e){return a.handleTechTouchEnd_(e)},a.boundHandleTechTap_=function(e){return a.handleTechTap_(e)},a.isFullscreen_=!1,a.log=X(a.id_),a.fsApi_=H,a.isPosterFromTech_=!1,a.queuedCallbacks_=[],a.isReady_=!1,a.hasStarted_=!1,a.userActive_=!1,a.debugEnabled_=!1,!a.options_||!a.options_.techOrder||!a.options_.techOrder.length)throw new Error("No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?");if(a.tag=i,a.tagAttributes=i&&Ne(i),a.language(a.options_.language),n.languages){var u={};Object.getOwnPropertyNames(n.languages).forEach((function(e){u[e.toLowerCase()]=n.languages[e]})),a.languages_=u}else a.languages_=t.prototype.options_.languages;a.resetCache_(),a.poster_=n.poster||"",a.controls_=!!n.controls,i.controls=!1,i.removeAttribute("controls"),a.changingSrc_=!1,a.playCallbacks_=[],a.playTerminatedQueue_=[],i.hasAttribute("autoplay")?a.autoplay(!0):a.autoplay(a.options_.autoplay),n.plugins&&Object.keys(n.plugins).forEach((function(e){if("function"!=typeof a[e])throw new Error('plugin "'+e+'" does not exist')})),a.scrubbing_=!1,a.el_=a.createEl(),Bt(I.default(a),{eventBusKey:"el_"}),a.fsApi_.requestFullscreen&&(yt(k.default,a.fsApi_.fullscreenchange,a.boundDocumentFullscreenChange_),a.on(a.fsApi_.fullscreenchange,a.boundDocumentFullscreenChange_)),a.fluid_&&a.on(["playerreset","resize"],a.boundUpdateStyleEl_);var l=zt(a.options_);n.plugins&&Object.keys(n.plugins).forEach((function(e){a[e](n.plugins[e])})),n.debug&&a.debug(!0),a.options_.playerOptions=l,a.middleware_=[],a.playbackRates(n.playbackRates),a.initChildren(),a.isAudio("audio"===i.nodeName.toLowerCase()),a.controls()?a.addClass("vjs-controls-enabled"):a.addClass("vjs-controls-disabled"),a.el_.setAttribute("role","region"),a.isAudio()?a.el_.setAttribute("aria-label",a.localize("Audio Player")):a.el_.setAttribute("aria-label",a.localize("Video Player")),a.isAudio()&&a.addClass("vjs-audio"),a.flexNotSupported_()&&a.addClass("vjs-no-flex"),ye&&a.addClass("vjs-touch-enabled"),Te||a.addClass("vjs-workinghover"),t.players[a.id_]=I.default(a);var h="7.15.4".split(".")[0];return a.addClass("vjs-v"+h),a.userActive(!0),a.reportUserActivity(),a.one("play",(function(e){return a.listenForUserActivity_(e)})),a.on("stageclick",(function(e){return a.handleStageClick_(e)})),a.on("keydown",(function(e){return a.handleKeyDown(e)})),a.on("languagechange",(function(e){return a.handleLanguagechange(e)})),a.breakpoints(a.options_.breakpoints),a.responsive(a.options_.responsive),a}L.default(t,e);var i=t.prototype;return i.dispose=function(){var i=this;this.trigger("dispose"),this.off("dispose"),bt(k.default,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),bt(k.default,"keydown",this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),t.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=""),this.playerElIngest_&&(this.playerElIngest_=null),this.tag&&(this.tag=null),Fi[this.id()]=null,Oi.names.forEach((function(e){var t=Oi[e],n=i[t.getterName]();n&&n.off&&n.off()})),e.prototype.dispose.call(this)},i.createEl=function(){var t,i=this.tag,n=this.playerElIngest_=i.parentNode&&i.parentNode.hasAttribute&&i.parentNode.hasAttribute("data-vjs-player"),r="video-js"===this.tag.tagName.toLowerCase();n?t=this.el_=i.parentNode:r||(t=this.el_=e.prototype.createEl.call(this,"div"));var a=Ne(i);if(r){for(t=this.el_=i,i=this.tag=k.default.createElement("video");t.children.length;)i.appendChild(t.firstChild);Oe(t,"video-js")||Ue(t,"video-js"),t.appendChild(i),n=this.playerElIngest_=t,Object.keys(t).forEach((function(e){try{i[e]=t[e]}catch(e){}}))}if(i.setAttribute("tabindex","-1"),a.tabindex="-1",(_e||pe&&ve)&&(i.setAttribute("role","application"),a.role="application"),i.removeAttribute("width"),i.removeAttribute("height"),"width"in a&&delete a.width,"height"in a&&delete a.height,Object.getOwnPropertyNames(a).forEach((function(e){r&&"class"===e||t.setAttribute(e,a[e]),r&&i.setAttribute(e,a[e])})),i.playerId=i.id,i.id+="_html5_api",i.className="vjs-tech",i.player=t.player=this,this.addClass("vjs-paused"),!0!==C.default.VIDEOJS_NO_DYNAMIC_STYLE){this.styleEl_=lt("vjs-styles-dimensions");var s=tt(".vjs-styles-defaults"),o=tt("head");o.insertBefore(this.styleEl_,s?s.nextSibling:o.firstChild)}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),this.crossOrigin(this.options_.crossOrigin||this.options_.crossorigin);for(var u=i.getElementsByTagName("a"),l=0;l0?this.videoWidth()+":"+this.videoHeight():"16:9").split(":"),r=n[1]/n[0];e=void 0!==this.width_?this.width_:void 0!==this.height_?this.height_/r:this.videoWidth()||300,t=void 0!==this.height_?this.height_:e*r,i=/^[^a-zA-Z]/.test(this.id())?"dimensions-"+this.id():this.id()+"-dimensions",this.addClass(i),ht(this.styleEl_,"\n ."+i+" {\n width: "+e+"px;\n height: "+t+"px;\n }\n\n ."+i+".vjs-fluid {\n padding-top: "+100*r+"%;\n }\n ")}else{var a="number"==typeof this.width_?this.width_:this.options_.width,s="number"==typeof this.height_?this.height_:this.options_.height,o=this.tech_&&this.tech_.el();o&&(a>=0&&(o.width=a),s>=0&&(o.height=s))}},i.loadTech_=function(e,t){var i=this;this.tech_&&this.unloadTech_();var n=Ht(e),r=e.charAt(0).toLowerCase()+e.slice(1);"Html5"!==n&&this.tag&&(Ui.getTech("Html5").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=n,this.isReady_=!1;var a=this.autoplay();("string"==typeof this.autoplay()||!0===this.autoplay()&&this.options_.normalizeAutoplay)&&(a=!1);var s={source:t,autoplay:a,nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:this.id()+"_"+r+"_api",playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,disablePictureInPicture:this.options_.disablePictureInPicture,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,"vtt.js":this.options_["vtt.js"],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset,Promise:this.options_.Promise};Oi.names.forEach((function(e){var t=Oi[e];s[t.getterName]=i[t.privateName]})),Z(s,this.options_[n]),Z(s,this.options_[r]),Z(s,this.options_[e.toLowerCase()]),this.tag&&(s.tag=this.tag),t&&t.src===this.cache_.src&&this.cache_.currentTime>0&&(s.startTime=this.cache_.currentTime);var o=Ui.getTech(e);if(!o)throw new Error("No Tech named '"+n+"' exists! '"+n+"' should be registered using videojs.registerTech()'");this.tech_=new o(s),this.tech_.ready(Ct(this,this.handleTechReady_),!0),ai(this.textTracksJson_||[],this.tech_),xr.forEach((function(e){i.on(i.tech_,e,(function(t){return i["handleTech"+Ht(e)+"_"](t)}))})),Object.keys(Rr).forEach((function(e){i.on(i.tech_,e,(function(t){0===i.tech_.playbackRate()&&i.tech_.seeking()?i.queuedCallbacks_.push({callback:i["handleTech"+Rr[e]+"_"].bind(i),event:t}):i["handleTech"+Rr[e]+"_"](t)}))})),this.on(this.tech_,"loadstart",(function(e){return i.handleTechLoadStart_(e)})),this.on(this.tech_,"sourceset",(function(e){return i.handleTechSourceset_(e)})),this.on(this.tech_,"waiting",(function(e){return i.handleTechWaiting_(e)})),this.on(this.tech_,"ended",(function(e){return i.handleTechEnded_(e)})),this.on(this.tech_,"seeking",(function(e){return i.handleTechSeeking_(e)})),this.on(this.tech_,"play",(function(e){return i.handleTechPlay_(e)})),this.on(this.tech_,"firstplay",(function(e){return i.handleTechFirstPlay_(e)})),this.on(this.tech_,"pause",(function(e){return i.handleTechPause_(e)})),this.on(this.tech_,"durationchange",(function(e){return i.handleTechDurationChange_(e)})),this.on(this.tech_,"fullscreenchange",(function(e,t){return i.handleTechFullscreenChange_(e,t)})),this.on(this.tech_,"fullscreenerror",(function(e,t){return i.handleTechFullscreenError_(e,t)})),this.on(this.tech_,"enterpictureinpicture",(function(e){return i.handleTechEnterPictureInPicture_(e)})),this.on(this.tech_,"leavepictureinpicture",(function(e){return i.handleTechLeavePictureInPicture_(e)})),this.on(this.tech_,"error",(function(e){return i.handleTechError_(e)})),this.on(this.tech_,"posterchange",(function(e){return i.handleTechPosterChange_(e)})),this.on(this.tech_,"textdata",(function(e){return i.handleTechTextData_(e)})),this.on(this.tech_,"ratechange",(function(e){return i.handleTechRateChange_(e)})),this.on(this.tech_,"loadedmetadata",this.boundUpdateStyleEl_),this.usingNativeControls(this.techGet_("controls")),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode===this.el()||"Html5"===n&&this.tag||De(this.tech_.el(),this.el()),this.tag&&(this.tag.player=null,this.tag=null)},i.unloadTech_=function(){var e=this;Oi.names.forEach((function(t){var i=Oi[t];e[i.privateName]=e[i.getterName]()})),this.textTracksJson_=ri(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_="",this.trigger("posterchange")),this.isPosterFromTech_=!1},i.tech=function(e){return void 0===e&&K.warn("Using the tech directly can be dangerous. I hope you know what you're doing.\nSee https://github.com/videojs/video.js/issues/2617 for more info.\n"),this.tech_},i.addTechControlsListeners_=function(){this.removeTechControlsListeners_(),this.on(this.tech_,"click",this.boundHandleTechClick_),this.on(this.tech_,"dblclick",this.boundHandleTechDoubleClick_),this.on(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.on(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.on(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.on(this.tech_,"tap",this.boundHandleTechTap_)},i.removeTechControlsListeners_=function(){this.off(this.tech_,"tap",this.boundHandleTechTap_),this.off(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.off(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.off(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.off(this.tech_,"click",this.boundHandleTechClick_),this.off(this.tech_,"dblclick",this.boundHandleTechDoubleClick_)},i.handleTechReady_=function(){this.triggerReady(),this.cache_.volume&&this.techCall_("setVolume",this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_()},i.handleTechLoadStart_=function(){this.removeClass("vjs-ended"),this.removeClass("vjs-seeking"),this.error(null),this.handleTechDurationChange_(),this.paused()?(this.hasStarted(!1),this.trigger("loadstart")):(this.trigger("loadstart"),this.trigger("firstplay")),this.manualAutoplay_(!0===this.autoplay()&&this.options_.normalizeAutoplay?"play":this.autoplay())},i.manualAutoplay_=function(e){var t=this;if(this.tech_&&"string"==typeof e){var i,n=function(){var e=t.muted();t.muted(!0);var i=function(){t.muted(e)};t.playTerminatedQueue_.push(i);var n=t.play();if(ti(n))return n.catch((function(e){throw i(),new Error("Rejection at manualAutoplay. Restoring muted value. "+(e||""))}))};if("any"!==e||this.muted()?i="muted"!==e||this.muted()?this.play():n():ti(i=this.play())&&(i=i.catch(n)),ti(i))return i.then((function(){t.trigger({type:"autoplay-success",autoplay:e})})).catch((function(){t.trigger({type:"autoplay-failure",autoplay:e})}))}},i.updateSourceCaches_=function(e){void 0===e&&(e="");var t=e,i="";"string"!=typeof t&&(t=e.src,i=e.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],t&&!i&&(i=function(e,t){if(!t)return"";if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;var i=e.cache_.sources.filter((function(e){return e.src===t}));if(i.length)return i[0].type;for(var n=e.$$("source"),r=0;r0&&0===this.cache_.lastPlaybackRate&&(this.queuedCallbacks_.forEach((function(e){return e.callback(e.event)})),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger("ratechange")},i.handleTechWaiting_=function(){var e=this;this.addClass("vjs-waiting"),this.trigger("waiting");var t=this.currentTime();this.on("timeupdate",(function i(){t!==e.currentTime()&&(e.removeClass("vjs-waiting"),e.off("timeupdate",i))}))},i.handleTechCanPlay_=function(){this.removeClass("vjs-waiting"),this.trigger("canplay")},i.handleTechCanPlayThrough_=function(){this.removeClass("vjs-waiting"),this.trigger("canplaythrough")},i.handleTechPlaying_=function(){this.removeClass("vjs-waiting"),this.trigger("playing")},i.handleTechSeeking_=function(){this.addClass("vjs-seeking"),this.trigger("seeking")},i.handleTechSeeked_=function(){this.removeClass("vjs-seeking"),this.removeClass("vjs-ended"),this.trigger("seeked")},i.handleTechFirstPlay_=function(){this.options_.starttime&&(K.warn("Passing the `starttime` option to the player will be deprecated in 6.0"),this.currentTime(this.options_.starttime)),this.addClass("vjs-has-started"),this.trigger("firstplay")},i.handleTechPause_=function(){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.trigger("pause")},i.handleTechEnded_=function(){this.addClass("vjs-ended"),this.removeClass("vjs-waiting"),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger("ended")},i.handleTechDurationChange_=function(){this.duration(this.techGet_("duration"))},i.handleTechClick_=function(e){this.controls_&&(this.paused()?ii(this.play()):this.pause())},i.handleTechDoubleClick_=function(e){this.controls_&&(Array.prototype.some.call(this.$$(".vjs-control-bar, .vjs-modal-dialog"),(function(t){return t.contains(e.target)}))||void 0!==this.options_&&void 0!==this.options_.userActions&&void 0!==this.options_.userActions.doubleClick&&!1===this.options_.userActions.doubleClick||(void 0!==this.options_&&void 0!==this.options_.userActions&&"function"==typeof this.options_.userActions.doubleClick?this.options_.userActions.doubleClick.call(this,e):this.isFullscreen()?this.exitFullscreen():this.requestFullscreen()))},i.handleTechTap_=function(){this.userActive(!this.userActive())},i.handleTechTouchStart_=function(){this.userWasActive=this.userActive()},i.handleTechTouchMove_=function(){this.userWasActive&&this.reportUserActivity()},i.handleTechTouchEnd_=function(e){e.cancelable&&e.preventDefault()},i.handleStageClick_=function(){this.reportUserActivity()},i.toggleFullscreenClass_=function(){this.isFullscreen()?this.addClass("vjs-fullscreen"):this.removeClass("vjs-fullscreen")},i.documentFullscreenChange_=function(e){var t=e.target.player;if(!t||t===this){var i=this.el(),n=k.default[this.fsApi_.fullscreenElement]===i;!n&&i.matches?n=i.matches(":"+this.fsApi_.fullscreen):!n&&i.msMatchesSelector&&(n=i.msMatchesSelector(":"+this.fsApi_.fullscreen)),this.isFullscreen(n)}},i.handleTechFullscreenChange_=function(e,t){t&&(t.nativeIOSFullscreen&&this.toggleClass("vjs-ios-native-fs"),this.isFullscreen(t.isFullscreen))},i.handleTechFullscreenError_=function(e,t){this.trigger("fullscreenerror",t)},i.togglePictureInPictureClass_=function(){this.isInPictureInPicture()?this.addClass("vjs-picture-in-picture"):this.removeClass("vjs-picture-in-picture")},i.handleTechEnterPictureInPicture_=function(e){this.isInPictureInPicture(!0)},i.handleTechLeavePictureInPicture_=function(e){this.isInPictureInPicture(!1)},i.handleTechError_=function(){var e=this.tech_.error();this.error(e)},i.handleTechTextData_=function(){var e=null;arguments.length>1&&(e=arguments[1]),this.trigger("textdata",e)},i.getCache=function(){return this.cache_},i.resetCache_=function(){this.cache_={currentTime:0,initTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:"",source:{},sources:[],playbackRates:[],volume:1}},i.techCall_=function(e,t){this.ready((function(){if(e in Hi)return function(e,t,i,n){return t[i](e.reduce(Gi(i),n))}(this.middleware_,this.tech_,e,t);if(e in zi)return ji(this.middleware_,this.tech_,e,t);try{this.tech_&&this.tech_[e](t)}catch(e){throw K(e),e}}),!0)},i.techGet_=function(e){if(this.tech_&&this.tech_.isReady_){if(e in Vi)return function(e,t,i){return e.reduceRight(Gi(i),t[i]())}(this.middleware_,this.tech_,e);if(e in zi)return ji(this.middleware_,this.tech_,e);try{return this.tech_[e]()}catch(t){if(void 0===this.tech_[e])throw K("Video.js: "+e+" method not defined for "+this.techName_+" playback technology.",t),t;if("TypeError"===t.name)throw K("Video.js: "+e+" unavailable on "+this.techName_+" playback technology element.",t),this.tech_.isReady_=!1,t;throw K(t),t}}},i.play=function(){var e=this,t=this.options_.Promise||C.default.Promise;return t?new t((function(t){e.play_(t)})):this.play_()},i.play_=function(e){var t=this;void 0===e&&(e=ii),this.playCallbacks_.push(e);var i=Boolean(!this.changingSrc_&&(this.src()||this.currentSrc()));if(this.waitToPlay_&&(this.off(["ready","loadstart"],this.waitToPlay_),this.waitToPlay_=null),!this.isReady_||!i)return this.waitToPlay_=function(e){t.play_()},this.one(["ready","loadstart"],this.waitToPlay_),void(i||!Ee&&!Te||this.load());var n=this.techGet_("play");null===n?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(n)},i.runPlayTerminatedQueue_=function(){var e=this.playTerminatedQueue_.slice(0);this.playTerminatedQueue_=[],e.forEach((function(e){e()}))},i.runPlayCallbacks_=function(e){var t=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],t.forEach((function(t){t(e)}))},i.pause=function(){this.techCall_("pause")},i.paused=function(){return!1!==this.techGet_("paused")},i.played=function(){return this.techGet_("played")||$t(0,0)},i.scrubbing=function(e){if(void 0===e)return this.scrubbing_;this.scrubbing_=!!e,this.techCall_("setScrubbing",this.scrubbing_),e?this.addClass("vjs-scrubbing"):this.removeClass("vjs-scrubbing")},i.currentTime=function(e){return void 0!==e?(e<0&&(e=0),this.isReady_&&!this.changingSrc_&&this.tech_&&this.tech_.isReady_?(this.techCall_("setCurrentTime",e),void(this.cache_.initTime=0)):(this.cache_.initTime=e,this.off("canplay",this.boundApplyInitTime_),void this.one("canplay",this.boundApplyInitTime_))):(this.cache_.currentTime=this.techGet_("currentTime")||0,this.cache_.currentTime)},i.applyInitTime_=function(){this.currentTime(this.cache_.initTime)},i.duration=function(e){if(void 0===e)return void 0!==this.cache_.duration?this.cache_.duration:NaN;(e=parseFloat(e))<0&&(e=1/0),e!==this.cache_.duration&&(this.cache_.duration=e,e===1/0?this.addClass("vjs-live"):this.removeClass("vjs-live"),isNaN(e)||this.trigger("durationchange"))},i.remainingTime=function(){return this.duration()-this.currentTime()},i.remainingTimeDisplay=function(){return Math.floor(this.duration())-Math.floor(this.currentTime())},i.buffered=function(){var e=this.techGet_("buffered");return e&&e.length||(e=$t(0,0)),e},i.bufferedPercent=function(){return Jt(this.buffered(),this.duration())},i.bufferedEnd=function(){var e=this.buffered(),t=this.duration(),i=e.end(e.length-1);return i>t&&(i=t),i},i.volume=function(e){var t;return void 0!==e?(t=Math.max(0,Math.min(1,parseFloat(e))),this.cache_.volume=t,this.techCall_("setVolume",t),void(t>0&&this.lastVolume_(t))):(t=parseFloat(this.techGet_("volume")),isNaN(t)?1:t)},i.muted=function(e){if(void 0===e)return this.techGet_("muted")||!1;this.techCall_("setMuted",e)},i.defaultMuted=function(e){return void 0!==e?this.techCall_("setDefaultMuted",e):this.techGet_("defaultMuted")||!1},i.lastVolume_=function(e){if(void 0===e||0===e)return this.cache_.lastVolume;this.cache_.lastVolume=e},i.supportsFullScreen=function(){return this.techGet_("supportsFullScreen")||!1},i.isFullscreen=function(e){if(void 0!==e){var t=this.isFullscreen_;return this.isFullscreen_=Boolean(e),this.isFullscreen_!==t&&this.fsApi_.prefixed&&this.trigger("fullscreenchange"),void this.toggleFullscreenClass_()}return this.isFullscreen_},i.requestFullscreen=function(e){var t=this.options_.Promise||C.default.Promise;if(t){var i=this;return new t((function(t,n){function r(){i.off("fullscreenerror",s),i.off("fullscreenchange",a)}function a(){r(),t()}function s(e,t){r(),n(t)}i.one("fullscreenchange",a),i.one("fullscreenerror",s);var o=i.requestFullscreenHelper_(e);o&&(o.then(r,r),o.then(t,n))}))}return this.requestFullscreenHelper_()},i.requestFullscreenHelper_=function(e){var t,i=this;if(this.fsApi_.prefixed||(t=this.options_.fullscreen&&this.options_.fullscreen.options||{},void 0!==e&&(t=e)),this.fsApi_.requestFullscreen){var n=this.el_[this.fsApi_.requestFullscreen](t);return n&&n.then((function(){return i.isFullscreen(!0)}),(function(){return i.isFullscreen(!1)})),n}this.tech_.supportsFullScreen()&&!0==!this.options_.preferFullWindow?this.techCall_("enterFullScreen"):this.enterFullWindow()},i.exitFullscreen=function(){var e=this.options_.Promise||C.default.Promise;if(e){var t=this;return new e((function(e,i){function n(){t.off("fullscreenerror",a),t.off("fullscreenchange",r)}function r(){n(),e()}function a(e,t){n(),i(t)}t.one("fullscreenchange",r),t.one("fullscreenerror",a);var s=t.exitFullscreenHelper_();s&&(s.then(n,n),s.then(e,i))}))}return this.exitFullscreenHelper_()},i.exitFullscreenHelper_=function(){var e=this;if(this.fsApi_.requestFullscreen){var t=k.default[this.fsApi_.exitFullscreen]();return t&&ii(t.then((function(){return e.isFullscreen(!1)}))),t}this.tech_.supportsFullScreen()&&!0==!this.options_.preferFullWindow?this.techCall_("exitFullScreen"):this.exitFullWindow()},i.enterFullWindow=function(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=k.default.documentElement.style.overflow,yt(k.default,"keydown",this.boundFullWindowOnEscKey_),k.default.documentElement.style.overflow="hidden",Ue(k.default.body,"vjs-full-window"),this.trigger("enterFullWindow")},i.fullWindowOnEscKey=function(e){R.default.isEventKey(e,"Esc")&&!0===this.isFullscreen()&&(this.isFullWindow?this.exitFullWindow():this.exitFullscreen())},i.exitFullWindow=function(){this.isFullscreen(!1),this.isFullWindow=!1,bt(k.default,"keydown",this.boundFullWindowOnEscKey_),k.default.documentElement.style.overflow=this.docOrigOverflow,Me(k.default.body,"vjs-full-window"),this.trigger("exitFullWindow")},i.disablePictureInPicture=function(e){if(void 0===e)return this.techGet_("disablePictureInPicture");this.techCall_("setDisablePictureInPicture",e),this.options_.disablePictureInPicture=e,this.trigger("disablepictureinpicturechanged")},i.isInPictureInPicture=function(e){return void 0!==e?(this.isInPictureInPicture_=!!e,void this.togglePictureInPictureClass_()):!!this.isInPictureInPicture_},i.requestPictureInPicture=function(){if("pictureInPictureEnabled"in k.default&&!1===this.disablePictureInPicture())return this.techGet_("requestPictureInPicture")},i.exitPictureInPicture=function(){if("pictureInPictureEnabled"in k.default)return k.default.exitPictureInPicture()},i.handleKeyDown=function(e){var t=this.options_.userActions;if(t&&t.hotkeys){(function(e){var t=e.tagName.toLowerCase();if(e.isContentEditable)return!0;if("input"===t)return-1===["button","checkbox","hidden","radio","reset","submit"].indexOf(e.type);return-1!==["textarea"].indexOf(t)})(this.el_.ownerDocument.activeElement)||("function"==typeof t.hotkeys?t.hotkeys.call(this,e):this.handleHotkeys(e))}},i.handleHotkeys=function(e){var t=this.options_.userActions?this.options_.userActions.hotkeys:{},i=t.fullscreenKey,n=void 0===i?function(e){return R.default.isEventKey(e,"f")}:i,r=t.muteKey,a=void 0===r?function(e){return R.default.isEventKey(e,"m")}:r,s=t.playPauseKey,o=void 0===s?function(e){return R.default.isEventKey(e,"k")||R.default.isEventKey(e,"Space")}:s;if(n.call(this,e)){e.preventDefault(),e.stopPropagation();var u=Kt.getComponent("FullscreenToggle");!1!==k.default[this.fsApi_.fullscreenEnabled]&&u.prototype.handleClick.call(this,e)}else if(a.call(this,e)){e.preventDefault(),e.stopPropagation(),Kt.getComponent("MuteToggle").prototype.handleClick.call(this,e)}else if(o.call(this,e)){e.preventDefault(),e.stopPropagation(),Kt.getComponent("PlayToggle").prototype.handleClick.call(this,e)}},i.canPlayType=function(e){for(var t,i=0,n=this.options_.techOrder;i1?i.handleSrc_(n.slice(1)):(i.changingSrc_=!1,i.setTimeout((function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})}),0),void i.triggerReady());a=r,s=i.tech_,a.forEach((function(e){return e.setTech&&e.setTech(s)}))})),this.options_.retryOnError&&n.length>1){var r=function(){i.error(null),i.handleSrc_(n.slice(1),!0)},a=function(){i.off("error",r)};this.one("error",r),this.one("playing",a),this.resetRetryOnError_=function(){i.off("error",r),i.off("playing",a)}}}else this.setTimeout((function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})}),0)},i.src=function(e){return this.handleSrc_(e,!1)},i.src_=function(e){var t,i,n=this,r=this.selectSource([e]);return!r||(t=r.tech,i=this.techName_,Ht(t)!==Ht(i)?(this.changingSrc_=!0,this.loadTech_(r.tech,r.source),this.tech_.ready((function(){n.changingSrc_=!1})),!1):(this.ready((function(){this.tech_.constructor.prototype.hasOwnProperty("setSource")?this.techCall_("setSource",e):this.techCall_("src",e.src),this.changingSrc_=!1}),!0),!1))},i.load=function(){this.techCall_("load")},i.reset=function(){var e=this,t=this.options_.Promise||C.default.Promise;this.paused()||!t?this.doReset_():ii(this.play().then((function(){return e.doReset_()})))},i.doReset_=function(){this.tech_&&this.tech_.clearTracks("text"),this.resetCache_(),this.poster(""),this.loadTech_(this.options_.techOrder[0],null),this.techCall_("reset"),this.resetControlBarUI_(),Lt(this)&&this.trigger("playerreset")},i.resetControlBarUI_=function(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_()},i.resetProgressBar_=function(){this.currentTime(0);var e=this.controlBar,t=e.durationDisplay,i=e.remainingTimeDisplay;t&&t.updateContent(),i&&i.updateContent()},i.resetPlaybackRate_=function(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_()},i.resetVolumeBar_=function(){this.volume(1),this.trigger("volumechange")},i.currentSources=function(){var e=this.currentSource(),t=[];return 0!==Object.keys(e).length&&t.push(e),this.cache_.sources||t},i.currentSource=function(){return this.cache_.source||{}},i.currentSrc=function(){return this.currentSource()&&this.currentSource().src||""},i.currentType=function(){return this.currentSource()&&this.currentSource().type||""},i.preload=function(e){return void 0!==e?(this.techCall_("setPreload",e),void(this.options_.preload=e)):this.techGet_("preload")},i.autoplay=function(e){if(void 0===e)return this.options_.autoplay||!1;var t;"string"==typeof e&&/(any|play|muted)/.test(e)||!0===e&&this.options_.normalizeAutoplay?(this.options_.autoplay=e,this.manualAutoplay_("string"==typeof e?e:"play"),t=!1):this.options_.autoplay=!!e,t=void 0===t?this.options_.autoplay:t,this.tech_&&this.techCall_("setAutoplay",t)},i.playsinline=function(e){return void 0!==e?(this.techCall_("setPlaysinline",e),this.options_.playsinline=e,this):this.techGet_("playsinline")},i.loop=function(e){return void 0!==e?(this.techCall_("setLoop",e),void(this.options_.loop=e)):this.techGet_("loop")},i.poster=function(e){if(void 0===e)return this.poster_;e||(e=""),e!==this.poster_&&(this.poster_=e,this.techCall_("setPoster",e),this.isPosterFromTech_=!1,this.trigger("posterchange"))},i.handleTechPosterChange_=function(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){var e=this.tech_.poster()||"";e!==this.poster_&&(this.poster_=e,this.isPosterFromTech_=!0,this.trigger("posterchange"))}},i.controls=function(e){if(void 0===e)return!!this.controls_;e=!!e,this.controls_!==e&&(this.controls_=e,this.usingNativeControls()&&this.techCall_("setControls",e),this.controls_?(this.removeClass("vjs-controls-disabled"),this.addClass("vjs-controls-enabled"),this.trigger("controlsenabled"),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass("vjs-controls-enabled"),this.addClass("vjs-controls-disabled"),this.trigger("controlsdisabled"),this.usingNativeControls()||this.removeTechControlsListeners_()))},i.usingNativeControls=function(e){if(void 0===e)return!!this.usingNativeControls_;e=!!e,this.usingNativeControls_!==e&&(this.usingNativeControls_=e,this.usingNativeControls_?(this.addClass("vjs-using-native-controls"),this.trigger("usingnativecontrols")):(this.removeClass("vjs-using-native-controls"),this.trigger("usingcustomcontrols")))},i.error=function(e){var t=this;if(void 0===e)return this.error_||null;if(j("beforeerror").forEach((function(i){var n=i(t,e);ee(n)&&!Array.isArray(n)||"string"==typeof n||"number"==typeof n||null===n?e=n:t.log.error("please return a value that MediaError expects in beforeerror hooks")})),this.options_.suppressNotSupportedError&&e&&4===e.code){var i=function(){this.error(e)};return this.options_.suppressNotSupportedError=!1,this.any(["click","touchstart"],i),void this.one("loadstart",(function(){this.off(["click","touchstart"],i)}))}if(null===e)return this.error_=e,this.removeClass("vjs-error"),void(this.errorDisplay&&this.errorDisplay.close());this.error_=new Zt(e),this.addClass("vjs-error"),K.error("(CODE:"+this.error_.code+" "+Zt.errorTypes[this.error_.code]+")",this.error_.message,this.error_),this.trigger("error"),j("error").forEach((function(e){return e(t,t.error_)}))},i.reportUserActivity=function(e){this.userActivity_=!0},i.userActive=function(e){if(void 0===e)return this.userActive_;if((e=!!e)!==this.userActive_){if(this.userActive_=e,this.userActive_)return this.userActivity_=!0,this.removeClass("vjs-user-inactive"),this.addClass("vjs-user-active"),void this.trigger("useractive");this.tech_&&this.tech_.one("mousemove",(function(e){e.stopPropagation(),e.preventDefault()})),this.userActivity_=!1,this.removeClass("vjs-user-active"),this.addClass("vjs-user-inactive"),this.trigger("userinactive")}},i.listenForUserActivity_=function(){var e,t,i,n=Ct(this,this.reportUserActivity),r=function(t){n(),this.clearInterval(e)};this.on("mousedown",(function(){n(),this.clearInterval(e),e=this.setInterval(n,250)})),this.on("mousemove",(function(e){e.screenX===t&&e.screenY===i||(t=e.screenX,i=e.screenY,n())})),this.on("mouseup",r),this.on("mouseleave",r);var a,s=this.getChild("controlBar");!s||Te||le||(s.on("mouseenter",(function(e){0!==this.player().options_.inactivityTimeout&&(this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout),this.player().options_.inactivityTimeout=0})),s.on("mouseleave",(function(e){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout}))),this.on("keydown",n),this.on("keyup",n),this.setInterval((function(){if(this.userActivity_){this.userActivity_=!1,this.userActive(!0),this.clearTimeout(a);var e=this.options_.inactivityTimeout;e<=0||(a=this.setTimeout((function(){this.userActivity_||this.userActive(!1)}),e))}}),250)},i.playbackRate=function(e){if(void 0===e)return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_("playbackRate"):1;this.techCall_("setPlaybackRate",e)},i.defaultPlaybackRate=function(e){return void 0!==e?this.techCall_("setDefaultPlaybackRate",e):this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_("defaultPlaybackRate"):1},i.isAudio=function(e){if(void 0===e)return!!this.isAudio_;this.isAudio_=!!e},i.addTextTrack=function(e,t,i){if(this.tech_)return this.tech_.addTextTrack(e,t,i)},i.addRemoteTextTrack=function(e,t){if(this.tech_)return this.tech_.addRemoteTextTrack(e,t)},i.removeRemoteTextTrack=function(e){void 0===e&&(e={});var t=e.track;if(t||(t=e),this.tech_)return this.tech_.removeRemoteTextTrack(t)},i.getVideoPlaybackQuality=function(){return this.techGet_("getVideoPlaybackQuality")},i.videoWidth=function(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0},i.videoHeight=function(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0},i.language=function(e){if(void 0===e)return this.language_;this.language_!==String(e).toLowerCase()&&(this.language_=String(e).toLowerCase(),Lt(this)&&this.trigger("languagechange"))},i.languages=function(){return zt(t.prototype.options_.languages,this.languages_)},i.toJSON=function(){var e=zt(this.options_),t=e.tracks;e.tracks=[];for(var i=0;i"):function(){}},Jr=function(e,t){var i,n=[];if(e&&e.length)for(i=0;i=t}))},ea=function(e,t){return Jr(e,(function(e){return e-1/30>=t}))},ta=function(e){var t=[];if(!e||!e.length)return"";for(var i=0;i "+e.end(i));return t.join(", ")},ia=function(e){for(var t=[],i=0;i0;return i&&t.serverControl&&t.serverControl.partHoldBack?t.serverControl.partHoldBack:i&&t.partTargetDuration?3*t.partTargetDuration:t.serverControl&&t.serverControl.holdBack?t.serverControl.holdBack:t.targetDuration?3*t.targetDuration:0},la=function(e,t,i){if(void 0===t&&(t=e.mediaSequence+e.segments.length),tr){var s=[r,n];n=s[0],r=s[1]}if(n<0){for(var o=n;oDate.now()},pa=function(e){return e.excludeUntil&&e.excludeUntil===1/0},ma=function(e){var t=fa(e);return!e.disabled&&!t},_a=function(e,t){return t.attributes&&t.attributes[e]},ga=function(e,t){if(1===e.playlists.length)return!0;var i=t.attributes.BANDWIDTH||Number.MAX_VALUE;return 0===e.playlists.filter((function(e){return!!ma(e)&&(e.attributes.BANDWIDTH||0)0)for(var c=l-1;c>=0;c--){var f=u[c];if(o+=f.duration,s){if(o<0)continue}else if(o+1/30<=0)continue;return{partIndex:f.partIndex,segmentIndex:f.segmentIndex,startTime:a-da({defaultDuration:t.targetDuration,durationList:u,startIndex:l,endIndex:c})}}return{partIndex:u[0]&&u[0].partIndex||null,segmentIndex:u[0]&&u[0].segmentIndex||0,startTime:i}}if(l<0){for(var p=l;p<0;p++)if((o-=t.targetDuration)<0)return{partIndex:u[0]&&u[0].partIndex||null,segmentIndex:u[0]&&u[0].segmentIndex||0,startTime:i};l=0}for(var m=l;m0)continue}else if(o-1/30>=0)continue;return{partIndex:_.partIndex,segmentIndex:_.segmentIndex,startTime:a+da({defaultDuration:t.targetDuration,durationList:u,startIndex:l,endIndex:m})}}return{segmentIndex:u[u.length-1].segmentIndex,partIndex:u[u.length-1].partIndex,startTime:i}},isEnabled:ma,isDisabled:function(e){return e.disabled},isBlacklisted:fa,isIncompatible:pa,playlistEnd:ca,isAes:function(e){for(var t=0;t-1&&s!==a.length-1&&i.push("_HLS_part="+s),(s>-1||a.length)&&r--}i.unshift("_HLS_msn="+r)}return t.serverControl&&t.serverControl.canSkipUntil&&i.unshift("_HLS_skip="+(t.serverControl.canSkipDateranges?"v2":"YES")),i.forEach((function(t,i){e+=""+(0===i?"?":"&")+t})),e}(i,t)),this.state="HAVE_CURRENT_METADATA",this.request=this.vhs_.xhr({uri:i,withCredentials:this.withCredentials},(function(t,i){if(e.request)return t?e.playlistRequestError(e.request,e.media(),"HAVE_METADATA"):void e.haveMetadata({playlistString:e.request.responseText,url:e.media().uri,id:e.media().id})}))}},i.playlistRequestError=function(e,t,i){var n=t.uri,r=t.id;this.request=null,i&&(this.state=i),this.error={playlist:this.master.playlists[r],status:e.status,message:"HLS playlist request error at URL: "+n+".",responseText:e.responseText,code:e.status>=500?4:2},this.trigger("error")},i.parseManifest_=function(e){var t=this,i=e.url;return function(e){var t=e.onwarn,i=e.oninfo,n=e.manifestString,r=e.customTagParsers,a=void 0===r?[]:r,s=e.customTagMappers,o=void 0===s?[]:s,u=e.experimentalLLHLS,l=new m.Parser;t&&l.on("warn",t),i&&l.on("info",i),a.forEach((function(e){return l.addParser(e)})),o.forEach((function(e){return l.addTagMapper(e)})),l.push(n),l.end();var h=l.manifest;if(u||(["preloadSegment","skip","serverControl","renditionReports","partInf","partTargetDuration"].forEach((function(e){h.hasOwnProperty(e)&&delete h[e]})),h.segments&&h.segments.forEach((function(e){["parts","preloadHints"].forEach((function(t){e.hasOwnProperty(t)&&delete e[t]}))}))),!h.targetDuration){var d=10;h.segments&&h.segments.length&&(d=h.segments.reduce((function(e,t){return Math.max(e,t.duration)}),0)),t&&t("manifest has no targetDuration defaulting to "+d),h.targetDuration=d}var c=sa(h);if(c.length&&!h.partTargetDuration){var f=c.reduce((function(e,t){return Math.max(e,t.duration)}),0);t&&(t("manifest has no partTargetDuration defaulting to "+f),Ta.error("LL-HLS manifest has parts but lacks required #EXT-X-PART-INF:PART-TARGET value. See https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-09#section-4.4.3.7. Playback is not guaranteed.")),h.partTargetDuration=f}return h}({onwarn:function(e){var n=e.message;return t.logger_("m3u8-parser warn for "+i+": "+n)},oninfo:function(e){var n=e.message;return t.logger_("m3u8-parser info for "+i+": "+n)},manifestString:e.manifestString,customTagParsers:this.customTagParsers,customTagMappers:this.customTagMappers,experimentalLLHLS:this.experimentalLLHLS})},i.haveMetadata=function(e){var t=e.playlistString,i=e.playlistObject,n=e.url,r=e.id;this.request=null,this.state="HAVE_METADATA";var a=i||this.parseManifest_({url:n,manifestString:t});a.lastRequest=Date.now(),Aa({playlist:a,uri:n,id:r});var s=Da(this.master,a);this.targetDuration=a.partTargetDuration||a.targetDuration,s?(this.master=s,this.media_=this.master.playlists[r]):this.trigger("playlistunchanged"),this.updateMediaUpdateTimeout_(Oa(this.media(),!!s)),this.trigger("loadedplaylist")},i.dispose=function(){this.trigger("dispose"),this.stopRequest(),C.default.clearTimeout(this.mediaUpdateTimeout),C.default.clearTimeout(this.finalRenditionTimeout),this.off()},i.stopRequest=function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}},i.media=function(e,t){var i=this;if(!e)return this.media_;if("HAVE_NOTHING"===this.state)throw new Error("Cannot switch media playlist from "+this.state);if("string"==typeof e){if(!this.master.playlists[e])throw new Error("Unknown playlist URI: "+e);e=this.master.playlists[e]}if(C.default.clearTimeout(this.finalRenditionTimeout),t){var n=(e.partTargetDuration||e.targetDuration)/2*1e3||5e3;this.finalRenditionTimeout=C.default.setTimeout(this.media.bind(this,e,!1),n)}else{var r=this.state,a=!this.media_||e.id!==this.media_.id,s=this.master.playlists[e.id];if(s&&s.endList||e.endList&&e.segments.length)return this.request&&(this.request.onreadystatechange=null,this.request.abort(),this.request=null),this.state="HAVE_METADATA",this.media_=e,void(a&&(this.trigger("mediachanging"),"HAVE_MASTER"===r?this.trigger("loadedmetadata"):this.trigger("mediachange")));if(this.updateMediaUpdateTimeout_(Oa(e,!0)),a){if(this.state="SWITCHING_MEDIA",this.request){if(e.resolvedUri===this.request.url)return;this.request.onreadystatechange=null,this.request.abort(),this.request=null}this.media_&&this.trigger("mediachanging"),this.request=this.vhs_.xhr({uri:e.resolvedUri,withCredentials:this.withCredentials},(function(t,n){if(i.request){if(e.lastRequest=Date.now(),e.resolvedUri=Qr(i.handleManifestRedirects,e.resolvedUri,n),t)return i.playlistRequestError(i.request,e,r);i.haveMetadata({playlistString:n.responseText,url:e.uri,id:e.id}),"HAVE_MASTER"===r?i.trigger("loadedmetadata"):i.trigger("mediachange")}}))}}},i.pause=function(){this.mediaUpdateTimeout&&(C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null),this.stopRequest(),"HAVE_NOTHING"===this.state&&(this.started=!1),"SWITCHING_MEDIA"===this.state?this.media_?this.state="HAVE_METADATA":this.state="HAVE_MASTER":"HAVE_CURRENT_METADATA"===this.state&&(this.state="HAVE_METADATA")},i.load=function(e){var t=this;this.mediaUpdateTimeout&&(C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null);var i=this.media();if(e){var n=i?(i.partTargetDuration||i.targetDuration)/2*1e3:5e3;this.mediaUpdateTimeout=C.default.setTimeout((function(){t.mediaUpdateTimeout=null,t.load()}),n)}else this.started?i&&!i.endList?this.trigger("mediaupdatetimeout"):this.trigger("loadedplaylist"):this.start()},i.updateMediaUpdateTimeout_=function(e){var t=this;this.mediaUpdateTimeout&&(C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null),this.media()&&!this.media().endList&&(this.mediaUpdateTimeout=C.default.setTimeout((function(){t.mediaUpdateTimeout=null,t.trigger("mediaupdatetimeout"),t.updateMediaUpdateTimeout_(e)}),e))},i.start=function(){var e=this;if(this.started=!0,"object"==typeof this.src)return this.src.uri||(this.src.uri=C.default.location.href),this.src.resolvedUri=this.src.uri,void setTimeout((function(){e.setupInitialPlaylist(e.src)}),0);this.request=this.vhs_.xhr({uri:this.src,withCredentials:this.withCredentials},(function(t,i){if(e.request){if(e.request=null,t)return e.error={status:i.status,message:"HLS playlist request error at URL: "+e.src+".",responseText:i.responseText,code:2},"HAVE_NOTHING"===e.state&&(e.started=!1),e.trigger("error");e.src=Qr(e.handleManifestRedirects,e.src,i);var n=e.parseManifest_({manifestString:i.responseText,url:e.src});e.setupInitialPlaylist(n)}}))},i.srcUri=function(){return"string"==typeof this.src?this.src:this.src.uri},i.setupInitialPlaylist=function(e){if(this.state="HAVE_MASTER",e.playlists)return this.master=e,Ca(this.master,this.srcUri()),e.playlists.forEach((function(e){e.segments=xa(e),e.segments.forEach((function(t){La(t,e.resolvedUri)}))})),this.trigger("loadedplaylist"),void(this.request||this.media(this.master.playlists[0]));var t=this.srcUri()||C.default.location.href;this.master=function(e,t){var i=Ea(0,t),n={mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:C.default.location.href,resolvedUri:C.default.location.href,playlists:[{uri:t,id:i,resolvedUri:t,attributes:{}}]};return n.playlists[i]=n.playlists[0],n.playlists[t]=n.playlists[0],n}(0,t),this.haveMetadata({playlistObject:e,url:t,id:this.master.playlists[0].id}),this.trigger("loadedmetadata")},t}(Pa),Ma=Yr.xhr,Fa=Yr.mergeOptions,Ba=function(e,t,i,n){var r="arraybuffer"===e.responseType?e.response:e.responseText;!t&&r&&(e.responseTime=Date.now(),e.roundTripTime=e.responseTime-e.requestTime,e.bytesReceived=r.byteLength||r.length,e.bandwidth||(e.bandwidth=Math.floor(e.bytesReceived/e.roundTripTime*8*1e3))),i.headers&&(e.responseHeaders=i.headers),t&&"ETIMEDOUT"===t.code&&(e.timedout=!0),t||e.aborted||200===i.statusCode||206===i.statusCode||0===i.statusCode||(t=new Error("XHR Failed with a response of: "+(e&&(r||e.responseText)))),n(t,e)},Na=function(){var e=function e(t,i){t=Fa({timeout:45e3},t);var n=e.beforeRequest||Yr.Vhs.xhr.beforeRequest;if(n&&"function"==typeof n){var r=n(t);r&&(t=r)}var a=(!0===Yr.Vhs.xhr.original?Ma:Yr.Vhs.xhr)(t,(function(e,t){return Ba(a,e,t,i)})),s=a.abort;return a.abort=function(){return a.aborted=!0,s.apply(a,arguments)},a.uri=t.uri,a.requestTime=Date.now(),a};return e.original=!0,e},ja=function(e){var t,i,n={};return e.byterange&&(n.Range=(t=e.byterange,i=t.offset+t.length-1,"bytes="+t.offset+"-"+i)),n},Va=function(e,t){return e.start(t)+"-"+e.end(t)},Ha=function(e,t){var i=e.toString(16);return"00".substring(0,2-i.length)+i+(t%2?" ":"")},za=function(e){return e>=32&&e<126?String.fromCharCode(e):"."},Ga=function(e){var t={};return Object.keys(e).forEach((function(i){var n=e[i];ArrayBuffer.isView(n)?t[i]={bytes:n.buffer,byteOffset:n.byteOffset,byteLength:n.byteLength}:t[i]=n})),t},Wa=function(e){var t=e.byterange||{length:1/0,offset:0};return[t.length,t.offset,e.resolvedUri].join(",")},Ya=function(e){return e.resolvedUri},qa=function(e){for(var t=Array.prototype.slice.call(e),i="",n=0;nn){if(e>n+.25*a.duration)return null;i=a}return{segment:i,estimatedStart:i.videoTimingInfo?i.videoTimingInfo.transmuxedPresentationStart:n-i.duration,type:i.videoTimingInfo?"accurate":"estimate"}}(n,t);if(!a)return r({message:"valid programTime was not found"});if("estimate"===a.type)return r({message:"Accurate programTime could not be determined. Please seek to e.seekTime and try again",seekTime:a.estimatedStart});var s={mediaSeconds:n},o=function(e,t){if(!t.dateTimeObject)return null;var i=t.videoTimingInfo.transmuxerPrependedSeconds,n=e-(t.videoTimingInfo.transmuxedPresentationStart+i);return new Date(t.dateTimeObject.getTime()+1e3*n)}(n,a.segment);return o&&(s.programDateTime=o.toISOString()),r(null,s)},Qa=function e(t){var i=t.programTime,n=t.playlist,r=t.retryCount,a=void 0===r?2:r,s=t.seekTo,o=t.pauseAfterSeek,u=void 0===o||o,l=t.tech,h=t.callback;if(!h)throw new Error("seekToProgramTime: callback must be provided");if(void 0===i||!n||!s)return h({message:"seekToProgramTime: programTime, seekTo and playlist must be provided"});if(!n.endList&&!l.hasStarted_)return h({message:"player must be playing a live stream to start buffering"});if(!function(e){if(!e.segments||0===e.segments.length)return!1;for(var t=0;tnew Date(o.getTime()+1e3*u)?null:(i>o&&(n=s),{segment:n,estimatedStart:n.videoTimingInfo?n.videoTimingInfo.transmuxedPresentationStart:Sa.duration(t,t.mediaSequence+t.segments.indexOf(n)),type:n.videoTimingInfo?"accurate":"estimate"})}(i,n);if(!d)return h({message:i+" was not found in the stream"});var c=d.segment,f=function(e,t){var i,n;try{i=new Date(e),n=new Date(t)}catch(e){}var r=i.getTime();return(n.getTime()-r)/1e3}(c.dateTimeObject,i);if("estimate"===d.type)return 0===a?h({message:i+" is not buffered yet. Try again"}):(s(d.estimatedStart+f),void l.one("seeked",(function(){e({programTime:i,playlist:n,retryCount:a-1,seekTo:s,pauseAfterSeek:u,tech:l,callback:h})})));var p=c.start+f;l.one("seeked",(function(){return h(null,l.currentTime())})),u&&l.pause(),s(p)},$a=function(e,t){if(4===e.readyState)return t()},Ja=Yr.EventTarget,Za=Yr.mergeOptions,es=function(e,t){if(!Ra(e,t))return!1;if(e.sidx&&t.sidx&&(e.sidx.offset!==t.sidx.offset||e.sidx.length!==t.sidx.length))return!1;if(!e.sidx&&t.sidx||e.sidx&&!t.sidx)return!1;if(e.segments&&!t.segments||!e.segments&&t.segments)return!1;if(!e.segments&&!t.segments)return!0;for(var i=0;i=h+l)return s(t,{response:o.subarray(l,l+h),status:i.status,uri:i.uri});n.request=n.vhs_.xhr({uri:a,responseType:"arraybuffer",headers:ja({byterange:e.sidx.byterange})},s)}))}else this.mediaRequest_=C.default.setTimeout((function(){return i(!1)}),0)},i.dispose=function(){this.trigger("dispose"),this.stopRequest(),this.loadedPlaylists_={},C.default.clearTimeout(this.minimumUpdatePeriodTimeout_),C.default.clearTimeout(this.mediaRequest_),C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.mediaRequest_=null,this.minimumUpdatePeriodTimeout_=null,this.masterPlaylistLoader_.createMupOnMedia_&&(this.off("loadedmetadata",this.masterPlaylistLoader_.createMupOnMedia_),this.masterPlaylistLoader_.createMupOnMedia_=null),this.off()},i.hasPendingRequest=function(){return this.request||this.mediaRequest_},i.stopRequest=function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}},i.media=function(e){var t=this;if(!e)return this.media_;if("HAVE_NOTHING"===this.state)throw new Error("Cannot switch media playlist from "+this.state);var i=this.state;if("string"==typeof e){if(!this.masterPlaylistLoader_.master.playlists[e])throw new Error("Unknown playlist URI: "+e);e=this.masterPlaylistLoader_.master.playlists[e]}var n=!this.media_||e.id!==this.media_.id;if(n&&this.loadedPlaylists_[e.id]&&this.loadedPlaylists_[e.id].endList)return this.state="HAVE_METADATA",this.media_=e,void(n&&(this.trigger("mediachanging"),this.trigger("mediachange")));n&&(this.media_&&this.trigger("mediachanging"),this.addSidxSegments_(e,i,(function(n){t.haveMetadata({startingState:i,playlist:e})})))},i.haveMetadata=function(e){var t=e.startingState,i=e.playlist;this.state="HAVE_METADATA",this.loadedPlaylists_[i.id]=i,this.mediaRequest_=null,this.refreshMedia_(i.id),"HAVE_MASTER"===t?this.trigger("loadedmetadata"):this.trigger("mediachange")},i.pause=function(){this.masterPlaylistLoader_.createMupOnMedia_&&(this.off("loadedmetadata",this.masterPlaylistLoader_.createMupOnMedia_),this.masterPlaylistLoader_.createMupOnMedia_=null),this.stopRequest(),C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null,this.isMaster_&&(C.default.clearTimeout(this.masterPlaylistLoader_.minimumUpdatePeriodTimeout_),this.masterPlaylistLoader_.minimumUpdatePeriodTimeout_=null),"HAVE_NOTHING"===this.state&&(this.started=!1)},i.load=function(e){var t=this;C.default.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=null;var i=this.media();if(e){var n=i?i.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=C.default.setTimeout((function(){return t.load()}),n)}else this.started?i&&!i.endList?(this.isMaster_&&!this.minimumUpdatePeriodTimeout_&&(this.trigger("minimumUpdatePeriod"),this.updateMinimumUpdatePeriodTimeout_()),this.trigger("mediaupdatetimeout")):this.trigger("loadedplaylist"):this.start()},i.start=function(){var e=this;this.started=!0,this.isMaster_?this.requestMaster_((function(t,i){e.haveMaster_(),e.hasPendingRequest()||e.media_||e.media(e.masterPlaylistLoader_.master.playlists[0])})):this.mediaRequest_=C.default.setTimeout((function(){return e.haveMaster_()}),0)},i.requestMaster_=function(e){var t=this;this.request=this.vhs_.xhr({uri:this.masterPlaylistLoader_.srcUrl,withCredentials:this.withCredentials},(function(i,n){if(!t.requestErrored_(i,n)){var r=n.responseText!==t.masterPlaylistLoader_.masterXml_;return t.masterPlaylistLoader_.masterXml_=n.responseText,n.responseHeaders&&n.responseHeaders.date?t.masterLoaded_=Date.parse(n.responseHeaders.date):t.masterLoaded_=Date.now(),t.masterPlaylistLoader_.srcUrl=Qr(t.handleManifestRedirects,t.masterPlaylistLoader_.srcUrl,n),r?(t.handleMaster_(),void t.syncClientServerClock_((function(){return e(n,r)}))):e(n,r)}"HAVE_NOTHING"===t.state&&(t.started=!1)}))},i.syncClientServerClock_=function(e){var t=this,i=v.parseUTCTiming(this.masterPlaylistLoader_.masterXml_);return null===i?(this.masterPlaylistLoader_.clientOffset_=this.masterLoaded_-Date.now(),e()):"DIRECT"===i.method?(this.masterPlaylistLoader_.clientOffset_=i.value-Date.now(),e()):void(this.request=this.vhs_.xhr({uri:Xr(this.masterPlaylistLoader_.srcUrl,i.value),method:i.method,withCredentials:this.withCredentials},(function(n,r){if(t.request){if(n)return t.masterPlaylistLoader_.clientOffset_=t.masterLoaded_-Date.now(),e();var a;a="HEAD"===i.method?r.responseHeaders&&r.responseHeaders.date?Date.parse(r.responseHeaders.date):t.masterLoaded_:Date.parse(r.responseText),t.masterPlaylistLoader_.clientOffset_=a-Date.now(),e()}})))},i.haveMaster_=function(){this.state="HAVE_MASTER",this.isMaster_?this.trigger("loadedplaylist"):this.media_||this.media(this.childPlaylist_)},i.handleMaster_=function(){this.mediaRequest_=null;var e,t,i,n,r,a,s=(e={masterXml:this.masterPlaylistLoader_.masterXml_,srcUrl:this.masterPlaylistLoader_.srcUrl,clientOffset:this.masterPlaylistLoader_.clientOffset_,sidxMapping:this.masterPlaylistLoader_.sidxMapping_},t=e.masterXml,i=e.srcUrl,n=e.clientOffset,r=e.sidxMapping,a=v.parse(t,{manifestUri:i,clientOffset:n,sidxMapping:r}),Ca(a,i),a),o=this.masterPlaylistLoader_.master;o&&(s=function(e,t,i){for(var n=!0,r=Za(e,{duration:t.duration,minimumUpdatePeriod:t.minimumUpdatePeriod}),a=0;a-1)},this.trigger=function(t){var i,n,r,a;if(i=e[t])if(2===arguments.length)for(r=i.length,n=0;n>>1,e.samplingfrequencyindex<<7|e.channelcount<<3,6,1,2]))},m=function(e){return t(T.hdlr,P[e])},p=function(e){var i=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,e.duration>>>24&255,e.duration>>>16&255,e.duration>>>8&255,255&e.duration,85,196,0,0]);return e.samplerate&&(i[12]=e.samplerate>>>24&255,i[13]=e.samplerate>>>16&255,i[14]=e.samplerate>>>8&255,i[15]=255&e.samplerate),t(T.mdhd,i)},f=function(e){return t(T.mdia,p(e),m(e.type),s(e))},a=function(e){return t(T.mfhd,new Uint8Array([0,0,0,0,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e]))},s=function(e){return t(T.minf,"video"===e.type?t(T.vmhd,I):t(T.smhd,L),i(),g(e))},o=function(e,i){for(var n=[],r=i.length;r--;)n[r]=y(i[r]);return t.apply(null,[T.moof,a(e)].concat(n))},u=function(e){for(var i=e.length,n=[];i--;)n[i]=d(e[i]);return t.apply(null,[T.moov,h(4294967295)].concat(n).concat(l(e)))},l=function(e){for(var i=e.length,n=[];i--;)n[i]=b(e[i]);return t.apply(null,[T.mvex].concat(n))},h=function(e){var i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return t(T.mvhd,i)},_=function(e){var i,n,r=e.samples||[],a=new Uint8Array(4+r.length);for(n=0;n>>8),s.push(255&r[i].byteLength),s=s.concat(Array.prototype.slice.call(r[i]));for(i=0;i>>8),o.push(255&a[i].byteLength),o=o.concat(Array.prototype.slice.call(a[i]));if(n=[T.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(65280&e.width)>>8,255&e.width,(65280&e.height)>>8,255&e.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),t(T.avcC,new Uint8Array([1,e.profileIdc,e.profileCompatibility,e.levelIdc,255].concat([r.length],s,[a.length],o))),t(T.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],e.sarRatio){var u=e.sarRatio[0],l=e.sarRatio[1];n.push(t(T.pasp,new Uint8Array([(4278190080&u)>>24,(16711680&u)>>16,(65280&u)>>8,255&u,(4278190080&l)>>24,(16711680&l)>>16,(65280&l)>>8,255&l])))}return t.apply(null,n)},F=function(e){return t(T.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(65280&e.channelcount)>>8,255&e.channelcount,(65280&e.samplesize)>>8,255&e.samplesize,0,0,0,0,(65280&e.samplerate)>>8,255&e.samplerate,0,0]),n(e))},c=function(e){var i=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,0,(4278190080&e.duration)>>24,(16711680&e.duration)>>16,(65280&e.duration)>>8,255&e.duration,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,(65280&e.width)>>8,255&e.width,0,0,(65280&e.height)>>8,255&e.height,0,0]);return t(T.tkhd,i)},y=function(e){var i,n,r,a,s,o;return i=t(T.tfhd,new Uint8Array([0,0,0,58,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),s=Math.floor(e.baseMediaDecodeTime/(H+1)),o=Math.floor(e.baseMediaDecodeTime%(H+1)),n=t(T.tfdt,new Uint8Array([1,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,o>>>24&255,o>>>16&255,o>>>8&255,255&o])),92,"audio"===e.type?(r=S(e,92),t(T.traf,i,n,r)):(a=_(e),r=S(e,a.length+92),t(T.traf,i,n,r,a))},d=function(e){return e.duration=e.duration||4294967295,t(T.trak,c(e),f(e))},b=function(e){var i=new Uint8Array([0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return"video"!==e.type&&(i[i.length-1]=0),t(T.trex,i)},j=function(e,t){var i=0,n=0,r=0,a=0;return e.length&&(void 0!==e[0].duration&&(i=1),void 0!==e[0].size&&(n=2),void 0!==e[0].flags&&(r=4),void 0!==e[0].compositionTimeOffset&&(a=8)),[0,0,i|n|r|a,1,(4278190080&e.length)>>>24,(16711680&e.length)>>>16,(65280&e.length)>>>8,255&e.length,(4278190080&t)>>>24,(16711680&t)>>>16,(65280&t)>>>8,255&t]},N=function(e,i){var n,r,a,s,o,u;for(i+=20+16*(s=e.samples||[]).length,a=j(s,i),(r=new Uint8Array(a.length+16*s.length)).set(a),n=a.length,u=0;u>>24,r[n++]=(16711680&o.duration)>>>16,r[n++]=(65280&o.duration)>>>8,r[n++]=255&o.duration,r[n++]=(4278190080&o.size)>>>24,r[n++]=(16711680&o.size)>>>16,r[n++]=(65280&o.size)>>>8,r[n++]=255&o.size,r[n++]=o.flags.isLeading<<2|o.flags.dependsOn,r[n++]=o.flags.isDependedOn<<6|o.flags.hasRedundancy<<4|o.flags.paddingValue<<1|o.flags.isNonSyncSample,r[n++]=61440&o.flags.degradationPriority,r[n++]=15&o.flags.degradationPriority,r[n++]=(4278190080&o.compositionTimeOffset)>>>24,r[n++]=(16711680&o.compositionTimeOffset)>>>16,r[n++]=(65280&o.compositionTimeOffset)>>>8,r[n++]=255&o.compositionTimeOffset;return t(T.trun,r)},B=function(e,i){var n,r,a,s,o,u;for(i+=20+8*(s=e.samples||[]).length,a=j(s,i),(n=new Uint8Array(a.length+8*s.length)).set(a),r=a.length,u=0;u>>24,n[r++]=(16711680&o.duration)>>>16,n[r++]=(65280&o.duration)>>>8,n[r++]=255&o.duration,n[r++]=(4278190080&o.size)>>>24,n[r++]=(16711680&o.size)>>>16,n[r++]=(65280&o.size)>>>8,n[r++]=255&o.size;return t(T.trun,n)},S=function(e,t){return"audio"===e.type?B(e,t):N(e,t)};r=function(){return t(T.ftyp,E,w,E,A)};var z,G,W,Y,q,K,X,Q,$=function(e){return t(T.mdat,e)},J=o,Z=function(e){var t,i=r(),n=u(e);return(t=new Uint8Array(i.byteLength+n.byteLength)).set(i),t.set(n,i.byteLength),t},ee=function(e,t){var i={size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}};return i.dataOffset=t,i.compositionTimeOffset=e.pts-e.dts,i.duration=e.duration,i.size=4*e.length,i.size+=e.byteLength,e.keyFrame&&(i.flags.dependsOn=2,i.flags.isNonSyncSample=0),i},te=function(e){var t,i,n=[],r=[];for(r.byteLength=0,r.nalCount=0,r.duration=0,n.byteLength=0,t=0;t1&&(t=e.shift(),e.byteLength-=t.byteLength,e.nalCount-=t.nalCount,e[0][0].dts=t.dts,e[0][0].pts=t.pts,e[0][0].duration+=t.duration),e},re=function(e,t){var i,n,r,a,s,o=t||0,u=[];for(i=0;ihe/2))){for((s=le()[e.samplerate])||(s=t[0].data),o=0;o=i?e:(t.minSegmentDts=1/0,e.filter((function(e){return e.dts>=i&&(t.minSegmentDts=Math.min(t.minSegmentDts,e.dts),t.minSegmentPts=t.minSegmentDts,!0)})))},ve=function(e){var t,i,n=[];for(t=0;t=this.virtualRowCount&&"function"==typeof this.beforeRowOverflow&&this.beforeRowOverflow(e),this.rows.length>0&&(this.rows.push(""),this.rowIdx++);this.rows.length>this.virtualRowCount;)this.rows.shift(),this.rowIdx--},Re.prototype.isEmpty=function(){return 0===this.rows.length||1===this.rows.length&&""===this.rows[0]},Re.prototype.addText=function(e){this.rows[this.rowIdx]+=e},Re.prototype.backspace=function(){if(!this.isEmpty()){var e=this.rows[this.rowIdx];this.rows[this.rowIdx]=e.substr(0,e.length-1)}};var De=function(e){this.serviceNum=e,this.text="",this.currentWindow=new Re(-1),this.windows=[]};De.prototype.init=function(e,t){this.startPts=e;for(var i=0;i<8;i++)this.windows[i]=new Re(i),"function"==typeof t&&(this.windows[i].beforeRowOverflow=t)},De.prototype.setCurrentWindow=function(e){this.currentWindow=this.windows[e]};var Oe=function e(){e.prototype.init.call(this);var t=this;this.current708Packet=null,this.services={},this.push=function(e){3===e.type?(t.new708Packet(),t.add708Bytes(e)):(null===t.current708Packet&&t.new708Packet(),t.add708Bytes(e))}};Oe.prototype=new V,Oe.prototype.new708Packet=function(){null!==this.current708Packet&&this.push708Packet(),this.current708Packet={data:[],ptsVals:[]}},Oe.prototype.add708Bytes=function(e){var t=e.ccData,i=t>>>8,n=255&t;this.current708Packet.ptsVals.push(e.pts),this.current708Packet.data.push(i),this.current708Packet.data.push(n)},Oe.prototype.push708Packet=function(){var e=this.current708Packet,t=e.data,i=null,n=null,r=0,a=t[r++];for(e.seq=a>>6,e.sizeCode=63&a;r>5)&&n>0&&(i=a=t[r++]),this.pushServiceBlock(i,r,n),n>0&&(r+=n-1)},Oe.prototype.pushServiceBlock=function(e,t,i){var n,r=t,a=this.current708Packet.data,s=this.services[e];for(s||(s=this.initService(e,r));r>5,a.rowLock=(16&n)>>4,a.columnLock=(8&n)>>3,a.priority=7&n,n=i[++e],a.relativePositioning=(128&n)>>7,a.anchorVertical=127&n,n=i[++e],a.anchorHorizontal=n,n=i[++e],a.anchorPoint=(240&n)>>4,a.rowCount=15&n,n=i[++e],a.columnCount=63&n,n=i[++e],a.windowStyle=(56&n)>>3,a.penStyle=7&n,a.virtualRowCount=a.rowCount+1,e},Oe.prototype.setWindowAttributes=function(e,t){var i=this.current708Packet.data,n=i[e],r=t.currentWindow.winAttr;return n=i[++e],r.fillOpacity=(192&n)>>6,r.fillRed=(48&n)>>4,r.fillGreen=(12&n)>>2,r.fillBlue=3&n,n=i[++e],r.borderType=(192&n)>>6,r.borderRed=(48&n)>>4,r.borderGreen=(12&n)>>2,r.borderBlue=3&n,n=i[++e],r.borderType+=(128&n)>>5,r.wordWrap=(64&n)>>6,r.printDirection=(48&n)>>4,r.scrollDirection=(12&n)>>2,r.justify=3&n,n=i[++e],r.effectSpeed=(240&n)>>4,r.effectDirection=(12&n)>>2,r.displayEffect=3&n,e},Oe.prototype.flushDisplayed=function(e,t){for(var i=[],n=0;n<8;n++)t.windows[n].visible&&!t.windows[n].isEmpty()&&i.push(t.windows[n].getText());t.endPts=e,t.text=i.join("\n\n"),this.pushCaption(t),t.startPts=e},Oe.prototype.pushCaption=function(e){""!==e.text&&(this.trigger("data",{startPts:e.startPts,endPts:e.endPts,text:e.text,stream:"cc708_"+e.serviceNum}),e.text="",e.startPts=e.endPts)},Oe.prototype.displayWindows=function(e,t){var i=this.current708Packet.data[++e],n=this.getPts(e);this.flushDisplayed(n,t);for(var r=0;r<8;r++)i&1<>4,r.offset=(12&n)>>2,r.penSize=3&n,n=i[++e],r.italics=(128&n)>>7,r.underline=(64&n)>>6,r.edgeType=(56&n)>>3,r.fontStyle=7&n,e},Oe.prototype.setPenColor=function(e,t){var i=this.current708Packet.data,n=i[e],r=t.currentWindow.penColor;return n=i[++e],r.fgOpacity=(192&n)>>6,r.fgRed=(48&n)>>4,r.fgGreen=(12&n)>>2,r.fgBlue=3&n,n=i[++e],r.bgOpacity=(192&n)>>6,r.bgRed=(48&n)>>4,r.bgGreen=(12&n)>>2,r.bgBlue=3&n,n=i[++e],r.edgeRed=(48&n)>>4,r.edgeGreen=(12&n)>>2,r.edgeBlue=3&n,e},Oe.prototype.setPenLocation=function(e,t){var i=this.current708Packet.data,n=i[e],r=t.currentWindow.penLoc;return t.currentWindow.pendingNewLine=!0,n=i[++e],r.row=15&n,n=i[++e],r.column=63&n,e},Oe.prototype.reset=function(e,t){var i=this.getPts(e);return this.flushDisplayed(i,t),this.initService(t.serviceNum,e)};var Ue={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},Me=function(e){return null===e?"":(e=Ue[e]||e,String.fromCharCode(e))},Fe=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],Be=function(){for(var e=[],t=15;t--;)e.push("");return e},Ne=function e(t,i){e.prototype.init.call(this),this.field_=t||0,this.dataChannel_=i||0,this.name_="CC"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(e){var t,i,n,r,a;if((t=32639&e.ccData)!==this.lastControlCode_){if(4096==(61440&t)?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),n=t>>>8,r=255&t,t!==this.PADDING_)if(t===this.RESUME_CAPTION_LOADING_)this.mode_="popOn";else if(t===this.END_OF_CAPTION_)this.mode_="popOn",this.clearFormatting(e.pts),this.flushDisplayed(e.pts),i=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=i,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=Be();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=Be();else if(t===this.RESUME_DIRECT_CAPTIONING_)"paintOn"!==this.mode_&&(this.flushDisplayed(e.pts),this.displayed_=Be()),this.mode_="paintOn",this.startPts_=e.pts;else if(this.isSpecialCharacter(n,r))a=Me((n=(3&n)<<8)|r),this[this.mode_](e.pts,a),this.column_++;else if(this.isExtCharacter(n,r))"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),a=Me((n=(3&n)<<8)|r),this[this.mode_](e.pts,a),this.column_++;else if(this.isMidRowCode(n,r))this.clearFormatting(e.pts),this[this.mode_](e.pts," "),this.column_++,14==(14&r)&&this.addFormatting(e.pts,["i"]),1==(1&r)&&this.addFormatting(e.pts,["u"]);else if(this.isOffsetControlCode(n,r))this.column_+=3&r;else if(this.isPAC(n,r)){var s=Fe.indexOf(7968&t);"rollUp"===this.mode_&&(s-this.rollUpRows_+1<0&&(s=this.rollUpRows_-1),this.setRollUp(e.pts,s)),s!==this.row_&&(this.clearFormatting(e.pts),this.row_=s),1&r&&-1===this.formatting_.indexOf("u")&&this.addFormatting(e.pts,["u"]),16==(16&t)&&(this.column_=4*((14&t)>>1)),this.isColorPAC(r)&&14==(14&r)&&this.addFormatting(e.pts,["i"])}else this.isNormalChar(n)&&(0===r&&(r=null),a=Me(n),a+=Me(r),this[this.mode_](e.pts,a),this.column_+=a.length)}else this.lastControlCode_=null}};Ne.prototype=new V,Ne.prototype.flushDisplayed=function(e){var t=this.displayed_.map((function(e,t){try{return e.trim()}catch(e){return this.trigger("log",{level:"warn",message:"Skipping a malformed 608 caption at index "+t+"."}),""}}),this).join("\n").replace(/^\n+|\n+$/g,"");t.length&&this.trigger("data",{startPts:this.startPts_,endPts:e,text:t,stream:this.name_})},Ne.prototype.reset=function(){this.mode_="popOn",this.topRow_=0,this.startPts_=0,this.displayed_=Be(),this.nonDisplayed_=Be(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},Ne.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},Ne.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&t>=48&&t<=63},Ne.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&t>=32&&t<=63},Ne.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&t>=32&&t<=47},Ne.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&t>=33&&t<=35},Ne.prototype.isPAC=function(e,t){return e>=this.BASE_&&e=64&&t<=127},Ne.prototype.isColorPAC=function(e){return e>=64&&e<=79||e>=96&&e<=127},Ne.prototype.isNormalChar=function(e){return e>=32&&e<=127},Ne.prototype.setRollUp=function(e,t){if("rollUp"!==this.mode_&&(this.row_=14,this.mode_="rollUp",this.flushDisplayed(e),this.nonDisplayed_=Be(),this.displayed_=Be()),void 0!==t&&t!==this.row_)for(var i=0;i"}),"");this[this.mode_](e,i)},Ne.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce((function(e,t){return e+""}),"");this.formatting_=[],this[this.mode_](e,t)}},Ne.prototype.popOn=function(e,t){var i=this.nonDisplayed_[this.row_];i+=t,this.nonDisplayed_[this.row_]=i},Ne.prototype.rollUp=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i},Ne.prototype.shiftRowsUp_=function(){var e;for(e=0;et&&(i=-1);Math.abs(t-e)>4294967296;)e+=8589934592*i;return e},ze=function e(t){var i,n;e.prototype.init.call(this),this.type_=t||"shared",this.push=function(e){"shared"!==this.type_&&e.type!==this.type_||(void 0===n&&(n=e.dts),e.dts=He(e.dts,n),e.pts=He(e.pts,n),i=e.dts,this.trigger("data",e))},this.flush=function(){n=i,this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")},this.discontinuity=function(){n=void 0,i=void 0},this.reset=function(){this.discontinuity(),this.trigger("reset")}};ze.prototype=new V;var Ge,We=ze,Ye=He,qe=function(e,t,i){var n,r="";for(n=t;n>>2;h*=4,h+=3&l[7],o.timeStamp=h,void 0===t.pts&&void 0===t.dts&&(t.pts=o.timeStamp,t.dts=o.timeStamp),this.trigger("timestamp",o)}t.frames.push(o),i+=10,i+=s}while(i>>4>1&&(n+=t[n]+1),0===i.pid)i.type="pat",e(t.subarray(n),i),this.trigger("data",i);else if(i.pid===this.pmtPid)for(i.type="pmt",e(t.subarray(n),i),this.trigger("data",i);this.packetsWaitingForPmt.length;)this.processPes_.apply(this,this.packetsWaitingForPmt.shift());else void 0===this.programMapTable?this.packetsWaitingForPmt.push([t,n,i]):this.processPes_(t,n,i)},this.processPes_=function(e,t,i){i.pid===this.programMapTable.video?i.streamType=Ve.H264_STREAM_TYPE:i.pid===this.programMapTable.audio?i.streamType=Ve.ADTS_STREAM_TYPE:i.streamType=this.programMapTable["timed-metadata"][i.pid],i.type="pes",i.data=e.subarray(t),this.trigger("data",i)}}).prototype=new V,Je.STREAM_TYPES={h264:27,adts:15},(Ze=function(){var e,t=this,i=!1,n={data:[],size:0},r={data:[],size:0},a={data:[],size:0},s=function(e,i,n){var r,a,s=new Uint8Array(e.size),o={type:i},u=0,l=0;if(e.data.length&&!(e.size<9)){for(o.trackId=e.data[0].pid,u=0;u>>3,d.pts*=4,d.pts+=(6&h[13])>>>1,d.dts=d.pts,64&c&&(d.dts=(14&h[14])<<27|(255&h[15])<<20|(254&h[16])<<12|(255&h[17])<<5|(254&h[18])>>>3,d.dts*=4,d.dts+=(6&h[18])>>>1)),d.data=h.subarray(9+h[8])),r="video"===i||o.packetLength<=e.size,(n||r)&&(e.size=0,e.data.length=0),r&&t.trigger("data",o)}};Ze.prototype.init.call(this),this.push=function(o){({pat:function(){},pes:function(){var e,t;switch(o.streamType){case Ve.H264_STREAM_TYPE:e=n,t="video";break;case Ve.ADTS_STREAM_TYPE:e=r,t="audio";break;case Ve.METADATA_STREAM_TYPE:e=a,t="timed-metadata";break;default:return}o.payloadUnitStartIndicator&&s(e,t,!0),e.data.push(o),e.size+=o.data.byteLength},pmt:function(){var n={type:"metadata",tracks:[]};null!==(e=o.programMapTable).video&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.video,codec:"avc",type:"video"}),null!==e.audio&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.audio,codec:"adts",type:"audio"}),i=!0,t.trigger("data",n)}})[o.type]()},this.reset=function(){n.size=0,n.data.length=0,r.size=0,r.data.length=0,this.trigger("reset")},this.flushStreams_=function(){s(n,"video"),s(r,"audio"),s(a,"timed-metadata")},this.flush=function(){if(!i&&e){var n={type:"metadata",tracks:[]};null!==e.video&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.video,codec:"avc",type:"video"}),null!==e.audio&&n.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+e.audio,codec:"adts",type:"audio"}),t.trigger("data",n)}i=!1,this.flushStreams_(),this.trigger("done")}}).prototype=new V;var it={PAT_PID:0,MP2T_PACKET_LENGTH:188,TransportPacketStream:$e,TransportParseStream:Je,ElementaryStream:Ze,TimestampRolloverStream:tt,CaptionStream:je.CaptionStream,Cea608Stream:je.Cea608Stream,Cea708Stream:je.Cea708Stream,MetadataStream:et};for(var nt in Ve)Ve.hasOwnProperty(nt)&&(it[nt]=Ve[nt]);var rt,at=it,st=he,ot=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];(rt=function(e){var t,i=0;rt.prototype.init.call(this),this.skipWarn_=function(e,t){this.trigger("log",{level:"warn",message:"adts skiping bytes "+e+" to "+t+" in frame "+i+" outside syncword"})},this.push=function(n){var r,a,s,o,u,l=0;if(e||(i=0),"audio"===n.type){var h;for(t&&t.length?(s=t,(t=new Uint8Array(s.byteLength+n.data.byteLength)).set(s),t.set(n.data,s.byteLength)):t=n.data;l+7>5,u=(o=1024*(1+(3&t[l+6])))*st/ot[(60&t[l+2])>>>2],t.byteLength-l>>6&3),channelcount:(1&t[l+2])<<2|(192&t[l+3])>>>6,samplerate:ot[(60&t[l+2])>>>2],samplingfrequencyindex:(60&t[l+2])>>>2,samplesize:16,data:t.subarray(l+7+a,l+r)}),i++,l+=r}else"number"!=typeof h&&(h=l),l++;"number"==typeof h&&(this.skipWarn_(h,l),h=null),t=t.subarray(l)}},this.flush=function(){i=0,this.trigger("done")},this.reset=function(){t=void 0,this.trigger("reset")},this.endTimeline=function(){t=void 0,this.trigger("endedtimeline")}}).prototype=new V;var ut,lt,ht,dt=rt,ct=function(e){var t=e.byteLength,i=0,n=0;this.length=function(){return 8*t},this.bitsAvailable=function(){return 8*t+n},this.loadWord=function(){var r=e.byteLength-t,a=new Uint8Array(4),s=Math.min(4,t);if(0===s)throw new Error("no bytes available");a.set(e.subarray(r,r+s)),i=new DataView(a.buffer).getUint32(0),n=8*s,t-=s},this.skipBits=function(e){var r;n>e?(i<<=e,n-=e):(e-=n,e-=8*(r=Math.floor(e/8)),t-=r,this.loadWord(),i<<=e,n-=e)},this.readBits=function(e){var r=Math.min(n,e),a=i>>>32-r;return(n-=r)>0?i<<=r:t>0&&this.loadWord(),(r=e-r)>0?a<>>e))return i<<=e,n-=e,e;return this.loadWord(),e+this.skipLeadingZeros()},this.skipUnsignedExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.readUnsignedExpGolomb=function(){var e=this.skipLeadingZeros();return this.readBits(e+1)-1},this.readExpGolomb=function(){var e=this.readUnsignedExpGolomb();return 1&e?1+e>>>1:-1*(e>>>1)},this.readBoolean=function(){return 1===this.readBits(1)},this.readUnsignedByte=function(){return this.readBits(8)},this.loadWord()};(lt=function(){var e,t,i=0;lt.prototype.init.call(this),this.push=function(n){var r;t?((r=new Uint8Array(t.byteLength+n.data.byteLength)).set(t),r.set(n.data,t.byteLength),t=r):t=n.data;for(var a=t.byteLength;i3&&this.trigger("data",t.subarray(i+3)),t=null,i=0,this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")}}).prototype=new V,ht={100:!0,110:!0,122:!0,244:!0,44:!0,83:!0,86:!0,118:!0,128:!0,138:!0,139:!0,134:!0},(ut=function(){var e,t,i,n,r,a,s,o=new lt;ut.prototype.init.call(this),e=this,this.push=function(e){"video"===e.type&&(t=e.trackId,i=e.pts,n=e.dts,o.push(e))},o.on("data",(function(s){var o={trackId:t,pts:i,dts:n,data:s,nalUnitTypeCode:31&s[0]};switch(o.nalUnitTypeCode){case 5:o.nalUnitType="slice_layer_without_partitioning_rbsp_idr";break;case 6:o.nalUnitType="sei_rbsp",o.escapedRBSP=r(s.subarray(1));break;case 7:o.nalUnitType="seq_parameter_set_rbsp",o.escapedRBSP=r(s.subarray(1)),o.config=a(o.escapedRBSP);break;case 8:o.nalUnitType="pic_parameter_set_rbsp";break;case 9:o.nalUnitType="access_unit_delimiter_rbsp"}e.trigger("data",o)})),o.on("done",(function(){e.trigger("done")})),o.on("partialdone",(function(){e.trigger("partialdone")})),o.on("reset",(function(){e.trigger("reset")})),o.on("endedtimeline",(function(){e.trigger("endedtimeline")})),this.flush=function(){o.flush()},this.partialFlush=function(){o.partialFlush()},this.reset=function(){o.reset()},this.endTimeline=function(){o.endTimeline()},s=function(e,t){var i,n=8,r=8;for(i=0;i=0?i:0,(16&e[t+5])>>4?i+20:i+10},gt=function(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]},vt={isLikelyAacData:function(e){var t=function e(t,i){return t.length-i<10||t[i]!=="I".charCodeAt(0)||t[i+1]!=="D".charCodeAt(0)||t[i+2]!=="3".charCodeAt(0)?i:e(t,i+=_t(t,i))}(e,0);return e.length>=t+2&&255==(255&e[t])&&240==(240&e[t+1])&&16==(22&e[t+1])},parseId3TagSize:_t,parseAdtsSize:function(e,t){var i=(224&e[t+5])>>5,n=e[t+4]<<3;return 6144&e[t+3]|n|i},parseType:function(e,t){return e[t]==="I".charCodeAt(0)&&e[t+1]==="D".charCodeAt(0)&&e[t+2]==="3".charCodeAt(0)?"timed-metadata":!0&e[t]&&240==(240&e[t+1])?"audio":null},parseSampleRate:function(e){for(var t=0;t+5>>2];t++}return null},parseAacTimestamp:function(e){var t,i,n;t=10,64&e[5]&&(t+=4,t+=gt(e.subarray(10,14)));do{if((i=gt(e.subarray(t+4,t+8)))<1)return null;if("PRIV"===String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3])){n=e.subarray(t+10,t+i+10);for(var r=0;r>>2;return s*=4,s+=3&a[7]}break}}t+=10,t+=i}while(t=3;)if(e[u]!=="I".charCodeAt(0)||e[u+1]!=="D".charCodeAt(0)||e[u+2]!=="3".charCodeAt(0))if(255!=(255&e[u])||240!=(240&e[u+1]))u++;else{if(e.length-u<7)break;if(u+(o=vt.parseAdtsSize(e,u))>e.length)break;a={type:"audio",data:e.subarray(u,u+o),pts:t,dts:t},this.trigger("data",a),u+=o}else{if(e.length-u<10)break;if(u+(o=vt.parseId3TagSize(e,u))>e.length)break;r={type:"timed-metadata",data:e.subarray(u,u+o)},this.trigger("data",r),u+=o}n=e.length-u,e=n>0?e.subarray(u):new Uint8Array},this.reset=function(){e=new Uint8Array,this.trigger("reset")},this.endTimeline=function(){e=new Uint8Array,this.trigger("endedtimeline")}}).prototype=new V;var yt,bt,St,Tt,Et=ft,wt=["audioobjecttype","channelcount","samplerate","samplingfrequencyindex","samplesize"],At=["width","height","profileIdc","levelIdc","profileCompatibility","sarRatio"],Ct=pt.H264Stream,kt=vt.isLikelyAacData,Pt=he,It=function(e,t){var i;if(e.length!==t.length)return!1;for(i=0;i=-1e4&&i<=45e3&&(!n||o>i)&&(n=a,o=i));return n?n.gop:null},this.alignGopsAtStart_=function(e){var t,i,n,r,a,o,u,l;for(a=e.byteLength,o=e.nalCount,u=e.duration,t=i=0;tn.pts?t++:(i++,a-=r.byteLength,o-=r.nalCount,u-=r.duration);return 0===i?e:i===e.length?null:((l=e.slice(i)).byteLength=a,l.duration=u,l.nalCount=o,l.pts=l[0].pts,l.dts=l[0].dts,l)},this.alignGopsAtEnd_=function(e){var t,i,n,r,a,o,u;for(t=s.length-1,i=e.length-1,a=null,o=!1;t>=0&&i>=0;){if(n=s[t],r=e[i],n.pts===r.pts){o=!0;break}n.pts>r.pts?t--:(t===s.length-1&&(a=i),i--)}if(!o&&null===a)return null;if(0===(u=o?i:a))return e;var l=e.slice(u),h=l.reduce((function(e,t){return e.byteLength+=t.byteLength,e.duration+=t.duration,e.nalCount+=t.nalCount,e}),{byteLength:0,duration:0,nalCount:0});return l.byteLength=h.byteLength,l.duration=h.duration,l.nalCount=h.nalCount,l.pts=l[0].pts,l.dts=l[0].dts,l},this.alignGopsWith=function(e){s=e}}).prototype=new V,(Tt=function(e,t){this.numberOfTracks=0,this.metadataStream=t,void 0!==(e=e||{}).remux?this.remuxTracks=!!e.remux:this.remuxTracks=!0,"boolean"==typeof e.keepOriginalTimestamps?this.keepOriginalTimestamps=e.keepOriginalTimestamps:this.keepOriginalTimestamps=!1,this.pendingTracks=[],this.videoTrack=null,this.pendingBoxes=[],this.pendingCaptions=[],this.pendingMetadata=[],this.pendingBytes=0,this.emittedTracks=0,Tt.prototype.init.call(this),this.push=function(e){return e.text?this.pendingCaptions.push(e):e.frames?this.pendingMetadata.push(e):(this.pendingTracks.push(e.track),this.pendingBytes+=e.boxes.byteLength,"video"===e.track.type&&(this.videoTrack=e.track,this.pendingBoxes.push(e.boxes)),void("audio"===e.track.type&&(this.audioTrack=e.track,this.pendingBoxes.unshift(e.boxes))))}}).prototype=new V,Tt.prototype.flush=function(e){var t,i,n,r,a=0,s={captions:[],captionStreams:{},metadata:[],info:{}},o=0;if(this.pendingTracks.length=this.numberOfTracks&&(this.trigger("done"),this.emittedTracks=0))}if(this.videoTrack?(o=this.videoTrack.timelineStartInfo.pts,At.forEach((function(e){s.info[e]=this.videoTrack[e]}),this)):this.audioTrack&&(o=this.audioTrack.timelineStartInfo.pts,wt.forEach((function(e){s.info[e]=this.audioTrack[e]}),this)),this.videoTrack||this.audioTrack){for(1===this.pendingTracks.length?s.type=this.pendingTracks[0].type:s.type="combined",this.emittedTracks+=this.pendingTracks.length,n=Z(this.pendingTracks),s.initSegment=new Uint8Array(n.byteLength),s.initSegment.set(n),s.data=new Uint8Array(this.pendingBytes),r=0;r=this.numberOfTracks&&(this.trigger("done"),this.emittedTracks=0)},Tt.prototype.setRemux=function(e){this.remuxTracks=e},(St=function(e){var t,i,n=this,r=!0;St.prototype.init.call(this),e=e||{},this.baseMediaDecodeTime=e.baseMediaDecodeTime||0,this.transmuxPipeline_={},this.setupAacPipeline=function(){var r={};this.transmuxPipeline_=r,r.type="aac",r.metadataStream=new at.MetadataStream,r.aacStream=new Et,r.audioTimestampRolloverStream=new at.TimestampRolloverStream("audio"),r.timedMetadataTimestampRolloverStream=new at.TimestampRolloverStream("timed-metadata"),r.adtsStream=new dt,r.coalesceStream=new Tt(e,r.metadataStream),r.headOfPipeline=r.aacStream,r.aacStream.pipe(r.audioTimestampRolloverStream).pipe(r.adtsStream),r.aacStream.pipe(r.timedMetadataTimestampRolloverStream).pipe(r.metadataStream).pipe(r.coalesceStream),r.metadataStream.on("timestamp",(function(e){r.aacStream.setTimestamp(e.timeStamp)})),r.aacStream.on("data",(function(a){"timed-metadata"!==a.type&&"audio"!==a.type||r.audioSegmentStream||(i=i||{timelineStartInfo:{baseMediaDecodeTime:n.baseMediaDecodeTime},codec:"adts",type:"audio"},r.coalesceStream.numberOfTracks++,r.audioSegmentStream=new bt(i,e),r.audioSegmentStream.on("log",n.getLogTrigger_("audioSegmentStream")),r.audioSegmentStream.on("timingInfo",n.trigger.bind(n,"audioTimingInfo")),r.adtsStream.pipe(r.audioSegmentStream).pipe(r.coalesceStream),n.trigger("trackinfo",{hasAudio:!!i,hasVideo:!!t}))})),r.coalesceStream.on("data",this.trigger.bind(this,"data")),r.coalesceStream.on("done",this.trigger.bind(this,"done"))},this.setupTsPipeline=function(){var r={};this.transmuxPipeline_=r,r.type="ts",r.metadataStream=new at.MetadataStream,r.packetStream=new at.TransportPacketStream,r.parseStream=new at.TransportParseStream,r.elementaryStream=new at.ElementaryStream,r.timestampRolloverStream=new at.TimestampRolloverStream,r.adtsStream=new dt,r.h264Stream=new Ct,r.captionStream=new at.CaptionStream(e),r.coalesceStream=new Tt(e,r.metadataStream),r.headOfPipeline=r.packetStream,r.packetStream.pipe(r.parseStream).pipe(r.elementaryStream).pipe(r.timestampRolloverStream),r.timestampRolloverStream.pipe(r.h264Stream),r.timestampRolloverStream.pipe(r.adtsStream),r.timestampRolloverStream.pipe(r.metadataStream).pipe(r.coalesceStream),r.h264Stream.pipe(r.captionStream).pipe(r.coalesceStream),r.elementaryStream.on("data",(function(a){var s;if("metadata"===a.type){for(s=a.tracks.length;s--;)t||"video"!==a.tracks[s].type?i||"audio"!==a.tracks[s].type||((i=a.tracks[s]).timelineStartInfo.baseMediaDecodeTime=n.baseMediaDecodeTime):(t=a.tracks[s]).timelineStartInfo.baseMediaDecodeTime=n.baseMediaDecodeTime;t&&!r.videoSegmentStream&&(r.coalesceStream.numberOfTracks++,r.videoSegmentStream=new yt(t,e),r.videoSegmentStream.on("log",n.getLogTrigger_("videoSegmentStream")),r.videoSegmentStream.on("timelineStartInfo",(function(t){i&&!e.keepOriginalTimestamps&&(i.timelineStartInfo=t,r.audioSegmentStream.setEarliestDts(t.dts-n.baseMediaDecodeTime))})),r.videoSegmentStream.on("processedGopsInfo",n.trigger.bind(n,"gopInfo")),r.videoSegmentStream.on("segmentTimingInfo",n.trigger.bind(n,"videoSegmentTimingInfo")),r.videoSegmentStream.on("baseMediaDecodeTime",(function(e){i&&r.audioSegmentStream.setVideoBaseMediaDecodeTime(e)})),r.videoSegmentStream.on("timingInfo",n.trigger.bind(n,"videoTimingInfo")),r.h264Stream.pipe(r.videoSegmentStream).pipe(r.coalesceStream)),i&&!r.audioSegmentStream&&(r.coalesceStream.numberOfTracks++,r.audioSegmentStream=new bt(i,e),r.audioSegmentStream.on("log",n.getLogTrigger_("audioSegmentStream")),r.audioSegmentStream.on("timingInfo",n.trigger.bind(n,"audioTimingInfo")),r.audioSegmentStream.on("segmentTimingInfo",n.trigger.bind(n,"audioSegmentTimingInfo")),r.adtsStream.pipe(r.audioSegmentStream).pipe(r.coalesceStream)),n.trigger("trackinfo",{hasAudio:!!i,hasVideo:!!t})}})),r.coalesceStream.on("data",this.trigger.bind(this,"data")),r.coalesceStream.on("id3Frame",(function(e){e.dispatchType=r.metadataStream.dispatchType,n.trigger("id3Frame",e)})),r.coalesceStream.on("caption",this.trigger.bind(this,"caption")),r.coalesceStream.on("done",this.trigger.bind(this,"done"))},this.setBaseMediaDecodeTime=function(n){var r=this.transmuxPipeline_;e.keepOriginalTimestamps||(this.baseMediaDecodeTime=n),i&&(i.timelineStartInfo.dts=void 0,i.timelineStartInfo.pts=void 0,Se(i),r.audioTimestampRolloverStream&&r.audioTimestampRolloverStream.discontinuity()),t&&(r.videoSegmentStream&&(r.videoSegmentStream.gopCache_=[]),t.timelineStartInfo.dts=void 0,t.timelineStartInfo.pts=void 0,Se(t),r.captionStream.reset()),r.timestampRolloverStream&&r.timestampRolloverStream.discontinuity()},this.setAudioAppendStart=function(e){i&&this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(e)},this.setRemux=function(t){var i=this.transmuxPipeline_;e.remux=t,i&&i.coalesceStream&&i.coalesceStream.setRemux(t)},this.alignGopsWith=function(e){t&&this.transmuxPipeline_.videoSegmentStream&&this.transmuxPipeline_.videoSegmentStream.alignGopsWith(e)},this.getLogTrigger_=function(e){var t=this;return function(i){i.stream=e,t.trigger("log",i)}},this.push=function(e){if(r){var t=kt(e);if(t&&"aac"!==this.transmuxPipeline_.type?this.setupAacPipeline():t||"ts"===this.transmuxPipeline_.type||this.setupTsPipeline(),this.transmuxPipeline_)for(var i=Object.keys(this.transmuxPipeline_),n=0;n>>0},Mt=function(e){var t="";return t+=String.fromCharCode(e[0]),t+=String.fromCharCode(e[1]),t+=String.fromCharCode(e[2]),t+=String.fromCharCode(e[3])},Ft=Ut,Bt=function e(t,i){var n,r,a,s,o,u=[];if(!i.length)return null;for(n=0;n1?n+r:t.byteLength,a===i[0]&&(1===i.length?u.push(t.subarray(n+8,s)):(o=e(t.subarray(n+8,s),i.slice(1))).length&&(u=u.concat(o))),n=s;return u},Nt=Ut,jt=function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4)),baseMediaDecodeTime:Nt(e[4]<<24|e[5]<<16|e[6]<<8|e[7])};return 1===t.version&&(t.baseMediaDecodeTime*=Math.pow(2,32),t.baseMediaDecodeTime+=Nt(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),t},Vt=function(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}},Ht=function(e){var t,i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]},n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=1&i.flags[2],a=4&i.flags[2],s=1&i.flags[1],o=2&i.flags[1],u=4&i.flags[1],l=8&i.flags[1],h=n.getUint32(4),d=8;for(r&&(i.dataOffset=n.getInt32(d),d+=4),a&&h&&(t={flags:Vt(e.subarray(d,d+4))},d+=4,s&&(t.duration=n.getUint32(d),d+=4),o&&(t.size=n.getUint32(d),d+=4),l&&(1===i.version?t.compositionTimeOffset=n.getInt32(d):t.compositionTimeOffset=n.getUint32(d),d+=4),i.samples.push(t),h--);h--;)t={},s&&(t.duration=n.getUint32(d),d+=4),o&&(t.size=n.getUint32(d),d+=4),u&&(t.flags=Vt(e.subarray(d,d+4)),d+=4),l&&(1===i.version?t.compositionTimeOffset=n.getInt32(d):t.compositionTimeOffset=n.getUint32(d),d+=4),i.samples.push(t);return i},zt=function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:i.getUint32(4)},r=1&n.flags[2],a=2&n.flags[2],s=8&n.flags[2],o=16&n.flags[2],u=32&n.flags[2],l=65536&n.flags[0],h=131072&n.flags[0];return t=8,r&&(t+=4,n.baseDataOffset=i.getUint32(12),t+=4),a&&(n.sampleDescriptionIndex=i.getUint32(t),t+=4),s&&(n.defaultSampleDuration=i.getUint32(t),t+=4),o&&(n.defaultSampleSize=i.getUint32(t),t+=4),u&&(n.defaultSampleFlags=i.getUint32(t)),l&&(n.durationIsEmpty=!0),!r&&h&&(n.baseDataOffsetIsMoof=!0),n},Gt=ke,Wt=je.CaptionStream,Yt=function(e,t){for(var i=e,n=0;n0?jt(l[0]).baseMediaDecodeTime:0,d=Bt(a,["trun"]);t===u&&d.length>0&&(i=function(e,t,i){var n,r,a,s,o=new DataView(e.buffer,e.byteOffset,e.byteLength),u={logs:[],seiNals:[]};for(r=0;r+40;){var u=t.shift();this.parse(u,a,s)}return(o=function(e,t,i){if(null===t)return null;var n=qt(e,t)[t]||{};return{seiNals:n.seiNals,logs:n.logs,timescale:i}}(e,i,n))&&o.logs&&(r.logs=r.logs.concat(o.logs)),null!==o&&o.seiNals?(this.pushNals(o.seiNals),this.flushStream(),r):r.logs.length?{logs:r.logs,captions:[],captionStreams:[]}:null},this.pushNals=function(t){if(!this.isInitialized()||!t||0===t.length)return null;t.forEach((function(t){e.push(t)}))},this.flushStream=function(){if(!this.isInitialized())return null;a?e.partialFlush():e.flush()},this.clearParsedCaptions=function(){r.captions=[],r.captionStreams={},r.logs=[]},this.resetCaptionStream=function(){if(!this.isInitialized())return null;e.reset()},this.clearAllCaptions=function(){this.clearParsedCaptions(),this.resetCaptionStream()},this.reset=function(){t=[],i=null,n=null,r?this.clearParsedCaptions():r={captions:[],captionStreams:{},logs:[]},this.resetCaptionStream()},this.reset()},Xt=Ut,Qt=function(e){return("00"+e.toString(16)).slice(-2)};xt=function(e,t){var i,n,r;return i=Bt(t,["moof","traf"]),n=[].concat.apply([],i.map((function(t){return Bt(t,["tfhd"]).map((function(i){var n,r,a;return n=Xt(i[4]<<24|i[5]<<16|i[6]<<8|i[7]),r=e[n]||9e4,(a="number"!=typeof(a=Bt(t,["tfdt"]).map((function(e){var t,i;return t=e[0],i=Xt(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),1===t&&(i*=Math.pow(2,32),i+=Xt(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),i}))[0])||isNaN(a)?1/0:a)/r}))}))),r=Math.min.apply(null,n),isFinite(r)?r:0},Rt=function(e){var t=Bt(e,["moov","trak"]),i=[];return t.forEach((function(e){var t,n,r={},a=Bt(e,["tkhd"])[0];a&&(n=(t=new DataView(a.buffer,a.byteOffset,a.byteLength)).getUint8(0),r.id=0===n?t.getUint32(12):t.getUint32(20));var s=Bt(e,["mdia","hdlr"])[0];if(s){var o=Mt(s.subarray(8,12));r.type="vide"===o?"video":"soun"===o?"audio":o}var u=Bt(e,["mdia","minf","stbl","stsd"])[0];if(u){var l=u.subarray(8);r.codec=Mt(l.subarray(4,8));var h,d=Bt(l,[r.codec])[0];d&&(/^[a-z]vc[1-9]$/i.test(r.codec)?(h=d.subarray(78),"avcC"===Mt(h.subarray(4,8))&&h.length>11?(r.codec+=".",r.codec+=Qt(h[9]),r.codec+=Qt(h[10]),r.codec+=Qt(h[11])):r.codec="avc1.4d400d"):/^mp4[a,v]$/i.test(r.codec)?(h=d.subarray(28),"esds"===Mt(h.subarray(4,8))&&h.length>20&&0!==h[19]?(r.codec+="."+Qt(h[19]),r.codec+="."+Qt(h[20]>>>2&63).replace(/^0/,"")):r.codec="mp4a.40.2"):r.codec=r.codec.toLowerCase())}var c=Bt(e,["mdia","mdhd"])[0];c&&(r.timescale=Dt(c)),i.push(r)})),i};var $t=xt,Jt=Rt,Zt=(Dt=function(e){var t=0===e[0]?12:20;return Xt(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])},function(e){var t=31&e[1];return t<<=8,t|=e[2]}),ei=function(e){return!!(64&e[1])},ti=function(e){var t=0;return(48&e[3])>>>4>1&&(t+=e[4]+1),t},ii=function(e){switch(e){case 5:return"slice_layer_without_partitioning_rbsp_idr";case 6:return"sei_rbsp";case 7:return"seq_parameter_set_rbsp";case 8:return"pic_parameter_set_rbsp";case 9:return"access_unit_delimiter_rbsp";default:return null}},ni={parseType:function(e,t){var i=Zt(e);return 0===i?"pat":i===t?"pmt":t?"pes":null},parsePat:function(e){var t=ei(e),i=4+ti(e);return t&&(i+=e[i]+1),(31&e[i+10])<<8|e[i+11]},parsePmt:function(e){var t={},i=ei(e),n=4+ti(e);if(i&&(n+=e[n]+1),1&e[n+5]){var r;r=3+((15&e[n+1])<<8|e[n+2])-4;for(var a=12+((15&e[n+10])<<8|e[n+11]);a=e.byteLength)return null;var i,n=null;return 192&(i=e[t+7])&&((n={}).pts=(14&e[t+9])<<27|(255&e[t+10])<<20|(254&e[t+11])<<12|(255&e[t+12])<<5|(254&e[t+13])>>>3,n.pts*=4,n.pts+=(6&e[t+13])>>>1,n.dts=n.pts,64&i&&(n.dts=(14&e[t+14])<<27|(255&e[t+15])<<20|(254&e[t+16])<<12|(255&e[t+17])<<5|(254&e[t+18])>>>3,n.dts*=4,n.dts+=(6&e[t+18])>>>1)),n},videoPacketContainsKeyFrame:function(e){for(var t=4+ti(e),i=e.subarray(t),n=0,r=0,a=!1;r3&&"slice_layer_without_partitioning_rbsp_idr"===ii(31&i[r+3])&&(a=!0),a}},ri=Ye,ai={};ai.ts=ni,ai.aac=vt;var si=he,oi=function(e,t,i){for(var n,r,a,s,o=0,u=188,l=!1;u<=e.byteLength;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o++,u++;else{switch(n=e.subarray(o,u),ai.ts.parseType(n,t.pid)){case"pes":r=ai.ts.parsePesType(n,t.table),a=ai.ts.parsePayloadUnitStartIndicator(n),"audio"===r&&a&&(s=ai.ts.parsePesTime(n))&&(s.type="audio",i.audio.push(s),l=!0)}if(l)break;o+=188,u+=188}for(o=(u=e.byteLength)-188,l=!1;o>=0;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o--,u--;else{switch(n=e.subarray(o,u),ai.ts.parseType(n,t.pid)){case"pes":r=ai.ts.parsePesType(n,t.table),a=ai.ts.parsePayloadUnitStartIndicator(n),"audio"===r&&a&&(s=ai.ts.parsePesTime(n))&&(s.type="audio",i.audio.push(s),l=!0)}if(l)break;o-=188,u-=188}},ui=function(e,t,i){for(var n,r,a,s,o,u,l,h=0,d=188,c=!1,f={data:[],size:0};d=0;)if(71!==e[h]||71!==e[d])h--,d--;else{switch(n=e.subarray(h,d),ai.ts.parseType(n,t.pid)){case"pes":r=ai.ts.parsePesType(n,t.table),a=ai.ts.parsePayloadUnitStartIndicator(n),"video"===r&&a&&(s=ai.ts.parsePesTime(n))&&(s.type="video",i.video.push(s),c=!0)}if(c)break;h-=188,d-=188}},li=function(e){var t={pid:null,table:null},i={};for(var n in function(e,t){for(var i,n=0,r=188;r=3;){switch(ai.aac.parseType(e,o)){case"timed-metadata":if(e.length-o<10){i=!0;break}if((s=ai.aac.parseId3TagSize(e,o))>e.length){i=!0;break}null===a&&(t=e.subarray(o,o+s),a=ai.aac.parseAacTimestamp(t)),o+=s;break;case"audio":if(e.length-o<7){i=!0;break}if((s=ai.aac.parseAdtsSize(e,o))>e.length){i=!0;break}null===r&&(t=e.subarray(o,o+s),r=ai.aac.parseSampleRate(t)),n++,o+=s;break;default:o++}if(i)return null}if(null===r||null===a)return null;var u=si/r;return{audio:[{type:"audio",dts:a,pts:a},{type:"audio",dts:a+1024*n*u,pts:a+1024*n*u}]}}(e):li(e))&&(i.audio||i.video)?(function(e,t){if(e.audio&&e.audio.length){var i=t;(void 0===i||isNaN(i))&&(i=e.audio[0].dts),e.audio.forEach((function(e){e.dts=ri(e.dts,i),e.pts=ri(e.pts,i),e.dtsTime=e.dts/si,e.ptsTime=e.pts/si}))}if(e.video&&e.video.length){var n=t;if((void 0===n||isNaN(n))&&(n=e.video[0].dts),e.video.forEach((function(e){e.dts=ri(e.dts,n),e.pts=ri(e.pts,n),e.dtsTime=e.dts/si,e.ptsTime=e.pts/si})),e.firstKeyFrame){var r=e.firstKeyFrame;r.dts=ri(r.dts,n),r.pts=ri(r.pts,n),r.dtsTime=r.dts/si,r.ptsTime=r.pts/si}}}(i,t),i):null},di=function(){function e(e,t){this.options=t||{},this.self=e,this.init()}var t=e.prototype;return t.init=function(){this.transmuxer&&this.transmuxer.dispose(),this.transmuxer=new Ot.Transmuxer(this.options),function(e,t){t.on("data",(function(t){var i=t.initSegment;t.initSegment={data:i.buffer,byteOffset:i.byteOffset,byteLength:i.byteLength};var n=t.data;t.data=n.buffer,e.postMessage({action:"data",segment:t,byteOffset:n.byteOffset,byteLength:n.byteLength},[t.data])})),t.on("done",(function(t){e.postMessage({action:"done"})})),t.on("gopInfo",(function(t){e.postMessage({action:"gopInfo",gopInfo:t})})),t.on("videoSegmentTimingInfo",(function(t){var i={start:{decode:ce(t.start.dts),presentation:ce(t.start.pts)},end:{decode:ce(t.end.dts),presentation:ce(t.end.pts)},baseMediaDecodeTime:ce(t.baseMediaDecodeTime)};t.prependedContentDuration&&(i.prependedContentDuration=ce(t.prependedContentDuration)),e.postMessage({action:"videoSegmentTimingInfo",videoSegmentTimingInfo:i})})),t.on("audioSegmentTimingInfo",(function(t){var i={start:{decode:ce(t.start.dts),presentation:ce(t.start.pts)},end:{decode:ce(t.end.dts),presentation:ce(t.end.pts)},baseMediaDecodeTime:ce(t.baseMediaDecodeTime)};t.prependedContentDuration&&(i.prependedContentDuration=ce(t.prependedContentDuration)),e.postMessage({action:"audioSegmentTimingInfo",audioSegmentTimingInfo:i})})),t.on("id3Frame",(function(t){e.postMessage({action:"id3Frame",id3Frame:t})})),t.on("caption",(function(t){e.postMessage({action:"caption",caption:t})})),t.on("trackinfo",(function(t){e.postMessage({action:"trackinfo",trackInfo:t})})),t.on("audioTimingInfo",(function(t){e.postMessage({action:"audioTimingInfo",audioTimingInfo:{start:ce(t.start),end:ce(t.end)}})})),t.on("videoTimingInfo",(function(t){e.postMessage({action:"videoTimingInfo",videoTimingInfo:{start:ce(t.start),end:ce(t.end)}})})),t.on("log",(function(t){e.postMessage({action:"log",log:t})}))}(this.self,this.transmuxer)},t.pushMp4Captions=function(e){this.captionParser||(this.captionParser=new Kt,this.captionParser.init());var t=new Uint8Array(e.data,e.byteOffset,e.byteLength),i=this.captionParser.parse(t,e.trackIds,e.timescales);this.self.postMessage({action:"mp4Captions",captions:i&&i.captions||[],logs:i&&i.logs||[],data:t.buffer},[t.buffer])},t.probeMp4StartTime=function(e){var t=e.timescales,i=e.data,n=$t(t,i);this.self.postMessage({action:"probeMp4StartTime",startTime:n,data:i},[i.buffer])},t.probeMp4Tracks=function(e){var t=e.data,i=Jt(t);this.self.postMessage({action:"probeMp4Tracks",tracks:i,data:t},[t.buffer])},t.probeTs=function(e){var t=e.data,i=e.baseStartTime,n="number"!=typeof i||isNaN(i)?void 0:i*he,r=hi(t,n),a=null;r&&((a={hasVideo:r.video&&2===r.video.length||!1,hasAudio:r.audio&&2===r.audio.length||!1}).hasVideo&&(a.videoStart=r.video[0].ptsTime),a.hasAudio&&(a.audioStart=r.audio[0].ptsTime)),this.self.postMessage({action:"probeTs",result:a,data:t},[t.buffer])},t.clearAllMp4Captions=function(){this.captionParser&&this.captionParser.clearAllCaptions()},t.clearParsedMp4Captions=function(){this.captionParser&&this.captionParser.clearParsedCaptions()},t.push=function(e){var t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.transmuxer.push(t)},t.reset=function(){this.transmuxer.reset()},t.setTimestampOffset=function(e){var t=e.timestampOffset||0;this.transmuxer.setBaseMediaDecodeTime(Math.round(de(t)))},t.setAudioAppendStart=function(e){this.transmuxer.setAudioAppendStart(Math.ceil(de(e.appendStart)))},t.setRemux=function(e){this.transmuxer.setRemux(e.remux)},t.flush=function(e){this.transmuxer.flush(),self.postMessage({action:"done",type:"transmuxed"})},t.endTimeline=function(){this.transmuxer.endTimeline(),self.postMessage({action:"endedtimeline",type:"transmuxed"})},t.alignGopsWith=function(e){this.transmuxer.alignGopsWith(e.gopsToAlignWith.slice())},e}();self.onmessage=function(e){"init"===e.data.action&&e.data.options?this.messageHandlers=new di(self,e.data.options):(this.messageHandlers||(this.messageHandlers=new di(self)),e.data&&e.data.action&&"init"!==e.data.action&&this.messageHandlers[e.data.action]&&this.messageHandlers[e.data.action](e.data))}})))),ls=function(e){var t=e.transmuxer,i=e.bytes,n=e.audioAppendStart,r=e.gopsToAlignWith,a=e.remux,s=e.onData,o=e.onTrackInfo,u=e.onAudioTimingInfo,l=e.onVideoTimingInfo,h=e.onVideoSegmentTimingInfo,d=e.onAudioSegmentTimingInfo,c=e.onId3,f=e.onCaptions,p=e.onDone,m=e.onEndedTimeline,_=e.onTransmuxerLog,g=e.isEndOfTimeline,v={buffer:[]},y=g;if(t.onmessage=function(i){t.currentTransmux===e&&("data"===i.data.action&&function(e,t,i){var n=e.data.segment,r=n.type,a=n.initSegment,s=n.captions,o=n.captionStreams,u=n.metadata,l=n.videoFrameDtsTime,h=n.videoFramePtsTime;t.buffer.push({captions:s,captionStreams:o,metadata:u});var d=e.data.segment.boxes||{data:e.data.segment.data},c={type:r,data:new Uint8Array(d.data,d.data.byteOffset,d.data.byteLength),initSegment:new Uint8Array(a.data,a.byteOffset,a.byteLength)};void 0!==l&&(c.videoFrameDtsTime=l),void 0!==h&&(c.videoFramePtsTime=h),i(c)}(i,v,s),"trackinfo"===i.data.action&&o(i.data.trackInfo),"gopInfo"===i.data.action&&function(e,t){t.gopInfo=e.data.gopInfo}(i,v),"audioTimingInfo"===i.data.action&&u(i.data.audioTimingInfo),"videoTimingInfo"===i.data.action&&l(i.data.videoTimingInfo),"videoSegmentTimingInfo"===i.data.action&&h(i.data.videoSegmentTimingInfo),"audioSegmentTimingInfo"===i.data.action&&d(i.data.audioSegmentTimingInfo),"id3Frame"===i.data.action&&c([i.data.id3Frame],i.data.id3Frame.dispatchType),"caption"===i.data.action&&f(i.data.caption),"endedtimeline"===i.data.action&&(y=!1,m()),"log"===i.data.action&&_(i.data.log),"transmuxed"===i.data.type&&(y||(t.onmessage=null,function(e){var t=e.transmuxedData,i=e.callback;t.buffer=[],i(t)}({transmuxedData:v,callback:p}),hs(t))))},n&&t.postMessage({action:"setAudioAppendStart",appendStart:n}),Array.isArray(r)&&t.postMessage({action:"alignGopsWith",gopsToAlignWith:r}),void 0!==a&&t.postMessage({action:"setRemux",remux:a}),i.byteLength){var b=i instanceof ArrayBuffer?i:i.buffer,S=i instanceof ArrayBuffer?0:i.byteOffset;t.postMessage({action:"push",data:b,byteOffset:S,byteLength:i.byteLength},[b])}g&&t.postMessage({action:"endTimeline"}),t.postMessage({action:"flush"})},hs=function(e){e.currentTransmux=null,e.transmuxQueue.length&&(e.currentTransmux=e.transmuxQueue.shift(),"function"==typeof e.currentTransmux?e.currentTransmux():ls(e.currentTransmux))},ds=function(e,t){e.postMessage({action:t}),hs(e)},cs=function(e,t){if(!t.currentTransmux)return t.currentTransmux=e,void ds(t,e);t.transmuxQueue.push(ds.bind(null,t,e))},fs=function(e){if(!e.transmuxer.currentTransmux)return e.transmuxer.currentTransmux=e,void ls(e);e.transmuxer.transmuxQueue.push(e)},ps=function(e){cs("reset",e)},ms=function(e){var t=new us;t.currentTransmux=null,t.transmuxQueue=[];var i=t.terminate;return t.terminate=function(){return t.currentTransmux=null,t.transmuxQueue.length=0,i.call(t)},t.postMessage({action:"init",options:e}),t},_s=function(e){var t=e.transmuxer,i=e.endAction||e.action,n=e.callback,r=P.default({},e,{endAction:null,transmuxer:null,callback:null});if(t.addEventListener("message",(function r(a){a.data.action===i&&(t.removeEventListener("message",r),a.data.data&&(a.data.data=new Uint8Array(a.data.data,e.byteOffset||0,e.byteLength||a.data.data.byteLength),e.data&&(e.data=a.data.data)),n(a.data))})),e.data){var a=e.data instanceof ArrayBuffer;r.byteOffset=a?0:e.data.byteOffset,r.byteLength=e.data.byteLength;var s=[a?e.data:e.data.buffer];t.postMessage(r,s)}else t.postMessage(r)},gs=2,vs=-101,ys=-102,bs=function(e){e.forEach((function(e){e.abort()}))},Ss=function(e,t){return t.timedout?{status:t.status,message:"HLS request timed-out at URL: "+t.uri,code:vs,xhr:t}:t.aborted?{status:t.status,message:"HLS request aborted at URL: "+t.uri,code:ys,xhr:t}:e?{status:t.status,message:"HLS request errored at URL: "+t.uri,code:gs,xhr:t}:"arraybuffer"===t.responseType&&0===t.response.byteLength?{status:t.status,message:"Empty HLS response at URL: "+t.uri,code:gs,xhr:t}:null},Ts=function(e,t,i){return function(n,r){var a=r.response,s=Ss(n,r);if(s)return i(s,e);if(16!==a.byteLength)return i({status:r.status,message:"Invalid HLS key at URL: "+r.uri,code:gs,xhr:r},e);for(var o=new DataView(a),u=new Uint32Array([o.getUint32(0),o.getUint32(4),o.getUint32(8),o.getUint32(12)]),l=0;l1)return xs("multiple "+e+" codecs found as attributes: "+t[e].join(", ")+". Setting playlist codecs to null so that we wait for mux.js to probe segments for real codecs."),void(t[e]=null);t[e]=t[e][0]})),t},Os=function(e){var t=0;return e.audio&&t++,e.video&&t++,t},Us=function(e,t){var i=t.attributes||{},n=Ds(function(e){var t=e.attributes||{};if(t.CODECS)return _.parseCodecs(t.CODECS)}(t)||[]);if(Rs(e,t)&&!n.audio&&!function(e,t){if(!Rs(e,t))return!0;var i=t.attributes||{},n=e.mediaGroups.AUDIO[i.AUDIO];for(var r in n)if(!n[r].uri&&!n[r].playlists)return!0;return!1}(e,t)){var r=Ds(_.codecsFromDefault(e,i.AUDIO)||[]);r.audio&&(n.audio=r.audio)}return n},Ms=$r("PlaylistSelector"),Fs=function(e){if(e&&e.playlist){var t=e.playlist;return JSON.stringify({id:t.id,bandwidth:e.bandwidth,width:e.width,height:e.height,codecs:t.attributes&&t.attributes.CODECS||""})}},Bs=function(e,t){if(!e)return"";var i=C.default.getComputedStyle(e);return i?i[t]:""},Ns=function(e,t){var i=e.slice();e.sort((function(e,n){var r=t(e,n);return 0===r?i.indexOf(e)-i.indexOf(n):r}))},js=function(e,t){var i,n;return e.attributes.BANDWIDTH&&(i=e.attributes.BANDWIDTH),i=i||C.default.Number.MAX_VALUE,t.attributes.BANDWIDTH&&(n=t.attributes.BANDWIDTH),i-(n=n||C.default.Number.MAX_VALUE)},Vs=function(e,t,i,n,r,a){if(e){var s={bandwidth:t,width:i,height:n,limitRenditionByPlayerDimensions:r},o=e.playlists;Sa.isAudioOnly(e)&&(o=a.getAudioTrackPlaylists_(),s.audioOnly=!0);var u=o.map((function(e){var t=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width,i=e.attributes&&e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height;return{bandwidth:e.attributes&&e.attributes.BANDWIDTH||C.default.Number.MAX_VALUE,width:t,height:i,playlist:e}}));Ns(u,(function(e,t){return e.bandwidth-t.bandwidth}));var l=(u=u.filter((function(e){return!Sa.isIncompatible(e.playlist)}))).filter((function(e){return Sa.isEnabled(e.playlist)}));l.length||(l=u.filter((function(e){return!Sa.isDisabled(e.playlist)})));var h=l.filter((function(e){return e.bandwidth*ns.BANDWIDTH_VARIANCEi||e.height>n}))).filter((function(e){return e.width===g[0].width&&e.height===g[0].height})),d=v[v.length-1],y=v.filter((function(e){return e.bandwidth===d.bandwidth}))[0]),a.experimentalLeastPixelDiffSelector){var T=m.map((function(e){return e.pixelDiff=Math.abs(e.width-i)+Math.abs(e.height-n),e}));Ns(T,(function(e,t){return e.pixelDiff===t.pixelDiff?t.bandwidth-e.bandwidth:e.pixelDiff-t.pixelDiff})),b=T[0]}var E=b||y||S||c||l[0]||u[0];if(E&&E.playlist){var w="sortedPlaylistReps";return b?w="leastPixelDiffRep":y?w="resolutionPlusOneRep":S?w="resolutionBestRep":c?w="bandwidthBestRep":l[0]&&(w="enabledPlaylistReps"),Ms("choosing "+Fs(E)+" using "+w+" with options",s),E.playlist}return Ms("could not choose a playlist with options",s),null}},Hs=function(){var e=this.useDevicePixelRatio&&C.default.devicePixelRatio||1;return Vs(this.playlists.master,this.systemBandwidth,parseInt(Bs(this.tech_.el(),"width"),10)*e,parseInt(Bs(this.tech_.el(),"height"),10)*e,this.limitRenditionByPlayerDimensions,this.masterPlaylistController_)},zs=function(e){var t=e.inbandTextTracks,i=e.metadataArray,n=e.timestampOffset,r=e.videoDuration;if(i){var a=C.default.WebKitDataCue||C.default.VTTCue,s=t.metadataTrack_;if(s&&(i.forEach((function(e){var t=e.cueTime+n;!("number"!=typeof t||C.default.isNaN(t)||t<0)&&t<1/0&&e.frames.forEach((function(e){var i=new a(t,t,e.value||e.url||e.data||"");i.frame=e,i.value=e,function(e){Object.defineProperties(e.frame,{id:{get:function(){return Yr.log.warn("cue.frame.id is deprecated. Use cue.value.key instead."),e.value.key}},value:{get:function(){return Yr.log.warn("cue.frame.value is deprecated. Use cue.value.data instead."),e.value.data}},privateData:{get:function(){return Yr.log.warn("cue.frame.privateData is deprecated. Use cue.value.data instead."),e.value.data}}})}(i),s.addCue(i)}))})),s.cues&&s.cues.length)){for(var o=s.cues,u=[],l=0;l=e&&r.endTime<=t&&i.removeCue(r)},Ws=function(e){return"number"==typeof e&&isFinite(e)},Ys=function(e){var t=e.startOfSegment,i=e.duration,n=e.segment,r=e.part,a=e.playlist,s=a.mediaSequence,o=a.id,u=a.segments,l=void 0===u?[]:u,h=e.mediaIndex,d=e.partIndex,c=e.timeline,f=l.length-1,p="mediaIndex/partIndex increment";e.getMediaInfoForTime?p="getMediaInfoForTime ("+e.getMediaInfoForTime+")":e.isSyncRequest&&(p="getSyncSegmentCandidate (isSyncRequest)");var m="number"==typeof d,_=e.segment.uri?"segment":"pre-segment",g=m?oa({preloadSegment:n})-1:0;return _+" ["+(s+h)+"/"+(s+f)+"]"+(m?" part ["+d+"/"+g+"]":"")+" segment start/end ["+n.start+" => "+n.end+"]"+(m?" part start/end ["+r.start+" => "+r.end+"]":"")+" startOfSegment ["+t+"] duration ["+i+"] timeline ["+c+"] selected by ["+p+"] playlist ["+o+"]"},qs=function(e){return e+"TimingInfo"},Ks=function(e){var t=e.timelineChangeController,i=e.currentTimeline,n=e.segmentTimeline,r=e.loaderType,a=e.audioDisabled;if(i===n)return!1;if("audio"===r){var s=t.lastTimelineChange({type:"main"});return!s||s.to!==n}if("main"===r&&a){var o=t.pendingTimelineChange({type:"audio"});return!o||o.to!==n}return!1},Xs=function(e){var t=e.segmentDuration,i=e.maxDuration;return!!t&&Math.round(t)>i+1/30},Qs=function(e,t){if("hls"!==t)return null;var i,n,r,a,s=(i=e.audioTimingInfo,n=e.videoTimingInfo,r=i&&"number"==typeof i.start&&"number"==typeof i.end?i.end-i.start:0,a=n&&"number"==typeof n.start&&"number"==typeof n.end?n.end-n.start:0,Math.max(r,a));if(!s)return null;var o=e.playlist.targetDuration,u=Xs({segmentDuration:s,maxDuration:2*o}),l=Xs({segmentDuration:s,maxDuration:o}),h="Segment with index "+e.mediaIndex+" from playlist "+e.playlist.id+" has a duration of "+s+" when the reported duration is "+e.duration+" and the target duration is "+o+". For HLS content, a duration in excess of the target duration may result in playback issues. See the HLS specification section on EXT-X-TARGETDURATION for more details: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.3.1";return u||l?{severity:u?"warn":"info",message:h}:null},$s=function(e){function t(t,i){var n;if(n=e.call(this)||this,!t)throw new TypeError("Initialization settings are required");if("function"!=typeof t.currentTime)throw new TypeError("No currentTime getter specified");if(!t.mediaSource)throw new TypeError("No MediaSource specified");return n.bandwidth=t.bandwidth,n.throughput={rate:0,count:0},n.roundTrip=NaN,n.resetStats_(),n.mediaIndex=null,n.partIndex=null,n.hasPlayed_=t.hasPlayed,n.currentTime_=t.currentTime,n.seekable_=t.seekable,n.seeking_=t.seeking,n.duration_=t.duration,n.mediaSource_=t.mediaSource,n.vhs_=t.vhs,n.loaderType_=t.loaderType,n.currentMediaInfo_=void 0,n.startingMediaInfo_=void 0,n.segmentMetadataTrack_=t.segmentMetadataTrack,n.goalBufferLength_=t.goalBufferLength,n.sourceType_=t.sourceType,n.sourceUpdater_=t.sourceUpdater,n.inbandTextTracks_=t.inbandTextTracks,n.state_="INIT",n.timelineChangeController_=t.timelineChangeController,n.shouldSaveSegmentTimingInfo_=!0,n.parse708captions_=t.parse708captions,n.experimentalExactManifestTimings=t.experimentalExactManifestTimings,n.checkBufferTimeout_=null,n.error_=void 0,n.currentTimeline_=-1,n.pendingSegment_=null,n.xhrOptions_=null,n.pendingSegments_=[],n.audioDisabled_=!1,n.isPendingTimestampOffset_=!1,n.gopBuffer_=[],n.timeMapping_=0,n.safeAppend_=Yr.browser.IE_VERSION>=11,n.appendInitSegment_={audio:!0,video:!0},n.playlistOfLastInitSegment_={audio:null,video:null},n.callQueue_=[],n.loadQueue_=[],n.metadataQueue_={id3:[],caption:[]},n.waitingOnRemove_=!1,n.quotaExceededErrorRetryTimeout_=null,n.activeInitSegmentId_=null,n.initSegments_={},n.cacheEncryptionKeys_=t.cacheEncryptionKeys,n.keyCache_={},n.decrypter_=t.decrypter,n.syncController_=t.syncController,n.syncPoint_={segmentIndex:0,time:0},n.transmuxer_=n.createTransmuxer_(),n.triggerSyncInfoUpdate_=function(){return n.trigger("syncinfoupdate")},n.syncController_.on("syncinfoupdate",n.triggerSyncInfoUpdate_),n.mediaSource_.addEventListener("sourceopen",(function(){n.isEndOfStream_()||(n.ended_=!1)})),n.fetchAtBuffer_=!1,n.logger_=$r("SegmentLoader["+n.loaderType_+"]"),Object.defineProperty(I.default(n),"state",{get:function(){return this.state_},set:function(e){e!==this.state_&&(this.logger_(this.state_+" -> "+e),this.state_=e,this.trigger("statechange"))}}),n.sourceUpdater_.on("ready",(function(){n.hasEnoughInfoToAppend_()&&n.processCallQueue_()})),"main"===n.loaderType_&&n.timelineChangeController_.on("pendingtimelinechange",(function(){n.hasEnoughInfoToAppend_()&&n.processCallQueue_()})),"audio"===n.loaderType_&&n.timelineChangeController_.on("timelinechange",(function(){n.hasEnoughInfoToLoad_()&&n.processLoadQueue_(),n.hasEnoughInfoToAppend_()&&n.processCallQueue_()})),n}L.default(t,e);var i=t.prototype;return i.createTransmuxer_=function(){return ms({remux:!1,alignGopsAtEnd:this.safeAppend_,keepOriginalTimestamps:!0,parse708captions:this.parse708captions_})},i.resetStats_=function(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaRequestsAborted=0,this.mediaRequestsTimedout=0,this.mediaRequestsErrored=0,this.mediaTransferDuration=0,this.mediaSecondsLoaded=0,this.mediaAppends=0},i.dispose=function(){this.trigger("dispose"),this.state="DISPOSED",this.pause(),this.abort_(),this.transmuxer_&&this.transmuxer_.terminate(),this.resetStats_(),this.checkBufferTimeout_&&C.default.clearTimeout(this.checkBufferTimeout_),this.syncController_&&this.triggerSyncInfoUpdate_&&this.syncController_.off("syncinfoupdate",this.triggerSyncInfoUpdate_),this.off()},i.setAudio=function(e){this.audioDisabled_=!e,e?this.appendInitSegment_.audio=!0:this.sourceUpdater_.removeAudio(0,this.duration_())},i.abort=function(){"WAITING"===this.state?(this.abort_(),this.state="READY",this.paused()||this.monitorBuffer_()):this.pendingSegment_&&(this.pendingSegment_=null)},i.abort_=function(){this.pendingSegment_&&this.pendingSegment_.abortRequests&&this.pendingSegment_.abortRequests(),this.pendingSegment_=null,this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_.id3=[],this.metadataQueue_.caption=[],this.timelineChangeController_.clearPendingTimelineChange(this.loaderType_),this.waitingOnRemove_=!1,C.default.clearTimeout(this.quotaExceededErrorRetryTimeout_),this.quotaExceededErrorRetryTimeout_=null},i.checkForAbort_=function(e){return"APPENDING"!==this.state||this.pendingSegment_?!this.pendingSegment_||this.pendingSegment_.requestId!==e:(this.state="READY",!0)},i.error=function(e){return void 0!==e&&(this.logger_("error occurred:",e),this.error_=e),this.pendingSegment_=null,this.error_},i.endOfStream=function(){this.ended_=!0,this.transmuxer_&&ps(this.transmuxer_),this.gopBuffer_.length=0,this.pause(),this.trigger("ended")},i.buffered_=function(){var e=this.getMediaInfo_();if(!this.sourceUpdater_||!e)return Yr.createTimeRanges();if("main"===this.loaderType_){var t=e.hasAudio,i=e.hasVideo,n=e.isMuxed;if(i&&t&&!this.audioDisabled_&&!n)return this.sourceUpdater_.buffered();if(i)return this.sourceUpdater_.videoBuffered()}return this.sourceUpdater_.audioBuffered()},i.initSegmentForMap=function(e,t){if(void 0===t&&(t=!1),!e)return null;var i=Wa(e),n=this.initSegments_[i];return t&&!n&&e.bytes&&(this.initSegments_[i]=n={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:e.bytes,tracks:e.tracks,timescales:e.timescales}),n||e},i.segmentKey=function(e,t){if(void 0===t&&(t=!1),!e)return null;var i=Ya(e),n=this.keyCache_[i];this.cacheEncryptionKeys_&&t&&!n&&e.bytes&&(this.keyCache_[i]=n={resolvedUri:e.resolvedUri,bytes:e.bytes});var r={resolvedUri:(n||e).resolvedUri};return n&&(r.bytes=n.bytes),r},i.couldBeginLoading_=function(){return this.playlist_&&!this.paused()},i.load=function(){if(this.monitorBuffer_(),this.playlist_)return"INIT"===this.state&&this.couldBeginLoading_()?this.init_():void(!this.couldBeginLoading_()||"READY"!==this.state&&"INIT"!==this.state||(this.state="READY"))},i.init_=function(){return this.state="READY",this.resetEverything(),this.monitorBuffer_()},i.playlist=function(e,t){if(void 0===t&&(t={}),e){var i=this.playlist_,n=this.pendingSegment_;this.playlist_=e,this.xhrOptions_=t,"INIT"===this.state&&(e.syncInfo={mediaSequence:e.mediaSequence,time:0},"main"===this.loaderType_&&this.syncController_.setDateTimeMappingForStart(e));var r=null;if(i&&(i.id?r=i.id:i.uri&&(r=i.uri)),this.logger_("playlist update ["+r+" => "+(e.id||e.uri)+"]"),this.trigger("syncinfoupdate"),"INIT"===this.state&&this.couldBeginLoading_())return this.init_();if(!i||i.uri!==e.uri)return null!==this.mediaIndex&&this.resyncLoader(),this.currentMediaInfo_=void 0,void this.trigger("playlistupdate");var a=e.mediaSequence-i.mediaSequence;if(this.logger_("live window shift ["+a+"]"),null!==this.mediaIndex)if(this.mediaIndex-=a,this.mediaIndex<0)this.mediaIndex=null,this.partIndex=null;else{var s=this.playlist_.segments[this.mediaIndex];if(this.partIndex&&(!s.parts||!s.parts.length||!s.parts[this.partIndex])){var o=this.mediaIndex;this.logger_("currently processing part (index "+this.partIndex+") no longer exists."),this.resetLoader(),this.mediaIndex=o}}n&&(n.mediaIndex-=a,n.mediaIndex<0?(n.mediaIndex=null,n.partIndex=null):(n.mediaIndex>=0&&(n.segment=e.segments[n.mediaIndex]),n.partIndex>=0&&n.segment.parts&&(n.part=n.segment.parts[n.partIndex]))),this.syncController_.saveExpiredSegmentInfo(i,e)}},i.pause=function(){this.checkBufferTimeout_&&(C.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=null)},i.paused=function(){return null===this.checkBufferTimeout_},i.resetEverything=function(e){this.ended_=!1,this.appendInitSegment_={audio:!0,video:!0},this.resetLoader(),this.remove(0,1/0,e),this.transmuxer_&&this.transmuxer_.postMessage({action:"clearAllMp4Captions"})},i.resetLoader=function(){this.fetchAtBuffer_=!1,this.resyncLoader()},i.resyncLoader=function(){this.transmuxer_&&ps(this.transmuxer_),this.mediaIndex=null,this.partIndex=null,this.syncPoint_=null,this.isPendingTimestampOffset_=!1,this.callQueue_=[],this.loadQueue_=[],this.metadataQueue_.id3=[],this.metadataQueue_.caption=[],this.abort(),this.transmuxer_&&this.transmuxer_.postMessage({action:"clearParsedMp4Captions"})},i.remove=function(e,t,i,n){if(void 0===i&&(i=function(){}),void 0===n&&(n=!1),t===1/0&&(t=this.duration_()),t<=e)this.logger_("skipping remove because end ${end} is <= start ${start}");else if(this.sourceUpdater_&&this.getMediaInfo_()){var r=1,a=function(){0===--r&&i()};for(var s in!n&&this.audioDisabled_||(r++,this.sourceUpdater_.removeAudio(e,t,a)),(n||"main"===this.loaderType_)&&(this.gopBuffer_=function(e,t,i,n){for(var r=Math.ceil((t-n)*E.ONE_SECOND_IN_TS),a=Math.ceil((i-n)*E.ONE_SECOND_IN_TS),s=e.slice(),o=e.length;o--&&!(e[o].pts<=a););if(-1===o)return s;for(var u=o+1;u--&&!(e[u].pts<=r););return u=Math.max(u,0),s.splice(u,o-u+1),s}(this.gopBuffer_,e,t,this.timeMapping_),r++,this.sourceUpdater_.removeVideo(e,t,a)),this.inbandTextTracks_)Gs(e,t,this.inbandTextTracks_[s]);Gs(e,t,this.segmentMetadataTrack_),a()}else this.logger_("skipping remove because no source updater or starting media info")},i.monitorBuffer_=function(){this.checkBufferTimeout_&&C.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=C.default.setTimeout(this.monitorBufferTick_.bind(this),1)},i.monitorBufferTick_=function(){"READY"===this.state&&this.fillBuffer_(),this.checkBufferTimeout_&&C.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=C.default.setTimeout(this.monitorBufferTick_.bind(this),500)},i.fillBuffer_=function(){if(!this.sourceUpdater_.updating()){var e=this.chooseNextRequest_();e&&("number"==typeof e.timestampOffset&&(this.isPendingTimestampOffset_=!1,this.timelineChangeController_.pendingTimelineChange({type:this.loaderType_,from:this.currentTimeline_,to:e.timeline})),this.loadSegment_(e))}},i.isEndOfStream_=function(e,t,i){if(void 0===e&&(e=this.mediaIndex),void 0===t&&(t=this.playlist_),void 0===i&&(i=this.partIndex),!t||!this.mediaSource_)return!1;var n="number"==typeof e&&t.segments[e],r=e+1===t.segments.length,a=!n||!n.parts||i+1===n.parts.length;return t.endList&&"open"===this.mediaSource_.readyState&&r&&a},i.chooseNextRequest_=function(){var e=na(this.buffered_())||0,t=Math.max(0,e-this.currentTime_()),i=!this.hasPlayed_()&&t>=1,n=t>=this.goalBufferLength_(),r=this.playlist_.segments;if(!r.length||i||n)return null;this.syncPoint_=this.syncPoint_||this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_());var a={partIndex:null,mediaIndex:null,startOfSegment:null,playlist:this.playlist_,isSyncRequest:Boolean(!this.syncPoint_)};if(a.isSyncRequest)a.mediaIndex=function(e,t,i){t=t||[];for(var n=[],r=0,a=0;ai))return a}return 0===n.length?0:n[n.length-1]}(this.currentTimeline_,r,e);else if(null!==this.mediaIndex){var s=r[this.mediaIndex],o="number"==typeof this.partIndex?this.partIndex:-1;a.startOfSegment=s.end?s.end:e,s.parts&&s.parts[o+1]?(a.mediaIndex=this.mediaIndex,a.partIndex=o+1):a.mediaIndex=this.mediaIndex+1}else{var u=Sa.getMediaInfoForTime({experimentalExactManifestTimings:this.experimentalExactManifestTimings,playlist:this.playlist_,currentTime:this.fetchAtBuffer_?e:this.currentTime_(),startingPartIndex:this.syncPoint_.partIndex,startingSegmentIndex:this.syncPoint_.segmentIndex,startTime:this.syncPoint_.time}),l=u.segmentIndex,h=u.startTime,d=u.partIndex;a.getMediaInfoForTime=this.fetchAtBuffer_?"bufferedEnd":"currentTime",a.mediaIndex=l,a.startOfSegment=h,a.partIndex=d}var c=r[a.mediaIndex],f=c&&"number"==typeof a.partIndex&&c.parts&&c.parts[a.partIndex];if(!c||"number"==typeof a.partIndex&&!f)return null;"number"!=typeof a.partIndex&&c.parts&&(a.partIndex=0);var p=this.mediaSource_&&"ended"===this.mediaSource_.readyState;return a.mediaIndex>=r.length-1&&p&&!this.seeking_()?null:this.generateSegmentInfo_(a)},i.generateSegmentInfo_=function(e){var t=e.playlist,i=e.mediaIndex,n=e.startOfSegment,r=e.isSyncRequest,a=e.partIndex,s=e.forceTimestampOffset,o=e.getMediaInfoForTime,u=t.segments[i],l="number"==typeof a&&u.parts[a],h={requestId:"segment-loader-"+Math.random(),uri:l&&l.resolvedUri||u.resolvedUri,mediaIndex:i,partIndex:l?a:null,isSyncRequest:r,startOfSegment:n,playlist:t,bytes:null,encryptedBytes:null,timestampOffset:null,timeline:u.timeline,duration:l&&l.duration||u.duration,segment:u,part:l,byteLength:0,transmuxer:this.transmuxer_,getMediaInfoForTime:o},d=void 0!==s?s:this.isPendingTimestampOffset_;h.timestampOffset=this.timestampOffsetForSegment_({segmentTimeline:u.timeline,currentTimeline:this.currentTimeline_,startOfSegment:n,buffered:this.buffered_(),overrideCheck:d});var c=na(this.sourceUpdater_.audioBuffered());return"number"==typeof c&&(h.audioAppendStart=c-this.sourceUpdater_.audioTimestampOffset()),this.sourceUpdater_.videoBuffered().length&&(h.gopsToAlignWith=function(e,t,i){if(null==t||!e.length)return[];var n,r=Math.ceil((t-i+3)*E.ONE_SECOND_IN_TS);for(n=0;nr);n++);return e.slice(n)}(this.gopBuffer_,this.currentTime_()-this.sourceUpdater_.videoTimestampOffset(),this.timeMapping_)),h},i.timestampOffsetForSegment_=function(e){return i=(t=e).segmentTimeline,n=t.currentTimeline,r=t.startOfSegment,a=t.buffered,t.overrideCheck||i!==n?i "+s+" for "+e),function(e,t,i){if(!e[i]){t.trigger({type:"usage",name:"vhs-608"}),t.trigger({type:"usage",name:"hls-608"});var n=i;/^cc708_/.test(i)&&(n="SERVICE"+i.split("_")[1]);var r=t.textTracks().getTrackById(n);if(r)e[i]=r;else{var a=i,s=i,o=!1,u=(t.options_.vhs&&t.options_.vhs.captionServices||{})[n];u&&(a=u.label,s=u.language,o=u.default),e[i]=t.addRemoteTextTrack({kind:"captions",id:n,default:o,label:a,language:s},!1).track}}}(u,i.vhs_.tech_,e),Gs(a,s,u[e]),function(e){var t=e.inbandTextTracks,i=e.captionArray,n=e.timestampOffset;if(i){var r=C.default.WebKitDataCue||C.default.VTTCue;i.forEach((function(e){var i=e.stream;t[i].addCue(new r(e.startTime+n,e.endTime+n,e.text))}))}}({captionArray:o,inbandTextTracks:u,timestampOffset:n})})),this.transmuxer_&&this.transmuxer_.postMessage({action:"clearParsedMp4Captions"})}else this.metadataQueue_.caption.push(this.handleCaptions_.bind(this,e,t));else this.logger_("SegmentLoader received no captions from a caption event")},i.handleId3_=function(e,t,i){if(this.earlyAbortWhenNeeded_(e.stats),!this.checkForAbort_(e.requestId))if(this.pendingSegment_.hasAppendedData_){var n=null===this.sourceUpdater_.videoTimestampOffset()?this.sourceUpdater_.audioTimestampOffset():this.sourceUpdater_.videoTimestampOffset();!function(e,t,i){e.metadataTrack_||(e.metadataTrack_=i.addRemoteTextTrack({kind:"metadata",label:"Timed Metadata"},!1).track,e.metadataTrack_.inBandMetadataTrackDispatchType=t)}(this.inbandTextTracks_,i,this.vhs_.tech_),zs({inbandTextTracks:this.inbandTextTracks_,metadataArray:t,timestampOffset:n,videoDuration:this.duration_()})}else this.metadataQueue_.id3.push(this.handleId3_.bind(this,e,t,i))},i.processMetadataQueue_=function(){this.metadataQueue_.id3.forEach((function(e){return e()})),this.metadataQueue_.caption.forEach((function(e){return e()})),this.metadataQueue_.id3=[],this.metadataQueue_.caption=[]},i.processCallQueue_=function(){var e=this.callQueue_;this.callQueue_=[],e.forEach((function(e){return e()}))},i.processLoadQueue_=function(){var e=this.loadQueue_;this.loadQueue_=[],e.forEach((function(e){return e()}))},i.hasEnoughInfoToLoad_=function(){if("audio"!==this.loaderType_)return!0;var e=this.pendingSegment_;return!!e&&(!this.getCurrentMediaInfo_()||!Ks({timelineChangeController:this.timelineChangeController_,currentTimeline:this.currentTimeline_,segmentTimeline:e.timeline,loaderType:this.loaderType_,audioDisabled:this.audioDisabled_}))},i.getCurrentMediaInfo_=function(e){return void 0===e&&(e=this.pendingSegment_),e&&e.trackInfo||this.currentMediaInfo_},i.getMediaInfo_=function(e){return void 0===e&&(e=this.pendingSegment_),this.getCurrentMediaInfo_(e)||this.startingMediaInfo_},i.hasEnoughInfoToAppend_=function(){if(!this.sourceUpdater_.ready())return!1;if(this.waitingOnRemove_||this.quotaExceededErrorRetryTimeout_)return!1;var e=this.pendingSegment_,t=this.getCurrentMediaInfo_();if(!e||!t)return!1;var i=t.hasAudio,n=t.hasVideo,r=t.isMuxed;return!(n&&!e.videoTimingInfo)&&(!(i&&!this.audioDisabled_&&!r&&!e.audioTimingInfo)&&!Ks({timelineChangeController:this.timelineChangeController_,currentTimeline:this.currentTimeline_,segmentTimeline:e.timeline,loaderType:this.loaderType_,audioDisabled:this.audioDisabled_}))},i.handleData_=function(e,t){if(this.earlyAbortWhenNeeded_(e.stats),!this.checkForAbort_(e.requestId))if(!this.callQueue_.length&&this.hasEnoughInfoToAppend_()){var i=this.pendingSegment_;if(this.setTimeMapping_(i.timeline),this.updateMediaSecondsLoaded_(i.segment),"closed"!==this.mediaSource_.readyState){if(e.map&&(e.map=this.initSegmentForMap(e.map,!0),i.segment.map=e.map),e.key&&this.segmentKey(e.key,!0),i.isFmp4=e.isFmp4,i.timingInfo=i.timingInfo||{},i.isFmp4)this.trigger("fmp4"),i.timingInfo.start=i[qs(t.type)].start;else{var n,r=this.getCurrentMediaInfo_(),a="main"===this.loaderType_&&r&&r.hasVideo;a&&(n=i.videoTimingInfo.start),i.timingInfo.start=this.trueSegmentStart_({currentStart:i.timingInfo.start,playlist:i.playlist,mediaIndex:i.mediaIndex,currentVideoTimestampOffset:this.sourceUpdater_.videoTimestampOffset(),useVideoTimingInfo:a,firstVideoFrameTimeForData:n,videoTimingInfo:i.videoTimingInfo,audioTimingInfo:i.audioTimingInfo})}if(this.updateAppendInitSegmentStatus(i,t.type),this.updateSourceBufferTimestampOffset_(i),i.isSyncRequest){this.updateTimingInfoEnd_(i),this.syncController_.saveSegmentTimingInfo({segmentInfo:i,shouldSaveTimelineMapping:"main"===this.loaderType_});var s=this.chooseNextRequest_();if(s.mediaIndex!==i.mediaIndex||s.partIndex!==i.partIndex)return void this.logger_("sync segment was incorrect, not appending");this.logger_("sync segment was correct, appending")}i.hasAppendedData_=!0,this.processMetadataQueue_(),this.appendData_(i,t)}}else this.callQueue_.push(this.handleData_.bind(this,e,t))},i.updateAppendInitSegmentStatus=function(e,t){"main"!==this.loaderType_||"number"!=typeof e.timestampOffset||e.changedTimestampOffset||(this.appendInitSegment_={audio:!0,video:!0}),this.playlistOfLastInitSegment_[t]!==e.playlist&&(this.appendInitSegment_[t]=!0)},i.getInitSegmentAndUpdateState_=function(e){var t=e.type,i=e.initSegment,n=e.map,r=e.playlist;if(n){var a=Wa(n);if(this.activeInitSegmentId_===a)return null;i=this.initSegmentForMap(n,!0).bytes,this.activeInitSegmentId_=a}return i&&this.appendInitSegment_[t]?(this.playlistOfLastInitSegment_[t]=r,this.appendInitSegment_[t]=!1,this.activeInitSegmentId_=null,i):null},i.handleQuotaExceededError_=function(e,t){var i=this,n=e.segmentInfo,r=e.type,a=e.bytes,s=this.sourceUpdater_.audioBuffered(),o=this.sourceUpdater_.videoBuffered();s.length>1&&this.logger_("On QUOTA_EXCEEDED_ERR, found gaps in the audio buffer: "+ia(s).join(", ")),o.length>1&&this.logger_("On QUOTA_EXCEEDED_ERR, found gaps in the video buffer: "+ia(o).join(", "));var u=s.length?s.start(0):0,l=s.length?s.end(s.length-1):0,h=o.length?o.start(0):0,d=o.length?o.end(o.length-1):0;if(l-u<=1&&d-h<=1)return this.logger_("On QUOTA_EXCEEDED_ERR, single segment too large to append to buffer, triggering an error. Appended byte length: "+a.byteLength+", audio buffer: "+ia(s).join(", ")+", video buffer: "+ia(o).join(", ")+", "),this.error({message:"Quota exceeded error with append of a single segment of content",excludeUntil:1/0}),void this.trigger("error");this.waitingOnRemove_=!0,this.callQueue_.push(this.appendToSourceBuffer_.bind(this,{segmentInfo:n,type:r,bytes:a}));var c=this.currentTime_()-1;this.logger_("On QUOTA_EXCEEDED_ERR, removing audio/video from 0 to "+c),this.remove(0,c,(function(){i.logger_("On QUOTA_EXCEEDED_ERR, retrying append in 1s"),i.waitingOnRemove_=!1,i.quotaExceededErrorRetryTimeout_=C.default.setTimeout((function(){i.logger_("On QUOTA_EXCEEDED_ERR, re-processing call queue"),i.quotaExceededErrorRetryTimeout_=null,i.processCallQueue_()}),1e3)}),!0)},i.handleAppendError_=function(e,t){var i=e.segmentInfo,n=e.type,r=e.bytes;t&&(22!==t.code?(this.logger_("Received non QUOTA_EXCEEDED_ERR on append",t),this.error(n+" append of "+r.length+"b failed for segment #"+i.mediaIndex+" in playlist "+i.playlist.id),this.trigger("appenderror")):this.handleQuotaExceededError_({segmentInfo:i,type:n,bytes:r}))},i.appendToSourceBuffer_=function(e){var t,i,n,r=e.segmentInfo,a=e.type,s=e.initSegment,o=e.data,u=e.bytes;if(!u){var l=[o],h=o.byteLength;s&&(l.unshift(s),h+=s.byteLength),n=0,(t={bytes:h,segments:l}).bytes&&(i=new Uint8Array(t.bytes),t.segments.forEach((function(e){i.set(e,n),n+=e.byteLength}))),u=i}this.sourceUpdater_.appendBuffer({segmentInfo:r,type:a,bytes:u},this.handleAppendError_.bind(this,{segmentInfo:r,type:a,bytes:u}))},i.handleSegmentTimingInfo_=function(e,t,i){if(this.pendingSegment_&&t===this.pendingSegment_.requestId){var n=this.pendingSegment_.segment,r=e+"TimingInfo";n[r]||(n[r]={}),n[r].transmuxerPrependedSeconds=i.prependedContentDuration||0,n[r].transmuxedPresentationStart=i.start.presentation,n[r].transmuxedDecodeStart=i.start.decode,n[r].transmuxedPresentationEnd=i.end.presentation,n[r].transmuxedDecodeEnd=i.end.decode,n[r].baseMediaDecodeTime=i.baseMediaDecodeTime}},i.appendData_=function(e,t){var i=t.type,n=t.data;if(n&&n.byteLength&&("audio"!==i||!this.audioDisabled_)){var r=this.getInitSegmentAndUpdateState_({type:i,initSegment:t.initSegment,playlist:e.playlist,map:e.isFmp4?e.segment.map:null});this.appendToSourceBuffer_({segmentInfo:e,type:i,initSegment:r,data:n})}},i.loadSegment_=function(e){var t=this;this.state="WAITING",this.pendingSegment_=e,this.trimBackBuffer_(e),"number"==typeof e.timestampOffset&&this.transmuxer_&&this.transmuxer_.postMessage({action:"clearAllMp4Captions"}),this.hasEnoughInfoToLoad_()?this.updateTransmuxerAndRequestSegment_(e):this.loadQueue_.push((function(){var i=P.default({},e,{forceTimestampOffset:!0});P.default(e,t.generateSegmentInfo_(i)),t.isPendingTimestampOffset_=!1,t.updateTransmuxerAndRequestSegment_(e)}))},i.updateTransmuxerAndRequestSegment_=function(e){var t=this;this.shouldUpdateTransmuxerTimestampOffset_(e.timestampOffset)&&(this.gopBuffer_.length=0,e.gopsToAlignWith=[],this.timeMapping_=0,this.transmuxer_.postMessage({action:"reset"}),this.transmuxer_.postMessage({action:"setTimestampOffset",timestampOffset:e.timestampOffset}));var i=this.createSimplifiedSegmentObj_(e),n=this.isEndOfStream_(e.mediaIndex,e.playlist,e.partIndex),r=null!==this.mediaIndex,a=e.timeline!==this.currentTimeline_&&e.timeline>0,s=n||r&&a;this.logger_("Requesting "+Ys(e)),i.map&&!i.map.bytes&&(this.logger_("going to request init segment."),this.appendInitSegment_={video:!0,audio:!0}),e.abortRequests=Ls({xhr:this.vhs_.xhr,xhrOptions:this.xhrOptions_,decryptionWorker:this.decrypter_,segment:i,abortFn:this.handleAbort_.bind(this,e),progressFn:this.handleProgress_.bind(this),trackInfoFn:this.handleTrackInfo_.bind(this),timingInfoFn:this.handleTimingInfo_.bind(this),videoSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,"video",e.requestId),audioSegmentTimingInfoFn:this.handleSegmentTimingInfo_.bind(this,"audio",e.requestId),captionsFn:this.handleCaptions_.bind(this),isEndOfTimeline:s,endedTimelineFn:function(){t.logger_("received endedtimeline callback")},id3Fn:this.handleId3_.bind(this),dataFn:this.handleData_.bind(this),doneFn:this.segmentRequestFinished_.bind(this),onTransmuxerLog:function(i){var n=i.message,r=i.level,a=i.stream;t.logger_(Ys(e)+" logged from transmuxer stream "+a+" as a "+r+": "+n)}})},i.trimBackBuffer_=function(e){var t=function(e,t,i){var n=t-ns.BACK_BUFFER_LENGTH;e.length&&(n=Math.max(n,e.start(0)));var r=t-i;return Math.min(r,n)}(this.seekable_(),this.currentTime_(),this.playlist_.targetDuration||10);t>0&&this.remove(0,t)},i.createSimplifiedSegmentObj_=function(e){var t=e.segment,i=e.part,n={resolvedUri:i?i.resolvedUri:t.resolvedUri,byterange:i?i.byterange:t.byterange,requestId:e.requestId,transmuxer:e.transmuxer,audioAppendStart:e.audioAppendStart,gopsToAlignWith:e.gopsToAlignWith,part:e.part},r=e.playlist.segments[e.mediaIndex-1];if(r&&r.timeline===t.timeline&&(r.videoTimingInfo?n.baseStartTime=r.videoTimingInfo.transmuxedDecodeEnd:r.audioTimingInfo&&(n.baseStartTime=r.audioTimingInfo.transmuxedDecodeEnd)),t.key){var a=t.key.iv||new Uint32Array([0,0,0,e.mediaIndex+e.playlist.mediaSequence]);n.key=this.segmentKey(t.key),n.key.iv=a}return t.map&&(n.map=this.initSegmentForMap(t.map)),n},i.saveTransferStats_=function(e){this.mediaRequests+=1,e&&(this.mediaBytesTransferred+=e.bytesReceived,this.mediaTransferDuration+=e.roundTripTime)},i.saveBandwidthRelatedStats_=function(e,t){this.pendingSegment_.byteLength=t.bytesReceived,e<1/60?this.logger_("Ignoring segment's bandwidth because its duration of "+e+" is less than the min to record "+1/60):(this.bandwidth=t.bandwidth,this.roundTrip=t.roundTripTime)},i.handleTimeout_=function(){this.mediaRequestsTimedout+=1,this.bandwidth=1,this.roundTrip=NaN,this.trigger("bandwidthupdate")},i.segmentRequestFinished_=function(e,t,i){if(this.callQueue_.length)this.callQueue_.push(this.segmentRequestFinished_.bind(this,e,t,i));else if(this.saveTransferStats_(t.stats),this.pendingSegment_&&t.requestId===this.pendingSegment_.requestId){if(e){if(this.pendingSegment_=null,this.state="READY",e.code===ys)return;return this.pause(),e.code===vs?void this.handleTimeout_():(this.mediaRequestsErrored+=1,this.error(e),void this.trigger("error"))}var n=this.pendingSegment_;this.saveBandwidthRelatedStats_(n.duration,t.stats),n.endOfAllRequests=t.endOfAllRequests,i.gopInfo&&(this.gopBuffer_=function(e,t,i){if(!t.length)return e;if(i)return t.slice();for(var n=t[0].pts,r=0;r=n);r++);return e.slice(0,r).concat(t)}(this.gopBuffer_,i.gopInfo,this.safeAppend_)),this.state="APPENDING",this.trigger("appending"),this.waitForAppendsToComplete_(n)}},i.setTimeMapping_=function(e){var t=this.syncController_.mappingForTimeline(e);null!==t&&(this.timeMapping_=t)},i.updateMediaSecondsLoaded_=function(e){"number"==typeof e.start&&"number"==typeof e.end?this.mediaSecondsLoaded+=e.end-e.start:this.mediaSecondsLoaded+=e.duration},i.shouldUpdateTransmuxerTimestampOffset_=function(e){return null!==e&&("main"===this.loaderType_&&e!==this.sourceUpdater_.videoTimestampOffset()||!this.audioDisabled_&&e!==this.sourceUpdater_.audioTimestampOffset())},i.trueSegmentStart_=function(e){var t=e.currentStart,i=e.playlist,n=e.mediaIndex,r=e.firstVideoFrameTimeForData,a=e.currentVideoTimestampOffset,s=e.useVideoTimingInfo,o=e.videoTimingInfo,u=e.audioTimingInfo;if(void 0!==t)return t;if(!s)return u.start;var l=i.segments[n-1];return 0!==n&&l&&void 0!==l.start&&l.end===r+a?o.start:r},i.waitForAppendsToComplete_=function(e){var t=this.getCurrentMediaInfo_(e);if(!t)return this.error({message:"No starting media returned, likely due to an unsupported media format.",blacklistDuration:1/0}),void this.trigger("error");var i=t.hasAudio,n=t.hasVideo,r=t.isMuxed,a="main"===this.loaderType_&&n,s=!this.audioDisabled_&&i&&!r;if(e.waitingOnAppends=0,!e.hasAppendedData_)return e.timingInfo||"number"!=typeof e.timestampOffset||(this.isPendingTimestampOffset_=!0),e.timingInfo={start:0},e.waitingOnAppends++,this.isPendingTimestampOffset_||(this.updateSourceBufferTimestampOffset_(e),this.processMetadataQueue_()),void this.checkAppendsDone_(e);a&&e.waitingOnAppends++,s&&e.waitingOnAppends++,a&&this.sourceUpdater_.videoQueueCallback(this.checkAppendsDone_.bind(this,e)),s&&this.sourceUpdater_.audioQueueCallback(this.checkAppendsDone_.bind(this,e))},i.checkAppendsDone_=function(e){this.checkForAbort_(e.requestId)||(e.waitingOnAppends--,0===e.waitingOnAppends&&this.handleAppendsDone_())},i.checkForIllegalMediaSwitch=function(e){var t=function(e,t,i){return"main"===e&&t&&i?i.hasAudio||i.hasVideo?t.hasVideo&&!i.hasVideo?"Only audio found in segment when we expected video. We can't switch to audio only from a stream that had video. To get rid of this message, please add codec information to the manifest.":!t.hasVideo&&i.hasVideo?"Video found in segment when we expected only audio. We can't switch to a stream with video from an audio only stream. To get rid of this message, please add codec information to the manifest.":null:"Neither audio nor video found in segment.":null}(this.loaderType_,this.getCurrentMediaInfo_(),e);return!!t&&(this.error({message:t,blacklistDuration:1/0}),this.trigger("error"),!0)},i.updateSourceBufferTimestampOffset_=function(e){if(null!==e.timestampOffset&&"number"==typeof e.timingInfo.start&&!e.changedTimestampOffset&&"main"===this.loaderType_){var t=!1;e.timestampOffset-=e.timingInfo.start,e.changedTimestampOffset=!0,e.timestampOffset!==this.sourceUpdater_.videoTimestampOffset()&&(this.sourceUpdater_.videoTimestampOffset(e.timestampOffset),t=!0),e.timestampOffset!==this.sourceUpdater_.audioTimestampOffset()&&(this.sourceUpdater_.audioTimestampOffset(e.timestampOffset),t=!0),t&&this.trigger("timestampoffset")}},i.updateTimingInfoEnd_=function(e){e.timingInfo=e.timingInfo||{};var t=this.getMediaInfo_(),i="main"===this.loaderType_&&t&&t.hasVideo&&e.videoTimingInfo?e.videoTimingInfo:e.audioTimingInfo;i&&(e.timingInfo.end="number"==typeof i.end?i.end:i.start+e.duration)},i.handleAppendsDone_=function(){if(this.pendingSegment_&&this.trigger("appendsdone"),!this.pendingSegment_)return this.state="READY",void(this.paused()||this.monitorBuffer_());var e=this.pendingSegment_;this.updateTimingInfoEnd_(e),this.shouldSaveSegmentTimingInfo_&&this.syncController_.saveSegmentTimingInfo({segmentInfo:e,shouldSaveTimelineMapping:"main"===this.loaderType_});var t=Qs(e,this.sourceType_);if(t&&("warn"===t.severity?Yr.log.warn(t.message):this.logger_(t.message)),this.recordThroughput_(e),this.pendingSegment_=null,this.state="READY",!e.isSyncRequest||(this.trigger("syncinfoupdate"),e.hasAppendedData_)){this.logger_("Appended "+Ys(e)),this.addSegmentMetadataCue_(e),this.fetchAtBuffer_=!0,this.currentTimeline_!==e.timeline&&(this.timelineChangeController_.lastTimelineChange({type:this.loaderType_,from:this.currentTimeline_,to:e.timeline}),"main"!==this.loaderType_||this.audioDisabled_||this.timelineChangeController_.lastTimelineChange({type:"audio",from:this.currentTimeline_,to:e.timeline})),this.currentTimeline_=e.timeline,this.trigger("syncinfoupdate");var i=e.segment;if(i.end&&this.currentTime_()-i.end>3*e.playlist.targetDuration)this.resetEverything();else null!==this.mediaIndex&&this.trigger("bandwidthupdate"),this.trigger("progress"),this.mediaIndex=e.mediaIndex,this.partIndex=e.partIndex,this.isEndOfStream_(e.mediaIndex,e.playlist,e.partIndex)&&this.endOfStream(),this.trigger("appended"),e.hasAppendedData_&&this.mediaAppends++,this.paused()||this.monitorBuffer_()}else this.logger_("Throwing away un-appended sync request "+Ys(e))},i.recordThroughput_=function(e){if(e.duration<1/60)this.logger_("Ignoring segment's throughput because its duration of "+e.duration+" is less than the min to record "+1/60);else{var t=this.throughput.rate,i=Date.now()-e.endOfAllRequests+1,n=Math.floor(e.byteLength/i*8*1e3);this.throughput.rate+=(n-t)/++this.throughput.count}},i.addSegmentMetadataCue_=function(e){if(this.segmentMetadataTrack_){var t=e.segment,i=t.start,n=t.end;if(Ws(i)&&Ws(n)){Gs(i,n,this.segmentMetadataTrack_);var r=C.default.WebKitDataCue||C.default.VTTCue,a={custom:t.custom,dateTimeObject:t.dateTimeObject,dateTimeString:t.dateTimeString,bandwidth:e.playlist.attributes.BANDWIDTH,resolution:e.playlist.attributes.RESOLUTION,codecs:e.playlist.attributes.CODECS,byteLength:e.byteLength,uri:e.uri,timeline:e.timeline,playlist:e.playlist.id,start:i,end:n},s=new r(i,n,JSON.stringify(a));s.value=a,this.segmentMetadataTrack_.addCue(s)}}},t}(Yr.EventTarget);function Js(){}var Zs,eo=function(e){return"string"!=typeof e?e:e.replace(/./,(function(e){return e.toUpperCase()}))},to=["video","audio"],io=function(e,t){var i=t[e+"Buffer"];return i&&i.updating||t.queuePending[e]},no=function e(t,i){if(0!==i.queue.length){var n=0,r=i.queue[n];if("mediaSource"!==r.type){if("mediaSource"!==t&&i.ready()&&"closed"!==i.mediaSource.readyState&&!io(t,i)){if(r.type!==t){if(null===(n=function(e,t){for(var i=0;i=e.playlist.segments.length){e=null;break}e=this.generateSegmentInfo_({playlist:e.playlist,mediaIndex:e.mediaIndex+1,startOfSegment:e.startOfSegment+e.duration,isSyncRequest:e.isSyncRequest})}return e},i.stopForError=function(e){this.error(e),this.state="READY",this.pause(),this.trigger("error")},i.segmentRequestFinished_=function(e,t,i){var n=this;if(this.subtitlesTrack_){if(this.saveTransferStats_(t.stats),!this.pendingSegment_)return this.state="READY",void(this.mediaRequestsAborted+=1);if(e)return e.code===vs&&this.handleTimeout_(),e.code===ys?this.mediaRequestsAborted+=1:this.mediaRequestsErrored+=1,void this.stopForError(e);var r=this.pendingSegment_;this.saveBandwidthRelatedStats_(r.duration,t.stats),this.state="APPENDING",this.trigger("appending");var a=r.segment;if(a.map&&(a.map.bytes=t.map.bytes),r.bytes=t.bytes,"function"!=typeof C.default.WebVTT&&this.subtitlesTrack_&&this.subtitlesTrack_.tech_){var s,o=function(){n.subtitlesTrack_.tech_.off("vttjsloaded",s),n.stopForError({message:"Error loading vtt.js"})};return s=function(){n.subtitlesTrack_.tech_.off("vttjserror",o),n.segmentRequestFinished_(e,t,i)},this.state="WAITING_ON_VTTJS",this.subtitlesTrack_.tech_.one("vttjsloaded",s),void this.subtitlesTrack_.tech_.one("vttjserror",o)}a.requested=!0;try{this.parseVTTCues_(r)}catch(e){return void this.stopForError({message:e.message})}if(this.updateTimeMapping_(r,this.syncController_.timelines[r.timeline],this.playlist_),r.cues.length?r.timingInfo={start:r.cues[0].startTime,end:r.cues[r.cues.length-1].endTime}:r.timingInfo={start:r.startOfSegment,end:r.startOfSegment+r.duration},r.isSyncRequest)return this.trigger("syncinfoupdate"),this.pendingSegment_=null,void(this.state="READY");r.byteLength=r.bytes.byteLength,this.mediaSecondsLoaded+=a.duration,r.cues.forEach((function(e){n.subtitlesTrack_.addCue(n.featuresNativeTextTracks_?new C.default.VTTCue(e.startTime,e.endTime,e.text):e)})),function(e){var t=e.cues;if(t)for(var i=0;i1&&n.push(t[a]);n.length&&n.forEach((function(t){return e.removeCue(t)}))}}(this.subtitlesTrack_),this.handleAppendsDone_()}else this.state="READY"},i.handleData_=function(){},i.updateTimingInfoEnd_=function(){},i.parseVTTCues_=function(e){var t,i=!1;"function"==typeof C.default.TextDecoder?t=new C.default.TextDecoder("utf8"):(t=C.default.WebVTT.StringDecoder(),i=!0);var n=new C.default.WebVTT.Parser(C.default,C.default.vttjs,t);if(e.cues=[],e.timestampmap={MPEGTS:0,LOCAL:0},n.oncue=e.cues.push.bind(e.cues),n.ontimestampmap=function(t){e.timestampmap=t},n.onparsingerror=function(e){Yr.log.warn("Error encountered when parsing cues: "+e.message)},e.segment.map){var r=e.segment.map.bytes;i&&(r=bo(r)),n.parse(r)}var a=e.bytes;i&&(a=bo(a)),n.parse(a),n.flush()},i.updateTimeMapping_=function(e,t,i){var n=e.segment;if(t)if(e.cues.length){var r=e.timestampmap,a=r.MPEGTS/E.ONE_SECOND_IN_TS-r.LOCAL+t.mapping;if(e.cues.forEach((function(e){e.startTime+=a,e.endTime+=a})),!i.syncInfo){var s=e.cues[0].startTime,o=e.cues[e.cues.length-1].startTime;i.syncInfo={mediaSequence:i.mediaSequence+e.mediaIndex,time:Math.min(s,o-n.duration)}}}else n.empty=!0},t}($s),Eo=function(e,t){for(var i=e.cues,n=0;n=r.adStartTime&&t<=r.adEndTime)return r}return null},wo=[{name:"VOD",run:function(e,t,i,n,r){if(i!==1/0){return{time:0,segmentIndex:0,partIndex:null}}return null}},{name:"ProgramDateTime",run:function(e,t,i,n,r){if(!Object.keys(e.timelineToDatetimeMappings).length)return null;var a=null,s=null,o=aa(t);r=r||0;for(var u=0;u=c)&&(s=c,a={time:d,segmentIndex:l.segmentIndex,partIndex:l.partIndex})}}return a}},{name:"Discontinuity",run:function(e,t,i,n,r){var a=null;if(r=r||0,t.discontinuityStarts&&t.discontinuityStarts.length)for(var s=null,o=0;o=d)&&(s=d,a={time:h.time,segmentIndex:u,partIndex:null})}}return a}},{name:"Playlist",run:function(e,t,i,n,r){return t.syncInfo?{time:t.syncInfo.time,segmentIndex:t.syncInfo.mediaSequence-t.mediaSequence,partIndex:null}:null}}],Ao=function(e){function t(t){var i;return(i=e.call(this)||this).timelines=[],i.discontinuities=[],i.timelineToDatetimeMappings={},i.logger_=$r("SyncController"),i}L.default(t,e);var i=t.prototype;return i.getSyncPoint=function(e,t,i,n){var r=this.runStrategies_(e,t,i,n);return r.length?this.selectSyncPoint_(r,{key:"time",value:n}):null},i.getExpiredTime=function(e,t){if(!e||!e.segments)return null;var i=this.runStrategies_(e,t,e.discontinuitySequence,0);if(!i.length)return null;var n=this.selectSyncPoint_(i,{key:"segmentIndex",value:0});return n.segmentIndex>0&&(n.time*=-1),Math.abs(n.time+da({defaultDuration:e.targetDuration,durationList:e.segments,startIndex:n.segmentIndex,endIndex:0}))},i.runStrategies_=function(e,t,i,n){for(var r=[],a=0;a=0;i--){var n=e.segments[i];if(n&&void 0!==n.start){t.syncInfo={mediaSequence:e.mediaSequence+i,time:n.start},this.logger_("playlist refresh sync: [time:"+t.syncInfo.time+", mediaSequence: "+t.syncInfo.mediaSequence+"]"),this.trigger("syncinfoupdate");break}}},i.setDateTimeMappingForStart=function(e){if(this.timelineToDatetimeMappings={},e.segments&&e.segments.length&&e.segments[0].dateTimeObject){var t=e.segments[0],i=t.dateTimeObject.getTime()/1e3;this.timelineToDatetimeMappings[t.timeline]=-i}},i.saveSegmentTimingInfo=function(e){var t=e.segmentInfo,i=e.shouldSaveTimelineMapping,n=this.calculateSegmentTimeMapping_(t,t.timingInfo,i),r=t.segment;n&&(this.saveDiscontinuitySyncInfo_(t),t.playlist.syncInfo||(t.playlist.syncInfo={mediaSequence:t.playlist.mediaSequence+t.mediaIndex,time:r.start}));var a=r.dateTimeObject;r.discontinuity&&i&&a&&(this.timelineToDatetimeMappings[r.timeline]=-a.getTime()/1e3)},i.timestampOffsetForTimeline=function(e){return void 0===this.timelines[e]?null:this.timelines[e].time},i.mappingForTimeline=function(e){return void 0===this.timelines[e]?null:this.timelines[e].mapping},i.calculateSegmentTimeMapping_=function(e,t,i){var n,r,a=e.segment,s=e.part,o=this.timelines[e.timeline];if("number"==typeof e.timestampOffset)o={time:e.startOfSegment,mapping:e.startOfSegment-t.start},i&&(this.timelines[e.timeline]=o,this.trigger("timestampoffset"),this.logger_("time mapping for timeline "+e.timeline+": [time: "+o.time+"] [mapping: "+o.mapping+"]")),n=e.startOfSegment,r=t.end+o.mapping;else{if(!o)return!1;n=t.start+o.mapping,r=t.end+o.mapping}return s&&(s.start=n,s.end=r),(!a.start||no){var u=void 0;u=s<0?i.start-da({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex,endIndex:r}):i.end+da({defaultDuration:t.targetDuration,durationList:t.segments,startIndex:e.mediaIndex+1,endIndex:r}),this.discontinuities[a]={time:u,accuracy:o}}}},i.dispose=function(){this.trigger("dispose"),this.off()},t}(Yr.EventTarget),Co=function(e){function t(){var t;return(t=e.call(this)||this).pendingTimelineChanges_={},t.lastTimelineChanges_={},t}L.default(t,e);var i=t.prototype;return i.clearPendingTimelineChange=function(e){this.pendingTimelineChanges_[e]=null,this.trigger("pendingtimelinechange")},i.pendingTimelineChange=function(e){var t=e.type,i=e.from,n=e.to;return"number"==typeof i&&"number"==typeof n&&(this.pendingTimelineChanges_[t]={type:t,from:i,to:n},this.trigger("pendingtimelinechange")),this.pendingTimelineChanges_[t]},i.lastTimelineChange=function(e){var t=e.type,i=e.from,n=e.to;return"number"==typeof i&&"number"==typeof n&&(this.lastTimelineChanges_[t]={type:t,from:i,to:n},delete this.pendingTimelineChanges_[t],this.trigger("timelinechange")),this.lastTimelineChanges_[t]},i.dispose=function(){this.trigger("dispose"),this.pendingTimelineChanges_={},this.lastTimelineChanges_={},this.off()},t}(Yr.EventTarget),ko=as(ss(os((function(){function e(e,t,i){return e(i={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&i.path)}},i.exports),i.exports}var t=e((function(e){function t(e,t){for(var i=0;i-1},t.trigger=function(e){var t=this.listeners[e];if(t)if(2===arguments.length)for(var i=t.length,n=0;n>7))^e]=e;for(t=i=0;!d[t];t^=n||1,i=p[i]||1)for(a=(a=i^i<<1^i<<2^i<<3^i<<4)>>8^255&a^99,d[t]=a,c[a]=t,o=16843009*f[r=f[n=f[t]]]^65537*r^257*n^16843008*t,s=257*f[a]^16843008*a,e=0;e<4;e++)l[e][t]=s=s<<24^s>>>8,h[e][a]=o=o<<24^o>>>8;for(e=0;e<5;e++)l[e]=l[e].slice(0),h[e]=h[e].slice(0);return u}()),this._tables=[[a[0][0].slice(),a[0][1].slice(),a[0][2].slice(),a[0][3].slice(),a[0][4].slice()],[a[1][0].slice(),a[1][1].slice(),a[1][2].slice(),a[1][3].slice(),a[1][4].slice()]];var r=this._tables[0][4],s=this._tables[1],o=e.length,u=1;if(4!==o&&6!==o&&8!==o)throw new Error("Invalid aes key size");var l=e.slice(0),h=[];for(this._key=[l,h],t=o;t<4*o+28;t++)n=l[t-1],(t%o==0||8===o&&t%o==4)&&(n=r[n>>>24]<<24^r[n>>16&255]<<16^r[n>>8&255]<<8^r[255&n],t%o==0&&(n=n<<8^n>>>24^u<<24,u=u<<1^283*(u>>7))),l[t]=l[t-o]^n;for(i=0;t;i++,t--)n=l[3&i?t:t-4],h[i]=t<=4||i<4?n:s[0][r[n>>>24]]^s[1][r[n>>16&255]]^s[2][r[n>>8&255]]^s[3][r[255&n]]}return e.prototype.decrypt=function(e,t,i,n,r,a){var s,o,u,l,h=this._key[1],d=e^h[0],c=n^h[1],f=i^h[2],p=t^h[3],m=h.length/4-2,_=4,g=this._tables[1],v=g[0],y=g[1],b=g[2],S=g[3],T=g[4];for(l=0;l>>24]^y[c>>16&255]^b[f>>8&255]^S[255&p]^h[_],o=v[c>>>24]^y[f>>16&255]^b[p>>8&255]^S[255&d]^h[_+1],u=v[f>>>24]^y[p>>16&255]^b[d>>8&255]^S[255&c]^h[_+2],p=v[p>>>24]^y[d>>16&255]^b[c>>8&255]^S[255&f]^h[_+3],_+=4,d=s,c=o,f=u;for(l=0;l<4;l++)r[(3&-l)+a]=T[d>>>24]<<24^T[c>>16&255]<<16^T[f>>8&255]<<8^T[255&p]^h[_++],s=d,d=c,c=f,f=p,p=s},e}(),o=function(e){function t(){var t;return(t=e.call(this,r)||this).jobs=[],t.delay=1,t.timeout_=null,t}n(t,e);var i=t.prototype;return i.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},i.push=function(e){this.jobs.push(e),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},t}(r),u=function(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24},l=function(){function e(t,i,n,r){var a=e.STEP,s=new Int32Array(t.buffer),l=new Uint8Array(t.byteLength),h=0;for(this.asyncStream_=new o,this.asyncStream_.push(this.decryptChunk_(s.subarray(h,h+a),i,n,l)),h=a;h>2),m=new s(Array.prototype.slice.call(t)),_=new Uint8Array(e.byteLength),g=new Int32Array(_.buffer);for(n=i[0],r=i[1],a=i[2],o=i[3],f=0;f=0&&(t="main-desc"),t},Io=function(e,t){e.abort(),e.pause(),t&&t.activePlaylistLoader&&(t.activePlaylistLoader.pause(),t.activePlaylistLoader=null)},Lo=function(e,t){t.activePlaylistLoader=e,e.load()},xo={AUDIO:function(e,t){return function(){var i=t.segmentLoaders[e],n=t.mediaTypes[e],r=t.blacklistCurrentPlaylist;Io(i,n);var a=n.activeTrack(),s=n.activeGroup(),o=(s.filter((function(e){return e.default}))[0]||s[0]).id,u=n.tracks[o];if(a!==u){for(var l in Yr.log.warn("Problem encountered loading the alternate audio track.Switching back to default."),n.tracks)n.tracks[l].enabled=n.tracks[l]===u;n.onTrackChanged()}else r({message:"Problem encountered loading the default audio track."})}},SUBTITLES:function(e,t){return function(){var i=t.segmentLoaders[e],n=t.mediaTypes[e];Yr.log.warn("Problem encountered loading the subtitle track.Disabling subtitle track."),Io(i,n);var r=n.activeTrack();r&&(r.mode="disabled"),n.onTrackChanged()}}},Ro={AUDIO:function(e,t,i){if(t){var n=i.tech,r=i.requestOptions,a=i.segmentLoaders[e];t.on("loadedmetadata",(function(){var e=t.media();a.playlist(e,r),(!n.paused()||e.endList&&"none"!==n.preload())&&a.load()})),t.on("loadedplaylist",(function(){a.playlist(t.media(),r),n.paused()||a.load()})),t.on("error",xo[e](e,i))}},SUBTITLES:function(e,t,i){var n=i.tech,r=i.requestOptions,a=i.segmentLoaders[e],s=i.mediaTypes[e];t.on("loadedmetadata",(function(){var e=t.media();a.playlist(e,r),a.track(s.activeTrack()),(!n.paused()||e.endList&&"none"!==n.preload())&&a.load()})),t.on("loadedplaylist",(function(){a.playlist(t.media(),r),n.paused()||a.load()})),t.on("error",xo[e](e,i))}},Do={AUDIO:function(e,t){var i=t.vhs,n=t.sourceType,r=t.segmentLoaders[e],a=t.requestOptions,s=t.master.mediaGroups,o=t.mediaTypes[e],u=o.groups,l=o.tracks,h=o.logger_,d=t.masterPlaylistLoader,c=ba(d.master);for(var f in s[e]&&0!==Object.keys(s[e]).length||(s[e]={main:{default:{default:!0}}},c&&(s[e].main.default.playlists=d.master.playlists)),s[e])for(var p in u[f]||(u[f]=[]),s[e][f]){var m=s[e][f][p],_=void 0;if(c?(h("AUDIO group '"+f+"' label '"+p+"' is a master playlist"),m.isMasterPlaylist=!0,_=null):_="vhs-json"===n&&m.playlists?new Ua(m.playlists[0],i,a):m.resolvedUri?new Ua(m.resolvedUri,i,a):m.playlists&&"dash"===n?new is(m.playlists[0],i,a,d):null,m=Yr.mergeOptions({id:p,playlistLoader:_},m),Ro[e](e,m.playlistLoader,t),u[f].push(m),void 0===l[p]){var g=new Yr.AudioTrack({id:p,kind:Po(m),enabled:!1,language:m.language,default:m.default,label:p});l[p]=g}}r.on("error",xo[e](e,t))},SUBTITLES:function(e,t){var i=t.tech,n=t.vhs,r=t.sourceType,a=t.segmentLoaders[e],s=t.requestOptions,o=t.master.mediaGroups,u=t.mediaTypes[e],l=u.groups,h=u.tracks,d=t.masterPlaylistLoader;for(var c in o[e])for(var f in l[c]||(l[c]=[]),o[e][c])if(!o[e][c][f].forced){var p=o[e][c][f],m=void 0;if("hls"===r)m=new Ua(p.resolvedUri,n,s);else if("dash"===r){if(!p.playlists.filter((function(e){return e.excludeUntil!==1/0})).length)return;m=new is(p.playlists[0],n,s,d)}else"vhs-json"===r&&(m=new Ua(p.playlists?p.playlists[0]:p.resolvedUri,n,s));if(p=Yr.mergeOptions({id:f,playlistLoader:m},p),Ro[e](e,p.playlistLoader,t),l[c].push(p),void 0===h[f]){var _=i.addRemoteTextTrack({id:f,kind:"subtitles",default:p.default&&p.autoselect,language:p.language,label:f},!1).track;h[f]=_}}a.on("error",xo[e](e,t))},"CLOSED-CAPTIONS":function(e,t){var i=t.tech,n=t.master.mediaGroups,r=t.mediaTypes[e],a=r.groups,s=r.tracks;for(var o in n[e])for(var u in a[o]||(a[o]=[]),n[e][o]){var l=n[e][o][u];if(/^(?:CC|SERVICE)/.test(l.instreamId)){var h=i.options_.vhs&&i.options_.vhs.captionServices||{},d={label:u,language:l.language,instreamId:l.instreamId,default:l.default&&l.autoselect};if(h[d.instreamId]&&(d=Yr.mergeOptions(d,h[d.instreamId])),void 0===d.default&&delete d.default,a[o].push(Yr.mergeOptions({id:u},l)),void 0===s[u]){var c=i.addRemoteTextTrack({id:d.instreamId,kind:"captions",default:d.default,language:d.language,label:d.label},!1).track;s[u]=c}}}}},Oo=function e(t,i){for(var n=0;n1&&ba(t.master))for(var u=0;u "+a+" from "+t),this.tech_.trigger({type:"usage",name:"vhs-rendition-change-"+t})),this.masterPlaylistLoader_.media(e,i)},i.startABRTimer_=function(){var e=this;this.stopABRTimer_(),this.abrTimer_=C.default.setInterval((function(){return e.checkABR_()}),250)},i.stopABRTimer_=function(){this.tech_.scrubbing&&this.tech_.scrubbing()||(C.default.clearInterval(this.abrTimer_),this.abrTimer_=null)},i.getAudioTrackPlaylists_=function(){var e=this.master(),t=e&&e.playlists||[];if(!e||!e.mediaGroups||!e.mediaGroups.AUDIO)return t;var i,n=e.mediaGroups.AUDIO,r=Object.keys(n);if(Object.keys(this.mediaTypes_.AUDIO.groups).length)i=this.mediaTypes_.AUDIO.activeTrack();else{var a=n.main||r.length&&n[r[0]];for(var s in a)if(a[s].default){i={label:s};break}}if(!i)return t;var o=[];for(var u in n)if(n[u][i.label]){var l=n[u][i.label];if(l.playlists&&l.playlists.length)o.push.apply(o,l.playlists);else if(l.uri)o.push(l);else if(e.playlists.length)for(var h=0;h1&&(this.tech_.trigger({type:"usage",name:"vhs-alternate-audio"}),this.tech_.trigger({type:"usage",name:"hls-alternate-audio"})),this.useCueTags_&&(this.tech_.trigger({type:"usage",name:"vhs-playlist-cue-tags"}),this.tech_.trigger({type:"usage",name:"hls-playlist-cue-tags"}))},i.shouldSwitchToMedia_=function(e){var t=this.masterPlaylistLoader_.media(),i=this.tech_.buffered();return function(e){var t=e.currentPlaylist,i=e.nextPlaylist,n=e.forwardBuffer,r=e.bufferLowWaterLine,a=e.bufferHighWaterLine,s=e.duration,o=e.experimentalBufferBasedABR,u=e.log;if(!i)return Yr.log.warn("We received no playlist to switch to. Please check your stream."),!1;var l="allowing switch "+(t&&t.id||"null")+" -> "+i.id;if(!t)return u(l+" as current playlist is not set"),!0;if(i.id===t.id)return!1;if(!t.endList)return u(l+" as current playlist is live"),!0;var h=o?ns.EXPERIMENTAL_MAX_BUFFER_LOW_WATER_LINE:ns.MAX_BUFFER_LOW_WATER_LINE;if(sc)&&n>=r){var p=l+" as forwardBuffer >= bufferLowWaterLine ("+n+" >= "+r+")";return o&&(p+=" and next bandwidth > current bandwidth ("+d+" > "+c+")"),u(p),!0}return u("not "+l+" as no switching criteria met"),!1}({currentPlaylist:t,nextPlaylist:e,forwardBuffer:i.length?i.end(i.length-1)-this.tech_.currentTime():0,bufferLowWaterLine:this.bufferLowWaterLine(),bufferHighWaterLine:this.bufferHighWaterLine(),duration:this.duration(),experimentalBufferBasedABR:this.experimentalBufferBasedABR,log:this.logger_})},i.setupSegmentLoaderListeners_=function(){var e=this;this.experimentalBufferBasedABR||(this.mainSegmentLoader_.on("bandwidthupdate",(function(){var t=e.selectPlaylist();e.shouldSwitchToMedia_(t)&&e.switchMedia_(t,"bandwidthupdate"),e.tech_.trigger("bandwidthupdate")})),this.mainSegmentLoader_.on("progress",(function(){e.trigger("progress")}))),this.mainSegmentLoader_.on("error",(function(){e.blacklistCurrentPlaylist(e.mainSegmentLoader_.error())})),this.mainSegmentLoader_.on("appenderror",(function(){e.error=e.mainSegmentLoader_.error_,e.trigger("error")})),this.mainSegmentLoader_.on("syncinfoupdate",(function(){e.onSyncInfoUpdate_()})),this.mainSegmentLoader_.on("timestampoffset",(function(){e.tech_.trigger({type:"usage",name:"vhs-timestamp-offset"}),e.tech_.trigger({type:"usage",name:"hls-timestamp-offset"})})),this.audioSegmentLoader_.on("syncinfoupdate",(function(){e.onSyncInfoUpdate_()})),this.audioSegmentLoader_.on("appenderror",(function(){e.error=e.audioSegmentLoader_.error_,e.trigger("error")})),this.mainSegmentLoader_.on("ended",(function(){e.logger_("main segment loader ended"),e.onEndOfStream()})),this.mainSegmentLoader_.on("earlyabort",(function(t){e.experimentalBufferBasedABR||(e.delegateLoaders_("all",["abort"]),e.blacklistCurrentPlaylist({message:"Aborted early because there isn't enough bandwidth to complete the request without rebuffering."},120))}));var t=function(){if(!e.sourceUpdater_.hasCreatedSourceBuffers())return e.tryToCreateSourceBuffers_();var t=e.getCodecsOrExclude_();t&&e.sourceUpdater_.addOrChangeSourceBuffers(t)};this.mainSegmentLoader_.on("trackinfo",t),this.audioSegmentLoader_.on("trackinfo",t),this.mainSegmentLoader_.on("fmp4",(function(){e.triggeredFmp4Usage||(e.tech_.trigger({type:"usage",name:"vhs-fmp4"}),e.tech_.trigger({type:"usage",name:"hls-fmp4"}),e.triggeredFmp4Usage=!0)})),this.audioSegmentLoader_.on("fmp4",(function(){e.triggeredFmp4Usage||(e.tech_.trigger({type:"usage",name:"vhs-fmp4"}),e.tech_.trigger({type:"usage",name:"hls-fmp4"}),e.triggeredFmp4Usage=!0)})),this.audioSegmentLoader_.on("ended",(function(){e.logger_("audioSegmentLoader ended"),e.onEndOfStream()}))},i.mediaSecondsLoaded_=function(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)},i.load=function(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()},i.smoothQualityChange_=function(e){void 0===e&&(e=this.selectPlaylist()),this.fastQualityChange_(e)},i.fastQualityChange_=function(e){var t=this;void 0===e&&(e=this.selectPlaylist()),e!==this.masterPlaylistLoader_.media()?(this.switchMedia_(e,"fast-quality"),this.mainSegmentLoader_.resetEverything((function(){Yr.browser.IE_VERSION||Yr.browser.IS_EDGE?t.tech_.setCurrentTime(t.tech_.currentTime()+.04):t.tech_.setCurrentTime(t.tech_.currentTime())}))):this.logger_("skipping fastQualityChange because new media is same as old")},i.play=function(){if(!this.setupFirstPlay()){this.tech_.ended()&&this.tech_.setCurrentTime(0),this.hasPlayed_&&this.load();var e=this.tech_.seekable();return this.tech_.duration()===1/0&&this.tech_.currentTime()this.maxPlaylistRetries?1/0:Date.now()+1e3*t,i.excludeUntil=n,e.reason&&(i.lastExcludeReason_=e.reason),this.tech_.trigger("blacklistplaylist"),this.tech_.trigger({type:"usage",name:"vhs-rendition-blacklisted"}),this.tech_.trigger({type:"usage",name:"hls-rendition-blacklisted"});var u=this.selectPlaylist();if(!u)return this.error="Playback cannot continue. No available working or supported playlists.",void this.trigger("error");var l=e.internal?this.logger_:Yr.log.warn,h=e.message?" "+e.message:"";l((e.internal?"Internal problem":"Problem")+" encountered with playlist "+i.id+"."+h+" Switching to playlist "+u.id+"."),u.attributes.AUDIO!==i.attributes.AUDIO&&this.delegateLoaders_("audio",["abort","pause"]),u.attributes.SUBTITLES!==i.attributes.SUBTITLES&&this.delegateLoaders_("subtitle",["abort","pause"]),this.delegateLoaders_("main",["abort","pause"]);var d=u.targetDuration/2*1e3||5e3,c="number"==typeof u.lastRequest&&Date.now()-u.lastRequest<=d;return this.switchMedia_(u,"exclude",s||c)},i.pauseLoading=function(){this.delegateLoaders_("all",["abort","pause"]),this.stopABRTimer_()},i.delegateLoaders_=function(e,t){var i=this,n=[],r="all"===e;(r||"main"===e)&&n.push(this.masterPlaylistLoader_);var a=[];(r||"audio"===e)&&a.push("AUDIO"),(r||"subtitle"===e)&&(a.push("CLOSED-CAPTIONS"),a.push("SUBTITLES")),a.forEach((function(e){var t=i.mediaTypes_[e]&&i.mediaTypes_[e].activePlaylistLoader;t&&n.push(t)})),["main","audio","subtitle"].forEach((function(t){var r=i[t+"SegmentLoader_"];!r||e!==t&&"all"!==e||n.push(r)})),n.forEach((function(e){return t.forEach((function(t){"function"==typeof e[t]&&e[t]()}))}))},i.setCurrentTime=function(e){var t=Zr(this.tech_.buffered(),e);return this.masterPlaylistLoader_&&this.masterPlaylistLoader_.media()&&this.masterPlaylistLoader_.media().segments?t&&t.length?e:(this.mainSegmentLoader_.resetEverything(),this.mainSegmentLoader_.abort(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.resetEverything(),this.audioSegmentLoader_.abort()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.resetEverything(),this.subtitleSegmentLoader_.abort()),void this.load()):0},i.duration=function(){if(!this.masterPlaylistLoader_)return 0;var e=this.masterPlaylistLoader_.media();return e?e.endList?this.mediaSource?this.mediaSource.duration:Zs.Playlist.duration(e):1/0:0},i.seekable=function(){return this.seekable_},i.onSyncInfoUpdate_=function(){var e;if(this.masterPlaylistLoader_){var t=this.masterPlaylistLoader_.media();if(t){var i=this.syncController_.getExpiredTime(t,this.duration());if(null!==i){var n=this.masterPlaylistLoader_.master,r=Zs.Playlist.seekable(t,i,Zs.Playlist.liveEdgeDelay(n,t));if(0!==r.length){if(this.mediaTypes_.AUDIO.activePlaylistLoader){if(t=this.mediaTypes_.AUDIO.activePlaylistLoader.media(),null===(i=this.syncController_.getExpiredTime(t,this.duration())))return;if(0===(e=Zs.Playlist.seekable(t,i,Zs.Playlist.liveEdgeDelay(n,t))).length)return}var a,s;this.seekable_&&this.seekable_.length&&(a=this.seekable_.end(0),s=this.seekable_.start(0)),e?e.start(0)>r.end(0)||r.start(0)>e.end(0)?this.seekable_=r:this.seekable_=Yr.createTimeRanges([[e.start(0)>r.start(0)?e.start(0):r.start(0),e.end(0)0&&(n=Math.max(n,i.end(i.length-1))),this.mediaSource.duration!==n&&this.sourceUpdater_.setDuration(n)}},i.dispose=function(){var e=this;this.trigger("dispose"),this.decrypter_.terminate(),this.masterPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),this.loadOnPlay_&&this.tech_.off("play",this.loadOnPlay_),["AUDIO","SUBTITLES"].forEach((function(t){var i=e.mediaTypes_[t].groups;for(var n in i)i[n].forEach((function(e){e.playlistLoader&&e.playlistLoader.dispose()}))})),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.sourceUpdater_.dispose(),this.timelineChangeController_.dispose(),this.stopABRTimer_(),this.updateDuration_&&this.mediaSource.removeEventListener("sourceopen",this.updateDuration_),this.mediaSource.removeEventListener("durationchange",this.handleDurationChange_),this.mediaSource.removeEventListener("sourceopen",this.handleSourceOpen_),this.mediaSource.removeEventListener("sourceended",this.handleSourceEnded_),this.off()},i.master=function(){return this.masterPlaylistLoader_.master},i.media=function(){return this.masterPlaylistLoader_.media()||this.initialMedia_},i.areMediaTypesKnown_=function(){var e=!!this.mediaTypes_.AUDIO.activePlaylistLoader,t=!!this.mainSegmentLoader_.getCurrentMediaInfo_(),i=!e||!!this.audioSegmentLoader_.getCurrentMediaInfo_();return!(!t||!i)},i.getCodecsOrExclude_=function(){var e=this,t={main:this.mainSegmentLoader_.getCurrentMediaInfo_()||{},audio:this.audioSegmentLoader_.getCurrentMediaInfo_()||{}};t.video=t.main;var i=Us(this.master(),this.media()),n={},r=!!this.mediaTypes_.AUDIO.activePlaylistLoader;if(t.main.hasVideo&&(n.video=i.video||t.main.videoCodec||_.DEFAULT_VIDEO_CODEC),t.main.isMuxed&&(n.video+=","+(i.audio||t.main.audioCodec||_.DEFAULT_AUDIO_CODEC)),(t.main.hasAudio&&!t.main.isMuxed||t.audio.hasAudio||r)&&(n.audio=i.audio||t.main.audioCodec||t.audio.audioCodec||_.DEFAULT_AUDIO_CODEC,t.audio.isFmp4=t.main.hasAudio&&!t.main.isMuxed?t.main.isFmp4:t.audio.isFmp4),n.audio||n.video){var a,s={};if(["video","audio"].forEach((function(e){if(n.hasOwnProperty(e)&&(r=t[e].isFmp4,o=n[e],!(r?_.browserSupportsCodec(o):_.muxerSupportsCodec(o)))){var i=t[e].isFmp4?"browser":"muxer";s[i]=s[i]||[],s[i].push(n[e]),"audio"===e&&(a=i)}var r,o})),r&&a&&this.media().attributes.AUDIO){var o=this.media().attributes.AUDIO;this.master().playlists.forEach((function(t){(t.attributes&&t.attributes.AUDIO)===o&&t!==e.media()&&(t.excludeUntil=1/0)})),this.logger_("excluding audio group "+o+" as "+a+' does not support codec(s): "'+n.audio+'"')}if(!Object.keys(s).length){if(this.sourceUpdater_.hasCreatedSourceBuffers()&&!this.sourceUpdater_.canChangeType()){var u=[];if(["video","audio"].forEach((function(t){var i=(_.parseCodecs(e.sourceUpdater_.codecs[t]||"")[0]||{}).type,r=(_.parseCodecs(n[t]||"")[0]||{}).type;i&&r&&i.toLowerCase()!==r.toLowerCase()&&u.push('"'+e.sourceUpdater_.codecs[t]+'" -> "'+n[t]+'"')})),u.length)return void this.blacklistCurrentPlaylist({playlist:this.media(),message:"Codec switching not supported: "+u.join(", ")+".",blacklistDuration:1/0,internal:!0})}return n}var l=Object.keys(s).reduce((function(e,t){return e&&(e+=", "),e+=t+' does not support codec(s): "'+s[t].join(",")+'"'}),"")+".";this.blacklistCurrentPlaylist({playlist:this.media(),internal:!0,message:l,blacklistDuration:1/0})}else this.blacklistCurrentPlaylist({playlist:this.media(),message:"Could not determine codecs for playlist.",blacklistDuration:1/0})},i.tryToCreateSourceBuffers_=function(){if("open"===this.mediaSource.readyState&&!this.sourceUpdater_.hasCreatedSourceBuffers()&&this.areMediaTypesKnown_()){var e=this.getCodecsOrExclude_();if(e){this.sourceUpdater_.createSourceBuffers(e);var t=[e.video,e.audio].filter(Boolean).join(",");this.excludeIncompatibleVariants_(t)}}},i.excludeUnsupportedVariants_=function(){var e=this,t=this.master().playlists,i=[];Object.keys(t).forEach((function(n){var r=t[n];if(-1===i.indexOf(r.id)){i.push(r.id);var a=Us(e.master,r),s=[];!a.audio||_.muxerSupportsCodec(a.audio)||_.browserSupportsCodec(a.audio)||s.push("audio codec "+a.audio),!a.video||_.muxerSupportsCodec(a.video)||_.browserSupportsCodec(a.video)||s.push("video codec "+a.video),a.text&&"stpp.ttml.im1t"===a.text&&s.push("text codec "+a.text),s.length&&(r.excludeUntil=1/0,e.logger_("excluding "+r.id+" for unsupported: "+s.join(", ")))}}))},i.excludeIncompatibleVariants_=function(e){var t=this,i=[],n=this.master().playlists,r=Ds(_.parseCodecs(e)),a=Os(r),s=r.video&&_.parseCodecs(r.video)[0]||null,o=r.audio&&_.parseCodecs(r.audio)[0]||null;Object.keys(n).forEach((function(e){var r=n[e];if(-1===i.indexOf(r.id)&&r.excludeUntil!==1/0){i.push(r.id);var u=[],l=Us(t.masterPlaylistLoader_.master,r),h=Os(l);if(l.audio||l.video){if(h!==a&&u.push('codec count "'+h+'" !== "'+a+'"'),!t.sourceUpdater_.canChangeType()){var d=l.video&&_.parseCodecs(l.video)[0]||null,c=l.audio&&_.parseCodecs(l.audio)[0]||null;d&&s&&d.type.toLowerCase()!==s.type.toLowerCase()&&u.push('video codec "'+d.type+'" !== "'+s.type+'"'),c&&o&&c.type.toLowerCase()!==o.type.toLowerCase()&&u.push('audio codec "'+c.type+'" !== "'+o.type+'"')}u.length&&(r.excludeUntil=1/0,t.logger_("blacklisting "+r.id+": "+u.join(" && ")))}}}))},i.updateAdCues_=function(e){var t=0,i=this.seekable();i.length&&(t=i.start(0)),function(e,t,i){if(void 0===i&&(i=0),e.segments)for(var n,r=i,a=0;a0&&this.logger_("resetting possible stalled download count for "+e+" loader"),this[e+"StalledDownloads_"]=0,this[e+"Buffered_"]=t.buffered_()},t.checkSegmentDownloads_=function(e){var t=this.masterPlaylistController_,i=t[e+"SegmentLoader_"],n=i.buffered_(),r=function(e,t){if(e===t)return!1;if(!e&&t||!t&&e)return!0;if(e.length!==t.length)return!0;for(var i=0;i=t.end(t.length-1)))return this.techWaiting_();this.consecutiveUpdates>=5&&e===this.lastRecordedTime?(this.consecutiveUpdates++,this.waiting_()):e===this.lastRecordedTime?this.consecutiveUpdates++:(this.consecutiveUpdates=0,this.lastRecordedTime=e)}},t.cancelTimer_=function(){this.consecutiveUpdates=0,this.timer_&&(this.logger_("cancelTimer_"),clearTimeout(this.timer_)),this.timer_=null},t.fixesBadSeeks_=function(){if(!this.tech_.seeking())return!1;var e,t=this.seekable(),i=this.tech_.currentTime();this.afterSeekableWindow_(t,i,this.media(),this.allowSeeksWithinUnsafeLiveWindow)&&(e=t.end(t.length-1));if(this.beforeSeekableWindow_(t,i)){var n=t.start(0);e=n+(n===t.end(0)?0:.1)}if(void 0!==e)return this.logger_("Trying to seek outside of seekable at time "+i+" with seekable range "+ta(t)+". Seeking to "+e+"."),this.tech_.setCurrentTime(e),!0;var r=this.tech_.buffered();return!!function(e){var t=e.buffered,i=e.targetDuration,n=e.currentTime;return!!t.length&&(!(t.end(0)-t.start(0)<2*i)&&(!(n>t.start(0))&&t.start(0)-n "+i.end(0)+"]. Attempting to resume playback by seeking to the current time."),this.tech_.trigger({type:"usage",name:"vhs-unknown-waiting"}),void this.tech_.trigger({type:"usage",name:"hls-unknown-waiting"})):void 0}},t.techWaiting_=function(){var e=this.seekable(),t=this.tech_.currentTime();if(this.tech_.seeking()&&this.fixesBadSeeks_())return!0;if(this.tech_.seeking()||null!==this.timer_)return!0;if(this.beforeSeekableWindow_(e,t)){var i=e.end(e.length-1);return this.logger_("Fell out of live window at time "+t+". Seeking to live point (seekable end) "+i),this.cancelTimer_(),this.tech_.setCurrentTime(i),this.tech_.trigger({type:"usage",name:"vhs-live-resync"}),this.tech_.trigger({type:"usage",name:"hls-live-resync"}),!0}var n=this.tech_.vhs.masterPlaylistController_.sourceUpdater_,r=this.tech_.buffered();if(this.videoUnderflow_({audioBuffered:n.audioBuffered(),videoBuffered:n.videoBuffered(),currentTime:t}))return this.cancelTimer_(),this.tech_.setCurrentTime(t),this.tech_.trigger({type:"usage",name:"vhs-video-underflow"}),this.tech_.trigger({type:"usage",name:"hls-video-underflow"}),!0;var a=ea(r,t);if(a.length>0){var s=a.start(0)-t;return this.logger_("Stopped at "+t+", setting timer for "+s+", seeking to "+a.start(0)),this.cancelTimer_(),this.timer_=setTimeout(this.skipTheGap_.bind(this),1e3*s,t),!0}return!1},t.afterSeekableWindow_=function(e,t,i,n){if(void 0===n&&(n=!1),!e.length)return!1;var r=e.end(e.length-1)+.1;return!i.endList&&n&&(r=e.end(e.length-1)+3*i.targetDuration),t>r},t.beforeSeekableWindow_=function(e,t){return!!(e.length&&e.start(0)>0&&t2)return{start:r,end:a}}return null},e}(),zo={errorInterval:30,getSource:function(e){return e(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_||this.currentSource())}},Go=function(e){!function e(t,i){var n=0,r=0,a=Yr.mergeOptions(zo,i);t.ready((function(){t.trigger({type:"usage",name:"vhs-error-reload-initialized"}),t.trigger({type:"usage",name:"hls-error-reload-initialized"})}));var s=function(){r&&t.currentTime(r)},o=function(e){null!=e&&(r=t.duration()!==1/0&&t.currentTime()||0,t.one("loadedmetadata",s),t.src(e),t.trigger({type:"usage",name:"vhs-error-reload"}),t.trigger({type:"usage",name:"hls-error-reload"}),t.play())},u=function(){return Date.now()-n<1e3*a.errorInterval?(t.trigger({type:"usage",name:"vhs-error-reload-canceled"}),void t.trigger({type:"usage",name:"hls-error-reload-canceled"})):a.getSource&&"function"==typeof a.getSource?(n=Date.now(),a.getSource.call(t,o)):void Yr.log.error("ERROR: reloadSourceOnError - The option getSource must be a function!")},l=function e(){t.off("loadedmetadata",s),t.off("error",u),t.off("dispose",e)};t.on("error",u),t.on("dispose",l),t.reloadSourceOnError=function(i){l(),e(t,i)}}(this,e)},Wo={PlaylistLoader:Ua,Playlist:Sa,utils:Ka,STANDARD_PLAYLIST_SELECTOR:Hs,INITIAL_PLAYLIST_SELECTOR:function(){var e=this,t=this.playlists.master.playlists.filter(Sa.isEnabled);return Ns(t,(function(e,t){return js(e,t)})),t.filter((function(t){return!!Us(e.playlists.master,t).video}))[0]||null},lastBandwidthSelector:Hs,movingAverageBandwidthSelector:function(e){var t=-1,i=-1;if(e<0||e>1)throw new Error("Moving average bandwidth decay must be between 0 and 1.");return function(){var n=this.useDevicePixelRatio&&C.default.devicePixelRatio||1;return t<0&&(t=this.systemBandwidth,i=this.systemBandwidth),this.systemBandwidth>0&&this.systemBandwidth!==i&&(t=e*this.systemBandwidth+(1-e)*t,i=this.systemBandwidth),Vs(this.playlists.master,t,parseInt(Bs(this.tech_.el(),"width"),10)*n,parseInt(Bs(this.tech_.el(),"height"),10)*n,this.limitRenditionByPlayerDimensions,this.masterPlaylistController_)}},comparePlaylistBandwidth:js,comparePlaylistResolution:function(e,t){var i,n;return e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width&&(i=e.attributes.RESOLUTION.width),i=i||C.default.Number.MAX_VALUE,t.attributes.RESOLUTION&&t.attributes.RESOLUTION.width&&(n=t.attributes.RESOLUTION.width),i===(n=n||C.default.Number.MAX_VALUE)&&e.attributes.BANDWIDTH&&t.attributes.BANDWIDTH?e.attributes.BANDWIDTH-t.attributes.BANDWIDTH:i-n},xhr:Na()};Object.keys(ns).forEach((function(e){Object.defineProperty(Wo,e,{get:function(){return Yr.log.warn("using Vhs."+e+" is UNSAFE be sure you know what you are doing"),ns[e]},set:function(t){Yr.log.warn("using Vhs."+e+" is UNSAFE be sure you know what you are doing"),"number"!=typeof t||t<0?Yr.log.warn("value of Vhs."+e+" must be greater than or equal to 0"):ns[e]=t}})}));var Yo=function(e,t){for(var i=t.media(),n=-1,r=0;r0?1/this.throughput:0,Math.floor(1/(t+e))},set:function(){Yr.log.error('The "systemBandwidth" property is read-only')}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:function(){return i.bandwidth||0},enumerable:!0},mediaRequests:{get:function(){return i.masterPlaylistController_.mediaRequests_()||0},enumerable:!0},mediaRequestsAborted:{get:function(){return i.masterPlaylistController_.mediaRequestsAborted_()||0},enumerable:!0},mediaRequestsTimedout:{get:function(){return i.masterPlaylistController_.mediaRequestsTimedout_()||0},enumerable:!0},mediaRequestsErrored:{get:function(){return i.masterPlaylistController_.mediaRequestsErrored_()||0},enumerable:!0},mediaTransferDuration:{get:function(){return i.masterPlaylistController_.mediaTransferDuration_()||0},enumerable:!0},mediaBytesTransferred:{get:function(){return i.masterPlaylistController_.mediaBytesTransferred_()||0},enumerable:!0},mediaSecondsLoaded:{get:function(){return i.masterPlaylistController_.mediaSecondsLoaded_()||0},enumerable:!0},mediaAppends:{get:function(){return i.masterPlaylistController_.mediaAppends_()||0},enumerable:!0},mainAppendsToLoadedData:{get:function(){return i.masterPlaylistController_.mainAppendsToLoadedData_()||0},enumerable:!0},audioAppendsToLoadedData:{get:function(){return i.masterPlaylistController_.audioAppendsToLoadedData_()||0},enumerable:!0},appendsToLoadedData:{get:function(){return i.masterPlaylistController_.appendsToLoadedData_()||0},enumerable:!0},timeToLoadedData:{get:function(){return i.masterPlaylistController_.timeToLoadedData_()||0},enumerable:!0},buffered:{get:function(){return ia(i.tech_.buffered())},enumerable:!0},currentTime:{get:function(){return i.tech_.currentTime()},enumerable:!0},currentSource:{get:function(){return i.tech_.currentSource_},enumerable:!0},currentTech:{get:function(){return i.tech_.name_},enumerable:!0},duration:{get:function(){return i.tech_.duration()},enumerable:!0},master:{get:function(){return i.playlists.master},enumerable:!0},playerDimensions:{get:function(){return i.tech_.currentDimensions()},enumerable:!0},seekable:{get:function(){return ia(i.tech_.seekable())},enumerable:!0},timestamp:{get:function(){return Date.now()},enumerable:!0},videoPlaybackQuality:{get:function(){return i.tech_.getVideoPlaybackQuality()},enumerable:!0}}),this.tech_.one("canplay",this.masterPlaylistController_.setupFirstPlay.bind(this.masterPlaylistController_)),this.tech_.on("bandwidthupdate",(function(){i.options_.useBandwidthFromLocalStorage&&function(e){if(!C.default.localStorage)return!1;var t=Xo();t=t?Yr.mergeOptions(t,e):e;try{C.default.localStorage.setItem("videojs-vhs",JSON.stringify(t))}catch(e){return!1}}({bandwidth:i.bandwidth,throughput:Math.round(i.throughput)})})),this.masterPlaylistController_.on("selectedinitialmedia",(function(){var e;(e=i).representations=function(){var t=e.masterPlaylistController_.master(),i=ba(t)?e.masterPlaylistController_.getAudioTrackPlaylists_():t.playlists;return i?i.filter((function(e){return!pa(e)})).map((function(t,i){return new jo(e,t,t.id)})):[]}})),this.masterPlaylistController_.sourceUpdater_.on("createdsourcebuffers",(function(){i.setupEme_()})),this.on(this.masterPlaylistController_,"progress",(function(){this.tech_.trigger("progress")})),this.on(this.masterPlaylistController_,"firstplay",(function(){this.ignoreNextSeekingEvent_=!0})),this.setupQualityLevels_(),this.tech_.el()&&(this.mediaSourceUrl_=C.default.URL.createObjectURL(this.masterPlaylistController_.mediaSource),this.tech_.src(this.mediaSourceUrl_))}},i.setupEme_=function(){var e=this,t=this.masterPlaylistController_.mediaTypes_.AUDIO.activePlaylistLoader,i=Ko({player:this.player_,sourceKeySystems:this.source_.keySystems,media:this.playlists.media(),audioMedia:t&&t.media()});this.player_.tech_.on("keystatuschange",(function(t){"output-restricted"===t.status&&e.masterPlaylistController_.blacklistCurrentPlaylist({playlist:e.masterPlaylistController_.media(),message:"DRM keystatus changed to "+t.status+". Playlist will fail to play. Check for HDCP content.",blacklistDuration:1/0})})),11!==Yr.browser.IE_VERSION&&i?(this.logger_("waiting for EME key session creation"),qo({player:this.player_,sourceKeySystems:this.source_.keySystems,audioMedia:t&&t.media(),mainPlaylists:this.playlists.master.playlists}).then((function(){e.logger_("created EME key session"),e.masterPlaylistController_.sourceUpdater_.initializedEme()})).catch((function(t){e.logger_("error while creating EME key session",t),e.player_.error({message:"Failed to initialize media keys for EME",code:3})}))):this.masterPlaylistController_.sourceUpdater_.initializedEme()},i.setupQualityLevels_=function(){var e=this,t=Yr.players[this.tech_.options_.playerId];t&&t.qualityLevels&&!this.qualityLevels_&&(this.qualityLevels_=t.qualityLevels(),this.masterPlaylistController_.on("selectedinitialmedia",(function(){var t,i;t=e.qualityLevels_,(i=e).representations().forEach((function(e){t.addQualityLevel(e)})),Yo(t,i.playlists)})),this.playlists.on("mediachange",(function(){Yo(e.qualityLevels_,e.playlists)})))},t.version=function(){return{"@videojs/http-streaming":"2.10.2","mux.js":"5.13.0","mpd-parser":"0.19.0","m3u8-parser":"4.7.0","aes-decrypter":"3.1.2"}},i.version=function(){return this.constructor.version()},i.canChangeType=function(){return yo.canChangeType()},i.play=function(){this.masterPlaylistController_.play()},i.setCurrentTime=function(e){this.masterPlaylistController_.setCurrentTime(e)},i.duration=function(){return this.masterPlaylistController_.duration()},i.seekable=function(){return this.masterPlaylistController_.seekable()},i.dispose=function(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.masterPlaylistController_&&this.masterPlaylistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.player_&&(delete this.player_.vhs,delete this.player_.dash,delete this.player_.hls),this.tech_&&this.tech_.vhs&&delete this.tech_.vhs,this.tech_&&delete this.tech_.hls,this.mediaSourceUrl_&&C.default.URL.revokeObjectURL&&(C.default.URL.revokeObjectURL(this.mediaSourceUrl_),this.mediaSourceUrl_=null),e.prototype.dispose.call(this)},i.convertToProgramTime=function(e,t){return Xa({playlist:this.masterPlaylistController_.media(),time:e,callback:t})},i.seekToProgramTime=function(e,t,i,n){return void 0===i&&(i=!0),void 0===n&&(n=2),Qa({programTime:e,playlist:this.masterPlaylistController_.media(),retryCount:n,pauseAfterSeek:i,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:t})},t}(Yr.getComponent("Component")),$o={name:"videojs-http-streaming",VERSION:"2.10.2",canHandleSource:function(e,t){void 0===t&&(t={});var i=Yr.mergeOptions(Yr.options,t);return $o.canPlayType(e.type,i)},handleSource:function(e,t,i){void 0===i&&(i={});var n=Yr.mergeOptions(Yr.options,i);return t.vhs=new Qo(e,t,n),Yr.hasOwnProperty("hls")||Object.defineProperty(t,"hls",{get:function(){return Yr.log.warn("player.tech().hls is deprecated. Use player.tech().vhs instead."),t.vhs},configurable:!0}),t.vhs.xhr=Na(),t.vhs.src(e.src,e.type),t.vhs},canPlayType:function(e,t){void 0===t&&(t={});var i=Yr.mergeOptions(Yr.options,t).vhs.overrideNative,n=void 0===i?!Yr.browser.IS_ANY_SAFARI:i,r=g.simpleTypeFromSourceType(e);return r&&(!Wo.supportsTypeNatively(r)||n)?"maybe":""}};_.browserSupportsCodec("avc1.4d400d,mp4a.40.2")&&Yr.getTech("Html5").registerSourceHandler($o,0),Yr.VhsHandler=Qo,Object.defineProperty(Yr,"HlsHandler",{get:function(){return Yr.log.warn("videojs.HlsHandler is deprecated. Use videojs.VhsHandler instead."),Qo},configurable:!0}),Yr.VhsSourceHandler=$o,Object.defineProperty(Yr,"HlsSourceHandler",{get:function(){return Yr.log.warn("videojs.HlsSourceHandler is deprecated. Use videojs.VhsSourceHandler instead."),$o},configurable:!0}),Yr.Vhs=Wo,Object.defineProperty(Yr,"Hls",{get:function(){return Yr.log.warn("videojs.Hls is deprecated. Use videojs.Vhs instead."),Wo},configurable:!0}),Yr.use||(Yr.registerComponent("Hls",Wo),Yr.registerComponent("Vhs",Wo)),Yr.options.vhs=Yr.options.vhs||{},Yr.options.hls=Yr.options.hls||{},Yr.registerPlugin?Yr.registerPlugin("reloadSourceOnError",Go):Yr.plugin("reloadSourceOnError",Go),t.exports=Yr},{"@babel/runtime/helpers/assertThisInitialized":1,"@babel/runtime/helpers/construct":2,"@babel/runtime/helpers/extends":3,"@babel/runtime/helpers/inherits":4,"@babel/runtime/helpers/inheritsLoose":5,"@videojs/vhs-utils/cjs/byte-helpers":9,"@videojs/vhs-utils/cjs/codecs.js":11,"@videojs/vhs-utils/cjs/containers":12,"@videojs/vhs-utils/cjs/id3-helpers":15,"@videojs/vhs-utils/cjs/media-types.js":16,"@videojs/vhs-utils/cjs/resolve-url.js":20,"@videojs/xhr":23,"global/document":33,"global/window":34,keycode:37,"m3u8-parser":38,"mpd-parser":40,"mux.js/lib/tools/parse-sidx":42,"mux.js/lib/utils/clock":43,"safe-json-parse/tuple":45,"videojs-vtt.js":48}],48:[function(e,t,i){var n=e("global/window"),r=t.exports={WebVTT:e("./vtt.js"),VTTCue:e("./vttcue.js"),VTTRegion:e("./vttregion.js")};n.vttjs=r,n.WebVTT=r.WebVTT;var a=r.VTTCue,s=r.VTTRegion,o=n.VTTCue,u=n.VTTRegion;r.shim=function(){n.VTTCue=a,n.VTTRegion=s},r.restore=function(){n.VTTCue=o,n.VTTRegion=u},n.VTTCue||r.shim()},{"./vtt.js":49,"./vttcue.js":50,"./vttregion.js":51,"global/window":34}],49:[function(e,t,i){var n=e("global/document"),r=Object.create||function(){function e(){}return function(t){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return e.prototype=t,new e}}();function a(e,t){this.name="ParsingError",this.code=e.code,this.message=t||e.message}function s(e){function t(e,t,i,n){return 3600*(0|e)+60*(0|t)+(0|i)+(0|n)/1e3}var i=e.match(/^(\d+):(\d{1,2})(:\d{1,2})?\.(\d{3})/);return i?i[3]?t(i[1],i[2],i[3].replace(":",""),i[4]):i[1]>59?t(i[1],i[2],0,i[4]):t(0,i[1],i[2],i[4]):null}function o(){this.values=r(null)}function u(e,t,i,n){var r=n?e.split(n):[e];for(var a in r)if("string"==typeof r[a]){var s=r[a].split(i);if(2===s.length)t(s[0],s[1])}}function l(e,t,i){var n=e;function r(){var t=s(e);if(null===t)throw new a(a.Errors.BadTimeStamp,"Malformed timestamp: "+n);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function l(){e=e.replace(/^\s+/,"")}if(l(),t.startTime=r(),l(),"--\x3e"!==e.substr(0,3))throw new a(a.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+n);e=e.substr(3),l(),t.endTime=r(),l(),function(e,t){var n=new o;u(e,(function(e,t){switch(e){case"region":for(var r=i.length-1;r>=0;r--)if(i[r].id===t){n.set(e,i[r].region);break}break;case"vertical":n.alt(e,t,["rl","lr"]);break;case"line":var a=t.split(","),s=a[0];n.integer(e,s),n.percent(e,s)&&n.set("snapToLines",!1),n.alt(e,s,["auto"]),2===a.length&&n.alt("lineAlign",a[1],["start","center","end"]);break;case"position":a=t.split(","),n.percent(e,a[0]),2===a.length&&n.alt("positionAlign",a[1],["start","center","end"]);break;case"size":n.percent(e,t);break;case"align":n.alt(e,t,["start","center","end","left","right"])}}),/:/,/\s/),t.region=n.get("region",null),t.vertical=n.get("vertical","");try{t.line=n.get("line","auto")}catch(e){}t.lineAlign=n.get("lineAlign","start"),t.snapToLines=n.get("snapToLines",!0),t.size=n.get("size",100);try{t.align=n.get("align","center")}catch(e){t.align=n.get("align","middle")}try{t.position=n.get("position","auto")}catch(e){t.position=n.get("position",{start:0,left:0,center:50,middle:50,end:100,right:100},t.align)}t.positionAlign=n.get("positionAlign",{start:"start",left:"start",center:"center",middle:"center",end:"end",right:"end"},t.align)}(e,t)}a.prototype=r(Error.prototype),a.prototype.constructor=a,a.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}},o.prototype={set:function(e,t){this.get(e)||""===t||(this.values[e]=t)},get:function(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,i){for(var n=0;n=0&&t<=100)&&(this.set(e,t),!0)}};var h=n.createElement&&n.createElement("textarea"),d={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},c={white:"rgba(255,255,255,1)",lime:"rgba(0,255,0,1)",cyan:"rgba(0,255,255,1)",red:"rgba(255,0,0,1)",yellow:"rgba(255,255,0,1)",magenta:"rgba(255,0,255,1)",blue:"rgba(0,0,255,1)",black:"rgba(0,0,0,1)"},f={v:"title",lang:"lang"},p={rt:"ruby"};function m(e,t){function i(){if(!t)return null;var e,i=t.match(/^([^<]*)(<[^>]*>?)?/);return e=i[1]?i[1]:i[2],t=t.substr(e.length),e}function n(e,t){return!p[t.localName]||p[t.localName]===e.localName}function r(t,i){var n=d[t];if(!n)return null;var r=e.document.createElement(n),a=f[t];return a&&i&&(r[a]=i.trim()),r}for(var a,o,u=e.document.createElement("div"),l=u,m=[];null!==(a=i());)if("<"!==a[0])l.appendChild(e.document.createTextNode((o=a,h.innerHTML=o,o=h.textContent,h.textContent="",o)));else{if("/"===a[1]){m.length&&m[m.length-1]===a.substr(2).replace(">","")&&(m.pop(),l=l.parentNode);continue}var _,g=s(a.substr(1,a.length-2));if(g){_=e.document.createProcessingInstruction("timestamp",g),l.appendChild(_);continue}var v=a.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!v)continue;if(!(_=r(v[1],v[3])))continue;if(!n(l,_))continue;if(v[2]){var y=v[2].split(".");y.forEach((function(e){var t=/^bg_/.test(e),i=t?e.slice(3):e;if(c.hasOwnProperty(i)){var n=t?"background-color":"color",r=c[i];_.style[n]=r}})),_.className=y.join(" ")}m.push(v[1]),l.appendChild(_),l=_}return u}var _=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function g(e){for(var t=0;t<_.length;t++){var i=_[t];if(e>=i[0]&&e<=i[1])return!0}return!1}function v(e){var t=[],i="";if(!e||!e.childNodes)return"ltr";function n(e,t){for(var i=t.childNodes.length-1;i>=0;i--)e.push(t.childNodes[i])}function r(e){if(!e||!e.length)return null;var t=e.pop(),i=t.textContent||t.innerText;if(i){var a=i.match(/^.*(\n|\r)/);return a?(e.length=0,a[0]):i}return"ruby"===t.tagName?r(e):t.childNodes?(n(e,t),r(e)):void 0}for(n(t,e);i=r(t);)for(var a=0;a=0&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,i=t.textTrackList,n=0,r=0;rd&&(h=h<0?-1:1,h*=Math.ceil(d/l)*l),s<0&&(h+=""===a.vertical?i.height:i.width,o=o.reverse()),r.move(c,h)}else{var f=r.lineHeight/i.height*100;switch(a.lineAlign){case"center":s-=f/2;break;case"end":s-=f}switch(a.vertical){case"":t.applyStyles({top:t.formatStyle(s,"%")});break;case"rl":t.applyStyles({left:t.formatStyle(s,"%")});break;case"lr":t.applyStyles({right:t.formatStyle(s,"%")})}o=["+y","-x","+x","-y"],r=new S(t)}var p=function(e,t){for(var r,a=new S(e),s=1,o=0;ou&&(r=new S(e),s=u),e=new S(a)}return r||a}(r,o);t.move(p.toCSSCompatValues(i))}function E(){}y.prototype.applyStyles=function(e,t){for(var i in t=t||this.div,e)e.hasOwnProperty(i)&&(t.style[i]=e[i])},y.prototype.formatStyle=function(e,t){return 0===e?0:e+t},b.prototype=r(y.prototype),b.prototype.constructor=b,S.prototype.move=function(e,t){switch(t=void 0!==t?t:this.lineHeight,e){case"+x":this.left+=t,this.right+=t;break;case"-x":this.left-=t,this.right-=t;break;case"+y":this.top+=t,this.bottom+=t;break;case"-y":this.top-=t,this.bottom-=t}},S.prototype.overlaps=function(e){return this.lefte.left&&this.tope.top},S.prototype.overlapsAny=function(e){for(var t=0;t=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},S.prototype.overlapsOppositeAxis=function(e,t){switch(t){case"+x":return this.lefte.right;case"+y":return this.tope.bottom}},S.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},S.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},S.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,i=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,n=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return{left:(e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e).left,right:e.right,top:e.top||n,height:e.height||t,bottom:e.bottom||n+(e.height||t),width:e.width||i}},E.StringDecoder=function(){return{decode:function(e){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}},E.convertCueToDOMTree=function(e,t){return e&&t?m(e,t):null};E.processCues=function(e,t,i){if(!e||!t||!i)return null;for(;i.firstChild;)i.removeChild(i.firstChild);var n=e.document.createElement("div");if(n.style.position="absolute",n.style.left="0",n.style.right="0",n.style.top="0",n.style.bottom="0",n.style.margin="1.5%",i.appendChild(n),function(e){for(var t=0;t100)throw new Error("Position must be between 0 and 100.");m=e,this.hasBeenReset=!0}},positionAlign:{enumerable:!0,get:function(){return _},set:function(e){var t=a(e);t&&(_=t,this.hasBeenReset=!0)}},size:{enumerable:!0,get:function(){return g},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");g=e,this.hasBeenReset=!0}},align:{enumerable:!0,get:function(){return v},set:function(e){var t=a(e);if(!t)throw new SyntaxError("align: an invalid or illegal alignment string was specified.");v=t,this.hasBeenReset=!0}}}),this.displayState=void 0}s.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)},t.exports=s},{}],51:[function(e,t,i){var n={"":!0,up:!0};function r(e){return"number"==typeof e&&e>=0&&e<=100}t.exports=function(){var e=100,t=3,i=0,a=100,s=0,o=100,u="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return e},set:function(t){if(!r(t))throw new Error("Width must be between 0 and 100.");e=t}},lines:{enumerable:!0,get:function(){return t},set:function(e){if("number"!=typeof e)throw new TypeError("Lines must be set to a number.");t=e}},regionAnchorY:{enumerable:!0,get:function(){return a},set:function(e){if(!r(e))throw new Error("RegionAnchorX must be between 0 and 100.");a=e}},regionAnchorX:{enumerable:!0,get:function(){return i},set:function(e){if(!r(e))throw new Error("RegionAnchorY must be between 0 and 100.");i=e}},viewportAnchorY:{enumerable:!0,get:function(){return o},set:function(e){if(!r(e))throw new Error("ViewportAnchorY must be between 0 and 100.");o=e}},viewportAnchorX:{enumerable:!0,get:function(){return s},set:function(e){if(!r(e))throw new Error("ViewportAnchorX must be between 0 and 100.");s=e}},scroll:{enumerable:!0,get:function(){return u},set:function(e){var t=function(e){return"string"==typeof e&&(!!n[e.toLowerCase()]&&e.toLowerCase())}(e);!1===t||(u=t)}}})}},{}],52:[function(e,t,i){"use strict";t.exports={H265WEBJS_COMPILE_MULTI_THREAD_SHAREDBUFFER:0,DEFAULT_PLAYERE_LOAD_TIMEOUT:20,DEFAILT_WEBGL_PLAY_ID:"glplayer",PLAYER_IN_TYPE_MP4:"mp4",PLAYER_IN_TYPE_FLV:"flv",PLAYER_IN_TYPE_HTTPFLV:"httpflv",PLAYER_IN_TYPE_RAW_265:"raw265",PLAYER_IN_TYPE_TS:"ts",PLAYER_IN_TYPE_MPEGTS:"mpegts",PLAYER_IN_TYPE_M3U8:"hls",PLAYER_IN_TYPE_M3U8_VOD:"m3u8",PLAYER_IN_TYPE_M3U8_LIVE:"hls",APPEND_TYPE_STREAM:0,APPEND_TYPE_FRAME:1,APPEND_TYPE_SEQUENCE:2,DEFAULT_WIDTH:600,DEFAULT_HEIGHT:600,DEFAULT_FPS:30,DEFAULT_FRAME_DUR:40,DEFAULT_FIXED:!1,DEFAULT_SAMPLERATE:44100,DEFAULT_CHANNELS:2,DEFAULT_CONSU_SAMPLE_LEN:20,PLAYER_MODE_VOD:"vod",PLAYER_MODE_NOTIME_LIVE:"live",AUDIO_MODE_ONCE:"ONCE",AUDIO_MODE_SWAP:"SWAP",DEFAULT_STRING_LIVE:"LIVE",CODEC_H265:0,CODEC_H264:1,PLAYER_CORE_TYPE_DEFAULT:0,PLAYER_CORE_TYPE_CNATIVE:1,PLAYER_CNATIVE_VOD_RETRY_MAX:7,URI_PROTOCOL_WEBSOCKET:"ws",URI_PROTOCOL_WEBSOCKET_DESC:"websocket",URI_PROTOCOL_HTTP:"http",URI_PROTOCOL_HTTP_DESC:"http",FETCH_FIRST_MAX_TIMES:5,FETCH_HTTP_FLV_TIMEOUT_MS:7e3,V_CODEC_NAME_HEVC:265,V_CODEC_NAME_AVC:264,V_CODEC_NAME_UNKN:500,A_CODEC_NAME_AAC:112,A_CODEC_NAME_MP3:113,A_CODEC_NAME_UNKN:500,CACHE_NO_LOADCACHE:1001,CACHE_WITH_PLAY_SIGN:1002,CACHE_WITH_NOPLAY_SIGN:1003,V_CODEC_AVC_DEFAULT_FPS:25}},{}],53:[function(e,t,i){"use strict";var n=window.AudioContext||window.webkitAudioContext,r=e("../consts"),a=e("./av-common");t.exports=function(){var e={options:{sampleRate:r.DEFAULT_SAMPLERATE,appendType:r.APPEND_TYPE_FRAME,playMode:r.AUDIO_MODE_SWAP},sourceChannel:-1,audioCtx:new n({latencyHint:"interactive",sampleRate:r.DEFAULT_SAMPLERATE}),gainNode:null,sourceList:[],startStatus:!1,sampleQueue:[],nextBuffer:null,playTimestamp:0,playStartTime:0,durationMs:-1,isLIVE:!1,voice:1,onLoadCache:null,resetStartParam:function(){e.playTimestamp=0,e.playStartTime=0},setOnLoadCache:function(t){e.onLoadCache=t},setDurationMs:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;e.durationMs=t},setVoice:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;e.voice=t,e.gainNode.gain.value=t},getAlignVPTS:function(){return e.playTimestamp+(a.GetMsTime()-e.playStartTime)/1e3},swapSource:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(0==e.startStatus)return null;if(t<0||t>=e.sourceList.length)return null;if(i<0||i>=e.sourceList.length)return null;try{e.sourceChannel===t&&null!==e.sourceList[t]&&(e.sourceList[t].disconnect(e.gainNode),e.sourceList[t]=null)}catch(e){console.error("[DEFINE ERROR] audioPcmModule disconnect source Index:"+t+" error happened!",e)}e.sourceChannel=i;var n=e.decodeSample(i,t);-2==n&&e.isLIVE&&(e.getAlignVPTS()>=e.durationMs/1e3-.04?e.pause():null!==e.onLoadCache&&e.onLoadCache())},addSample:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return!(null==t||!t||null==t)&&(0==e.sampleQueue.length&&(e.seekPos=t.pts),e.sampleQueue.push(t),e.sampleQueue.length,!0)},runNextBuffer:function(){window.setInterval((function(){if(!(null!=e.nextBuffer||e.sampleQueue.length0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(t<0||t>=e.sourceList.length)return-1;if(null!=e.sourceList[t]&&null!=e.sourceList[t]&&e.sourceList[t]||(e.sourceList[t]=e.audioCtx.createBufferSource(),e.sourceList[t].onended=function(){e.swapSource(t,i)}),0==e.sampleQueue.length)return e.isLIVE?(e.sourceList[t].connect(e.gainNode),e.sourceList[t].start(),e.sourceList[t].onended=function(){e.swapSource(t,i)},e.sourceList[t].stop(),0):-2;if(e.sourceList[t].buffer)return e.swapSource(t,i),0;if(null==e.nextBuffer||e.nextBuffer.data.length<1)return e.sourceList[t].connect(e.gainNode),e.sourceList[t].start(),e.sourceList[t].startState=!0,e.sourceList[t].stop(),1;var n=e.nextBuffer.data;e.playTimestamp=e.nextBuffer.pts,e.playStartTime=a.GetMsTime(),e.nextBuffer.data,e.playTimestamp;try{var r=e.audioCtx.createBuffer(1,n.length,e.options.sampleRate);r.copyToChannel(n,0),null!==e.sourceList[t]&&(e.sourceList[t].buffer=r,e.sourceList[t].connect(e.gainNode),e.sourceList[t].start(),e.sourceList[t].startState=!0)}catch(t){return e.nextBuffer=null,-3}return e.nextBuffer=null,0},decodeWholeSamples:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(e.sourceChannel=t,t<0||t>=e.sourceList.length)return-1;if(null!=e.sourceList[t]&&null!=e.sourceList[t]&&e.sourceList[t]||(e.sourceList[t]=e.audioCtx.createBufferSource(),e.sourceList[t].onended=function(){}),0==e.sampleQueue.length)return-2;for(var i=null,n=null,a=0;a0&&void 0!==arguments[0]?arguments[0]:-1;t.durationMs=e},setVoice:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;t.voice=e,t.gainNode.gain.value=e},getAlignVPTS:function(){return t.playTimestamp+(a.GetMsTime()-t.playStartTime)/1e3},swapSource:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(0==t.startStatus)return null;if(e<0||e>=t.sourceList.length)return null;if(i<0||i>=t.sourceList.length)return null;try{t.sourceChannel===e&&null!==t.sourceList[e]&&(t.sourceList[e].disconnect(t.gainNode),t.sourceList[e]=null)}catch(t){console.error("[DEFINE ERROR] audioModule disconnect source Index:"+e+" error happened!",t)}t.sourceChannel=i;var n=t.decodeSample(i,e);-2==n&&t.isLIVE&&(t.getAlignVPTS()>=t.durationMs/1e3-.04?t.pause():null!==t.onLoadCache&&t.onLoadCache())},addSample:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return!(null==e||!e||null==e)&&(0==t.sampleQueue.length&&(t.seekPos=e.pts),t.sampleQueue.push(e),!0)},runNextBuffer:function(){window.setInterval((function(){if(!(null!=t.nextBuffer||t.sampleQueue.length0&&void 0!==arguments[0]?arguments[0]:-1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(e<0||e>=t.sourceList.length)return-1;if(null!=t.sourceList[e]&&null!=t.sourceList[e]&&t.sourceList[e]||(t.sourceList[e]=t.audioCtx.createBufferSource(),t.sourceList[e].onended=function(){t.swapSource(e,i)}),0==t.sampleQueue.length)return t.isLIVE?(t.sourceList[e].connect(t.gainNode),t.sourceList[e].start(),t.sourceList[e].onended=function(){t.swapSource(e,i)},t.sourceList[e].stop(),0):-2;if(t.sourceList[e].buffer)return t.swapSource(e,i),0;if(null==t.nextBuffer||t.nextBuffer.data.length<1)return t.sourceList[e].connect(t.gainNode),t.sourceList[e].start(),t.sourceList[e].startState=!0,t.sourceList[e].stop(),1;var n=t.nextBuffer.data.buffer;t.playTimestamp=t.nextBuffer.pts,t.playStartTime=a.GetMsTime();try{t.audioCtx.decodeAudioData(n,(function(i){null!==t.sourceList[e]&&(t.sourceList[e].buffer=i,t.sourceList[e].connect(t.gainNode),t.sourceList[e].start(),t.sourceList[e].startState=!0)}),(function(e){}))}catch(e){return t.nextBuffer=null,-3}return t.nextBuffer=null,0},decodeWholeSamples:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(t.sourceChannel=e,e<0||e>=t.sourceList.length)return-1;if(null!=t.sourceList[e]&&null!=t.sourceList[e]&&t.sourceList[e]||(t.sourceList[e]=t.audioCtx.createBufferSource(),t.sourceList[e].onended=function(){}),0==t.sampleQueue.length)return-2;for(var i=null,n=null,a=0;a=2){var s=i.length/2;a=new Float32Array(s);for(var o=0,u=0;uthis._push_start_idx))return-1;this.playStartTime<0&&(this.playStartTime=a.GetMsTime(),this.playTimestamp=a.GetMsTime()),this._swapStartPlay=!1;var e=this._push_start_idx+this._once_pop_len;e>this._pcm_array_buf.length&&(e=this._pcm_array_buf.length);var t=this._pcm_array_buf.slice(this._push_start_idx,e);this._push_start_idx+=t.length,this._now_seg_dur=1*t.length/this._sample_rate*1e3,t.length,this._sample_rate,this._now_seg_dur;var i=this._ctx.createBuffer(1,t.length,this._sample_rate);return t.length,new Date,i.copyToChannel(t,0),this._active_node=this._ctx.createBufferSource(),this._active_node.buffer=i,this._active_node.connect(this._gain),this.playStartTime=a.GetMsTime(),this._active_node.start(0),this.playTimestamp+=this._now_seg_dur,0}},{key:"getAlignVPTS",value:function(){return this.playTimestamp}},{key:"pause",value:function(){null!==this._playInterval&&(window.clearInterval(this._playInterval),this._playInterval=null)}},{key:"play",value:function(){var e=this;this._playInterval=window.setInterval((function(){e.readingLoopWithF32()}),10)}}])&&n(t.prototype,i),s&&n(t,s),e}();i.AudioPcmPlayer=s},{"../consts":52,"./av-common":56}],56:[function(e,t,i){"use strict";var n=e("../consts"),r=[{format:"mp4",value:"mp4",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"mov",value:"mp4",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"mkv",value:"mp4",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"flv",value:"flv",core:n.PLAYER_CORE_TYPE_CNATIVE},{format:"m3u8",value:"hls",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"m3u",value:"hls",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"ts",value:"ts",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"ps",value:"ts",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"mpegts",value:"ts",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"hevc",value:"raw265",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"h265",value:"raw265",core:n.PLAYER_CORE_TYPE_DEFAULT},{format:"265",value:"raw265",core:n.PLAYER_CORE_TYPE_DEFAULT}],a=[{format:n.URI_PROTOCOL_HTTP,value:n.URI_PROTOCOL_HTTP_DESC},{format:n.URI_PROTOCOL_WEBSOCKET,value:n.URI_PROTOCOL_WEBSOCKET_DESC}];t.exports={frameDataAlignCrop:function(e,t,i,n,r,a,s,o){if(0==e-n)return[a,s,o];for(var u=n*r,l=u/4,h=new Uint8Array(u),d=new Uint8Array(l),c=new Uint8Array(l),f=n,p=n/2,m=0;m=0)return i.value}return r[0].value},GetFormatPlayCore:function(e){if(null!=e)for(var t=0;t=0)return i.value}return a[0].value},GetMsTime:function(){return(new Date).getTime()},GetScriptPath:function(e){var t=e.toString(),i=t.match(/^\s*function\s*\(\s*\)\s*\{(([\s\S](?!\}$))*[\s\S])/),n=[i[1]];return window.URL.createObjectURL(new Blob(n,{type:"text/javascript"}))},BrowserJudge:function(){var e=window.document,t=window.navigator.userAgent.toLowerCase(),i=e.documentMode,n=window.chrome||!1,r={agent:t,isIE:/msie/.test(t),isGecko:t.indexOf("gecko")>0&&t.indexOf("like gecko")<0,isWebkit:t.indexOf("webkit")>0,isStrict:"CSS1Compat"===e.compatMode,supportSubTitle:function(){return"track"in e.createElement("track")},supportScope:function(){return"scoped"in e.createElement("style")},ieVersion:function(){try{return t.match(/msie ([\d.]+)/)[1]||0}catch(e){return i}},operaVersion:function(){try{if(window.opera)return t.match(/opera.([\d.]+)/)[1];if(t.indexOf("opr")>0)return t.match(/opr\/([\d.]+)/)[1]}catch(e){return 0}},versionFilter:function(){if(1===arguments.length&&"string"==typeof arguments[0]){var e=arguments[0],t=e.indexOf(".");if(t>0){var i=e.indexOf(".",t+1);if(-1!==i)return e.substr(0,i)}return e}return 1===arguments.length?arguments[0]:0}};try{r.type=r.isIE?"IE":window.opera||t.indexOf("opr")>0?"Opera":t.indexOf("chrome")>0?"Chrome":t.indexOf("safari")>0||window.openDatabase?"Safari":t.indexOf("firefox")>0?"Firefox":"unknow",r.version="IE"===r.type?r.ieVersion():"Firefox"===r.type?t.match(/firefox\/([\d.]+)/)[1]:"Chrome"===r.type?t.match(/chrome\/([\d.]+)/)[1]:"Opera"===r.type?r.operaVersion():"Safari"===r.type?t.match(/version\/([\d.]+)/)[1]:"0",r.shell=function(){if(t.indexOf("maxthon")>0)return r.version=t.match(/maxthon\/([\d.]+)/)[1]||r.version,"傲游浏览器";if(t.indexOf("qqbrowser")>0)return r.version=t.match(/qqbrowser\/([\d.]+)/)[1]||r.version,"QQ浏览器";if(t.indexOf("se 2.x")>0)return"搜狗浏览器";if(n&&"Opera"!==r.type){var e=window.external,i=window.clientInformation.languages;if(e&&"LiebaoGetVersion"in e)return"猎豹浏览器";if(t.indexOf("bidubrowser")>0)return r.version=t.match(/bidubrowser\/([\d.]+)/)[1]||t.match(/chrome\/([\d.]+)/)[1],"百度浏览器";if(r.supportSubTitle()&&void 0===i){var a=Object.keys(n.webstore).length;window;return a>1?"360极速浏览器":"360安全浏览器"}return"Chrome"}return r.type},r.name=r.shell(),r.version=r.versionFilter(r.version)}catch(e){}return[r.type,r.version]},ParseGetMediaURL:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"http";if("http"!==t&&"ws"!==t&&"wss"!==t&&(e.indexOf("ws")>=0||e.indexOf("wss")>=0)&&(t="ws"),"ws"===t||"wss"===t)return e;var i=e;if(e.indexOf(t)>=0)i=e;else if("/"===e[0])i="/"===e[1]?t+":"+e:window.location.origin+e;else if(":"===e[0])i=t+e;else{var n=window.location.href.split("/");i=window.location.href.replace(n[n.length-1],e)}return i},IsSupport265Mse:function(){return MediaSource.isTypeSupported('video/mp4;codecs=hvc1.1.1.L63.B0"')}}},{"../consts":52}],57:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&a.GetMsTime()-t.getPackageTimeMS>=o.FETCH_HTTP_FLV_TIMEOUT_MS&&(t.getPackageTimeMS=a.GetMsTime(),t.workerFetch.postMessage({cmd:"retry",data:null,msg:"retry"}))}),5));break;case"fetch-chunk":var n=i.data;t.download_length+=n.length,setTimeout((function(){var e=Module._malloc(n.length);Module.HEAP8.set(n,e),Module.cwrap("pushSniffG711FlvData","number",["number","number","number","number"])(t.corePtr,e,n.length,t.config.probeSize),Module._free(e),e=null}),0),t.totalLen+=n.length,n.length>0&&(t.getPackageTimeMS=a.GetMsTime()),t.pushPkg++;break;case"close":t.AVGetInterval&&clearInterval(t.AVGetInterval),t.AVGetInterval=null;case"fetch-fin":break;case"fetch-error":t.onError&&t.onError(i.data)}}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.CanvasObj.offsetWidth!=h||this.CanvasObj.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.CanvasObj.style.marginTop=c+"px",this.CanvasObj.style.marginLeft=f+"px",this.CanvasObj.style.width=h+"px",this.CanvasObj.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_reinitAudioModule",value:function(){void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.audioWAudio=s()}},{key:"_callbackProbe",value:function(e,t,i,n,r,a,s,u,l){for(var h=Module.HEAPU8.subarray(l,l+10),d=0;d100&&(c=o.DEFAULT_FPS,this.mediaInfo.noFPS=!0),this.vCodecID=u,this.config.fps=c,this.mediaInfo.fps=c,this.mediaInfo.size.width=t,this.mediaInfo.size.height=i,this.frameTime=Math.floor(1e3/(this.mediaInfo.fps+2)),this.CanvasObj.width==t&&this.CanvasObj.height==i||(this.CanvasObj.width=t,this.CanvasObj.height=i,this.isCheckDisplay)||this._checkDisplaySize(t,t,i),r>=0&&!1===this.mediaInfo.noFPS?(this.config.sampleRate=a,this.mediaInfo.sampleRate=a,!1===this.muted&&this._reinitAudioModule(this.mediaInfo.sampleRate)):this.mediaInfo.audioNone=!0,this.onProbeFinish&&this.onProbeFinish()}},{key:"_callbackYUV",value:function(e,t,i,n,r,a,s,o,u,l){var h=this,d=Module.HEAPU8.subarray(e,e+n*o),c=new Uint8Array(d),f=Module.HEAPU8.subarray(t,t+r*o/2),p=new Uint8Array(f),m=Module.HEAPU8.subarray(i,i+a*o/2),_={bufY:c,bufU:p,bufV:new Uint8Array(m),line_y:n,h:o,pts:u};this.YuvBuf.push(_),this.checkCacheState(),Module._free(d),d=null,Module._free(f),f=null,Module._free(m),m=null,!1===this.readyShowDone&&!0===this.playYUV()&&(this.readyShowDone=!0,this.onReadyShowDone&&this.onReadyShowDone(),this.audioWAudio||!0!==this.config.autoPlay||(this.play(),setTimeout((function(){h.isPlayingState()}),3e3)))}},{key:"_callbackNALU",value:function(e,t,i,n,r,a,s){if(!1===this.readyKeyFrame){if(i<=0)return;this.readyKeyFrame=!0}var o=Module.HEAPU8.subarray(e,e+t),u=new Uint8Array(o);this.NaluBuf.push({bufData:u,len:t,isKey:i,w:n,h:r,pts:1e3*a,dts:1e3*s}),Module._free(o),o=null}},{key:"_callbackPCM",value:function(e,t,i,n){var r=Module.HEAPU8.subarray(e,e+t),a=new Uint8Array(r).buffer,s=this._ptsFixed2(i),o=null,u=a.byteLength%4;if(0!==u){var l=new Uint8Array(a.byteLength+u);l.set(new Uint8Array(a),0),o=new Float32Array(l.buffer)}else o=new Float32Array(a);var h={pts:s,data:o};this.audioWAudio.addSample(h),this.checkCacheState()}},{key:"_decode",value:function(){var e=this;setTimeout((function(){null!==e.workerFetch&&(Module.cwrap("decodeG711Frame","number",["number"])(e.corePtr),e._decode())}),1)}},{key:"setScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"checkCacheState",value:function(){var e=this.YuvBuf.length>=25&&(!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length>=50);return!1===this.cache_status&&e&&(this.playInterval&&this.audioWAudio&&this.audioWAudio.play(),this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.cache_status=!0),e}},{key:"setVoice",value:function(e){this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e)}},{key:"_removeBindFuncPtr",value:function(){null!==this._ptr_probeCallback&&Module.removeFunction(this._ptr_probeCallback),null!==this._ptr_frameCallback&&Module.removeFunction(this._ptr_frameCallback),null!==this._ptr_naluCallback&&Module.removeFunction(this._ptr_naluCallback),null!==this._ptr_sampleCallback&&Module.removeFunction(this._ptr_sampleCallback),null!==this._ptr_aacCallback&&Module.removeFunction(this._ptr_aacCallback),this._ptr_probeCallback=null,this._ptr_frameCallback=null,this._ptr_naluCallback=null,this._ptr_sampleCallback=null,this._ptr_aacCallback=null}},{key:"release",value:function(){return this.pause(),this.NaluBuf.length=0,this.YuvBuf.length=0,void 0!==this.workerFetch&&null!==this.workerFetch&&this.workerFetch.postMessage({cmd:"stop",data:"stop",msg:"stop"}),this.workerFetch=null,this.AVGetInterval&&clearInterval(this.AVGetInterval),this.AVGetInterval=null,this._removeBindFuncPtr(),void 0!==this.corePtr&&null!==this.corePtr&&Module.cwrap("releaseG711","number",["number"])(this.corePtr),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.audioWAudio&&this.audioWAudio.stop(),this.audioWAudio=null,void 0!==this.AVGLObj&&null!==this.AVGLObj&&(r.releaseContext(this.AVGLObj),this.AVGLObj=null),this.CanvasObj&&this.CanvasObj.remove(),this.CanvasObj=null,window.onclick=document.body.onclick=null,delete window.g_players[this.corePtr],0}},{key:"isPlayingState",value:function(){return null!==this.playInterval&&void 0!==this.playInterval}},{key:"pause",value:function(){this.audioWAudio&&this.audioWAudio.pause(),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"playYUV",value:function(){if(this.YuvBuf.length>0){var e=this.YuvBuf.shift();return e.pts,this.onRender&&this.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(this.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h),!0}return!1}},{key:"play",value:function(){var e=this;if(!1===this.checkCacheState())return this.onLoadCache&&this.onLoadCache(),setTimeout((function(){e.play()}),100),!1;var t=1*e.frameTime;if(void 0===this.playInterval||null===this.playInterval){var i=0,n=0,s=0;!1===this.mediaInfo.audioNone&&this.audioWAudio&&!1===this.mediaInfo.noFPS?(this.playInterval=setInterval((function(){if(n=a.GetMsTime(),e.cache_status){if(n-i>=e.frameTime-s){var o=e.YuvBuf.shift();if(null!=o&&null!==o){o.pts;var u=0;null!==e.audioWAudio&&void 0!==e.audioWAudio?(u=1e3*(o.pts-e.audioWAudio.getAlignVPTS()),s=u<0&&-1*u<=t||u>0&&u<=t||0===u||u>0&&u>t?a.GetMsTime()-n+1:e.frameTime):s=a.GetMsTime()-n+1,e.showScreen&&e.onRender&&e.onRender(o.line_y,o.h,o.bufY,o.bufU,o.bufV),o.pts,r.renderFrame(e.AVGLObj,o.bufY,o.bufU,o.bufV,o.line_y,o.h)}e.YuvBuf.length<=0&&(e.cache_status=!1,e.onLoadCache&&e.onLoadCache(),e.audioWAudio&&e.audioWAudio.pause()),i=n}}else s=e.frameTime}),1),this.audioWAudio&&this.audioWAudio.play()):this.playInterval=setInterval((function(){var t=e.YuvBuf.shift();null!=t&&null!==t&&(t.pts,e.showScreen&&e.onRender&&e.onRender(t.line_y,t.h,t.bufY,t.bufU,t.bufV),r.renderFrame(e.AVGLObj,t.bufY,t.bufU,t.bufV,t.line_y,t.h)),e.YuvBuf.length<=0&&(e.cache_status=!1)}),e.frameTime)}this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"start",value:function(e){var t=this;this.workerFetch=new Worker(a.GetScriptPath((function(){var e=null,t=new AbortController,i=t.signal,n=(self,function(e){var t=!1;t||(t=!0,fetch(e,{signal:i}).then((function(e){return function e(t){return t.read().then((function(i){if(!i.done){var n=i.value;return self.postMessage({cmd:"fetch-chunk",data:n,msg:"fetch-chunk"}),e(t)}self.postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}))}(e.body.getReader())})).catch((function(e){if(!e.toString().includes("user aborted")){var t=" httplive request error:"+e+" start to retry";console.error(t),self.postMessage({cmd:"fetch-error",data:t,msg:"fetch-error"})}})))});self.onmessage=function(r){var a=r.data;switch(void 0===a.cmd||null===a.cmd?"":a.cmd){case"start":e=a.data,n(e),self.postMessage({cmd:"startok",data:"WORKER STARTED",msg:"startok"});break;case"stop":t.abort(),self.close(),self.postMessage({cmd:"close",data:"close",msg:"close"});break;case"retry":t.abort(),t=null,i=null,t=new AbortController,i=t.signal,setTimeout((function(){n(e)}),3e3)}}}))),this.workerFetch.onmessage=function(e){t._workerFetch_onmessage(e,t)},this.workerFetch,this._ptr_probeCallback=Module.addFunction(this._callbackProbe.bind(this)),this._ptr_yuvCallback=Module.addFunction(this._callbackYUV.bind(this)),this._ptr_sampleCallback=Module.addFunction(this._callbackPCM.bind(this)),Module.cwrap("initializeSniffG711Module","number",["number","number","number","number","number","number"])(this.corePtr,this._ptr_probeCallback,this._ptr_yuvCallback,this._ptr_sampleCallback,0,1),this.AVGLObj=r.setupCanvas(this.CanvasObj,{preserveDrawingBuffer:!1}),this.workerFetch.postMessage({cmd:"start",data:e,msg:"start"}),0===o.H265WEBJS_COMPILE_MULTI_THREAD_SHAREDBUFFER&&this._decode()}}])&&n(t.prototype,i),u&&n(t,u),e}());i.CHttpG711Core=u},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-core-pcm":53,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],58:[function(e,t,i){"use strict";function n(e,t){for(var i=0;it.config.probeSize?(Module.cwrap("getSniffHttpFlvPkg","number",["number"])(t.corePtr),t.pushPkg-=1):t.getPackageTimeMS>0&&a.GetMsTime()-t.getPackageTimeMS>=o.FETCH_HTTP_FLV_TIMEOUT_MS&&(t.getPackageTimeMS=a.GetMsTime(),t.workerFetch.postMessage({cmd:"retry",data:null,msg:"retry"}))}),5));break;case"fetch-chunk":var n=i.data;t.download_length+=n.length,setTimeout((function(){var e=Module._malloc(n.length);Module.HEAP8.set(n,e),Module.cwrap("pushSniffHttpFlvData","number",["number","number","number","number"])(t.corePtr,e,n.length,t.config.probeSize),Module._free(e),e=null}),0),t.totalLen+=n.length,n.length>0&&(t.getPackageTimeMS=a.GetMsTime()),t.pushPkg++;break;case"close":t.AVGetInterval&&clearInterval(t.AVGetInterval),t.AVGetInterval=null;break;case"fetch-fin":break;case"fetch-error":t.onError&&t.onError(i.data)}}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.CanvasObj.offsetWidth!=h||this.CanvasObj.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.CanvasObj.style.marginTop=c+"px",this.CanvasObj.style.marginLeft=f+"px",this.CanvasObj.style.width=h+"px",this.CanvasObj.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_reinitAudioModule",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:44100;this.config.ignoreAudio>0||(void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.audioWAudio=s({sampleRate:e,appendType:o.APPEND_TYPE_FRAME}),this.audioWAudio.isLIVE=!0)}},{key:"_callbackProbe",value:function(e,t,i,n,r,a,s,u,l){var h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0;if(1!==h){for(var d=Module.HEAPU8.subarray(l,l+10),c=0;c100&&(f=o.DEFAULT_FPS,this.mediaInfo.noFPS=!0),this.vCodecID=u,this.config.fps=f,this.mediaInfo.fps=f,this.mediaInfo.size.width=t,this.mediaInfo.size.height=i,this.frameTime=Math.floor(1e3/(this.mediaInfo.fps+5)),this.chaseFrame=0,this.CanvasObj.width==t&&this.CanvasObj.height==i||(this.CanvasObj.width=t,this.CanvasObj.height=i,this.isCheckDisplay)||this._checkDisplaySize(t,t,i),r>=0&&!1===this.mediaInfo.noFPS?(this.config.sampleRate=a,this.mediaInfo.sampleRate=a,this.config.ignoreAudio<1&&!1===this.muted&&this._reinitAudioModule(this.mediaInfo.sampleRate)):this.mediaInfo.audioNone=!0,this.onProbeFinish&&this.onProbeFinish()}else this.onProbeFinish&&this.onProbeFinish(h)}},{key:"_callbackYUV",value:function(e,t,i,n,r,a,s,o,u,l){var h=this,d=Module.HEAPU8.subarray(e,e+n*o),c=new Uint8Array(d),f=Module.HEAPU8.subarray(t,t+r*o/2),p=new Uint8Array(f),m=Module.HEAPU8.subarray(i,i+a*o/2),_={bufY:c,bufU:p,bufV:new Uint8Array(m),line_y:n,h:o,pts:u};this.YuvBuf.push(_),this.YuvBuf.length,this.checkCacheState(),Module._free(d),d=null,Module._free(f),f=null,Module._free(m),m=null,!1===this.readyShowDone&&!0===this.playYUV()&&(this.readyShowDone=!0,this.onReadyShowDone&&this.onReadyShowDone(),this.audioWAudio||!0!==this.config.autoPlay||(this.play(),setTimeout((function(){h.isPlayingState()}),3e3)))}},{key:"_callbackNALU",value:function(e,t,i,n,r,a,s){if(!1===this.readyKeyFrame){if(i<=0)return;this.readyKeyFrame=!0}var o=Module.HEAPU8.subarray(e,e+t),u=new Uint8Array(o);this.NaluBuf.push({bufData:u,len:t,isKey:i,w:n,h:r,pts:1e3*a,dts:1e3*s}),Module._free(o),o=null}},{key:"_callbackPCM",value:function(e){this.config.ignoreAudio}},{key:"_callbackAAC",value:function(e,t,i,n){if(!(this.config.ignoreAudio>0)){var r=this._ptsFixed2(n);if(this.audioWAudio&&!1===this.muted){var a=Module.HEAPU8.subarray(e,e+t),s={pts:r,data:new Uint8Array(a)};this.audioWAudio.addSample(s),this.checkCacheState()}}}},{key:"_decode",value:function(){var e=this;setTimeout((function(){if(null!==e.workerFetch){var t=e.NaluBuf.shift();if(null!=t){var i=Module._malloc(t.bufData.length);Module.HEAP8.set(t.bufData,i),Module.cwrap("decodeHttpFlvVideoFrame","number",["number","number","number","number","number"])(e.corePtr,i,t.bufData.length,t.pts,t.dts,0),Module._free(i),i=null}e._decode()}}),1)}},{key:"setScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"checkCacheState",value:function(){this.YuvBuf.length,this.config.ignoreAudio>0||!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length;var e=this.YuvBuf.length>=25&&(!0===this.muted||this.config.ignoreAudio>0||!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length>=50);return!1===this.cache_status&&e&&(this.playInterval&&this.audioWAudio&&this.audioWAudio.play(),this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.cache_status=!0),e}},{key:"setVoice",value:function(e){this.config.ignoreAudio<1&&(this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e))}},{key:"_removeBindFuncPtr",value:function(){null!==this._ptr_probeCallback&&Module.removeFunction(this._ptr_probeCallback),null!==this._ptr_frameCallback&&Module.removeFunction(this._ptr_frameCallback),null!==this._ptr_naluCallback&&Module.removeFunction(this._ptr_naluCallback),null!==this._ptr_sampleCallback&&Module.removeFunction(this._ptr_sampleCallback),null!==this._ptr_aacCallback&&Module.removeFunction(this._ptr_aacCallback),this._ptr_probeCallback=null,this._ptr_frameCallback=null,this._ptr_naluCallback=null,this._ptr_sampleCallback=null,this._ptr_aacCallback=null}},{key:"release",value:function(){return this.pause(),this.NaluBuf.length=0,this.YuvBuf.length=0,void 0!==this.workerFetch&&null!==this.workerFetch&&this.workerFetch.postMessage({cmd:"stop",data:"stop",msg:"stop"}),this.workerFetch=null,this.AVGetInterval&&clearInterval(this.AVGetInterval),this.AVGetInterval=null,this._removeBindFuncPtr(),void 0!==this.corePtr&&null!==this.corePtr&&Module.cwrap("releaseHttpFLV","number",["number"])(this.corePtr),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.audioWAudio&&this.audioWAudio.stop(),this.audioWAudio=null,void 0!==this.AVGLObj&&null!==this.AVGLObj&&(r.releaseContext(this.AVGLObj),this.AVGLObj=null),this.CanvasObj&&this.CanvasObj.remove(),this.CanvasObj=null,window.onclick=document.body.onclick=null,delete window.g_players[this.corePtr],0}},{key:"isPlayingState",value:function(){return null!==this.playInterval&&void 0!==this.playInterval}},{key:"pause",value:function(){this.config.ignoreAudio,this.audioWAudio,this.config.ignoreAudio<1&&this.audioWAudio&&this.audioWAudio.pause(),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.chaseFrame=0,this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"playYUV",value:function(){if(this.YuvBuf.length>0){var e=this.YuvBuf.shift();return this.onRender&&this.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(this.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h),!0}return!1}},{key:"play",value:function(){var e=this,t=this;if(this.chaseFrame=0,!1===this.checkCacheState())return this.onLoadCache&&this.onLoadCache(),setTimeout((function(){e.play()}),100),!1;var i=1*t.frameTime;if(void 0===this.playInterval||null===this.playInterval){var n=0,s=0,o=0;if(this.config.ignoreAudio<1&&!1===this.mediaInfo.audioNone&&null!=this.audioWAudio&&!1===this.mediaInfo.noFPS)this.config.ignoreAudio,this.mediaInfo.audioNone,this.audioWAudio,this.mediaInfo.noFPS,this.playInterval=setInterval((function(){if(s=a.GetMsTime(),t.cache_status){if(s-n>=t.frameTime-o){var e=t.YuvBuf.shift();if(e.pts,t.YuvBuf.length,null!=e&&null!==e){var u=0;null!==t.audioWAudio&&void 0!==t.audioWAudio?(u=1e3*(e.pts-t.audioWAudio.getAlignVPTS()),o=u<0&&-1*u<=i||u>0&&u<=i||0===u||u>0&&u>i?a.GetMsTime()-s+1:t.frameTime):o=a.GetMsTime()-s+1,t.showScreen&&t.onRender&&t.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),e.pts,r.renderFrame(t.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h)}(t.YuvBuf.length<=0||t.audioWAudio&&t.audioWAudio.sampleQueue.length<=0)&&(t.cache_status=!1,t.onLoadCache&&t.onLoadCache(),t.audioWAudio&&t.audioWAudio.pause()),n=s}}else o=t.frameTime}),1),this.audioWAudio&&this.audioWAudio.play();else{var u=-1;this.playInterval=setInterval((function(){if(s=a.GetMsTime(),t.cache_status){t.YuvBuf.length,t.frameTime,t.frameTime,t.chaseFrame;var e=-1;if(u>0&&(e=s-n,t.frameTime,t.chaseFrame<=0&&o>0&&(t.chaseFrame=Math.floor(o/t.frameTime),t.chaseFrame)),u<=0||e>=t.frameTime||t.chaseFrame>0){u=1;var i=t.YuvBuf.shift();i.pts,t.YuvBuf.length,null!=i&&null!==i&&(t.showScreen&&t.onRender&&t.onRender(i.line_y,i.h,i.bufY,i.bufU,i.bufV),i.pts,r.renderFrame(t.AVGLObj,i.bufY,i.bufU,i.bufV,i.line_y,i.h),o=a.GetMsTime()-s+1),t.YuvBuf.length<=0&&(t.cache_status=!1,t.onLoadCache&&t.onLoadCache()),n=s,t.chaseFrame>0&&(t.chaseFrame--,0===t.chaseFrame&&(o=t.frameTime))}}else o=t.frameTime,u=-1,t.chaseFrame=0,n=0,s=0,o=0}),1)}}this.onPlayState&&this.onPlayState(this.isPlayingState())}},{key:"start",value:function(e){var t=this;this.workerFetch=new Worker(a.GetScriptPath((function(){var e=null,t=new AbortController,i=t.signal,n=(self,function(e){var t=!1;t||(t=!0,fetch(e,{signal:i}).then((function(e){return function e(t){return t.read().then((function(i){if(!i.done){var n=i.value;return self.postMessage({cmd:"fetch-chunk",data:n,msg:"fetch-chunk"}),e(t)}self.postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}))}(e.body.getReader())})).catch((function(e){if(!e.toString().includes("user aborted")){var t=" httplive request error:"+e+" start to retry";console.error(t),self.postMessage({cmd:"fetch-error",data:t,msg:"fetch-error"})}})))});self.onmessage=function(r){var a=r.data;switch(void 0===a.cmd||null===a.cmd?"":a.cmd){case"start":e=a.data,n(e),self.postMessage({cmd:"startok",data:"WORKER STARTED",msg:"startok"});break;case"stop":t.abort(),self.close(),self.postMessage({cmd:"close",data:"close",msg:"close"});break;case"retry":t.abort(),t=null,i=null,t=new AbortController,i=t.signal,setTimeout((function(){n(e)}),3e3)}}}))),this.workerFetch.onmessage=function(e){t._workerFetch_onmessage(e,t)},this.workerFetch,this._ptr_probeCallback=Module.addFunction(this._callbackProbe.bind(this)),this._ptr_yuvCallback=Module.addFunction(this._callbackYUV.bind(this)),this._ptr_naluCallback=Module.addFunction(this._callbackNALU.bind(this)),this._ptr_sampleCallback=Module.addFunction(this._callbackPCM.bind(this)),this._ptr_aacCallback=Module.addFunction(this._callbackAAC.bind(this)),Module.cwrap("initializeSniffHttpFlvModule","number",["number","number","number","number","number","number","number"])(this.corePtr,this._ptr_probeCallback,this._ptr_yuvCallback,this._ptr_naluCallback,this._ptr_sampleCallback,this._ptr_aacCallback,this.config.ignoreAudio),this.AVGLObj=r.setupCanvas(this.CanvasObj,{preserveDrawingBuffer:!1}),this.workerFetch.postMessage({cmd:"start",data:e,msg:"start"}),this._decode()}}])&&n(t.prototype,i),u&&n(t,u),e}());i.CHttpLiveCore=u},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],59:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"getCachePTS",value:function(){return 1!==this.config.ignoreAudio&&this.audioWAudio?Math.max(this.vCachePTS,this.aCachePTS):this.vCachePTS}},{key:"getMaxPTS",value:function(){return Math.max(this.vCachePTS,this.aCachePTS)}},{key:"isPlayingState",value:function(){return this.isPlaying}},{key:"_clearDecInterval",value:function(){this.decVFrameInterval&&window.clearInterval(this.decVFrameInterval),this.decVFrameInterval=null}},{key:"_checkPlayFinished",value:function(){return!(this.config.playMode!==h.PLAYER_MODE_VOD||!(!0===this.bufRecvStat&&(this.playPTS>=this.bufLastVDTS||this.audioWAudio&&this.playPTS>=this.bufLastADTS)||this.duration-this.playPTS0&&n-i>=t.frameTime-r){var e=t._videoQueue.shift();e.pts,o.renderFrame(t.yuv,e.data_y,e.data_u,e.data_v,e.line1,e.height),(r=u.GetMsTime()-n)>=t.frameTime&&(r=t.frameTime),i=n}}),2):this.playFrameInterval=window.setInterval((function(){if(n=u.GetMsTime(),e._videoQueue.length>0&&n-i>=e.frameTime-r){var t=e._videoQueue.shift(),s=0;if(e.isNewSeek||null===e.audioWAudio||void 0===e.audioWAudio||(s=1e3*(t.pts-e.audioWAudio.getAlignVPTS()),e.playPTS=Math.max(e.audioWAudio.getAlignVPTS(),e.playPTS)),i=n,e.playPTS=Math.max(t.pts,e.playPTS),e.isNewSeek&&e.seekTarget-e.frameDur>t.pts)return void(r=e.frameTime);if(e.isNewSeek&&(e.audioWAudio&&e.audioWAudio.setVoice(e.audioVoice),e.audioWAudio&&e.audioWAudio.play(),r=0,e.isNewSeek=!1,e.seekTarget=0),e.showScreen&&e.onRender&&e.onRender(t.line1,t.height,t.data_y,t.data_u,t.data_v),o.renderFrame(e.yuv,t.data_y,t.data_u,t.data_v,t.line1,t.height),e.onPlayingTime&&e.onPlayingTime(t.pts),!e.isNewSeek&&e.audioWAudio&&(s<0&&-1*s<=a||s>=0)){if(e.config.playMode===h.PLAYER_MODE_VOD)if(t.pts>=e.duration)e.onLoadCacheFinshed&&e.onLoadCacheFinshed(),e.onPlayingFinish&&e.onPlayingFinish(),e._clearDecInterval(),e.pause();else if(e._checkPlayFinished())return;r=u.GetMsTime()-n}else!e.isNewSeek&&e.audioWAudio&&(r=e.frameTime)}e._checkPlayFinished()}),1)}this.isNewSeek||this.audioWAudio&&this.audioWAudio.play()}},{key:"pause",value:function(){this.isPlaying=!1,this._pause(),this.isCacheV===h.CACHE_WITH_PLAY_SIGN&&(this.isCacheV=h.CACHE_WITH_NOPLAY_SIGN)}},{key:"_pause",value:function(){this.playFrameInterval&&window.clearInterval(this.playFrameInterval),this.playFrameInterval=null,this.audioWAudio&&this.audioWAudio.pause()}},{key:"seek",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.openFrameCall=!1,this.pause(),this._clearDecInterval(),null!==this.avFeedVideoInterval&&(window.clearInterval(this.avFeedVideoInterval),this.avFeedVideoInterval=null),null!==this.avFeedAudioInterval&&(window.clearInterval(this.avFeedAudioInterval),this.avFeedAudioInterval=null),this.yuvMaxTime=0,this.playVPipe.length=0,this._videoQueue.length=0,this.audioWAudio&&this.audioWAudio.stop(),e&&e(),this.isNewSeek=!0,this.avSeekVState=!0,this.seekTarget=i.seekTime,null!==this.audioWAudio&&void 0!==this.audioWAudio&&(this.audioWAudio.setVoice(0),this.audioWAudio.resetStartParam(),this.audioWAudio.stop()),this._avFeedData(i.seekTime),setTimeout((function(){t.yuvMaxTime=0,t._videoQueue.length=0,t.openFrameCall=!0,t.frameCallTag+=1,t._decVFrameIntervalFunc()}),1e3)}},{key:"setVoice",value:function(e){this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e)}},{key:"cacheIsFull",value:function(){return this._videoQueue.length>=this._VIDEO_CACHE_LEN}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.canvas.offsetWidth!=h||this.canvas.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.canvas.style.marginTop=c+"px",this.canvas.style.marginLeft=f+"px",this.canvas.style.width=h+"px",this.canvas.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_createYUVCanvas",value:function(){this.canvasBox=document.querySelector("#"+this.config.playerId),this.canvasBox.style.overflow="hidden",this.canvas=document.createElement("canvas"),this.canvas.style.width=this.canvasBox.clientWidth+"px",this.canvas.style.height=this.canvasBox.clientHeight+"px",this.canvas.style.top="0px",this.canvas.style.left="0px",this.canvasBox.appendChild(this.canvas),this.yuv=o.setupCanvas(this.canvas,{preserveDrawingBuffer:!1})}},{key:"_avRecvPackets",value:function(){var e=this;this.bufObject.cleanPipeline(),null!==this.avRecvInterval&&(window.clearInterval(this.avRecvInterval),this.avRecvInterval=null),!0===this.config.checkProbe?this.avRecvInterval=window.setInterval((function(){Module.cwrap("getSniffStreamPkg","number",["number"])(e.corePtr),e._avCheckRecvFinish()}),5):this.avRecvInterval=window.setInterval((function(){Module.cwrap("getSniffStreamPkgNoCheckProbe","number",["number"])(e.corePtr),e._avCheckRecvFinish()}),5),this._avFeedData(0,!1)}},{key:"_avCheckRecvFinish",value:function(){this.config.playMode===h.PLAYER_MODE_VOD&&this.duration-this.getMaxPTS()=t._VIDEO_CACHE_LEN&&(t.onSeekFinish&&t.onSeekFinish(),t.onPlayingTime&&t.onPlayingTime(e),t.play(),window.clearInterval(i),i=null)}),10);return!0}},{key:"_afterAvFeedSeekToStartWithUnFinBuffer",value:function(e){var t=this,i=this,n=window.setInterval((function(){t._videoQueue.length,i._videoQueue.length>=i._VIDEO_CACHE_LEN&&(i.onSeekFinish&&i.onSeekFinish(),i.onPlayingTime&&i.onPlayingTime(e),!1===i.reFull?i.play():i.reFull=!1,window.clearInterval(n),n=null)}),10);return!0}},{key:"_avFeedData",value:function(e){var t=this;if(this.playVPipe.length=0,this.audioWAudio&&this.audioWAudio.cleanQueue(),e<=0&&!1===this.bufOK){var i=0;if(t.avFeedVideoInterval=window.setInterval((function(){var n=t.bufObject.videoBuffer.length;if(n-1>i||t.duration>0&&t.duration-t.getMaxPTS()0){for(var s=0;s0&&t.playVPipe[t.playVPipe.length-1].pts>=t.bufLastVDTS&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null,t.playVPipe[t.playVPipe.length-1].pts,t.bufLastVDTS,t.bufObject.videoBuffer,t.playVPipe)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.playVPipe.length>0&&t.playVPipe[t.playVPipe.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null,t.playVPipe[t.playVPipe.length-1].pts,t.duration,t.bufObject.videoBuffer,t.playVPipe);t.avSeekVState&&(t.getMaxPTS(),t.duration,t.config.playMode===h.PLAYER_MODE_VOD&&(t._afterAvFeedSeekToStartWithFinishedBuffer(e),t.avSeekVState=!1))}),5),void 0!==t.audioWAudio&&null!==t.audioWAudio&&t.config.ignoreAudio<1){var n=0;t.avFeedAudioInterval=window.setInterval((function(){var e=t.bufObject.audioBuffer.length;if(e-1>n||t.duration-t.getMaxPTS()0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.bufLastADTS&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null,t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts,t.bufObject.audioBuffer)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.audioWAudio.sampleQueue.length>0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null,t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts,t.bufObject.audioBuffer)}),5)}}else{var r=this.bufObject.seekIDR(e),s=parseInt(r,10);this.playPTS=0;var o=s;if(this.avFeedVideoInterval=window.setInterval((function(){var i=t.bufObject.videoBuffer.length;if(i-1>o||t.duration-t.getMaxPTS()0){for(var r=0;r0&&t.playVPipe[t.playVPipe.length-1].pts>=t.bufLastVDTS&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.playVPipe.length>0&&t.playVPipe[t.playVPipe.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedVideoInterval),t.avFeedVideoInterval=null);t.avSeekVState&&(t.getMaxPTS(),t.duration,t.config.playMode===h.PLAYER_MODE_VOD&&(t._afterAvFeedSeekToStartWithUnFinBuffer(e),t.avSeekVState=!1))}),5),this.audioWAudio&&this.config.ignoreAudio<1){var u=parseInt(e,10);this.avFeedAudioInterval=window.setInterval((function(){var e=t.bufObject.audioBuffer.length;if(e-1>u||t.duration-t.getMaxPTS()0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.bufLastADTS&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null)}else t.config.playMode===h.PLAYER_MODE_VOD&&t.audioWAudio.sampleQueue.length>0&&t.audioWAudio.sampleQueue[t.audioWAudio.sampleQueue.length-1].pts>=t.duration&&(window.clearInterval(t.avFeedAudioInterval),t.avFeedAudioInterval=null)}),5)}}}},{key:"_probeFinCallback",value:function(e,t,i,n,r,a,s,o,u){var d=this;this._createYUVCanvas(),h.V_CODEC_NAME_HEVC,this.config.fps=1*n,this.frameTime=1e3/this.config.fps,this.width=t,this.height=i,this.frameDur=1/this.config.fps,this.duration=e-this.frameDur,this.vCodecID=o,this.config.sampleRate=a,this.channels=s,this.audioIdx=r,this.duration<0&&(this.config.playMode=h.PLAYER_MODE_NOTIME_LIVE,this.frameTime,this.frameDur);for(var c=Module.HEAPU8.subarray(u,u+10),f=0;f=0&&this.config.ignoreAudio<1?this.audioNone=!1:this.audioNone=!0,h.V_CODEC_NAME_HEVC===this.vCodecID&&(!1===this.audioNone&&(void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.audioWAudio=l({sampleRate:a,appendType:h.APPEND_TYPE_FRAME}),this.audioWAudio.setDurationMs(1e3*e),this.onLoadCache&&this.audioWAudio.setOnLoadCache((function(){if(d.retryAuSampleNo,d.retryAuSampleNo<=5){d.pause(),d.onLoadCache&&d.onLoadCache();var e=window.setInterval((function(){return d.retryAuSampleNo,d.audioWAudio.sampleQueue.length,d.audioWAudio.sampleQueue.length>2?(d.onLoadCacheFinshed&&d.onLoadCacheFinshed(),d.play(),d.retryAuSampleNo=0,window.clearInterval(e),void(e=null)):(d.retryAuSampleNo+=1,d.retryAuSampleNo>5?(d.play(),d.onLoadCacheFinshed&&d.onLoadCacheFinshed(),window.clearInterval(e),void(e=null)):void 0)}),1e3)}}))),this._avRecvPackets(),this._decVFrameIntervalFunc()),this.onProbeFinish&&this.onProbeFinish()}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_naluCallback",value:function(e,t,i,n,r,a,s,o){var u=this._ptsFixed2(a);o>0&&(u=a);var l=Module.HEAPU8.subarray(e,e+t),h=new Uint8Array(l);this.bufObject.appendFrameWithDts(u,s,h,!0,i),this.bufLastVDTS=Math.max(s,this.bufLastVDTS),this.vCachePTS=Math.max(u,this.vCachePTS),this.onCacheProcess&&this.onCacheProcess(this.getCachePTS())}},{key:"_samplesCallback",value:function(e,t,i,n){}},{key:"_aacFrameCallback",value:function(e,t,i,n){var r=this._ptsFixed2(n);if(this.audioWAudio){var a=Module.HEAPU8.subarray(e,e+t),s=new Uint8Array(a);this.bufObject.appendFrame(r,s,!1,!0),this.bufLastADTS=Math.max(r,this.bufLastADTS),this.aCachePTS=Math.max(r,this.aCachePTS),this.onCacheProcess&&this.onCacheProcess(this.getCachePTS())}}},{key:"_setLoadCache",value:function(){if(null===this.avFeedVideoInterval&&null===this.avFeedAudioInterval&&this.playVPipe.length<=0)return 1;if(this.isCacheV===h.CACHE_NO_LOADCACHE){var e=this.isPlaying;this.pause(),this.onLoadCache&&this.onLoadCache(),this.isCacheV=e?h.CACHE_WITH_PLAY_SIGN:h.CACHE_WITH_NOPLAY_SIGN}return 0}},{key:"_setLoadCacheFinished",value:function(){this.isCacheV!==h.CACHE_NO_LOADCACHE&&(this.isCacheV,this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.isCacheV===h.CACHE_WITH_PLAY_SIGN&&this.play(),this.isCacheV=h.CACHE_NO_LOADCACHE)}},{key:"_createDecVframeInterval",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=this;null!==this.decVFrameInterval&&(window.clearInterval(this.decVFrameInterval),this.decVFrameInterval=null);var i=0;this.loopMs=e,this.decVFrameInterval=window.setInterval((function(){if(t._videoQueue.length<1?t._setLoadCache():t._videoQueue.length>=t._VIDEO_CACHE_LEN&&t._setLoadCacheFinished(),t._videoQueue.length0){100===t.loopMs&&t._createDecVframeInterval(10);var e=t.playVPipe.shift(),n=e.data,r=Module._malloc(n.length);Module.HEAP8.set(n,r);var a=parseInt(1e3*e.pts,10),s=parseInt(1e3*e.dts,10);t.yuvMaxTime=Math.max(e.pts,t.yuvMaxTime);var o=Module.cwrap("decodeVideoFrame","number",["number","number","number","number","number"])(t.corePtr,r,n.length,a,s,t.frameCallTag);o>0&&(i=o),Module._free(r),r=null}}else i=Module.cwrap("naluLListLength","number",["number"])(t.corePtr)}),e)}},{key:"_decVFrameIntervalFunc",value:function(){null==this.decVFrameInterval&&this._createDecVframeInterval(10)}},{key:"_frameCallback",value:function(e,t,i,n,r,a,s,o,u,l){if(this._videoQueue.length,!1===this.openFrameCall)return-1;if(l!==this.frameCallTag)return-2;if(u>this.yuvMaxTime+this.frameDur)return-3;if(this.isNewSeek&&this.seekTarget-u>3*this.frameDur)return-4;var h=this._videoQueue.length;if(this.canvas.width==n&&this.canvas.height==o||(this.canvas.width=n,this.canvas.height=o,this.isCheckDisplay)||this._checkDisplaySize(s,n,o),this.playPTS>u)return-5;var d=Module.HEAPU8.subarray(e,e+n*o),f=Module.HEAPU8.subarray(t,t+r*o/2),p=Module.HEAPU8.subarray(i,i+a*o/2),m=new Uint8Array(d),_=new Uint8Array(f),g=new Uint8Array(p),v=new c(m,_,g,n,r,a,s,o,u);if(h<=0||u>this._videoQueue[h-1].pts)this._videoQueue.push(v);else if(uthis._videoQueue[y].pts&&y+1this.yuvMaxTime+this.frameDur||this.isNewSeek&&this.seekTarget-u>3*this.frameDur)){var p=this._videoQueue.length;if(this.canvas.width==n&&this.canvas.height==o||(this.canvas.width=n,this.canvas.height=o,this.isCheckDisplay)||this._checkDisplaySize(s,n,o),!(this.playPTS>u)){var m=new c(h,d,f,n,r,a,s,o,u);if(p<=0||u>this._videoQueue[p-1].pts)this._videoQueue.push(m);else if(uthis._videoQueue[_].pts&&_+10){var e=this._videoQueue.shift();return e.pts,this.onRender&&this.onRender(e.line1,e.height,e.data_y,e.data_u,e.data_v),o.renderFrame(this.yuv,e.data_y,e.data_u,e.data_v,e.line1,e.height),!0}return!1}},{key:"setProbeSize",value:function(e){this.probeSize=e}},{key:"pushBuffer",value:function(e){if(void 0===this.corePtr||null===this.corePtr)return-1;var t=Module._malloc(e.length);Module.HEAP8.set(e,t);var i=Module.cwrap("pushSniffStreamData","number",["number","number","number","number"])(this.corePtr,t,e.length,this.probeSize);return i}}])&&n(t.prototype,i),f&&n(t,f),e}();i.CNativeCore=f},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],60:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&(t.getPackageTimeMS=a.GetMsTime()),t.pushPkg++,void 0!==t.AVGetInterval&&null!==t.AVGetInterval||(t.AVGetInterval=window.setInterval((function(){Module.cwrap("getBufferLengthApi","number",["number"])(t.corePtr)>t.config.probeSize&&(Module.cwrap("getSniffHttpFlvPkg","number",["number"])(t.corePtr),t.pushPkg-=1)}),5));break;case"close":t.AVGetInterval&&clearInterval(t.AVGetInterval),t.AVGetInterval=null;case"fetch-fin":break;case"fetch-error":t.onError&&t.onError(i.data)}}},{key:"_checkDisplaySize",value:function(e,t,i){var n=t-e,r=this.config.width+Math.ceil(n/2),a=t/this.config.width>i/this.config.height,s=(r/t).toFixed(2),o=(this.config.height/i).toFixed(2),u=a?s:o,l=this.config.fixed,h=l?r:parseInt(t*u),d=l?this.config.height:parseInt(i*u);if(this.CanvasObj.offsetWidth!=h||this.CanvasObj.offsetHeight!=d){var c=parseInt((this.canvasBox.offsetHeight-d)/2),f=parseInt((this.canvasBox.offsetWidth-h)/2);c=c<0?0:c,f=f<0?0:f,this.CanvasObj.style.marginTop=c+"px",this.CanvasObj.style.marginLeft=f+"px",this.CanvasObj.style.width=h+"px",this.CanvasObj.style.height=d+"px"}return this.isCheckDisplay=!0,[h,d]}},{key:"_ptsFixed2",value:function(e){return Math.ceil(100*e)/100}},{key:"_callbackProbe",value:function(e,t,i,n,r,a,u,l,h){for(var d=Module.HEAPU8.subarray(h,h+10),c=0;c100&&(f=o.DEFAULT_FPS,this.mediaInfo.noFPS=!0),this.vCodecID=l,this.config.fps=f,this.mediaInfo.fps=f,this.mediaInfo.size.width=t,this.mediaInfo.size.height=i,this.frameTime=Math.floor(1e3/(this.mediaInfo.fps+2)),this.CanvasObj.width==t&&this.CanvasObj.height==i||(this.CanvasObj.width=t,this.CanvasObj.height=i,this.isCheckDisplay)||this._checkDisplaySize(t,t,i),r>=0&&!1===this.mediaInfo.noFPS&&this.config.ignoreAudio<1?(void 0!==this.audioWAudio&&null!==this.audioWAudio&&(this.audioWAudio.stop(),this.audioWAudio=null),this.config.sampleRate=a,this.mediaInfo.sampleRate=a,this.audioWAudio=s({sampleRate:this.mediaInfo.sampleRate,appendType:o.APPEND_TYPE_FRAME}),this.audioWAudio.isLIVE=!0):this.mediaInfo.audioNone=!0,this.onProbeFinish&&this.onProbeFinish()}},{key:"_callbackYUV",value:function(e,t,i,n,r,a,s,o,u){var l=Module.HEAPU8.subarray(e,e+n*o),h=new Uint8Array(l),d=Module.HEAPU8.subarray(t,t+r*o/2),c=new Uint8Array(d),f=Module.HEAPU8.subarray(i,i+a*o/2),p={bufY:h,bufU:c,bufV:new Uint8Array(f),line_y:n,h:o,pts:u};this.YuvBuf.push(p),this.checkCacheState(),Module._free(l),l=null,Module._free(d),d=null,Module._free(f),f=null,!1===this.readyShowDone&&!0===this.playYUV()&&(this.readyShowDone=!0,this.onReadyShowDone&&this.onReadyShowDone(),this.audioWAudio||this.play())}},{key:"_callbackNALU",value:function(e,t,i,n,r,a,s){if(!1===this.readyKeyFrame){if(i<=0)return;this.readyKeyFrame=!0}var o=Module.HEAPU8.subarray(e,e+t),u=new Uint8Array(o);this.NaluBuf.push({bufData:u,len:t,isKey:i,w:n,h:r,pts:1e3*a,dts:1e3*s}),Module._free(o),o=null}},{key:"_callbackPCM",value:function(e){}},{key:"_callbackAAC",value:function(e,t,i,n){var r=this._ptsFixed2(n);if(this.audioWAudio){var a=Module.HEAPU8.subarray(e,e+t),s={pts:r,data:new Uint8Array(a)};this.audioWAudio.addSample(s),this.checkCacheState()}}},{key:"_decode",value:function(){var e=this;setTimeout((function(){if(null!==e.workerFetch){var t=e.NaluBuf.shift();if(null!=t){var i=Module._malloc(t.bufData.length);Module.HEAP8.set(t.bufData,i),Module.cwrap("decodeHttpFlvVideoFrame","number",["number","number","number","number","number"])(e.corePtr,i,t.bufData.length,t.pts,t.dts,0),Module._free(i),i=null}e._decode()}}),1)}},{key:"setScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.showScreen=e}},{key:"checkCacheState",value:function(){var e=this.YuvBuf.length>=25&&(!0===this.mediaInfo.audioNone||this.audioWAudio&&this.audioWAudio.sampleQueue.length>=50);return!1===this.cache_status&&e&&(this.playInterval&&this.audioWAudio&&this.audioWAudio.play(),this.onLoadCacheFinshed&&this.onLoadCacheFinshed(),this.cache_status=!0),e}},{key:"setVoice",value:function(e){this.audioVoice=e,this.audioWAudio&&this.audioWAudio.setVoice(e)}},{key:"_removeBindFuncPtr",value:function(){null!==this._ptr_probeCallback&&Module.removeFunction(this._ptr_probeCallback),null!==this._ptr_frameCallback&&Module.removeFunction(this._ptr_frameCallback),null!==this._ptr_naluCallback&&Module.removeFunction(this._ptr_naluCallback),null!==this._ptr_sampleCallback&&Module.removeFunction(this._ptr_sampleCallback),null!==this._ptr_aacCallback&&Module.removeFunction(this._ptr_aacCallback),this._ptr_probeCallback=null,this._ptr_frameCallback=null,this._ptr_naluCallback=null,this._ptr_sampleCallback=null,this._ptr_aacCallback=null}},{key:"release",value:function(){return this.pause(),this.NaluBuf.length=0,this.YuvBuf.length=0,void 0!==this.workerFetch&&null!==this.workerFetch&&this.workerFetch.postMessage({cmd:"stop",data:"stop",msg:"stop"}),this.workerFetch=null,this.AVGetInterval&&clearInterval(this.AVGetInterval),this.AVGetInterval=null,this._removeBindFuncPtr(),void 0!==this.corePtr&&null!==this.corePtr&&Module.cwrap("releaseHttpFLV","number",["number"])(this.corePtr),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null,this.audioWAudio&&this.audioWAudio.stop(),this.audioWAudio=null,void 0!==this.AVGLObj&&null!==this.AVGLObj&&(r.releaseContext(this.AVGLObj),this.AVGLObj=null),this.CanvasObj&&this.CanvasObj.remove(),this.CanvasObj=null,window.onclick=document.body.onclick=null,0}},{key:"isPlayingState",value:function(){return null!==this.playInterval&&void 0!==this.playInterval}},{key:"pause",value:function(){this.audioWAudio&&this.audioWAudio.pause(),this.playInterval&&clearInterval(this.playInterval),this.playInterval=null}},{key:"playYUV",value:function(){if(this.YuvBuf.length>0){var e=this.YuvBuf.shift();return this.onRender&&this.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(this.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h),!0}return!1}},{key:"play",value:function(){var e=this,t=this;if(!1===this.checkCacheState())return this.onLoadCache&&this.onLoadCache(),setTimeout((function(){e.play()}),100),!1;if(void 0===this.playInterval||null===this.playInterval){var i=0,n=0,s=0;!1===this.mediaInfo.audioNone&&this.audioWAudio&&!1===this.mediaInfo.noFPS?(this.playInterval=setInterval((function(){if(n=a.GetMsTime(),t.cache_status){if(n-i>=t.frameTime-s){var e=t.YuvBuf.shift();if(null!=e&&null!==e){var o=0;null!==t.audioWAudio&&void 0!==t.audioWAudio&&(o=1e3*(e.pts-t.audioWAudio.getAlignVPTS())),s=t.audioWAudio?o<0&&-1*o<=t.frameTime||o>=0?a.GetMsTime()-n+1:t.frameTime:a.GetMsTime()-n+1,t.showScreen&&t.onRender&&t.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),e.pts,r.renderFrame(t.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h)}(t.YuvBuf.length<=0||t.audioWAudio&&t.audioWAudio.sampleQueue.length<=0)&&(t.cache_status=!1,t.onLoadCache&&t.onLoadCache(),t.audioWAudio&&t.audioWAudio.pause()),i=n}}else s=t.frameTime}),1),this.audioWAudio&&this.audioWAudio.play()):this.playInterval=setInterval((function(){var e=t.YuvBuf.shift();null!=e&&null!==e&&(t.showScreen&&t.onRender&&t.onRender(e.line_y,e.h,e.bufY,e.bufU,e.bufV),r.renderFrame(t.AVGLObj,e.bufY,e.bufU,e.bufV,e.line_y,e.h)),t.YuvBuf.length<=0&&(t.cache_status=!1)}),t.frameTime)}}},{key:"start",value:function(e){var t=this;this.workerFetch=new Worker(a.GetScriptPath((function(){var e=null;self,self.onmessage=function(t){var i=t.data;switch(void 0===i.cmd||null===i.cmd?"":i.cmd){case"start":var n=i.data;(e=new WebSocket(n)).binaryType="arraybuffer",e.onopen=function(t){e.send("Hello WebSockets!")},e.onmessage=function(e){if(e.data instanceof ArrayBuffer){var t=e.data;t.byteLength>0&&postMessage({cmd:"fetch-chunk",data:new Uint8Array(t),msg:"fetch-chunk"})}},e.onclose=function(e){};break;case"stop":e&&e.close(),self.close(),self.postMessage({cmd:"close",data:"close",msg:"close"})}}}))),this.workerFetch.onmessage=function(e){t._workerFetch_onmessage(e,t)},this.workerFetch,this._ptr_probeCallback=Module.addFunction(this._callbackProbe.bind(this)),this._ptr_yuvCallback=Module.addFunction(this._callbackYUV.bind(this)),this._ptr_naluCallback=Module.addFunction(this._callbackNALU.bind(this)),this._ptr_sampleCallback=Module.addFunction(this._callbackPCM.bind(this)),this._ptr_aacCallback=Module.addFunction(this._callbackAAC.bind(this)),Module.cwrap("initializeSniffHttpFlvModule","number",["number","number","number","number","number","number"])(this.corePtr,this._ptr_probeCallback,this._ptr_yuvCallback,this._ptr_naluCallback,this._ptr_sampleCallback,this._ptr_aacCallback),this.AVGLObj=r.setupCanvas(this.CanvasObj,{preserveDrawingBuffer:!1}),this.workerFetch.postMessage({cmd:"start",data:e,msg:"start"}),this._decode()}}])&&n(t.prototype,i),u&&n(t,u),e}());i.CWsLiveCore=u},{"../consts":52,"../demuxer/buffer":66,"../demuxer/bufferFrame":67,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./audio-native-core":55,"./av-common":56,"./cache":61,"./cacheYuv":62}],61:[function(e,t,i){(function(i){"use strict";e("./cacheYuv");i.CACHE_APPEND_STATUS_CODE={FAILED:-1,OVERFLOW:-2,OK:0,NOT_FULL:1,FULL:2,NULL:3},t.exports=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:60,t={limit:e,yuvCache:[],appendCacheByCacheYuv:function(e){e.pts;return t.yuvCache.length>=t.limit?CACHE_APPEND_STATUS_CODE.OVERFLOW:(t.yuvCache.push(e),t.yuvCache.length>=t.limit?CACHE_APPEND_STATUS_CODE.FULL:CACHE_APPEND_STATUS_CODE.NOT_FULL)},getState:function(){return t.yuvCache.length<=0?CACHE_APPEND_STATUS_CODE.NULL:t.yuvCache.length>=t.limit?CACHE_APPEND_STATUS_CODE.FULL:CACHE_APPEND_STATUS_CODE.NOT_FULL},cleanPipeline:function(){t.yuvCache.length=0},vYuv:function(){return t.yuvCache.length<=0?null:t.yuvCache.shift()}};return t}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./cacheYuv":62}],62:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i>1;return r.indexOf(t)},GET_NALU_TYPE:function(e){var t=(126&e)>>1;if(t>=1&&t<=9)return n.DEFINE_P_FRAME;if(t>=16&&t<=21)return n.DEFINE_KEY_FRAME;var i=r.indexOf(t);return i>=0?r[i]:n.DEFINE_OTHERS_FRAME},PACK_NALU:function(e){var t=e.nalu,i=e.vlc.vlc;null==t.vps&&(t.vps=new Uint8Array);var n=new Uint8Array(t.vps.length+t.sps.length+t.pps.length+t.sei.length+i.length);return n.set(t.vps,0),n.set(t.sps,t.vps.length),n.set(t.pps,t.vps.length+t.sps.length),n.set(t.sei,t.vps.length+t.sps.length+t.pps.length),n.set(i,t.vps.length+t.sps.length+t.pps.length+t.sei.length),n}}},{"./hevc-header":63}],65:[function(e,t,i){"use strict";function n(e){return function(e){if(Array.isArray(e)){for(var t=0,i=new Array(e.length);t0&&void 0!==arguments[0]&&arguments[0];null!=t&&(t.showScreen=e)},setSize:function(e,i){t.config.width=e||l.DEFAULT_WIDTH,t.config.height=i||l.DEFAULT_HEIGHT},setFrameRate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:25;t.config.fps=e,t.config.frameDurMs=1e3/e},setDurationMs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;t.durationMs=e,0==t.config.audioNone&&t.audio.setDurationMs(e)},setPlayingCall:function(e){t.onPlayingTime=e},setVoice:function(e){t.realVolume=e,0==t.config.audioNone&&t.audio.setVoice(t.realVolume)},isPlayingState:function(){return t.isPlaying||t.isCaching===l.CACHE_WITH_PLAY_SIGN},appendAACFrame:function(e){t.audio.addSample(e),t.aCachePTS=Math.max(e.pts,t.aCachePTS)},appendHevcFrame:function(e){var i;t.config.appendHevcType==l.APPEND_TYPE_STREAM?t.stream=new Uint8Array((i=n(t.stream)).concat.apply(i,n(e))):t.config.appendHevcType==l.APPEND_TYPE_FRAME&&(t.frameList.push(e),t.vCachePTS=Math.max(e.pts,t.vCachePTS))},getCachePTS:function(){return Math.max(t.vCachePTS,t.aCachePTS)},endAudio:function(){0==t.config.audioNone&&t.audio.stop()},cleanSample:function(){0==t.config.audioNone&&t.audio.cleanQueue()},cleanVideoQueue:function(){t.config.appendHevcType==l.APPEND_TYPE_STREAM?t.stream=new Uint8Array:t.config.appendHevcType==l.APPEND_TYPE_FRAME&&(t.frameList=[],t.frameList.length=0)},cleanCacheYUV:function(){t.cacheYuvBuf.cleanPipeline()},pause:function(){t.loop&&window.clearInterval(t.loop),t.loop=null,0==t.config.audioNone&&t.audio.pause(),t.isPlaying=!1,t.isCaching===l.CACHE_WITH_PLAY_SIGN&&(t.isCaching=l.CACHE_WITH_NOPLAY_SIGN)},checkFinished:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l.PLAYER_MODE_VOD;return e==l.PLAYER_MODE_VOD&&t.cacheYuvBuf.yuvCache.length<=0&&(t.videoPTS.toFixed(1)>=(t.durationMs-t.config.frameDurMs)/1e3||t.noCacheFrame>=10)&&(null!=t.onPlayingFinish&&(l.PLAYER_MODE_VOD,t.frameList.length,t.cacheYuvBuf.yuvCache.length,t.videoPTS.toFixed(1),t.durationMs,t.config.frameDurMs,t.noCacheFrame,t.onPlayingFinish()),!0)},clearAllCache:function(){t.nowPacket=null,t.vCachePTS=0,t.aCachePTS=0,t.cleanSample(),t.cleanVideoQueue(),t.cleanCacheYUV()},seek:function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isPlaying;t.pause(),t.stopCacheThread(),t.clearAllCache(),e&&e(),t.isNewSeek=!0,t.flushDecoder=1,t.videoPTS=parseInt(i.seekTime);var r={seekPos:i.seekTime||-1,mode:i.mode||l.PLAYER_MODE_VOD,accurateSeek:i.accurateSeek||!0,seekEvent:i.seekEvent||!0,realPlay:n};t.cacheThread(),t.play(r)},getNalu1Packet:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],i=null,n=-1;if(t.config.appendHevcType==l.APPEND_TYPE_STREAM)i=t.nextNalu();else{if(t.config.appendHevcType!=l.APPEND_TYPE_FRAME)return null;var r=t.frameList.shift();if(!r)return null;i=r.data,n=r.pts,e&&(t.videoPTS=n)}return{nalBuf:i,pts:n}},decodeNalu1Frame:function(e,i){var n=Module._malloc(e.length);Module.HEAP8.set(e,n);var r=parseInt(1e3*i);Module.cwrap("decodeCodecContext","number",["number","number","number","number","number"])(t.vcodecerPtr,n,e.length,r,t.flushDecoder);return t.flushDecoder=0,Module._free(n),n=null,!1},cacheThread:function(){t.cacheLoop=window.setInterval((function(){if(t.cacheYuvBuf.getState()!=CACHE_APPEND_STATUS_CODE.FULL){var e=t.getNalu1Packet(!1);if(null!=e){var i=e.nalBuf,n=e.pts;t.decodeNalu1Frame(i,n,!0)}}}),10)},stopCacheThread:function(){null!==t.cacheLoop&&(window.clearInterval(t.cacheLoop),t.cacheLoop=null)},loadCache:function(){if(!(t.frameList.length<=3)){var e=t.isPlaying;if(t.cacheYuvBuf.yuvCache.length<=3){t.pause(),null!=t.onLoadCache&&t.onLoadCache(),t.isCaching=e?l.CACHE_WITH_PLAY_SIGN:l.CACHE_WITH_NOPLAY_SIGN;var i=t.frameList.length>30?30:t.frameList.length;null===t.cacheInterval&&(t.cacheInterval=window.setInterval((function(){t.cacheYuvBuf.yuvCache.length>=i&&(null!=t.onLoadCacheFinshed&&t.onLoadCacheFinshed(),window.clearInterval(t.cacheInterval),t.cacheInterval=null,t.isCaching===l.CACHE_WITH_PLAY_SIGN&&t.play(t.playParams),t.isCaching=l.CACHE_NO_LOADCACHE)}),40))}}},playFunc:function(){var e=!1;if(t.playParams.seekEvent||r.GetMsTime()-t.calcuteStartTime>=t.frameTime-t.preCostTime){e=!0;var i=!0;if(t.calcuteStartTime=r.GetMsTime(),t.config.audioNone)t.playFrameYUV(i,t.playParams.accurateSeek);else{t.fix_poc_err_skip>0&&(t.fix_poc_err_skip--,i=!1);var n=t.videoPTS-t.audio.getAlignVPTS();if(n>0)return void(t.playParams.seekEvent&&!t.config.audioNone&&t.audio.setVoice(0));if(i){if(!(i=-1*n<=1*t.frameTimeSec)){for(var a=parseInt(n/t.frameTimeSec),s=0;s=i&&(t.playFrameYUV(!0,t.playParams.accurateSeek),i+=1)}),1)}else t.videoPTS>=t.playParams.seekPos&&!t.isNewSeek||0===t.playParams.seekPos||0===t.playParams.seekPos?(t.frameTime=1e3/t.config.fps,t.frameTimeSec=t.frameTime/1e3,0==t.config.audioNone&&t.audio.play(),t.realVolume=t.config.audioNone?0:t.audio.voice,t.playParams.seekEvent&&(t.fix_poc_err_skip=10),t.loop=window.setInterval((function(){var e=r.GetMsTime();t.playFunc(),t.preCostTime=r.GetMsTime()-e}),1)):(t.loop=window.setInterval((function(){t.playFrameYUV(!1,t.playParams.accurateSeek),t.checkFinished(t.playParams.mode)?(window.clearInterval(t.loop),t.loop=null):t.videoPTS>=t.playParams.seekPos&&(window.clearInterval(t.loop),t.loop=null,t.play(t.playParams))}),1),t.isNewSeek=!1)},stop:function(){t.release(),Module.cwrap("initializeDecoder","number",["number"])(t.vcodecerPtr),t.stream=new Uint8Array},release:function(){return void 0!==t.yuv&&null!==t.yuv&&(u.releaseContext(t.yuv),t.yuv=null),t.endAudio(),t.cacheLoop&&window.clearInterval(t.cacheLoop),t.cacheLoop=null,t.loop&&window.clearInterval(t.loop),t.loop=null,t.pause(),null!==t.videoCallback&&Module.removeFunction(t.videoCallback),t.videoCallback=null,Module.cwrap("release","number",["number"])(t.vcodecerPtr),t.stream=null,t.frameList.length=0,t.durationMs=-1,t.videoPTS=0,t.isPlaying=!1,t.canvas.remove(),t.canvas=null,window.onclick=document.body.onclick=null,!0},nextNalu:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(t.stream.length<=4)return!1;for(var i=-1,n=0;n=t.stream.length){if(-1==i)return!1;var r=t.stream.subarray(i);return t.stream=new Uint8Array,r}var a="0 0 1"==t.stream.slice(0,3).join(" "),s="0 0 0 1"==t.stream.slice(0,4).join(" ");if(a||s){if(-1==i)i=n;else{if(e<=1){var o=t.stream.subarray(i,n);return t.stream=t.stream.subarray(n),o}e-=1}n+=3}}return!1},decodeSendPacket:function(e){var i=Module._malloc(e.length);Module.HEAP8.set(e,i);var n=Module.cwrap("decodeSendPacket","number",["number","number","number"])(t.vcodecerPtr,i,e.length);return Module._free(i),n},decodeRecvFrame:function(){return Module.cwrap("decodeRecv","number",["number"])(t.vcodecerPtr)},playYUV:function(){return t.playFrameYUV(!0,!0)},playFrameYUV:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.cacheYuvBuf.vYuv();if(null==n)return t.noCacheFrame+=1,e&&!t.playParams.seekEvent&&t.loadCache(),!1;t.noCacheFrame=0;var r=n.pts;return t.videoPTS=r,(!e&&i||e)&&e&&(t.onRender(n.width,n.height,n.imageBufferY,n.imageBufferB,n.imageBufferR),t.drawImage(n.width,n.height,n.imageBufferY,n.imageBufferB,n.imageBufferR)),e&&!t.playParams.seekEvent&&t.isPlaying&&t.loadCache(),!0},drawImage:function(e,i,n,r,a){if(t.canvas.width===e&&t.canvas.height==i||(t.canvas.width=e,t.canvas.height=i),t.showScreen&&null!=t.onRender&&t.onRender(e,i,n,r,a),!t.isCheckDisplay)t.checkDisplaySize(e,i);var s=e*i,o=e/2*(i/2),l=new Uint8Array(s+2*o);l.set(n,0),l.set(r,s),l.set(a,s+o),u.renderFrame(t.yuv,n,r,a,e,i)},debugYUV:function(e){t.debugYUVSwitch=!0,t.debugID=e},checkDisplaySize:function(e,i){var n=e/t.config.width>i/t.config.height,r=(t.config.width/e).toFixed(2),a=(t.config.height/i).toFixed(2),s=n?r:a,o=t.config.fixed,u=o?t.config.width:parseInt(e*s),l=o?t.config.height:parseInt(i*s);if(t.canvas.offsetWidth!=u||t.canvas.offsetHeight!=l){var h=parseInt((t.canvasBox.offsetHeight-l)/2),d=parseInt((t.canvasBox.offsetWidth-u)/2);t.canvas.style.marginTop=h+"px",t.canvas.style.marginLeft=d+"px",t.canvas.style.width=u+"px",t.canvas.style.height=l+"px"}return t.isCheckDisplay=!0,[u,l]},makeWasm:function(){if(null!=t.config.token){t.vcodecerPtr=Module.cwrap("registerPlayer","number",["string","string"])(t.config.token,h.PLAYER_VERSION),t.videoCallback=Module.addFunction((function(e,i,n,r,a,s,u,l,h){var d=Module.HEAPU8.subarray(e,e+r*l),c=Module.HEAPU8.subarray(i,i+a*l/2),f=Module.HEAPU8.subarray(n,n+s*l/2),p=new Uint8Array(d),m=new Uint8Array(c),_=new Uint8Array(f),g=1*h/1e3,v=new o.CacheYuvStruct(g,r,l,p,m,_);Module._free(d),d=null,Module._free(c),c=null,Module._free(f),f=null,t.cacheYuvBuf.appendCacheByCacheYuv(v)})),Module.cwrap("setCodecType","number",["number","number","number"])(t.vcodecerPtr,t.config.videoCodec,t.videoCallback);Module.cwrap("initializeDecoder","number",["number"])(t.vcodecerPtr)}},makeIt:function(){var e=document.querySelector("div#"+t.config.playerId),i=document.createElement("canvas");i.style.width=e.clientWidth+"px",i.style.height=e.clientHeight+"px",i.style.top="0px",i.style.left="0px",e.appendChild(i),t.canvasBox=e,t.canvas=i,t.yuv=u.setupCanvas(i,{preserveDrawingBuffer:!1}),0==t.config.audioNone&&(t.audio=a({sampleRate:t.config.sampleRate,appendType:t.config.appendHevcType})),t.isPlayLoadingFinish=1}};return t.makeWasm(),t.makeIt(),t.cacheThread(),t}},{"../consts":52,"../render-engine/webgl-420p":81,"../version":84,"./audio-core":54,"./av-common":56,"./cache":61,"./cacheYuv":62}],66:[function(e,t,i){"use strict";var n=e("./bufferFrame");t.exports=function(){var e={videoBuffer:[],audioBuffer:[],idrIdxBuffer:[],appendFrame:function(t,i){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=new n.BufferFrame(t,a,i,r),o=parseInt(t);return r?(e.videoBuffer.length-1>=o?e.videoBuffer[o].push(s):e.videoBuffer.push([s]),a&&!e.idrIdxBuffer.includes(t)&&e.idrIdxBuffer.push(t)):e.audioBuffer.length-1>=o&&null!=e.audioBuffer[o]&&null!=e.audioBuffer[o]?e.audioBuffer[o]&&e.audioBuffer[o].push(s):e.audioBuffer.push([s]),!0},appendFrameWithDts:function(t,i,r){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=n.ConstructWithDts(t,i,s,r,a),u=parseInt(i);return a?(e.videoBuffer.length-1>=u?e.videoBuffer[u].push(o):e.videoBuffer.push([o]),s&&!e.idrIdxBuffer.includes(i)&&e.idrIdxBuffer.push(i)):e.audioBuffer.length-1>=u&&null!=e.audioBuffer[u]&&null!=e.audioBuffer[u]?e.audioBuffer[u]&&e.audioBuffer[u].push(o):e.audioBuffer.push([o]),e.videoBuffer,e.idrIdxBuffer,!0},appendFrameByBufferFrame:function(t){var i=t.pts,n=parseInt(i);return t.video?(e.videoBuffer.length-1>=n?e.videoBuffer[n].push(t):e.videoBuffer.push([t]),isKey&&!e.idrIdxBuffer.includes(i)&&e.idrIdxBuffer.push(i)):e.audioBuffer.length-1>=n?e.audioBuffer[n].push(t):e.audioBuffer.push([t]),!0},cleanPipeline:function(){e.videoBuffer.length=0,e.audioBuffer.length=0},vFrame:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(!(t<0||t>e.videoBuffer.length-1))return e.videoBuffer[t]},aFrame:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(!(t<0||t>e.audioBuffer.length-1))return e.audioBuffer[t]},seekIDR:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;if(e.idrIdxBuffer,e.videoBuffer,t<0)return null;if(e.idrIdxBuffer.includes(t))return t;for(var i=0;it||0===i&&e.idrIdxBuffer[i]>=t){for(var n=1;n>=0;n--){var r=i-n;if(r>=0)return e.idrIdxBuffer[r],e.idrIdxBuffer[r]}return e.idrIdxBuffer[i],j,e.idrIdxBuffer[i]}}};return e}},{"./bufferFrame":67}],67:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&s.length>r&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,console&&console.warn}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function c(e,t,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},r=d.bind(n);return r.listener=i,n.wrapFn=r,r}function f(e,t,i){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(e){for(var t=new Array(e.length),i=0;i0&&(s=t[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var u=a[e];if(void 0===u)return!1;if("function"==typeof u)r(u,this,t);else{var l=u.length,h=m(u,l);for(i=0;i=0;a--)if(i[a]===t||i[a].listener===t){s=i[a].listener,r=a;break}if(r<0)return this;0===r?i.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},"./node_modules/webworkify-webpack/index.js": +/*!**************************************************!*\ + !*** ./node_modules/webworkify-webpack/index.js ***! + \**************************************************/ +function(e,t,i){function n(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.i=function(e){return e},i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var n=i(i.s=ENTRY_MODULE);return n.default||n}function r(e){return(e+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function a(e,t,n){var a={};a[n]=[];var s=t.toString(),o=s.match(/^function\s?\w*\(\w+,\s*\w+,\s*(\w+)\)/);if(!o)return a;for(var u,l=o[1],h=new RegExp("(\\\\n|\\W)"+r(l)+"\\(\\s*(/\\*.*?\\*/)?\\s*.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)","g");u=h.exec(s);)"dll-reference"!==u[3]&&a[n].push(u[3]);for(h=new RegExp("\\("+r(l)+'\\("(dll-reference\\s([\\.|\\-|\\+|\\w|/|@]+))"\\)\\)\\(\\s*(/\\*.*?\\*/)?\\s*.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)',"g");u=h.exec(s);)e[u[2]]||(a[n].push(u[1]),e[u[2]]=i(u[1]).m),a[u[2]]=a[u[2]]||[],a[u[2]].push(u[4]);for(var d,c=Object.keys(a),f=0;f0}),!1)}e.exports=function(e,t){t=t||{};var r={main:i.m},o=t.all?{main:Object.keys(r.main)}:function(e,t){for(var i={main:[t]},n={main:[]},r={main:{}};s(i);)for(var o=Object.keys(i),u=0;u=e[r]&&t0&&e[0].originalDts=t[r].dts&&et[n].lastSample.originalDts&&e=t[n].lastSample.originalDts&&(n===t.length-1||n0&&(r=this._searchNearestSegmentBefore(i.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,i)},e.prototype.getLastSegmentBefore=function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null},e.prototype.getLastSampleBefore=function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null},e.prototype.getLastSyncPointBefore=function(e){for(var t=this._searchNearestSegmentBefore(e),i=this._list[t].syncPoints;0===i.length&&t>0;)t--,i=this._list[t].syncPoints;return i.length>0?i[i.length-1]:null},e}()},"./src/core/mse-controller.js": +/*!************************************!*\ + !*** ./src/core/mse-controller.js ***! + \************************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),s=i( +/*! ../utils/browser.js */ +"./src/utils/browser.js"),o=i( +/*! ./mse-events.js */ +"./src/core/mse-events.js"),u=i( +/*! ./media-segment-info.js */ +"./src/core/media-segment-info.js"),l=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),h=function(){function e(e){this.TAG="MSEController",this._config=e,this._emitter=new(r()),this._config.isLive&&null==this._config.autoCleanupSourceBuffer&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new u.IDRSampleList}return e.prototype.destroy=function(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.attachMediaElement=function(e){if(this._mediaSource)throw new l.IllegalStateException("MediaSource has been attached to an HTMLMediaElement!");var t=this._mediaSource=new window.MediaSource;t.addEventListener("sourceopen",this.e.onSourceOpen),t.addEventListener("sourceended",this.e.onSourceEnded),t.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=e,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),e.src=this._mediaSourceObjectURL},e.prototype.detachMediaElement=function(){if(this._mediaSource){var e=this._mediaSource;for(var t in this._sourceBuffers){var i=this._pendingSegments[t];i.splice(0,i.length),this._pendingSegments[t]=null,this._pendingRemoveRanges[t]=null,this._lastInitSegments[t]=null;var n=this._sourceBuffers[t];if(n){if("closed"!==e.readyState){try{e.removeSourceBuffer(n)}catch(e){a.default.e(this.TAG,e.message)}n.removeEventListener("error",this.e.onSourceBufferError),n.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[t]=null,this._sourceBuffers[t]=null}}if("open"===e.readyState)try{e.endOfStream()}catch(e){a.default.e(this.TAG,e.message)}e.removeEventListener("sourceopen",this.e.onSourceOpen),e.removeEventListener("sourceended",this.e.onSourceEnded),e.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)},e.prototype.appendInitSegment=function(e,t){if(!this._mediaSource||"open"!==this._mediaSource.readyState)return this._pendingSourceBufferInit.push(e),void this._pendingSegments[e.type].push(e);var i=e,n=""+i.container;i.codec&&i.codec.length>0&&(n+=";codecs="+i.codec);var r=!1;if(a.default.v(this.TAG,"Received Initialization Segment, mimeType: "+n),this._lastInitSegments[i.type]=i,n!==this._mimeTypes[i.type]){if(this._mimeTypes[i.type])a.default.v(this.TAG,"Notice: "+i.type+" mimeType changed, origin: "+this._mimeTypes[i.type]+", target: "+n);else{r=!0;try{var u=this._sourceBuffers[i.type]=this._mediaSource.addSourceBuffer(n);u.addEventListener("error",this.e.onSourceBufferError),u.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(e){return a.default.e(this.TAG,e.message),void this._emitter.emit(o.default.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[i.type]=n}t||this._pendingSegments[i.type].push(i),r||this._sourceBuffers[i.type]&&!this._sourceBuffers[i.type].updating&&this._doAppendSegments(),s.default.safari&&"audio/mpeg"===i.container&&i.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=i.mediaDuration/1e3,this._updateMediaSourceDuration())},e.prototype.appendMediaSegment=function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var i=this._sourceBuffers[t.type];!i||i.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()},e.prototype.seek=function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var i=this._sourceBuffers[t];if("open"===this._mediaSource.readyState)try{i.abort()}catch(e){a.default.e(this.TAG,e.message)}this._idrList.clear();var n=this._pendingSegments[t];if(n.splice(0,n.length),"closed"!==this._mediaSource.readyState){for(var r=0;r=1&&e-n.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1},e.prototype._doCleanupSourceBuffer=function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var i=this._sourceBuffers[t];if(i){for(var n=i.buffered,r=!1,a=0;a=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:s,end:u})}}else o0&&(isNaN(t)||i>t)&&(a.default.v(this.TAG,"Update MediaSource duration from "+t+" to "+i),this._mediaSource.duration=i),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}},e.prototype._doRemoveRanges=function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],i=this._pendingRemoveRanges[e];i.length&&!t.updating;){var n=i.shift();t.remove(n.start,n.end)}},e.prototype._doAppendSegments=function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var i=e[t].shift();if(i.timestampOffset){var n=this._sourceBuffers[t].timestampOffset,r=i.timestampOffset/1e3;Math.abs(n-r)>.1&&(a.default.v(this.TAG,"Update MPEG audio timestampOffset from "+n+" to "+r),this._sourceBuffers[t].timestampOffset=r),delete i.timestampOffset}if(!i.data||0===i.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(i.data),this._isBufferFull=!1,"video"===t&&i.hasOwnProperty("info")&&this._idrList.appendArray(i.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(i),22===e.code?(this._isBufferFull||this._emitter.emit(o.default.BUFFER_FULL),this._isBufferFull=!0):(a.default.e(this.TAG,t,e.message),this._emitter.emit(o.default.ERROR,{code:e.code,msg:e.message}))}}},e.prototype._onSourceOpen=function(){if(a.default.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(o.default.SOURCE_OPEN)},e.prototype._onSourceEnded=function(){a.default.v(this.TAG,"MediaSource onSourceEnded")},e.prototype._onSourceClose=function(){a.default.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))},e.prototype._hasPendingSegments=function(){var e=this._pendingSegments;return(e.video&&e.video.length)>0||e.audio&&e.audio.length>0},e.prototype._hasPendingRemoveRanges=function(){var e=this._pendingRemoveRanges;return(e.video&&e.video.length)>0||e.audio&&e.audio.length>0},e.prototype._onSourceBufferUpdateEnd=function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(o.default.UPDATE_END)},e.prototype._onSourceBufferError=function(e){a.default.e(this.TAG,"SourceBuffer Error: "+e)},e}();t.default=h},"./src/core/mse-events.js": +/*!********************************!*\ + !*** ./src/core/mse-events.js ***! + \********************************/ +function(e,t,i){i.r(t),t.default={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"}},"./src/core/transmuxer.js": +/*!********************************!*\ + !*** ./src/core/transmuxer.js ***! + \********************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! webworkify-webpack */ +"./node_modules/webworkify-webpack/index.js"),s=i.n(a),o=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),u=i( +/*! ../utils/logging-control.js */ +"./src/utils/logging-control.js"),l=i( +/*! ./transmuxing-controller.js */ +"./src/core/transmuxing-controller.js"),h=i( +/*! ./transmuxing-events.js */ +"./src/core/transmuxing-events.js"),d=i( +/*! ./media-info.js */ +"./src/core/media-info.js"),c=function(){function e(e,t){if(this.TAG="Transmuxer",this._emitter=new(r()),t.enableWorker&&"undefined"!=typeof Worker)try{this._worker=s()( +/*! ./transmuxing-worker */ +"./src/core/transmuxing-worker.js"),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[e,t]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},u.default.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:u.default.getConfig()})}catch(i){o.default.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new l.default(e,t)}else this._controller=new l.default(e,t);if(this._controller){var i=this._controller;i.on(h.default.IO_ERROR,this._onIOError.bind(this)),i.on(h.default.DEMUX_ERROR,this._onDemuxError.bind(this)),i.on(h.default.INIT_SEGMENT,this._onInitSegment.bind(this)),i.on(h.default.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),i.on(h.default.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),i.on(h.default.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),i.on(h.default.MEDIA_INFO,this._onMediaInfo.bind(this)),i.on(h.default.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),i.on(h.default.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),i.on(h.default.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),i.on(h.default.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}return e.prototype.destroy=function(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),u.default.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.hasWorker=function(){return null!=this._worker},e.prototype.open=function(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()},e.prototype.close=function(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()},e.prototype.seek=function(e){this._worker?this._worker.postMessage({cmd:"seek",param:e}):this._controller.seek(e)},e.prototype.pause=function(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()},e.prototype.resume=function(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()},e.prototype._onInitSegment=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.INIT_SEGMENT,e,t)}))},e.prototype._onMediaSegment=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.MEDIA_SEGMENT,e,t)}))},e.prototype._onLoadingComplete=function(){var e=this;Promise.resolve().then((function(){e._emitter.emit(h.default.LOADING_COMPLETE)}))},e.prototype._onRecoveredEarlyEof=function(){var e=this;Promise.resolve().then((function(){e._emitter.emit(h.default.RECOVERED_EARLY_EOF)}))},e.prototype._onMediaInfo=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.MEDIA_INFO,e)}))},e.prototype._onMetaDataArrived=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.METADATA_ARRIVED,e)}))},e.prototype._onScriptDataArrived=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.SCRIPTDATA_ARRIVED,e)}))},e.prototype._onStatisticsInfo=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.STATISTICS_INFO,e)}))},e.prototype._onIOError=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.IO_ERROR,e,t)}))},e.prototype._onDemuxError=function(e,t){var i=this;Promise.resolve().then((function(){i._emitter.emit(h.default.DEMUX_ERROR,e,t)}))},e.prototype._onRecommendSeekpoint=function(e){var t=this;Promise.resolve().then((function(){t._emitter.emit(h.default.RECOMMEND_SEEKPOINT,e)}))},e.prototype._onLoggingConfigChanged=function(e){this._worker&&this._worker.postMessage({cmd:"logging_config",param:e})},e.prototype._onWorkerMessage=function(e){var t=e.data,i=t.data;if("destroyed"===t.msg||this._workerDestroying)return this._workerDestroying=!1,this._worker.terminate(),void(this._worker=null);switch(t.msg){case h.default.INIT_SEGMENT:case h.default.MEDIA_SEGMENT:this._emitter.emit(t.msg,i.type,i.data);break;case h.default.LOADING_COMPLETE:case h.default.RECOVERED_EARLY_EOF:this._emitter.emit(t.msg);break;case h.default.MEDIA_INFO:Object.setPrototypeOf(i,d.default.prototype),this._emitter.emit(t.msg,i);break;case h.default.METADATA_ARRIVED:case h.default.SCRIPTDATA_ARRIVED:case h.default.STATISTICS_INFO:this._emitter.emit(t.msg,i);break;case h.default.IO_ERROR:case h.default.DEMUX_ERROR:this._emitter.emit(t.msg,i.type,i.info);break;case h.default.RECOMMEND_SEEKPOINT:this._emitter.emit(t.msg,i);break;case"logcat_callback":o.default.emitter.emit("log",i.type,i.logcat)}},e}();t.default=c},"./src/core/transmuxing-controller.js": +/*!********************************************!*\ + !*** ./src/core/transmuxing-controller.js ***! + \********************************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),s=i( +/*! ../utils/browser.js */ +"./src/utils/browser.js"),o=i( +/*! ./media-info.js */ +"./src/core/media-info.js"),u=i( +/*! ../demux/flv-demuxer.js */ +"./src/demux/flv-demuxer.js"),l=i( +/*! ../remux/mp4-remuxer.js */ +"./src/remux/mp4-remuxer.js"),h=i( +/*! ../demux/demux-errors.js */ +"./src/demux/demux-errors.js"),d=i( +/*! ../io/io-controller.js */ +"./src/io/io-controller.js"),c=i( +/*! ./transmuxing-events.js */ +"./src/core/transmuxing-events.js"),f=function(){function e(e,t){this.TAG="TransmuxingController",this._emitter=new(r()),this._config=t,e.segments||(e.segments=[{duration:e.duration,filesize:e.filesize,url:e.url}]),"boolean"!=typeof e.cors&&(e.cors=!0),"boolean"!=typeof e.withCredentials&&(e.withCredentials=!1),this._mediaDataSource=e,this._currentSegmentIndex=0;var i=0;this._mediaDataSource.segments.forEach((function(n){n.timestampBase=i,i+=n.duration,n.cors=e.cors,n.withCredentials=e.withCredentials,t.referrerPolicy&&(n.referrerPolicy=t.referrerPolicy)})),isNaN(i)||this._mediaDataSource.duration===i||(this._mediaDataSource.duration=i),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}return e.prototype.destroy=function(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.start=function(){this._loadSegment(0),this._enableStatisticsReporter()},e.prototype._loadSegment=function(e,t){this._currentSegmentIndex=e;var i=this._mediaDataSource.segments[e],n=this._ioctl=new d.default(i,this._config,e);n.onError=this._onIOException.bind(this),n.onSeeked=this._onIOSeeked.bind(this),n.onComplete=this._onIOComplete.bind(this),n.onRedirect=this._onIORedirect.bind(this),n.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),t?this._demuxer.bindDataSource(this._ioctl):n.onDataArrival=this._onInitChunkArrival.bind(this),n.open(t)},e.prototype.stop=function(){this._internalAbort(),this._disableStatisticsReporter()},e.prototype._internalAbort=function(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)},e.prototype.pause=function(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())},e.prototype.resume=function(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())},e.prototype.seek=function(e){if(null!=this._mediaInfo&&this._mediaInfo.isSeekable()){var t=this._searchSegmentIndexContains(e);if(t===this._currentSegmentIndex){var i=this._mediaInfo.segments[t];if(null==i)this._pendingSeekTime=e;else{var n=i.getNearestKeyframe(e);this._remuxer.seek(n.milliseconds),this._ioctl.seek(n.fileposition),this._pendingResolveSeekPoint=n.milliseconds}}else{var r=this._mediaInfo.segments[t];null==r?(this._pendingSeekTime=e,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(t)):(n=r.getNearestKeyframe(e),this._internalAbort(),this._remuxer.seek(e),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[t].timestampBase,this._loadSegment(t,n.fileposition),this._pendingResolveSeekPoint=n.milliseconds,this._reportSegmentMediaInfo(t))}this._enableStatisticsReporter()}},e.prototype._searchSegmentIndexContains=function(e){for(var t=this._mediaDataSource.segments,i=t.length-1,n=0;n0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((n=u.default.probe(e)).match){this._demuxer=new u.default(n,this._config),this._remuxer||(this._remuxer=new l.default(this._config));var s=this._mediaDataSource;null==s.duration||isNaN(s.duration)||(this._demuxer.overridedDuration=s.duration),"boolean"==typeof s.hasAudio&&(this._demuxer.overridedHasAudio=s.hasAudio),"boolean"==typeof s.hasVideo&&(this._demuxer.overridedHasVideo=s.hasVideo),this._demuxer.timestampBase=s.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else n=null,a.default.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then((function(){i._internalAbort()})),this._emitter.emit(c.default.DEMUX_ERROR,h.default.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),r=0;return r},e.prototype._onMediaInfo=function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,o.default.prototype));var i=Object.assign({},e);Object.setPrototypeOf(i,o.default.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=i,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then((function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)}))},e.prototype._onMetaDataArrived=function(e){this._emitter.emit(c.default.METADATA_ARRIVED,e)},e.prototype._onScriptDataArrived=function(e){this._emitter.emit(c.default.SCRIPTDATA_ARRIVED,e)},e.prototype._onIOSeeked=function(){this._remuxer.insertDiscontinuity()},e.prototype._onIOComplete=function(e){var t=e+1;t0&&i[0].originalDts===n&&(n=i[0].pts),this._emitter.emit(c.default.RECOMMEND_SEEKPOINT,n)}},e.prototype._enableStatisticsReporter=function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))},e.prototype._disableStatisticsReporter=function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype._reportSegmentMediaInfo=function(e){var t=this._mediaInfo.segments[e],i=Object.assign({},t);i.duration=this._mediaInfo.duration,i.segmentCount=this._mediaInfo.segmentCount,delete i.segments,delete i.keyframesIndex,this._emitter.emit(c.default.MEDIA_INFO,i)},e.prototype._reportStatisticsInfo=function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(c.default.STATISTICS_INFO,e)},e}();t.default=f},"./src/core/transmuxing-events.js": +/*!****************************************!*\ + !*** ./src/core/transmuxing-events.js ***! + \****************************************/ +function(e,t,i){i.r(t),t.default={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"}},"./src/core/transmuxing-worker.js": +/*!****************************************!*\ + !*** ./src/core/transmuxing-worker.js ***! + \****************************************/ +function(e,t,i){i.r(t);var n=i( +/*! ../utils/logging-control.js */ +"./src/utils/logging-control.js"),r=i( +/*! ../utils/polyfill.js */ +"./src/utils/polyfill.js"),a=i( +/*! ./transmuxing-controller.js */ +"./src/core/transmuxing-controller.js"),s=i( +/*! ./transmuxing-events.js */ +"./src/core/transmuxing-events.js");t.default=function(e){var t=null,i=function(t,i){e.postMessage({msg:"logcat_callback",data:{type:t,logcat:i}})}.bind(this);function o(t,i){var n={msg:s.default.INIT_SEGMENT,data:{type:t,data:i}};e.postMessage(n,[i.data])}function u(t,i){var n={msg:s.default.MEDIA_SEGMENT,data:{type:t,data:i}};e.postMessage(n,[i.data])}function l(){var t={msg:s.default.LOADING_COMPLETE};e.postMessage(t)}function h(){var t={msg:s.default.RECOVERED_EARLY_EOF};e.postMessage(t)}function d(t){var i={msg:s.default.MEDIA_INFO,data:t};e.postMessage(i)}function c(t){var i={msg:s.default.METADATA_ARRIVED,data:t};e.postMessage(i)}function f(t){var i={msg:s.default.SCRIPTDATA_ARRIVED,data:t};e.postMessage(i)}function p(t){var i={msg:s.default.STATISTICS_INFO,data:t};e.postMessage(i)}function m(t,i){e.postMessage({msg:s.default.IO_ERROR,data:{type:t,info:i}})}function _(t,i){e.postMessage({msg:s.default.DEMUX_ERROR,data:{type:t,info:i}})}function g(t){e.postMessage({msg:s.default.RECOMMEND_SEEKPOINT,data:t})}r.default.install(),e.addEventListener("message",(function(r){switch(r.data.cmd){case"init":(t=new a.default(r.data.param[0],r.data.param[1])).on(s.default.IO_ERROR,m.bind(this)),t.on(s.default.DEMUX_ERROR,_.bind(this)),t.on(s.default.INIT_SEGMENT,o.bind(this)),t.on(s.default.MEDIA_SEGMENT,u.bind(this)),t.on(s.default.LOADING_COMPLETE,l.bind(this)),t.on(s.default.RECOVERED_EARLY_EOF,h.bind(this)),t.on(s.default.MEDIA_INFO,d.bind(this)),t.on(s.default.METADATA_ARRIVED,c.bind(this)),t.on(s.default.SCRIPTDATA_ARRIVED,f.bind(this)),t.on(s.default.STATISTICS_INFO,p.bind(this)),t.on(s.default.RECOMMEND_SEEKPOINT,g.bind(this));break;case"destroy":t&&(t.destroy(),t=null),e.postMessage({msg:"destroyed"});break;case"start":t.start();break;case"stop":t.stop();break;case"seek":t.seek(r.data.param);break;case"pause":t.pause();break;case"resume":t.resume();break;case"logging_config":var v=r.data.param;n.default.applyConfig(v),!0===v.enableCallback?n.default.addLogListener(i):n.default.removeLogListener(i)}}))}},"./src/demux/amf-parser.js": +/*!*********************************!*\ + !*** ./src/demux/amf-parser.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n,r=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),a=i( +/*! ../utils/utf8-conv.js */ +"./src/utils/utf8-conv.js"),s=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),o=(n=new ArrayBuffer(2),new DataView(n).setInt16(0,256,!0),256===new Int16Array(n)[0]),u=function(){function e(){}return e.parseScriptData=function(t,i,n){var a={};try{var s=e.parseValue(t,i,n),o=e.parseValue(t,i+s.size,n-s.size);a[s.data]=o.data}catch(e){r.default.e("AMF",e.toString())}return a},e.parseObject=function(t,i,n){if(n<3)throw new s.IllegalStateException("Data not enough when parse ScriptDataObject");var r=e.parseString(t,i,n),a=e.parseValue(t,i+r.size,n-r.size),o=a.objectEnd;return{data:{name:r.data,value:a.data},size:r.size+a.size,objectEnd:o}},e.parseVariable=function(t,i,n){return e.parseObject(t,i,n)},e.parseString=function(e,t,i){if(i<2)throw new s.IllegalStateException("Data not enough when parse String");var n=new DataView(e,t,i).getUint16(0,!o);return{data:n>0?(0,a.default)(new Uint8Array(e,t+2,n)):"",size:2+n}},e.parseLongString=function(e,t,i){if(i<4)throw new s.IllegalStateException("Data not enough when parse LongString");var n=new DataView(e,t,i).getUint32(0,!o);return{data:n>0?(0,a.default)(new Uint8Array(e,t+4,n)):"",size:4+n}},e.parseDate=function(e,t,i){if(i<10)throw new s.IllegalStateException("Data size invalid when parse Date");var n=new DataView(e,t,i),r=n.getFloat64(0,!o),a=n.getInt16(8,!o);return{data:new Date(r+=60*a*1e3),size:10}},e.parseValue=function(t,i,n){if(n<1)throw new s.IllegalStateException("Data not enough when parse Value");var a,u=new DataView(t,i,n),l=1,h=u.getUint8(0),d=!1;try{switch(h){case 0:a=u.getFloat64(1,!o),l+=8;break;case 1:a=!!u.getUint8(1),l+=1;break;case 2:var c=e.parseString(t,i+1,n-1);a=c.data,l+=c.size;break;case 3:a={};var f=0;for(9==(16777215&u.getUint32(n-4,!o))&&(f=3);l32)throw new n.InvalidArgumentException("ExpGolomb: readBits() bits exceeded max 32bits!");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var i=this._current_word_bits_left?this._current_word:0;i>>>=32-this._current_word_bits_left;var r=e-this._current_word_bits_left;this._fillCurrentWord();var a=Math.min(r,this._current_word_bits_left),s=this._current_word>>>32-a;return this._current_word<<=a,this._current_word_bits_left-=a,i=i<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()},e.prototype.readUEG=function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1},e.prototype.readSEG=function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)},e}();t.default=r},"./src/demux/flv-demuxer.js": +/*!**********************************!*\ + !*** ./src/demux/flv-demuxer.js ***! + \**********************************/ +function(e,t,i){i.r(t);var r=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),a=i( +/*! ./amf-parser.js */ +"./src/demux/amf-parser.js"),s=i( +/*! ./sps-parser.js */ +"./src/demux/sps-parser.js"),o=i( +/*! ./hevc-sps-parser.js */ +"./src/demux/hevc-sps-parser.js"),u=i( +/*! ./demux-errors.js */ +"./src/demux/demux-errors.js"),l=i( +/*! ../core/media-info.js */ +"./src/core/media-info.js"),h=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),d=function(){function e(e,t){var i;this.TAG="FLVDemuxer",this._config=t,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=e.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=e.hasAudioTrack,this._hasVideo=e.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new l.default,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=(i=new ArrayBuffer(2),new DataView(i).setInt16(0,256,!0),256===new Int16Array(i)[0])}return e.prototype.destroy=function(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null},e.probe=function(e){var t=new Uint8Array(e),i={match:!1};if(70!==t[0]||76!==t[1]||86!==t[2]||1!==t[3])return i;var n,r,a=(4&t[4])>>>2!=0,s=0!=(1&t[4]),o=(n=t)[r=5]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3];return o<9?i:{match:!0,consumed:o,dataOffset:o,hasAudioTrack:a,hasVideoTrack:s}},e.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},Object.defineProperty(e.prototype,"onTrackMetadata",{get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaInfo",{get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMetaDataArrived",{get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScriptDataArrived",{get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataAvailable",{get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"timestampBase",{get:function(){return this._timestampBase},set:function(e){this._timestampBase=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedDuration",{get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasAudio",{set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"overridedHasVideo",{set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e},enumerable:!1,configurable:!0}),e.prototype.resetMediaInfo=function(){this._mediaInfo=new l.default},e.prototype._isInitialMetadataDispatched=function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched},e.prototype.parseChunks=function(t,i){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new h.IllegalStateException("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var n=0,a=this._littleEndian;if(0===i){if(!(t.byteLength>13))return 0;n=e.probe(t).dataOffset}for(this._firstParse&&(this._firstParse=!1,i+n!==this._dataOffset&&r.default.w(this.TAG,"First time parsing but chunk byteStart invalid!"),0!==(s=new DataView(t,n)).getUint32(0,!a)&&r.default.w(this.TAG,"PrevTagSize0 !== 0 !!!"),n+=4);nt.byteLength)break;var o=s.getUint8(0),u=16777215&s.getUint32(0,!a);if(n+11+u+4>t.byteLength)break;if(8===o||9===o||18===o){var l=s.getUint8(4),d=s.getUint8(5),c=s.getUint8(6)|d<<8|l<<16|s.getUint8(7)<<24;0!=(16777215&s.getUint32(7,!a))&&r.default.w(this.TAG,"Meet tag which has StreamID != 0!");var f=n+11;switch(o){case 8:this._parseAudioData(t,f,u,c);break;case 9:this._parseVideoData(t,f,u,c,i+n);break;case 18:this._parseScriptData(t,f,u)}var p=s.getUint32(11+u,!a);p!==11+u&&r.default.w(this.TAG,"Invalid PrevTagSize "+p),n+=11+u+4}else r.default.w(this.TAG,"Unsupported tag type "+o+", skipped"),n+=11+u+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),n},e.prototype._parseScriptData=function(e,t,i){var s=a.default.parseScriptData(e,t,i);if(s.hasOwnProperty("onMetaData")){if(null==s.onMetaData||"object"!==n(s.onMetaData))return void r.default.w(this.TAG,"Invalid onMetaData structure!");this._metadata&&r.default.w(this.TAG,"Found another onMetaData tag!"),this._metadata=s;var o=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},o)),"boolean"==typeof o.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=o.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),"boolean"==typeof o.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=o.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),"number"==typeof o.audiodatarate&&(this._mediaInfo.audioDataRate=o.audiodatarate),"number"==typeof o.videodatarate&&(this._mediaInfo.videoDataRate=o.videodatarate),"number"==typeof o.width&&(this._mediaInfo.width=o.width),"number"==typeof o.height&&(this._mediaInfo.height=o.height),"number"==typeof o.duration){if(!this._durationOverrided){var u=Math.floor(o.duration*this._timescale);this._duration=u,this._mediaInfo.duration=u}}else this._mediaInfo.duration=0;if("number"==typeof o.framerate){var l=Math.floor(1e3*o.framerate);if(l>0){var h=l/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=h,this._referenceFrameRate.fps_num=l,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=h}}if("object"===n(o.keyframes)){this._mediaInfo.hasKeyframesIndex=!0;var d=o.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(d),o.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=o,r.default.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(s).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},s))},e.prototype._parseKeyframesIndex=function(e){for(var t=[],i=[],n=1;n>>4;if(2===s||10===s){var o=0,l=(12&a)>>>2;if(l>=0&&l<=4){o=this._flvSoundRateTable[l];var h=1&a,d=this._audioMetadata,c=this._audioTrack;if(d||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),(d=this._audioMetadata={}).type="audio",d.id=c.id,d.timescale=this._timescale,d.duration=this._duration,d.audioSampleRate=o,d.channelCount=0===h?1:2),10===s){var f=this._parseAACAudioData(e,t+1,i-1);if(null==f)return;if(0===f.packetType){d.config&&r.default.w(this.TAG,"Found another AudioSpecificConfig!");var p=f.data;d.audioSampleRate=p.samplingRate,d.channelCount=p.channelCount,d.codec=p.codec,d.originalCodec=p.originalCodec,d.config=p.config,d.refSampleDuration=1024/d.audioSampleRate*d.timescale,r.default.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",d),(g=this._mediaInfo).audioCodec=d.originalCodec,g.audioSampleRate=d.audioSampleRate,g.audioChannelCount=d.channelCount,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs="'+g.videoCodec+","+g.audioCodec+'"'):g.mimeType='video/x-flv; codecs="'+g.audioCodec+'"',g.isComplete()&&this._onMediaInfo(g)}else if(1===f.packetType){var m=this._timestampBase+n,_={unit:f.data,length:f.data.byteLength,dts:m,pts:m};c.samples.push(_),c.length+=f.data.length}else r.default.e(this.TAG,"Flv: Unsupported AAC data type "+f.packetType)}else if(2===s){if(!d.codec){var g;if(null==(p=this._parseMP3AudioData(e,t+1,i-1,!0)))return;d.audioSampleRate=p.samplingRate,d.channelCount=p.channelCount,d.codec=p.codec,d.originalCodec=p.originalCodec,d.refSampleDuration=1152/d.audioSampleRate*d.timescale,r.default.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",d),(g=this._mediaInfo).audioCodec=d.codec,g.audioSampleRate=d.audioSampleRate,g.audioChannelCount=d.channelCount,g.audioDataRate=p.bitRate,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs="'+g.videoCodec+","+g.audioCodec+'"'):g.mimeType='video/x-flv; codecs="'+g.audioCodec+'"',g.isComplete()&&this._onMediaInfo(g)}var v=this._parseMP3AudioData(e,t+1,i-1,!1);if(null==v)return;m=this._timestampBase+n;var y={unit:v,length:v.byteLength,dts:m,pts:m};c.samples.push(y),c.length+=v.length}}else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+l)}else this._onError(u.default.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+s)}},e.prototype._parseAACAudioData=function(e,t,i){if(!(i<=1)){var n={},a=new Uint8Array(e,t,i);return n.packetType=a[0],0===a[0]?n.data=this._parseAACAudioSpecificConfig(e,t+1,i-1):n.data=a.subarray(1),n}r.default.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!")},e.prototype._parseAACAudioSpecificConfig=function(e,t,i){var n,r,a=new Uint8Array(e,t,i),s=null,o=0,l=null;if(o=n=a[0]>>>3,(r=(7&a[0])<<1|a[1]>>>7)<0||r>=this._mpegSamplingRates.length)this._onError(u.default.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");else{var h=this._mpegSamplingRates[r],d=(120&a[1])>>>3;if(!(d<0||d>=8)){5===o&&(l=(7&a[1])<<1|a[2]>>>7,a[2]);var c=self.navigator.userAgent.toLowerCase();return-1!==c.indexOf("firefox")?r>=6?(o=5,s=new Array(4),l=r-3):(o=2,s=new Array(2),l=r):-1!==c.indexOf("android")?(o=2,s=new Array(2),l=r):(o=5,l=r,s=new Array(4),r>=6?l=r-3:1===d&&(o=2,s=new Array(2),l=r)),s[0]=o<<3,s[0]|=(15&r)>>>1,s[1]=(15&r)<<7,s[1]|=(15&d)<<3,5===o&&(s[1]|=(15&l)>>>1,s[2]=(1&l)<<7,s[2]|=8,s[3]=0),{config:s,samplingRate:h,channelCount:d,codec:"mp4a.40."+o,originalCodec:"mp4a.40."+n}}this._onError(u.default.FORMAT_ERROR,"Flv: AAC invalid channel configuration")}},e.prototype._parseMP3AudioData=function(e,t,i,n){if(!(i<4)){this._littleEndian;var a=new Uint8Array(e,t,i),s=null;if(n){if(255!==a[0])return;var o=a[1]>>>3&3,u=(6&a[1])>>1,l=(240&a[2])>>>4,h=(12&a[2])>>>2,d=3!=(a[3]>>>6&3)?2:1,c=0,f=0;switch(o){case 0:c=this._mpegAudioV25SampleRateTable[h];break;case 2:c=this._mpegAudioV20SampleRateTable[h];break;case 3:c=this._mpegAudioV10SampleRateTable[h]}switch(u){case 1:l>>4,l=15&s;7===l||12===l?7===l?this._parseAVCVideoPacket(e,t+1,i-1,n,a,o):12===l&&this._parseHVCVideoPacket(e,t+1,i-1,n,a,o):this._onError(u.default.CODEC_UNSUPPORTED,"Flv: Unsupported codec in video frame: "+l)}},e.prototype._parseAVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.default.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");else{var o=this._littleEndian,l=new DataView(e,t,i),h=l.getUint8(0),d=(16777215&l.getUint32(0,!o))<<8>>8;if(0===h)this._parseAVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===h)this._parseAVCVideoData(e,t+4,i-4,n,a,s,d);else if(2!==h)return void this._onError(u.default.FORMAT_ERROR,"Flv: Invalid video packet type "+h)}},e.prototype._parseAVCDecoderConfigurationRecord=function(e,t,i){if(i<7)r.default.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");else{var n=this._videoMetadata,a=this._videoTrack,o=this._littleEndian,l=new DataView(e,t,i);n?void 0!==n.avcc&&r.default.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type="video",n.id=a.id,n.timescale=this._timescale,n.duration=this._duration);var h=l.getUint8(0),d=l.getUint8(1);if(l.getUint8(2),l.getUint8(3),1===h&&0!==d)if(this._naluLengthSize=1+(3&l.getUint8(4)),3===this._naluLengthSize||4===this._naluLengthSize){var c=31&l.getUint8(5);if(0!==c){c>1&&r.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = "+c);for(var f=6,p=0;p1&&r.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = "+A),f++,p=0;p=i){r.default.w(this.TAG,"Malformed Nalu near timestamp "+p+", offset = "+c+", dataSize = "+i);break}var _=l.getUint32(c,!u);if(3===f&&(_>>>=8),_>i-f)return void r.default.w(this.TAG,"Malformed Nalus near timestamp "+p+", NaluSize > DataSize!");var g=31&l.getUint8(c+f);5===g&&(m=!0);var v=new Uint8Array(e,t+c,f+_),y={type:g,data:v};h.push(y),d+=v.byteLength,c+=f+_}if(h.length){var b=this._videoTrack,S={units:h,length:d,isKeyframe:m,dts:p,cts:o,pts:p+o};m&&(S.fileposition=a),b.samples.push(S),b.length+=d}},e.prototype._parseHVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.default.w(this.TAG,"Flv: Invalid HVC packet, missing HVCPacketType or/and CompositionTime");else{var o=this._littleEndian,l=new DataView(e,t,i),h=l.getUint8(0),d=(16777215&l.getUint32(0,!o))<<8>>8;if(0===h)this._parseHVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===h)this._parseHVCVideoData(e,t+4,i-4,n,a,s,d);else if(2!==h)return void this._onError(u.default.FORMAT_ERROR,"Flv: Invalid video packet type "+h)}},e.prototype._parseHVCDecoderConfigurationRecord=function(e,t,i){if(i<23)r.default.w(this.TAG,"Flv: Invalid HVCDecoderConfigurationRecord, lack of data!");else{var n=this._videoMetadata,a=this._videoTrack,s=this._littleEndian,l=new DataView(e,t,i);if(n?void 0!==n.avcc&&r.default.w(this.TAG,"Found another HVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type="video",n.id=a.id,n.timescale=this._timescale,n.duration=this._duration),1===l.getUint8(0))if(this._naluLengthSize=1+(3&l.getUint8(21)),3===this._naluLengthSize||4===this._naluLengthSize){for(var h,d,c,f=l.getUint8(22),p=23,m=[],_=0;_1&&r.default.w(this.TAG,"Flv: Strange HVCDecoderConfigurationRecord: VPS Count = "+h),0!==d)if(d>1&&r.default.w(this.TAG,"Flv: Strange HVCDecoderConfigurationRecord: SPS Count = "+d),0!==c){c>1&&r.default.w(this.TAG,"Flv: Strange HVCDecoderConfigurationRecord: PPS Count = "+d);var T=m[0],E=o.default.parseSPS(T);n.codecWidth=E.codec_size.width,n.codecHeight=E.codec_size.height,n.presentWidth=E.present_size.width,n.presentHeight=E.present_size.height,n.profile=E.profile_string,n.level=E.level_string,n.profile_idc=E.profile_idc,n.level_idc=E.level_idc,n.bitDepth=E.bit_depth,n.chromaFormat=E.chroma_format,n.sarRatio=E.sar_ratio,n.frameRate=E.frame_rate,!1!==E.frame_rate.fixed&&0!==E.frame_rate.fps_num&&0!==E.frame_rate.fps_den||(n.frameRate=this._referenceFrameRate);var w=n.frameRate.fps_den,A=n.frameRate.fps_num;n.refSampleDuration=n.timescale*(w/A);var C="hvc1."+n.profile_idc+".1.L"+n.level_idc+".B0";n.codec=C;var k=this._mediaInfo;k.width=n.codecWidth,k.height=n.codecHeight,k.fps=n.frameRate.fps,k.profile=n.profile,k.level=n.level,k.refFrames=E.ref_frames,k.chromaFormat=E.chroma_format_string,k.sarNum=n.sarRatio.width,k.sarDen=n.sarRatio.height,k.videoCodec=C,k.hasAudio?null!=k.audioCodec&&(k.mimeType='video/x-flv; codecs="'+k.videoCodec+","+k.audioCodec+'"'):k.mimeType='video/x-flv; codecs="'+k.videoCodec+'"',k.isComplete()&&this._onMediaInfo(k),n.avcc=new Uint8Array(i),n.avcc.set(new Uint8Array(e,t,i),0),r.default.v(this.TAG,"Parsed HVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",n)}else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord: No PPS");else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord: No SPS");else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord: No VPS")}else this._onError(u.default.FORMAT_ERROR,"Flv: Strange NaluLengthSizeMinusOne: "+(this._naluLengthSize-1));else this._onError(u.default.FORMAT_ERROR,"Flv: Invalid HVCDecoderConfigurationRecord")}},e.prototype._parseHVCVideoData=function(e,t,i,n,a,s,o){for(var u=this._littleEndian,l=new DataView(e,t,i),h=[],d=0,c=0,f=this._naluLengthSize,p=this._timestampBase+n,m=1===s;c=i){r.default.w(this.TAG,"Malformed Nalu near timestamp "+p+", offset = "+c+", dataSize = "+i);break}var _=l.getUint32(c,!u);if(3===f&&(_>>>=8),_>i-f)return void r.default.w(this.TAG,"Malformed Nalus near timestamp "+p+", NaluSize > DataSize!");var g=l.getUint8(c+f)>>1&63;g>=16&&g<=23&&(m=!0);var v=new Uint8Array(e,t+c,f+_),y={type:g,data:v};h.push(y),d+=v.byteLength,c+=f+_}if(h.length){var b=this._videoTrack,S={units:h,length:d,isKeyframe:m,dts:p,cts:o,pts:p+o};m&&(S.fileposition=a),b.samples.push(S),b.length+=d}},e}();t.default=d},"./src/demux/hevc-sps-parser.js": +/*!**************************************!*\ + !*** ./src/demux/hevc-sps-parser.js ***! + \**************************************/ +function(e,t,i){i.r(t);var n=i( +/*! ./exp-golomb.js */ +"./src/demux/exp-golomb.js"),r=i( +/*! ./sps-parser.js */ +"./src/demux/sps-parser.js"),a=function(){function e(){}return e.parseSPS=function(t){var i=r.default._ebsp2rbsp(t),a=new n.default(i),s={};a.readBits(16),a.readBits(4);var o=a.readBits(3);a.readBits(1),e._hvcc_parse_ptl(a,s,o),a.readUEG();var u=0,l=a.readUEG();3==l&&(u=a.readBits(1)),s.sar_width=s.sar_height=1,s.conf_win_left_offset=s.conf_win_right_offset=s.conf_win_top_offset=s.conf_win_bottom_offset=0,s.def_disp_win_left_offset=s.def_disp_win_right_offset=s.def_disp_win_top_offset=s.def_disp_win_bottom_offset=0;var h=a.readUEG(),d=a.readUEG();a.readBits(1)&&(s.conf_win_left_offset=a.readUEG(),s.conf_win_right_offset=a.readUEG(),s.conf_win_top_offset=a.readUEG(),s.conf_win_bottom_offset=a.readUEG(),1===s.default_display_window_flag&&(s.conf_win_left_offset,s.def_disp_win_left_offset,s.conf_win_right_offset,s.def_disp_win_right_offset,s.conf_win_top_offset,s.def_disp_win_top_offset,s.conf_win_bottom_offset,s.def_disp_win_bottom_offset));var c=a.readUEG()+8;a.readUEG();for(var f=a.readUEG(),p=a.readBits(1)?0:o;p<=o;p++)e._skip_sub_layer_ordering_info(a);a.readUEG(),a.readUEG(),a.readUEG(),a.readUEG(),a.readUEG(),a.readUEG(),a.readBits(1)&&a.readBits(1)&&e._skip_scaling_list_data(a),a.readBits(1),a.readBits(1),a.readBits(1)&&(a.readBits(4),a.readBits(4),a.readUEG(),a.readUEG(),a.readBits(1));var m=[],_=a.readUEG();for(p=0;p<_;p++){var g=e._parse_rps(a,p,_,m);if(g<0)return g}if(a.readBits(1)){var v=a.readUEG();for(p=0;p32){for(var b=y/32,S=y%32,T=0;T0)for(u=i;u<8;u++)e.readBits(2);for(u=0;u=i)return-1;e.readBits(1),e.readUEG(),n[t]=0;for(var r=0;r<=n[t-1];r++){var a=0,s=e.readBits(1);s||(a=e.readBits(1)),(s||a)&&n[t]++}}else{var o=e.readUEG(),u=e.readUEG();for(n[t]=o+u,r=0;r1&&e.readSEG();for(var r=0;r0&&(t.fps=t.fps_num/t.fps_den);var i=0;e.readBits(1)&&(i=e.readUEG())>=0&&(t.fps/=i+1)},e._skip_hrd_parameters=function(t,i,n){var r=0,a=0;if(i&&(r=t.readBits(1),a=t.readBits(1),r||a)){var s=t.readBits(1);s&&t.readBits(19),t.readByte(),s&&t.readBits(4),t.readBits(15)}for(var o=0;o<=n;o++){var u=0,l=0,h=0,d=t.readBits(1);hvcc.fps_fixed=d,d||(h=t.readBits(1)),h?t.readUEG():l=t.readBits(1),l||(u=t.readUEG(t)),r&&e._skip_sub_layer_hrd_parameters(t,u,0),a&&e._skip_sub_layer_hrd_parameters(t,u,0)}},e.getProfileString=function(e){switch(e){case 1:return"Main";case 2:return"Main10";case 3:return"MainSP";case 4:return"Rext";case 9:return"SCC";default:return"Unknown"}},e.getLevelString=function(e){return(e/30).toFixed(1)},e.getChromaFormatString=function(e){switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}},e}();t.default=a},"./src/demux/sps-parser.js": +/*!*********************************!*\ + !*** ./src/demux/sps-parser.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n=i( +/*! ./exp-golomb.js */ +"./src/demux/exp-golomb.js"),r=function(){function e(){}return e._ebsp2rbsp=function(e){for(var t=e,i=t.byteLength,n=new Uint8Array(i),r=0,a=0;a=2&&3===t[a]&&0===t[a-1]&&0===t[a-2]||(n[r]=t[a],r++);return new Uint8Array(n.buffer,0,r)},e.parseSPS=function(t){var i=e._ebsp2rbsp(t),r=new n.default(i);r.readByte();var a=r.readByte();r.readByte();var s=r.readByte();r.readUEG();var o=e.getProfileString(a),u=e.getLevelString(s),l=1,h=420,d=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(3===(l=r.readUEG())&&r.readBits(1),l<=3&&(h=[0,420,422,444][l]),d=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool()))for(var c=3!==l?8:12,f=0;f0&&L<16?(w=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][L-1],A=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][L-1]):255===L&&(w=r.readByte()<<8|r.readByte(),A=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){var x=r.readBits(32),R=r.readBits(32);k=r.readBool(),C=(P=R)/(I=2*x)}}var D=1;1===w&&1===A||(D=w/A);var O=0,U=0;0===l?(O=1,U=2-y):(O=3===l?1:2,U=(1===l?2:1)*(2-y));var M=16*(g+1),F=16*(v+1)*(2-y);M-=(b+S)*O,F-=(T+E)*U;var B=Math.ceil(M*D);return r.destroy(),r=null,{profile_string:o,level_string:u,bit_depth:d,ref_frames:_,chroma_format:h,chroma_format_string:e.getChromaFormatString(h),frame_rate:{fixed:k,fps:C,fps_den:I,fps_num:P},sar_ratio:{width:w,height:A},codec_size:{width:M,height:F},present_size:{width:B,height:F}}},e._skipScalingList=function(e,t){for(var i=8,n=8,r=0;r=15048,t=!a.default.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){var i=this;this._dataSource=e,this._range=t;var r=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(r=e.redirectedURL);var a=this._seekHandler.getConfig(r,t),u=new self.Headers;if("object"===n(a.headers)){var l=a.headers;for(var h in l)l.hasOwnProperty(h)&&u.append(h,l[h])}var d={method:"GET",headers:u,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if("object"===n(this._config.headers))for(var h in this._config.headers)u.append(h,this._config.headers[h]);!1===e.cors&&(d.mode="same-origin"),e.withCredentials&&(d.credentials="include"),e.referrerPolicy&&(d.referrerPolicy=e.referrerPolicy),self.AbortController&&(this._abortController=new self.AbortController,d.signal=this._abortController.signal),this._status=s.LoaderStatus.kConnecting,self.fetch(a.url,d).then((function(e){if(i._requestAbort)return i._status=s.LoaderStatus.kIdle,void e.body.cancel();if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==a.url&&i._onURLRedirect){var t=i._seekHandler.removeURLParameters(e.url);i._onURLRedirect(t)}var n=e.headers.get("Content-Length");return null!=n&&(i._contentLength=parseInt(n),0!==i._contentLength&&i._onContentLengthKnown&&i._onContentLengthKnown(i._contentLength)),i._pump.call(i,e.body.getReader())}if(i._status=s.LoaderStatus.kError,!i._onError)throw new o.RuntimeException("FetchStreamLoader: Http code invalid, "+e.status+" "+e.statusText);i._onError(s.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})})).catch((function(e){if(!i._abortController||!i._abortController.signal.aborted){if(i._status=s.LoaderStatus.kError,!i._onError)throw e;i._onError(s.LoaderErrors.EXCEPTION,{code:-1,msg:e.message})}}))},t.prototype.abort=function(){if(this._requestAbort=!0,(this._status!==s.LoaderStatus.kBuffering||!a.default.chrome)&&this._abortController)try{this._abortController.abort()}catch(e){}},t.prototype._pump=function(e){var t=this;return e.read().then((function(i){if(i.done)if(null!==t._contentLength&&t._receivedLength0&&(this._stashInitialSize=t.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===t.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=e,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(e.url),this._refTotalLength=e.filesize?e.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new r.default,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return e.prototype.destroy=function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null},e.prototype.isWorking=function(){return this._loader&&this._loader.isWorking()&&!this._paused},e.prototype.isPaused=function(){return this._paused},Object.defineProperty(e.prototype,"status",{get:function(){return this._loader.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"extraData",{get:function(){return this._extraData},set:function(e){this._extraData=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onDataArrival",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSeeked",{get:function(){return this._onSeeked},set:function(e){this._onSeeked=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onError",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onComplete",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRedirect",{get:function(){return this._onRedirect},set:function(e){this._onRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRecoveredEarlyEof",{get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentURL",{get:function(){return this._dataSource.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasRedirect",{get:function(){return null!=this._redirectedURL||null!=this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentRedirectedURL",{get:function(){return this._redirectedURL||this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentSpeed",{get:function(){return this._loaderClass===u.default?this._loader.currentSpeed:this._speedSampler.lastSecondKBps},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"loaderType",{get:function(){return this._loader.type},enumerable:!1,configurable:!0}),e.prototype._selectSeekHandler=function(){var e=this._config;if("range"===e.seekType)this._seekHandler=new h.default(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",i=e.seekParamEnd||"bend";this._seekHandler=new d.default(t,i)}else{if("custom"!==e.seekType)throw new c.InvalidArgumentException("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new c.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}},e.prototype._selectLoader=function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=l.default;else if(s.default.isSupported())this._loaderClass=s.default;else if(o.default.isSupported())this._loaderClass=o.default;else{if(!u.default.isSupported())throw new c.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=u.default}},e.prototype._createLoader=function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)},e.prototype.open=function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))},e.prototype.abort=function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)},e.prototype.pause=function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)},e.prototype.resume=function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}},e.prototype.seek=function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)},e.prototype._internalSeek=function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var i={from:e,to:-1};this._currentRange={from:i.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,i),this._onSeeked&&this._onSeeked()},e.prototype.updateUrl=function(e){if(!e||"string"!=typeof e||0===e.length)throw new c.InvalidArgumentException("Url must be a non-empty string!");this._dataSource.url=e},e.prototype._expandBuffer=function(e){for(var t=this._stashSize;t+10485760){var n=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(i,0,t).set(n,0)}this._stashBuffer=i,this._bufferSize=t}},e.prototype._normalizeSpeed=function(e){var t=this._speedNormalizeList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var i=1024*t+1048576;this._bufferSize0){var a=this._stashBuffer.slice(0,this._stashUsed);(u=this._dispatchChunks(a,this._stashByteStart))0&&(l=new Uint8Array(a,u),o.set(l,0),this._stashUsed=l.byteLength,this._stashByteStart+=u):(this._stashUsed=0,this._stashByteStart+=u),this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else(u=this._dispatchChunks(e,t))this._bufferSize&&(this._expandBuffer(s),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e,u),0),this._stashUsed+=s,this._stashByteStart=t+u);else if(0===this._stashUsed){var s;(u=this._dispatchChunks(e,t))this._bufferSize&&this._expandBuffer(s),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e,u),0),this._stashUsed+=s,this._stashByteStart=t+u)}else{var o,u;if(this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength,(u=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart))0){var l=new Uint8Array(this._stashBuffer,u);o.set(l,0)}this._stashUsed-=u,this._stashByteStart+=u}}},e.prototype._flushStashBuffer=function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),i=this._dispatchChunks(t,this._stashByteStart),r=t.byteLength-i;if(i0){var a=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,i);a.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=i}return 0}n.default.w(this.TAG,r+" bytes unconsumed data remain when flush buffer, dropped")}return this._stashUsed=0,this._stashByteStart=0,r}return 0},e.prototype._onLoaderComplete=function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)},e.prototype._onLoaderError=function(e,t){switch(n.default.e(this.TAG,"Loader error, code = "+t.code+", msg = "+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=a.LoaderErrors.UNRECOVERABLE_EARLY_EOF),e){case a.LoaderErrors.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var i=this._currentRange.to+1;return void(i0)for(var a=i.split("&"),s=0;s0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+="&"),r+=a[s])}return 0===r.length?t:t+"?"+r},e}();t.default=n},"./src/io/range-seek-handler.js": +/*!**************************************!*\ + !*** ./src/io/range-seek-handler.js ***! + \**************************************/ +function(e,t,i){i.r(t);var n=function(){function e(e){this._zeroStart=e||!1}return e.prototype.getConfig=function(e,t){var i={};if(0!==t.from||-1!==t.to){var n=void 0;n=-1!==t.to?"bytes="+t.from.toString()+"-"+t.to.toString():"bytes="+t.from.toString()+"-",i.Range=n}else this._zeroStart&&(i.Range="bytes=0-");return{url:e,headers:i}},e.prototype.removeURLParameters=function(e){return e},e}();t.default=n},"./src/io/speed-sampler.js": +/*!*********************************!*\ + !*** ./src/io/speed-sampler.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n=function(){function e(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return e.prototype.reset=function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0},e.prototype.addBytes=function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())},Object.defineProperty(e.prototype,"currentKBps",{get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastSecondKBps",{get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"averageKBps",{get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024},enumerable:!1,configurable:!0}),e}();t.default=n},"./src/io/websocket-loader.js": +/*!************************************!*\ + !*** ./src/io/websocket-loader.js ***! + \************************************/ +function(e,t,i){i.r(t);var n,r=i( +/*! ./loader.js */ +"./src/io/loader.js"),a=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),s=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),o=function(e){function t(){var t=e.call(this,"websocket-loader")||this;return t.TAG="WebSocketLoader",t._needStash=!0,t._ws=null,t._requestAbort=!1,t._receivedLength=0,t}return s(t,e),t.isSupported=function(){try{return void 0!==self.WebSocket}catch(e){return!1}},t.prototype.destroy=function(){this._ws&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e){try{var t=this._ws=new self.WebSocket(e.url);t.binaryType="arraybuffer",t.onopen=this._onWebSocketOpen.bind(this),t.onclose=this._onWebSocketClose.bind(this),t.onmessage=this._onWebSocketMessage.bind(this),t.onerror=this._onWebSocketError.bind(this),this._status=r.LoaderStatus.kConnecting}catch(e){this._status=r.LoaderStatus.kError;var i={code:e.code,msg:e.message};if(!this._onError)throw new a.RuntimeException(i.msg);this._onError(r.LoaderErrors.EXCEPTION,i)}},t.prototype.abort=function(){var e=this._ws;!e||0!==e.readyState&&1!==e.readyState||(this._requestAbort=!0,e.close()),this._ws=null,this._status=r.LoaderStatus.kComplete},t.prototype._onWebSocketOpen=function(e){this._status=r.LoaderStatus.kBuffering},t.prototype._onWebSocketClose=function(e){!0!==this._requestAbort?(this._status=r.LoaderStatus.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)):this._requestAbort=!1},t.prototype._onWebSocketMessage=function(e){var t=this;if(e.data instanceof ArrayBuffer)this._dispatchArrayBuffer(e.data);else if(e.data instanceof Blob){var i=new FileReader;i.onload=function(){t._dispatchArrayBuffer(i.result)},i.readAsArrayBuffer(e.data)}else{this._status=r.LoaderStatus.kError;var n={code:-1,msg:"Unsupported WebSocket message type: "+e.data.constructor.name};if(!this._onError)throw new a.RuntimeException(n.msg);this._onError(r.LoaderErrors.EXCEPTION,n)}},t.prototype._dispatchArrayBuffer=function(e){var t=e,i=this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)},t.prototype._onWebSocketError=function(e){this._status=r.LoaderStatus.kError;var t={code:e.code,msg:e.message};if(!this._onError)throw new a.RuntimeException(t.msg);this._onError(r.LoaderErrors.EXCEPTION,t)},t}(r.BaseLoader);t.default=o},"./src/io/xhr-moz-chunked-loader.js": +/*!******************************************!*\ + !*** ./src/io/xhr-moz-chunked-loader.js ***! + \******************************************/ +function(e,t,i){i.r(t);var r,a=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),s=i( +/*! ./loader.js */ +"./src/io/loader.js"),o=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),u=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),l=function(e){function t(t,i){var n=e.call(this,"xhr-moz-chunked-loader")||this;return n.TAG="MozChunkedLoader",n._seekHandler=t,n._config=i,n._needStash=!0,n._xhr=null,n._requestAbort=!1,n._contentLength=null,n._receivedLength=0,n}return u(t,e),t.isSupported=function(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="moz-chunked-arraybuffer","moz-chunked-arraybuffer"===e.responseType}catch(e){return a.default.w("MozChunkedLoader",e.message),!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){this._dataSource=e,this._range=t;var i=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(i=e.redirectedURL);var r=this._seekHandler.getConfig(i,t);this._requestURL=r.url;var a=this._xhr=new XMLHttpRequest;if(a.open("GET",r.url,!0),a.responseType="moz-chunked-arraybuffer",a.onreadystatechange=this._onReadyStateChange.bind(this),a.onprogress=this._onProgress.bind(this),a.onloadend=this._onLoadEnd.bind(this),a.onerror=this._onXhrError.bind(this),e.withCredentials&&(a.withCredentials=!0),"object"===n(r.headers)){var o=r.headers;for(var u in o)o.hasOwnProperty(u)&&a.setRequestHeader(u,o[u])}if("object"===n(this._config.headers))for(var u in o=this._config.headers)o.hasOwnProperty(u)&&a.setRequestHeader(u,o[u]);this._status=s.LoaderStatus.kConnecting,a.send()},t.prototype.abort=function(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=s.LoaderStatus.kComplete},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL&&t.responseURL!==this._requestURL&&this._onURLRedirect){var i=this._seekHandler.removeURLParameters(t.responseURL);this._onURLRedirect(i)}if(0!==t.status&&(t.status<200||t.status>299)){if(this._status=s.LoaderStatus.kError,!this._onError)throw new o.RuntimeException("MozChunkedLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(s.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=s.LoaderStatus.kBuffering}},t.prototype._onProgress=function(e){if(this._status!==s.LoaderStatus.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,i=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)}},t.prototype._onLoadEnd=function(e){!0!==this._requestAbort?this._status!==s.LoaderStatus.kError&&(this._status=s.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)):this._requestAbort=!1},t.prototype._onXhrError=function(e){this._status=s.LoaderStatus.kError;var t=0,i=null;if(this._contentLength&&e.loaded=this._contentLength&&(i=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:i},this._internalOpen(this._dataSource,this._currentRequestRange)},t.prototype._internalOpen=function(e,t){this._lastTimeLoaded=0;var i=e.url;this._config.reuseRedirectedURL&&(null!=this._currentRedirectedURL?i=this._currentRedirectedURL:null!=e.redirectedURL&&(i=e.redirectedURL));var r=this._seekHandler.getConfig(i,t);this._currentRequestURL=r.url;var a=this._xhr=new XMLHttpRequest;if(a.open("GET",r.url,!0),a.responseType="arraybuffer",a.onreadystatechange=this._onReadyStateChange.bind(this),a.onprogress=this._onProgress.bind(this),a.onload=this._onLoad.bind(this),a.onerror=this._onXhrError.bind(this),e.withCredentials&&(a.withCredentials=!0),"object"===n(r.headers)){var s=r.headers;for(var o in s)s.hasOwnProperty(o)&&a.setRequestHeader(o,s[o])}if("object"===n(this._config.headers))for(var o in s=this._config.headers)s.hasOwnProperty(o)&&a.setRequestHeader(o,s[o]);a.send()},t.prototype.abort=function(){this._requestAbort=!0,this._internalAbort(),this._status=o.LoaderStatus.kComplete},t.prototype._internalAbort=function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL){var i=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&i!==this._currentRedirectedURL&&(this._currentRedirectedURL=i,this._onURLRedirect&&this._onURLRedirect(i))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=o.LoaderStatus.kBuffering}else{if(this._status=o.LoaderStatus.kError,!this._onError)throw new u.RuntimeException("RangeLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(o.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}},t.prototype._onProgress=function(e){if(this._status!==o.LoaderStatus.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var i=e.total;this._internalAbort(),null!=i&0!==i&&(this._totalLength=i)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var n=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(n)}},t.prototype._normalizeSpeed=function(e){var t=this._chunkSizeKBList,i=t.length-1,n=0,r=0,a=i;if(e=t[n]&&e=3&&(t=this._speedSampler.currentKBps)),0!==t){var i=this._normalizeSpeed(t);this._currentSpeedNormalized!==i&&(this._currentSpeedNormalized=i,this._currentChunkSizeKB=i)}var n=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=n.byteLength;var a=!1;null!=this._contentLength&&this._receivedLength0&&this._receivedLength0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new l.default(this._mediaDataSource,this._config),this._transmuxer.on(h.default.INIT_SEGMENT,(function(t,i){e._msectl.appendInitSegment(i)})),this._transmuxer.on(h.default.MEDIA_SEGMENT,(function(t,i){if(e._msectl.appendMediaSegment(i),e._config.lazyLoad&&!e._config.isLive){var n=e._mediaElement.currentTime;i.info.endDts>=1e3*(n+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(s.default.v(e.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),e._suspendTransmuxer())}})),this._transmuxer.on(h.default.LOADING_COMPLETE,(function(){e._msectl.endOfStream(),e._emitter.emit(u.default.LOADING_COMPLETE)})),this._transmuxer.on(h.default.RECOVERED_EARLY_EOF,(function(){e._emitter.emit(u.default.RECOVERED_EARLY_EOF)})),this._transmuxer.on(h.default.IO_ERROR,(function(t,i){e._emitter.emit(u.default.ERROR,f.ErrorTypes.NETWORK_ERROR,t,i)})),this._transmuxer.on(h.default.DEMUX_ERROR,(function(t,i){e._emitter.emit(u.default.ERROR,f.ErrorTypes.MEDIA_ERROR,t,{code:-1,msg:i})})),this._transmuxer.on(h.default.MEDIA_INFO,(function(t){e._mediaInfo=t,e._emitter.emit(u.default.MEDIA_INFO,Object.assign({},t))})),this._transmuxer.on(h.default.METADATA_ARRIVED,(function(t){e._emitter.emit(u.default.METADATA_ARRIVED,t)})),this._transmuxer.on(h.default.SCRIPTDATA_ARRIVED,(function(t){e._emitter.emit(u.default.SCRIPTDATA_ARRIVED,t)})),this._transmuxer.on(h.default.STATISTICS_INFO,(function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(u.default.STATISTICS_INFO,Object.assign({},e._statisticsInfo))})),this._transmuxer.on(h.default.RECOMMEND_SEEKPOINT,(function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)})),this._transmuxer.open()))},e.prototype.unload=function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){return Object.assign({},this._mediaInfo)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)},enumerable:!1,configurable:!0}),e.prototype._fillStatisticsInfo=function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},e.prototype._onmseUpdateEnd=function(){if(this._config.lazyLoad&&!this._config.isLive){for(var e=this._mediaElement.buffered,t=this._mediaElement.currentTime,i=0,n=0;n=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(s.default.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}},e.prototype._onmseBufferFull=function(){s.default.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),null==this._progressChecker&&this._suspendTransmuxer()},e.prototype._suspendTransmuxer=function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))},e.prototype._checkProgressAndResume=function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,i=!1,n=0;n=r&&e=a-this._config.lazyLoadRecoverDuration&&(i=!0);break}}i&&(window.clearInterval(this._progressChecker),this._progressChecker=null,i&&(s.default.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))},e.prototype._isTimepointBuffered=function(e){for(var t=this._mediaElement.buffered,i=0;i=n&&e0){var r=this._mediaElement.buffered.start(0);(r<1&&e0&&t.currentTime0){var n=i.start(0);if(n<1&&t0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)},e.prototype.unload=function(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffered",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentTime",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"mediaInfo",{get:function(){var e={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(e.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(e.width=this._mediaElement.videoWidth,e.height=this._mediaElement.videoHeight)),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statisticsInfo",{get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();i=r.totalVideoFrames,n=r.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},enumerable:!1,configurable:!0}),e.prototype._onvLoadedMetadata=function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(s.default.MEDIA_INFO,this.mediaInfo)},e.prototype._reportStatisticsInfo=function(){this._emitter.emit(s.default.STATISTICS_INFO,this.statisticsInfo)},e}();t.default=l},"./src/player/player-errors.js": +/*!*************************************!*\ + !*** ./src/player/player-errors.js ***! + \*************************************/ +function(e,t,i){i.r(t),i.d(t,{ErrorTypes:function(){return a},ErrorDetails:function(){return s}});var n=i( +/*! ../io/loader.js */ +"./src/io/loader.js"),r=i( +/*! ../demux/demux-errors.js */ +"./src/demux/demux-errors.js"),a={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},s={NETWORK_EXCEPTION:n.LoaderErrors.EXCEPTION,NETWORK_STATUS_CODE_INVALID:n.LoaderErrors.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:n.LoaderErrors.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:n.LoaderErrors.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:r.default.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:r.default.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:r.default.CODEC_UNSUPPORTED}},"./src/player/player-events.js": +/*!*************************************!*\ + !*** ./src/player/player-events.js ***! + \*************************************/ +function(e,t,i){i.r(t),t.default={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"}},"./src/remux/aac-silent.js": +/*!*********************************!*\ + !*** ./src/remux/aac-silent.js ***! + \*********************************/ +function(e,t,i){i.r(t);var n=function(){function e(){}return e.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},e}();t.default=n},"./src/remux/mp4-generator.js": +/*!************************************!*\ + !*** ./src/remux/mp4-generator.js ***! + \************************************/ +function(e,t,i){i.r(t);var n=function(){function e(){}return e.init=function(){for(var t in e.types={hvc1:[],hvcC:[],avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],pasp:[],".mp3":[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var i=e.constants={};i.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),i.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),i.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),i.STSC=i.STCO=i.STTS,i.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),i.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),i.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),i.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),i.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])},e.box=function(e){for(var t=8,i=null,n=Array.prototype.slice.call(arguments,1),r=n.length,a=0;a>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);var s=8;for(a=0;a>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))},e.trak=function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.tkhd=function(t){var i=t.id,n=t.duration,r=t.presentWidth,a=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,a>>>8&255,255&a,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))},e.mdhd=function(t){var i=t.timescale,n=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))},e.hdlr=function(t){var i=null;return i="audio"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,i)},e.minf=function(t){var i=null;return i="audio"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,i,e.dinf(),e.stbl(t))},e.dinf=function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))},e.mp3=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[".mp3"],r)},e.mp4a=function(t){var i=t.channelCount,n=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.mp4a,r,e.esds(t))},e.esds=function(t){var i=t.config||[],n=i.length,r=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n]).concat(i).concat([6,1,2]));return e.box(e.types.esds,r)},e.avc1=function(t){var i=t.avcc,n=t.codecWidth,r=t.codecHeight,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return t.codec.indexOf("avc1")>=0?e.box(e.types.avc1,a,e.box(e.types.avcC,i)):e.box(e.types.hvc1,a,e.box(e.types.hvcC,i))},e.mvex=function(t){return e.box(e.types.mvex,e.trex(t))},e.trex=function(t){var i=t.id,n=new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,n)},e.moof=function(t,i){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,i))},e.mfhd=function(t){var i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,i)},e.traf=function(t,i){var n=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.sdtp(t),o=e.trun(t,s.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,a,o,s)},e.sdtp=function(t){for(var i=t.samples||[],n=i.length,r=new Uint8Array(4+n),a=0;a>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0);for(var o=0;o>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.isNonSync,0,0,d>>>24&255,d>>>16&255,d>>>8&255,255&d],12+16*o)}return e.box(e.types.trun,s)},e.mdat=function(t){return e.box(e.types.mdat,t)},e}();n.init(),t.default=n},"./src/remux/mp4-remuxer.js": +/*!**********************************!*\ + !*** ./src/remux/mp4-remuxer.js ***! + \**********************************/ +function(e,t,i){i.r(t);var n=i( +/*! ../utils/logger.js */ +"./src/utils/logger.js"),r=i( +/*! ./mp4-generator.js */ +"./src/remux/mp4-generator.js"),a=i( +/*! ./aac-silent.js */ +"./src/remux/aac-silent.js"),s=i( +/*! ../utils/browser.js */ +"./src/utils/browser.js"),o=i( +/*! ../core/media-segment-info.js */ +"./src/core/media-segment-info.js"),u=i( +/*! ../utils/exception.js */ +"./src/utils/exception.js"),l=function(){function e(e){this.TAG="MP4Remuxer",this._config=e,this._isLive=!0===e.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new o.MediaSegmentInfoList("audio"),this._videoSegmentInfoList=new o.MediaSegmentInfoList("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!s.default.chrome||!(s.default.version.major<50||50===s.default.version.major&&s.default.version.build<2661)),this._fillSilentAfterSeek=s.default.msedge||s.default.msie,this._mp3UseMpegAudio=!s.default.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return e.prototype.destroy=function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null},e.prototype.bindDataSource=function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this},Object.defineProperty(e.prototype,"onInitSegment",{get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onMediaSegment",{get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e},enumerable:!1,configurable:!0}),e.prototype.insertDiscontinuity=function(){this._audioNextDts=this._videoNextDts=void 0},e.prototype.seek=function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()},e.prototype.remux=function(e,t){if(!this._onMediaSegment)throw new u.IllegalStateException("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(e,t),this._remuxVideo(t),this._remuxAudio(e)},e.prototype._onTrackMetadataReceived=function(e,t){var i=null,n="mp4",a=t.codec;if("audio"===e)this._audioMeta=t,"mp3"===t.codec&&this._mp3UseMpegAudio?(n="mpeg",a="",i=new Uint8Array):i=r.default.generateInitSegment(t);else{if("video"!==e)return;this._videoMeta=t,i=r.default.generateInitSegment(t)}if(!this._onInitSegment)throw new u.IllegalStateException("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(e,{type:e,data:i.buffer,codec:a,container:e+"/"+n,mediaDuration:t.duration})},e.prototype._calculateDtsBase=function(e,t){this._dtsBaseInited||(e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)},e.prototype.flushStashedSamples=function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,i={type:"video",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(i.samples.push(e),i.length=e.length);var n={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(n.samples.push(t),n.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(i,!0),this._remuxAudio(n,!0)},e.prototype._remuxAudio=function(e,t){if(null!=this._audioMeta){var i,u=e,l=u.samples,h=void 0,d=-1,c=this._audioMeta.refSampleDuration,f="mp3"===this._audioMeta.codec&&this._mp3UseMpegAudio,p=this._dtsBaseInited&&void 0===this._audioNextDts,m=!1;if(l&&0!==l.length&&(1!==l.length||t)){var _=0,g=null,v=0;f?(_=0,v=u.length):(_=8,v=8+u.length);var y=null;if(l.length>1&&(v-=(y=l.pop()).length),null!=this._audioStashedLastSample){var b=this._audioStashedLastSample;this._audioStashedLastSample=null,l.unshift(b),v+=b.length}null!=y&&(this._audioStashedLastSample=y);var S=l[0].dts-this._dtsBase;if(this._audioNextDts)h=S-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())h=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&"mp3"!==this._audioMeta.originalCodec&&(m=!0);else{var T=this._audioSegmentInfoList.getLastSampleBefore(S);if(null!=T){var E=S-(T.originalDts+T.duration);E<=3&&(E=0),h=S-(T.dts+T.duration+E)}else h=0}if(m){var w=S-h,A=this._videoSegmentInfoList.getLastSegmentBefore(S);if(null!=A&&A.beginDts=3*c&&this._fillAudioTimestampGap&&!s.default.safari){R=!0;var M,F=Math.floor(h/c);n.default.w(this.TAG,"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\noriginalDts: "+x+" ms, curRefDts: "+U+" ms, dtsCorrection: "+Math.round(h)+" ms, generate: "+F+" frames"),C=Math.floor(U),O=Math.floor(U+c)-C,null==(M=a.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount))&&(n.default.w(this.TAG,"Unable to generate silent frame for "+this._audioMeta.originalCodec+" with "+this._audioMeta.channelCount+" channels, repeat last frame"),M=L),D=[];for(var B=0;B=1?P[P.length-1].duration:Math.floor(c),this._audioNextDts=C+O;-1===d&&(d=C),P.push({dts:C,pts:C,cts:0,unit:b.unit,size:b.unit.byteLength,duration:O,originalDts:x,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),R&&P.push.apply(P,D)}}if(0===P.length)return u.samples=[],void(u.length=0);for(f?g=new Uint8Array(v):((g=new Uint8Array(v))[0]=v>>>24&255,g[1]=v>>>16&255,g[2]=v>>>8&255,g[3]=255&v,g.set(r.default.types.mdat,4)),I=0;I1&&(f-=(p=s.pop()).length),null!=this._videoStashedLastSample){var m=this._videoStashedLastSample;this._videoStashedLastSample=null,s.unshift(m),f+=m.length}null!=p&&(this._videoStashedLastSample=p);var _=s[0].dts-this._dtsBase;if(this._videoNextDts)u=_-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())u=0;else{var g=this._videoSegmentInfoList.getLastSampleBefore(_);if(null!=g){var v=_-(g.originalDts+g.duration);v<=3&&(v=0),u=_-(g.dts+g.duration+v)}else u=0}for(var y=new o.MediaSegmentInfo,b=[],S=0;S=1?b[b.length-1].duration:Math.floor(this._videoMeta.refSampleDuration),E){var P=new o.SampleInfo(w,C,k,m.dts,!0);P.fileposition=m.fileposition,y.appendSyncPoint(P)}b.push({dts:w,pts:C,cts:A,units:m.units,size:m.length,isKeyframe:E,duration:k,originalDts:T,flags:{isLeading:0,dependsOn:E?2:1,isDependedOn:E?1:0,hasRedundancy:0,isNonSync:E?0:1}})}for((c=new Uint8Array(f))[0]=f>>>24&255,c[1]=f>>>16&255,c[2]=f>>>8&255,c[3]=255&f,c.set(r.default.types.mdat,4),S=0;S=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(e)||[],i=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",majorVersion:t[4]||t[2]||"0",platform:i[0]||""},a={};if(r.browser){a[r.browser]=!0;var s=r.majorVersion.split(".");a.version={major:parseInt(r.majorVersion,10),string:r.version},s.length>1&&(a.version.minor=parseInt(s[1],10)),s.length>2&&(a.version.build=parseInt(s[2],10))}for(var o in r.platform&&(a[r.platform]=!0),(a.chrome||a.opr||a.safari)&&(a.webkit=!0),(a.rv||a.iemobile)&&(a.rv&&delete a.rv,r.browser="msie",a.msie=!0),a.edge&&(delete a.edge,r.browser="msedge",a.msedge=!0),a.opr&&(r.browser="opera",a.opera=!0),a.safari&&a.android&&(r.browser="android",a.android=!0),a.name=r.browser,a.platform=r.platform,n)n.hasOwnProperty(o)&&delete n[o];Object.assign(n,a)}(),t.default=n},"./src/utils/exception.js": +/*!********************************!*\ + !*** ./src/utils/exception.js ***! + \********************************/ +function(e,t,i){i.r(t),i.d(t,{RuntimeException:function(){return a},IllegalStateException:function(){return s},InvalidArgumentException:function(){return o},NotImplementedException:function(){return u}});var n,r=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),a=function(){function e(e){this._message=e}return Object.defineProperty(e.prototype,"name",{get:function(){return"RuntimeException"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name+": "+this.message},e}(),s=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"IllegalStateException"},enumerable:!1,configurable:!0}),t}(a),o=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"InvalidArgumentException"},enumerable:!1,configurable:!0}),t}(a),u=function(e){function t(t){return e.call(this,t)||this}return r(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return"NotImplementedException"},enumerable:!1,configurable:!0}),t}(a)},"./src/utils/logger.js": +/*!*****************************!*\ + !*** ./src/utils/logger.js ***! + \*****************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=function(){function e(){}return e.e=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","error",n),e.ENABLE_ERROR&&(console.error?console.error(n):console.warn)},e.i=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","info",n),e.ENABLE_INFO&&console.info&&console.info(n)},e.w=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","warn",n),e.ENABLE_WARN&&console.warn},e.d=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","debug",n),e.ENABLE_DEBUG&&console.debug&&console.debug(n)},e.v=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n="["+t+"] > "+i;e.ENABLE_CALLBACK&&e.emitter.emit("log","verbose",n),e.ENABLE_VERBOSE},e}();a.GLOBAL_TAG="flv.js",a.FORCE_GLOBAL_TAG=!1,a.ENABLE_ERROR=!0,a.ENABLE_INFO=!0,a.ENABLE_WARN=!0,a.ENABLE_DEBUG=!0,a.ENABLE_VERBOSE=!0,a.ENABLE_CALLBACK=!1,a.emitter=new(r()),t.default=a},"./src/utils/logging-control.js": +/*!**************************************!*\ + !*** ./src/utils/logging-control.js ***! + \**************************************/ +function(e,t,i){i.r(t);var n=i( +/*! events */ +"./node_modules/events/events.js"),r=i.n(n),a=i( +/*! ./logger.js */ +"./src/utils/logger.js"),s=function(){function e(){}return Object.defineProperty(e,"forceGlobalTag",{get:function(){return a.default.FORCE_GLOBAL_TAG},set:function(t){a.default.FORCE_GLOBAL_TAG=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"globalTag",{get:function(){return a.default.GLOBAL_TAG},set:function(t){a.default.GLOBAL_TAG=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableAll",{get:function(){return a.default.ENABLE_VERBOSE&&a.default.ENABLE_DEBUG&&a.default.ENABLE_INFO&&a.default.ENABLE_WARN&&a.default.ENABLE_ERROR},set:function(t){a.default.ENABLE_VERBOSE=t,a.default.ENABLE_DEBUG=t,a.default.ENABLE_INFO=t,a.default.ENABLE_WARN=t,a.default.ENABLE_ERROR=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableDebug",{get:function(){return a.default.ENABLE_DEBUG},set:function(t){a.default.ENABLE_DEBUG=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableVerbose",{get:function(){return a.default.ENABLE_VERBOSE},set:function(t){a.default.ENABLE_VERBOSE=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableInfo",{get:function(){return a.default.ENABLE_INFO},set:function(t){a.default.ENABLE_INFO=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableWarn",{get:function(){return a.default.ENABLE_WARN},set:function(t){a.default.ENABLE_WARN=t,e._notifyChange()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"enableError",{get:function(){return a.default.ENABLE_ERROR},set:function(t){a.default.ENABLE_ERROR=t,e._notifyChange()},enumerable:!1,configurable:!0}),e.getConfig=function(){return{globalTag:a.default.GLOBAL_TAG,forceGlobalTag:a.default.FORCE_GLOBAL_TAG,enableVerbose:a.default.ENABLE_VERBOSE,enableDebug:a.default.ENABLE_DEBUG,enableInfo:a.default.ENABLE_INFO,enableWarn:a.default.ENABLE_WARN,enableError:a.default.ENABLE_ERROR,enableCallback:a.default.ENABLE_CALLBACK}},e.applyConfig=function(e){a.default.GLOBAL_TAG=e.globalTag,a.default.FORCE_GLOBAL_TAG=e.forceGlobalTag,a.default.ENABLE_VERBOSE=e.enableVerbose,a.default.ENABLE_DEBUG=e.enableDebug,a.default.ENABLE_INFO=e.enableInfo,a.default.ENABLE_WARN=e.enableWarn,a.default.ENABLE_ERROR=e.enableError,a.default.ENABLE_CALLBACK=e.enableCallback},e._notifyChange=function(){var t=e.emitter;if(t.listenerCount("change")>0){var i=e.getConfig();t.emit("change",i)}},e.registerListener=function(t){e.emitter.addListener("change",t)},e.removeListener=function(t){e.emitter.removeListener("change",t)},e.addLogListener=function(t){a.default.emitter.addListener("log",t),a.default.emitter.listenerCount("log")>0&&(a.default.ENABLE_CALLBACK=!0,e._notifyChange())},e.removeLogListener=function(t){a.default.emitter.removeListener("log",t),0===a.default.emitter.listenerCount("log")&&(a.default.ENABLE_CALLBACK=!1,e._notifyChange())},e}();s.emitter=new(r()),t.default=s},"./src/utils/polyfill.js": +/*!*******************************!*\ + !*** ./src/utils/polyfill.js ***! + \*******************************/ +function(e,t,i){i.r(t);var n=function(){function e(){}return e.install=function(){Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Object.assign=Object.assign||function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),i=1;i=128){t.push(String.fromCharCode(65535&s)),r+=2;continue}}else if(i[r]<240){if(n(i,r,2)&&(s=(15&i[r])<<12|(63&i[r+1])<<6|63&i[r+2])>=2048&&55296!=(63488&s)){t.push(String.fromCharCode(65535&s)),r+=3;continue}}else if(i[r]<248){var s;if(n(i,r,3)&&(s=(7&i[r])<<18|(63&i[r+1])<<12|(63&i[r+2])<<6|63&i[r+3])>65536&&s<1114112){s-=65536,t.push(String.fromCharCode(s>>>10|55296)),t.push(String.fromCharCode(1023&s|56320)),r+=4;continue}}t.push(String.fromCharCode(65533)),++r}return t.join("")}}},i={};function r(e){var n=i[e];if(void 0!==n)return n.exports;var a=i[e]={exports:{}};return t[e].call(a.exports,a,a.exports,r),a.exports}return r.m=t,r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.g=function(){if("object"===("undefined"==typeof globalThis?"undefined":n(globalThis)))return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===("undefined"==typeof window?"undefined":n(window)))return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r("./src/index.js")}()},"object"===(void 0===i?"undefined":n(i))&&"object"===(void 0===t?"undefined":n(t))?t.exports=a():"function"==typeof define&&define.amd?define([],a):"object"===(void 0===i?"undefined":n(i))?i.flvjshevc=a():r.flvjshevc=a()}).call(this,e("_process"))},{_process:44}],69:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&i.extensionInfo.vHeight>0&&(i.size.width=i.extensionInfo.vWidth,i.size.height=i.extensionInfo.vHeight)),i.mediaInfo.duration,null!=i.onDemuxed&&i.onDemuxed(i.onReadyOBJ);for(var e=!1;void 0!==i.mpegTsObj&&null!==i.mpegTsObj;){var n=i.mpegTsObj.readPacket();if(n.size<=0)break;var r=n.dtime>0?n.dtime:n.ptime;if(!(r<0)){if(0==n.type){r<=i.vPreFramePTS&&(e=!0);var a=u.PACK_NALU(n.layer),o=1==n.keyframe,l=1==e?r+i.vStartTime:r,h=new s.BufferFrame(l,o,a,!0);i.bufObject.appendFrame(h.pts,h.data,!0,h.isKey),i.vPreFramePTS=l,null!=i.onSamples&&i.onSamples(i.onReadyOBJ,h)}else if(r<=i.aPreFramePTS&&(e=!0),"aac"==i.mediaInfo.aCodec)for(var d=n.data,c=0;c=3?(i._onTsReady(e),window.clearInterval(i.timerTsWasm),i.timerTsWasm=null):(i.mpegTsWasmRetryLoadTimes+=1,i.mpegTsObj.initDemuxer())}),3e3)}},{key:"_onTsReady",value:function(e){var t=this;t.hls.fetchM3u8(e),t.mpegTsWasmState=!0,t.timerFeed=window.setInterval((function(){if(t.tsList.length>0&&0==t.lockWait.state)try{var e=t.tsList.shift();if(null!=e){var i=e.streamURI,n=e.streamDur;t.lockWait.state=!0,t.lockWait.lockMember.dur=n,t.mpegTsObj.isLive=t.hls.isLive(),t.mpegTsObj.demuxURL(i)}else console.error("_onTsReady need wait ")}catch(e){console.error("onTsReady ERROR:",e),t.lockWait.state=!1}}),50)}},{key:"release",value:function(){this.hls&&this.hls.release(),this.hls=null,this.timerFeed&&window.clearInterval(this.timerFeed),this.timerFeed=null,this.timerTsWasm&&window.clearInterval(this.timerTsWasm),this.timerTsWasm=null}},{key:"bindReady",value:function(e){this.onReadyOBJ=e}},{key:"popBuffer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return t<0?null:1===e?t+1>this.bufObject.videoBuffer.length?null:this.bufObject.vFrame(t):2===e?t+1>this.bufObject.audioBuffer.length?null:this.bufObject.aFrame(t):void 0}},{key:"getVLen",value:function(){return this.bufObject.videoBuffer.length}},{key:"getALen",value:function(){return this.bufObject.audioBuffer.length}},{key:"getLastIdx",value:function(){return this.bufObject.videoBuffer.length-1}},{key:"getALastIdx",value:function(){return this.bufObject.audioBuffer.length-1}},{key:"getACodec",value:function(){return this.aCodec}},{key:"getVCodec",value:function(){return this.vCodec}},{key:"getDurationMs",value:function(){return this.durationMs}},{key:"getFPS",value:function(){return this.fps}},{key:"getSampleRate",value:function(){return this.sampleRate}},{key:"getSampleChannel",value:function(){return this.aChannel}},{key:"getSize",value:function(){return this.size}},{key:"seek",value:function(e){if(e>=0){var t=this.bufObject.seekIDR(e);this.seekPos=t}}}])&&n(t.prototype,i),h&&n(t,h),e}();i.M3u8=h},{"../consts":52,"../decoder/hevc-imp":64,"./buffer":66,"./bufferFrame":67,"./m3u8base":70,"./mpegts/mpeg.js":74}],70:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i ",t),setTimeout((function(){i.fetchM3u8(e)}),500)}))}},{key:"_uriParse",value:function(e){this._preURI="";var t=e.split("://"),i=null,n=null;if(t.length<1)return!1;t.length>1?(i=t[0],n=t[1].split("/"),this._preURI=i+"://"):n=t[0].split("/");for(var r=0;rp&&(o=p);var m=n[l+=1],_=null;if(m.indexOf("http")>=0)_=m;else{if("/"===m[0]){var g=this._preURI.split("//"),v=g[g.length-1].split("/");this._preURI=g[0]+"//"+v[0]}_=this._preURI+m}this._slices.indexOf(_)<0&&(this._slices.push(_),this._slices[this._slices.length-1],null!=this.onTransportStream&&this.onTransportStream(_,p))}}}if(this._slices.length>s.hlsSliceLimit&&this._type==r.PLAYER_IN_TYPE_M3U8_LIVE&&(this._slices=this._slices.slice(-1*s.hlsSliceLimit)),null!=this.onFinished){var y={type:this._type,duration:-1};this.onFinished(y)}return o}},{key:"_readTag",value:function(e){var t=s.tagParse.exec(e);return null!==t?{key:t[1],value:t[3]}:null}}])&&n(t.prototype,i),o&&n(t,o),e}();i.M3u8Base=o},{"../consts":52}],71:[function(e,t,i){"use strict";var n=e("mp4box"),r=e("../decoder/hevc-header"),a=e("../decoder/hevc-imp"),s=e("./buffer"),o=e("../consts"),u={96e3:0,88200:1,64e3:2,48e3:3,44100:4,32e3:5,24e3:6,22050:7,16e3:8,12e3:9,11025:10,8e3:11,7350:12,Reserved:13,"frequency is written explictly":15},l=function(e){for(var t=[],i=0;i1&&void 0!==arguments[1]&&arguments[1],i=null;return t?((i=e)[0]=r.DEFINE_STARTCODE[0],i[1]=r.DEFINE_STARTCODE[1],i[2]=r.DEFINE_STARTCODE[2],i[3]=r.DEFINE_STARTCODE[3]):((i=new Uint8Array(r.DEFINE_STARTCODE.length+e.length)).set(r.DEFINE_STARTCODE,0),i.set(e,r.DEFINE_STARTCODE.length)),i},h.prototype.setAACAdts=function(e){var t=null,i=this.aacProfile,n=u[this.sampleRate],r=new Uint8Array(7),a=r.length+e.length;return r[0]=255,r[1]=241,r[2]=(i-1<<6)+(n<<2)+0,r[3]=128+(a>>11),r[4]=(2047&a)>>3,r[5]=31+((7&a)<<5),r[6]=252,(t=new Uint8Array(a)).set(r,0),t.set(e,r.length),t},h.prototype.demux=function(){var e=this;e.seekPos=-1,e.mp4boxfile=n.createFile(),e.movieInfo=null,e.videoCodec=null,e.durationMs=-1,e.fps=-1,e.sampleRate=-1,e.aacProfile=2,e.size={width:-1,height:-1},e.bufObject=s(),e.audioNone=!1,e.naluHeader={vps:null,sps:null,pps:null,sei:null},e.mp4boxfile.onError=function(e){},this.mp4boxfile.onReady=function(t){for(var i in e.movieInfo=t,t.tracks)"VideoHandler"!==t.tracks[i].name&&"video"!==t.tracks[i].type||(t.tracks[i].codec,t.tracks[i].codec.indexOf("hev")>=0||t.tracks[i].codec.indexOf("hvc")>=0?e.videoCodec=o.CODEC_H265:t.tracks[i].codec.indexOf("avc")>=0&&(e.videoCodec=o.CODEC_H264));var n=-1;if(n=t.videoTracks[0].samples_duration/t.videoTracks[0].timescale,e.durationMs=1e3*n,e.fps=t.videoTracks[0].nb_samples/n,e.seekDiffTime=1/e.fps,e.size.width=t.videoTracks[0].track_width,e.size.height=t.videoTracks[0].track_height,t.audioTracks.length>0){e.sampleRate=t.audioTracks[0].audio.sample_rate;var r=t.audioTracks[0].codec.split(".");e.aacProfile=r[r.length-1]}else e.audioNone=!0;null!=e.onMp4BoxReady&&e.onMp4BoxReady(e.videoCodec),e.videoCodec===o.CODEC_H265?(e.initializeAllSourceBuffers(),e.mp4boxfile.start()):(e.videoCodec,o.CODEC_H264)},e.mp4boxfile.onSamples=function(t,i,n){var s=window.setInterval((function(){for(var i=0;i3?e.naluHeader.sei=e.setStartCode(_[3][0].data,!1):e.naluHeader.sei=new Uint8Array,e.naluHeader}else e.videoCodec==o.CODEC_H264&&(e.naluHeader.vps=new Uint8Array,e.naluHeader.sps=e.setStartCode(f.SPS[0].nalu,!1),e.naluHeader.pps=e.setStartCode(f.PPS[0].nalu,!1),e.naluHeader.sei=new Uint8Array);h[4].toString(16),e.naluHeader.vps[4].toString(16),l(e.naluHeader.vps),l(h);var g=e.setStartCode(h.subarray(0,e.naluHeader.vps.length),!0);if(l(g),h[4]===e.naluHeader.vps[4]){var v=e.naluHeader.vps.length+4,y=e.naluHeader.vps.length+e.naluHeader.sps.length+4,b=e.naluHeader.vps.length+e.naluHeader.sps.length+e.naluHeader.pps.length+4;if(e.naluHeader.sei.length<=0&&e.naluHeader.sps.length>0&&h[v]===e.naluHeader.sps[4]&&e.naluHeader.pps.length>0&&h[y]===e.naluHeader.pps[4]&&78===h[b]){h[e.naluHeader.vps.length+4],e.naluHeader.sps[4],h[e.naluHeader.vps.length+e.naluHeader.sps.length+4],e.naluHeader.pps[4],h[e.naluHeader.vps.length+e.naluHeader.sps.length+e.naluHeader.pps.length+4];for(var S=0,T=0;T4&&h[4]===e.naluHeader.sei[4]){var E=h.subarray(0,10),w=new Uint8Array(e.naluHeader.vps.length+E.length);w.set(E,0),w.set(e.naluHeader.vps,E.length),w[3]=1,e.naluHeader.vps=null,e.naluHeader.vps=new Uint8Array(w),w=null,E=null,(h=h.subarray(10))[4],e.naluHeader.vps[4],e.naluHeader.vps}else if(0===e.naluHeader.sei.length&&78===h[4]){h=e.setStartCode(h,!0);for(var A=0,C=0;C1&&void 0!==arguments[1]?arguments[1]:0;return e.fileStart=t,this.mp4boxfile.appendBuffer(e)},h.prototype.finishBuffer=function(){this.mp4boxfile.flush()},h.prototype.play=function(){},h.prototype.getVideoCoder=function(){return this.videoCodec},h.prototype.getDurationMs=function(){return this.durationMs},h.prototype.getFPS=function(){return this.fps},h.prototype.getSampleRate=function(){return this.sampleRate},h.prototype.getSize=function(){return this.size},h.prototype.seek=function(e){if(e>=0){var t=this.bufObject.seekIDR(e);this.seekPos=t}},h.prototype.popBuffer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return t<0?null:1==e?this.bufObject.vFrame(t):2==e?this.bufObject.aFrame(t):void 0},h.prototype.addBuffer=function(e){var t=e.id;this.mp4boxfile.setExtractionOptions(t)},h.prototype.initializeAllSourceBuffers=function(){if(this.movieInfo){for(var e=this.movieInfo,t=0;t>5)}},{key:"sliceAACFrames",value:function(e,t){for(var i=[],n=e,r=0;r>4==15){var a=this._getPktLen(t[r+3],t[r+4],t[r+5]);if(a<=0)continue;var s=t.subarray(r,r+a),o=new Uint8Array(a);o.set(s,0),i.push({ptime:n,data:o}),n+=this.frameDurSec,r+=a}else r+=1;return i}}])&&n(t.prototype,i),r&&n(t,r),e}();i.AACDecoder=r},{}],74:[function(e,t,i){(function(t){"use strict";function n(e,t){for(var i=0;i ",e),n=null})).catch((function(i){console.error("demuxerTsInit ERROR fetch ERROR ==> ",i),t._releaseOffset(),t.onDemuxedFailed&&t.onDemuxedFailed(i,e)}))}},{key:"_releaseOffset",value:function(){void 0!==this.offsetDemux&&null!==this.offsetDemux&&(Module._free(this.offsetDemux),this.offsetDemux=null)}},{key:"_demuxCore",value:function(e){if(this._releaseOffset(),this._refreshDemuxer(),!(e.length<=0)){this.offsetDemux=Module._malloc(e.length),Module.HEAP8.set(e,this.offsetDemux);var t=Module.cwrap("demuxBox","number",["number","number","number"])(this.offsetDemux,e.length,this.isLive);Module._free(this.offsetDemux),this.offsetDemux=null,t>=0&&(this._setMediaInfo(),this._setExtensionInfo(),null!=this.onDemuxed&&this.onDemuxed())}}},{key:"_setMediaInfo",value:function(){var e=Module.cwrap("getMediaInfo","number",[])(),t=Module.HEAPU32[e/4],i=Module.HEAPU32[e/4+1],n=Module.HEAPF64[e/8+1],s=Module.HEAPF64[e/8+1+1],o=Module.HEAPF64[e/8+1+1+1],u=Module.HEAPF64[e/8+1+1+1+1],l=Module.HEAPU32[e/4+2+2+2+2+2];this.mediaAttr.vFps=n,this.mediaAttr.vGop=l,this.mediaAttr.vDuration=s,this.mediaAttr.aDuration=o,this.mediaAttr.duration=u;var h=Module.cwrap("getAudioCodecID","number",[])();h>=0?(this.mediaAttr.aCodec=a.CODEC_OFFSET_TABLE[h],this.mediaAttr.sampleRate=t>0?t:a.DEFAULT_SAMPLERATE,this.mediaAttr.sampleChannel=i>=0?i:a.DEFAULT_CHANNEL):(this.mediaAttr.sampleRate=0,this.mediaAttr.sampleChannel=0,this.mediaAttr.audioNone=!0);var d=Module.cwrap("getVideoCodecID","number",[])();d>=0&&(this.mediaAttr.vCodec=a.CODEC_OFFSET_TABLE[d]),null==this.aacDec?this.aacDec=new r.AACDecoder(this.mediaAttr):this.aacDec.updateConfig(this.mediaAttr)}},{key:"_setExtensionInfo",value:function(){var e=Module.cwrap("getExtensionInfo","number",[])(),t=Module.HEAPU32[e/4],i=Module.HEAPU32[e/4+1];this.extensionInfo.vWidth=t,this.extensionInfo.vHeight=i}},{key:"readMediaInfo",value:function(){return this.mediaAttr}},{key:"readExtensionInfo",value:function(){return this.extensionInfo}},{key:"readAudioNone",value:function(){return this.mediaAttr.audioNone}},{key:"_readLayer",value:function(){null===this.naluLayer?this.naluLayer={vps:null,sps:null,pps:null,sei:null}:(this.naluLayer.vps=null,this.naluLayer.sps=null,this.naluLayer.pps=null,this.naluLayer.sei=null),null===this.vlcLayer?this.vlcLayer={vlc:null}:this.vlcLayer.vlc=null;var e=Module.cwrap("getSPSLen","number",[])(),t=Module.cwrap("getSPS","number",[])();if(!(e<0)){var i=Module.HEAPU8.subarray(t,t+e);this.naluLayer.sps=new Uint8Array(e),this.naluLayer.sps.set(i,0);var n=Module.cwrap("getPPSLen","number",[])(),r=Module.cwrap("getPPS","number",[])(),s=Module.HEAPU8.subarray(r,r+n);this.naluLayer.pps=new Uint8Array(n),this.naluLayer.pps.set(s,0);var o=Module.cwrap("getSEILen","number",[])(),u=Module.cwrap("getSEI","number",[])(),l=Module.HEAPU8.subarray(u,u+o);this.naluLayer.sei=new Uint8Array(o),this.naluLayer.sei.set(l,0);var h=Module.cwrap("getVLCLen","number",[])(),d=Module.cwrap("getVLC","number",[])(),c=Module.HEAPU8.subarray(d,d+h);if(this.vlcLayer.vlc=new Uint8Array(h),this.vlcLayer.vlc.set(c,0),this.mediaAttr.vCodec==a.DEF_HEVC||this.mediaAttr.vCodec==a.DEF_H265){var f=Module.cwrap("getVPSLen","number",[])(),p=Module.cwrap("getVPS","number",[])(),m=Module.HEAPU8.subarray(p,p+f);this.naluLayer.vps=new Uint8Array(f),this.naluLayer.vps.set(m,0),Module._free(m),m=null}else this.mediaAttr.vCodec==a.DEF_AVC||(this.mediaAttr.vCodec,a.DEF_H264);return Module._free(i),i=null,Module._free(s),s=null,Module._free(l),l=null,Module._free(c),c=null,{nalu:this.naluLayer,vlc:this.vlcLayer}}}},{key:"isHEVC",value:function(){return this.mediaAttr.vCodec==a.DEF_HEVC||this.mediaAttr.vCodec==a.DEF_H265}},{key:"readPacket",value:function(){var e=Module.cwrap("getPacket","number",[])(),t=Module.HEAPU32[e/4],i=Module.HEAPU32[e/4+1],n=Module.HEAPF64[e/8+1],r=Module.HEAPF64[e/8+1+1],s=Module.HEAPU32[e/4+1+1+2+2],o=Module.HEAPU32[e/4+1+1+2+2+1],u=Module.HEAPU8.subarray(o,o+i),l=this._readLayer(),h={type:t,size:i,ptime:n,dtime:r,keyframe:s,src:u,data:1==t&&this.mediaAttr.aCodec==a.DEF_AAC?this.aacDec.sliceAACFrames(n,u):u,layer:l};return Module._free(u),u=null,h}},{key:"_refreshDemuxer",value:function(){this.releaseTsDemuxer(),this._initDemuxer()}},{key:"_initDemuxer",value:function(){Module.cwrap("initTsMissile","number",[])(),Module.cwrap("initializeDemuxer","number",[])()}},{key:"releaseTsDemuxer",value:function(){Module.cwrap("exitTsMissile","number",[])()}}])&&n(i.prototype,s),o&&n(i,o),e}();i.MPEG_JS=s}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./consts":72,"./decoder/aac":73}],75:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&e.extensionInfo.vHeight>0&&(e.size.width=e.extensionInfo.vWidth,e.size.height=e.extensionInfo.vHeight);for(var t=null;!((t=e.mpegTsObj.readPacket()).size<=0);){var i=t.dtime;if(0==t.type){var n=s.PACK_NALU(t.layer),r=1==t.keyframe;e.bufObject.appendFrame(i,n,!0,r)}else if("aac"==e.mediaInfo.aCodec)for(var a=t.data,o=0;o0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return t<0?null:1==e?this.bufObject.vFrame(t):2==e?this.bufObject.aFrame(t):void 0}},{key:"isHEVC",value:function(){return this.mpegTsObj.isHEVC()}},{key:"getACodec",value:function(){return this.aCodec}},{key:"getVCodec",value:function(){return this.vCodec}},{key:"getAudioNone",value:function(){return this.mpegTsObj.mediaAttr.audioNone}},{key:"getDurationMs",value:function(){return this.durationMs}},{key:"getFPS",value:function(){return this.fps}},{key:"getSampleRate",value:function(){return this.sampleRate}},{key:"getSize",value:function(){return this.size}},{key:"seek",value:function(e){if(e>=0){var t=this.bufObject.seekIDR(e);this.seekPos=t}}}])&&n(t.prototype,i),o&&n(t,o),e}();i.MpegTs=o},{"../decoder/hevc-imp":64,"./buffer":66,"./mpegts/mpeg.js":74}],76:[function(e,t,i){(function(t){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){for(var i=0;i0&&(i=!0),this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265&&(i=!0,this.playMode=v.PLAYER_MODE_NOTIME_LIVE),this.playParam={durationMs:0,fps:0,sampleRate:0,size:{width:0,height:0},audioNone:i,videoCodec:v.CODEC_H265},y.UI.createPlayerRender(this.configFormat.playerId,this.configFormat.playerW,this.configFormat.playerH),!1===this._isSupportWASM())return this._makeMP4Player(!1),0;if(!1===this.configFormat.extInfo.hevc)return Module.cwrap("AVPlayerInit","number",["string","string"])(this.configFormat.token,"0.0.0"),this._makeMP4Player(!0),0;var n=window.setInterval((function(){t.STATICE_MEM_playerIndexPtr===e.playerIndex&&(t.STATICE_MEM_playerIndexPtr,e.playerIndex,window.WebAssembly?(t.STATIC_MEM_wasmDecoderState,1==t.STATIC_MEM_wasmDecoderState&&(e._makeMP4Player(),t.STATICE_MEM_playerIndexPtr+=1,window.clearInterval(n),n=null)):(/iPhone|iPad/.test(window.navigator.userAgent),t.STATICE_MEM_playerIndexPtr+=1,window.clearInterval(n),n=null))}),500)}},{key:"release",value:function(){return void 0!==this.player&&null!==this.player&&(this.player,this.playParam.videoCodec===v.CODEC_H265&&this.player?(this.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&void 0!==this.hlsObj&&null!==this.hlsObj&&this.hlsObj.release(),this.player.release()):this.player.release(),void 0!==this.snapshotCanvasContext&&null!==this.snapshotCanvasContext&&(b.releaseContext(this.snapshotCanvasContext),this.snapshotCanvasContext=null,void 0!==this.snapshotYuvLastFrame&&null!==this.snapshotYuvLastFrame&&(this.snapshotYuvLastFrame.luma=null,this.snapshotYuvLastFrame.chromaB=null,this.snapshotYuvLastFrame.chromaR=null,this.snapshotYuvLastFrame.width=0,this.snapshotYuvLastFrame.height=0)),void 0!==this.workerFetch&&null!==this.workerFetch&&(this.workerFetch.postMessage({cmd:"stop",params:"",type:this.mediaExtProtocol}),this.workerFetch.onmessage=null),void 0!==this.workerParse&&null!==this.workerParse&&(this.workerParse.postMessage({cmd:"stop",params:""}),this.workerParse.onmessage=null),this.workerFetch=null,this.workerParse=null,this.configFormat.extInfo.readyShow=!0,window.onclick=document.body.onclick=null,window.g_players={},!0)}},{key:"debugYUV",value:function(e){this.player.debugYUV(e)}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(this.playParam.videoCodec===v.CODEC_H265||e<=0||void 0===this.player||null===this.player)&&this.player.setPlaybackRate(e)}},{key:"getPlaybackRate",value:function(){return void 0!==this.player&&null!==this.player&&(this.playParam.videoCodec===v.CODEC_H265?1:this.player.getPlaybackRate())}},{key:"setRenderScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return void 0!==this.player&&null!==this.player&&(this.player.setScreen(e),!0)}},{key:"play",value:function(){if(void 0===this.player||null===this.player)return!1;if(this.playParam.videoCodec===v.CODEC_H265){var e={seekPos:this._getSeekTarget(),mode:this.playMode,accurateSeek:this.configFormat.accurateSeek,seekEvent:!1,realPlay:!0};this.player.play(e)}else this.player.play();return!0}},{key:"pause",value:function(){return void 0!==this.player&&null!==this.player&&(this.player.pause(),!0)}},{key:"isPlaying",value:function(){return void 0!==this.player&&null!==this.player&&this.player.isPlayingState()}},{key:"setVoice",value:function(e){return!(e<0||void 0===this.player||null===this.player||(this.volume=e,this.player&&this.player.setVoice(e),0))}},{key:"getVolume",value:function(){return this.volume}},{key:"mediaInfo",value:function(){var e={meta:this.playParam,videoType:this.playMode};return e.meta.isHEVC=0===this.playParam.videoCodec,e}},{key:"snapshot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===e||void 0!==this.playParam&&null!==this.playParam&&(0===this.playParam.videoCodec?(this.player.setScreen(!0),e.width=this.snapshotYuvLastFrame.width,e.height=this.snapshotYuvLastFrame.height,this.snapshotYuvLastFrame,void 0!==this.snapshotCanvasContext&&null!==this.snapshotCanvasContext||(this.snapshotCanvasContext=b.setupCanvas(e,{preserveDrawingBuffer:!1})),b.renderFrame(this.snapshotCanvasContext,this.snapshotYuvLastFrame.luma,this.snapshotYuvLastFrame.chromaB,this.snapshotYuvLastFrame.chromaR,this.snapshotYuvLastFrame.width,this.snapshotYuvLastFrame.height)):(e.width=this.playParam.size.width,e.height=this.playParam.size.height,e.getContext("2d").drawImage(this.player.videoTag,0,0,e.width,e.height))),null}},{key:"_seekHLS",value:function(e,t,i){if(void 0===this.player||null===this.player)return!1;setTimeout((function(){t.player.getCachePTS(),t.player.getCachePTS()>e?i():t._seekHLS(e,t,i)}),100)}},{key:"seek",value:function(e){if(void 0===this.player||null===this.player)return!1;var t=this;this.seekTarget=e,this.onSeekStart&&this.onSeekStart(e),this.timerFeed&&(window.clearInterval(this.timerFeed),this.timerFeed=null);var i=this._getSeekTarget();return this.playParam.videoCodec===v.CODEC_H264?(this.player.seek(e),this.onSeekFinish&&this.onSeekFinish()):this.configFormat.extInfo.core===v.PLAYER_CORE_TYPE_CNATIVE?(this.pause(),this._seekHLS(e,this,(function(){t.player.seek((function(){}),{seekTime:i,mode:t.playMode,accurateSeek:t.configFormat.accurateSeek})}))):this._seekHLS(e,this,(function(){t.player.seek((function(){t.configFormat.type==v.PLAYER_IN_TYPE_MP4?t.mp4Obj.seek(e):t.configFormat.type==v.PLAYER_IN_TYPE_TS||t.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?t.mpegTsObj.seek(e):t.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&(t.hlsObj.onSamples=null,t.hlsObj.seek(e));var i,n=(i=0,i=t.configFormat.accurateSeek?e:t._getBoxBufSeekIDR(),parseInt(i)),r=parseInt(t._getBoxBufSeekIDR())||0;t._avFeedMP4Data(r,n)}),{seekTime:i,mode:t.playMode,accurateSeek:t.configFormat.accurateSeek})})),!0}},{key:"fullScreen",value:function(){if(this.autoScreenClose=!0,this.player.vCodecID,this.player,this.player.vCodecID===v.V_CODEC_NAME_HEVC){var e=document.querySelector("#"+this.configFormat.playerId),t=e.getElementsByTagName("canvas")[0];e.style.width=this.screenW+"px",e.style.height=this.screenH+"px";var i=this._checkScreenDisplaySize(this.screenW,this.screenH,this.playParam.size.width,this.playParam.size.height);t.style.marginTop=i[0]+"px",t.style.marginLeft=i[1]+"px",t.style.width=i[2]+"px",t.style.height=i[3]+"px",this._requestFullScreen(e)}else this._requestFullScreen(this.player.videoTag)}},{key:"closeFullScreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!1===e&&(this.autoScreenClose=!1,this._exitFull()),this.player.vCodecID===v.V_CODEC_NAME_HEVC){var t=document.querySelector("#"+this.configFormat.playerId),i=t.getElementsByTagName("canvas")[0];t.style.width=this.configFormat.playerW+"px",t.style.height=this.configFormat.playerH+"px";var n=this._checkScreenDisplaySize(this.configFormat.playerW,this.configFormat.playerH,this.playParam.size.width,this.playParam.size.height);i.style.marginTop=n[0]+"px",i.style.marginLeft=n[1]+"px",i.style.width=n[2]+"px",i.style.height=n[3]+"px"}}},{key:"playNextFrame",value:function(){return this.pause(),void 0!==this.playParam&&null!==this.playParam&&(0===this.playParam.videoCodec?this.player.playYUV():this.player.nativeNextFrame(),!0)}},{key:"resize",value:function(e,t){if(void 0!==this.player&&null!==this.player){if(!(e&&t&&this.playParam.size.width&&this.playParam.size.height))return!1;var i=this.playParam.size.width,n=this.playParam.size.height,r=0===this.playParam.videoCodec,a=document.querySelector("#"+this.configFormat.playerId);if(a.style.width=e+"px",a.style.height=t+"px",!0===r){var s=a.getElementsByTagName("canvas")[0],o=function(e,t){var r=i/e>n/t,a=(e/i).toFixed(2),s=(t/n).toFixed(2),o=r?a:s,u=parseInt(i*o,10),l=parseInt(n*o,10);return[parseInt((t-l)/2,10),parseInt((e-u)/2,10),u,l]}(e,t);s.style.marginTop=o[0]+"px",s.style.marginLeft=o[1]+"px",s.style.width=o[2]+"px",s.style.height=o[3]+"px"}else{var u=a.getElementsByTagName("video")[0];u.style.width=e+"px",u.style.height=t+"px"}return!0}return!1}},{key:"_checkScreenDisplaySize",value:function(e,t,i,n){var r=i/e>n/t,a=(e/i).toFixed(2),s=(t/n).toFixed(2),o=r?a:s,u=this.fixed?e:parseInt(i*o),l=this.fixed?t:parseInt(n*o);return[parseInt((t-l)/2),parseInt((e-u)/2),u,l]}},{key:"_isFullScreen",value:function(){var e=document.fullscreenElement||document.mozFullscreenElement||document.webkitFullscreenElement;return document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled,null!=e}},{key:"_requestFullScreen",value:function(e){e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen?e.msRequestFullscreen():e.webkitRequestFullscreen&&e.webkitRequestFullScreen()}},{key:"_exitFull",value:function(){document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()}},{key:"_durationText",value:function(e){if(e<0)return"Play";var t=Math.round(e);return Math.floor(t/3600)+":"+Math.floor(t%3600/60)+":"+Math.floor(t%60)}},{key:"_getSeekTarget",value:function(){return this.configFormat.accurateSeek?this.seekTarget:this._getBoxBufSeekIDR()}},{key:"_getBoxBufSeekIDR",value:function(){return this.configFormat.type==v.PLAYER_IN_TYPE_MP4?this.mp4Obj.seekPos:this.configFormat.type==v.PLAYER_IN_TYPE_TS||this.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?this.mpegTsObj.seekPos:this.configFormat.type==v.PLAYER_IN_TYPE_M3U8?this.hlsObj.seekPos:void 0}},{key:"_playControl",value:function(){this.isPlaying()?this.pause():this.play()}},{key:"_avFeedMP4Data",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(void 0===this.player||null===this.player)return!1;var r=parseInt(this.playParam.durationMs/1e3);this.player.clearAllCache(),this.timerFeed=window.setInterval((function(){var a=null,s=null,o=!0,u=!0;if(e.configFormat.type==v.PLAYER_IN_TYPE_MP4?(a=e.mp4Obj.popBuffer(1,t),s=e.mp4Obj.audioNone?null:e.mp4Obj.popBuffer(2,i)):e.configFormat.type==v.PLAYER_IN_TYPE_TS||e.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?(a=e.mpegTsObj.popBuffer(1,t),s=e.mpegTsObj.getAudioNone()?null:e.mpegTsObj.popBuffer(2,i)):e.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&(a=e.hlsObj.popBuffer(1,t),s=e.hlsObj.audioNone?null:e.hlsObj.popBuffer(2,i),t=e.hlsObj.getLastIdx()&&(o=!1),i=e.hlsObj.getALastIdx()&&(u=!1)),!0===o&&null!=a)for(var l=0;lr)return window.clearInterval(e.timerFeed),e.timerFeed=null,e.player.vCachePTS,e.player.aCachePTS,void(null!=n&&n())}),5)}},{key:"_isSupportWASM",value:function(){window.document;var e=window.navigator,t=e.userAgent.toLowerCase(),i="ipad"==t.match(/ipad/i),r="iphone os"==t.match(/iphone os/i),a="iPad"==t.match(/iPad/i),s="iPhone os"==t.match(/iPhone os/i),o="midp"==t.match(/midp/i),u="rv:1.2.3.4"==t.match(/rv:1.2.3.4/i),l="ucweb"==t.match(/ucweb/i),h="android"==t.match(/android/i),d="Android"==t.match(/Android/i),c="windows ce"==t.match(/windows ce/i),f="windows mobile"==t.match(/windows mobile/i);if(i||r||a||s||o||u||l||h||d||c||f)return!1;var m=function(){try{if("object"===("undefined"==typeof WebAssembly?"undefined":n(WebAssembly))&&"function"==typeof WebAssembly.instantiate){var 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}();if(!1===m)return!1;if(!0===m){var _=p.BrowserJudge(),g=_[0],v=_[1];if("Chrome"===g&&v<85)return!1;if(g.indexOf("360")>=0)return!1;if(/Safari/.test(e.userAgent)&&!/Chrome/.test(e.userAgent)&&v>13)return!1}return!0}},{key:"_makeMP4Player",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this;if(this._isSupportWASM(),!1===this._isSupportWASM()||!0===e){if(this.configFormat.type==v.PLAYER_IN_TYPE_MP4)t.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?this._flvJsPlayer(this.playParam.durationMs,t.playParam.audioNone):this._makeNativePlayer();else if(this.configFormat.type==v.PLAYER_IN_TYPE_TS||this.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS)this._mpegTsNv3rdPlayer(-1,!1);else if(this.configFormat.type==v.PLAYER_IN_TYPE_M3U8)this._videoJsPlayer();else if(this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265)return-1;return 1}return this.mediaExtProtocol===v.URI_PROTOCOL_WEBSOCKET_DESC?(this.configFormat.type,this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265?this._raw265Entry():this._cWsFLVDecoderEntry(),0):(null!=this.configFormat.extInfo.core&&null!==this.configFormat.extInfo.core&&this.configFormat.extInfo.core===v.PLAYER_CORE_TYPE_CNATIVE?this._cDemuxDecoderEntry():this.configFormat.type==v.PLAYER_IN_TYPE_MP4?this.configFormat.extInfo.moovStartFlag?this._mp4EntryVodStream():this._mp4Entry():this.configFormat.type==v.PLAYER_IN_TYPE_TS||this.configFormat.type==v.PLAYER_IN_TYPE_MPEGTS?this._mpegTsEntry():this.configFormat.type==v.PLAYER_IN_TYPE_M3U8?this._m3u8Entry():this.configFormat.type===v.PLAYER_IN_TYPE_RAW_265&&this._raw265Entry(),0)}},{key:"_makeMP4PlayerViewEvent",value:function(e,t,i,n){var r=this,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,u=this;if(this.playParam.durationMs=e,this.playParam.fps=t,this.playParam.sampleRate=i,this.playParam.size=n,this.playParam.audioNone=s,this.playParam.videoCodec=o||v.CODEC_H265,this.playParam,(this.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&this.hlsConf.hlsType==v.PLAYER_IN_TYPE_M3U8_LIVE||this.configFormat.type==v.PLAYER_IN_TYPE_RAW_265)&&(this.playMode=v.PLAYER_MODE_NOTIME_LIVE),u.configFormat.extInfo.autoCrop){var l=document.querySelector("#"+this.configFormat.playerId),h=n.width/n.height,d=this.configFormat.playerW/this.configFormat.playerH;h>d?l.style.height=this.configFormat.playerW/h+"px":h0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,o=this;this.playParam.durationMs=e,this.playParam.fps=t,this.playParam.sampleRate=i,this.playParam.size=n,this.playParam.audioNone=r,this.playParam.videoCodec=a||v.CODEC_H264,this.configFormat.type==v.PLAYER_IN_TYPE_M3U8&&this.hlsConf.hlsType==v.PLAYER_IN_TYPE_M3U8_LIVE&&(this.playMode=v.PLAYER_MODE_NOTIME_LIVE),this.player=new s.Mp4Player({width:this.configFormat.playerW,height:this.configFormat.playerH,sampleRate:i,fps:t,appendHevcType:v.APPEND_TYPE_FRAME,fixed:!1,playerId:this.configFormat.playerId,audioNone:r,token:this.configFormat.token,videoCodec:a,autoPlay:this.configFormat.extInfo.autoPlay});var u=0,l=window.setInterval((function(){u++,void 0!==o.player&&null!==o.player||(window.clearInterval(l),l=null),u>v.DEFAULT_PLAYERE_LOAD_TIMEOUT&&(o.player.release(),o.player=null,o._cDemuxDecoderEntry(0,!0),window.clearInterval(l),l=null)}),1e3);this.player.makeIt(this.videoURL),this.player.onPlayingTime=function(t){o._durationText(t),o._durationText(e/1e3),null!=o.onPlayTime&&o.onPlayTime(t)},this.player.onPlayingFinish=function(){null!=o.onPlayFinish&&o.onPlayFinish()},this.player.onLoadFinish=function(){window.clearInterval(l),l=null,o.playParam.durationMs=1e3*o.player.duration,o.playParam.size=o.player.getSize(),o.onLoadFinish&&o.onLoadFinish(),o.onReadyShowDone&&o.onReadyShowDone()},this.player.onPlayState=function(e){o.onPlayState&&o.onPlayState(e)},this.player.onCacheProcess=function(e){o.onCacheProcess&&o.onCacheProcess(e)}}},{key:"_initMp4BoxObject",value:function(){var e=this;this.timerFeed=null,this.mp4Obj=new m,this.mp4Obj.onMp4BoxReady=function(t){var i=e.mp4Obj.getFPS(),n=T(i,e.mp4Obj.getDurationMs()),r=e.mp4Obj.getSampleRate(),a=e.mp4Obj.getSize(),s=e.mp4Obj.getVideoCoder();t===v.CODEC_H265?(e._makeMP4PlayerViewEvent(n,i,r,a,e.mp4Obj.audioNone,s),parseInt(n/1e3),e._avFeedMP4Data(0,0)):e._makeNativePlayer(n,i,r,a,e.mp4Obj.audioNone,s)}}},{key:"_mp4Entry",value:function(){var e=this,t=this;fetch(this.videoURL).then((function(e){return e.arrayBuffer()})).then((function(i){t._initMp4BoxObject(),e.mp4Obj.demux(),e.mp4Obj.appendBufferData(i,0),e.mp4Obj.finishBuffer(),e.mp4Obj.seek(-1)}))}},{key:"_mp4EntryVodStream",value:function(){var e=this,t=this;this.timerFeed=null,this.mp4Obj=new m,this._initMp4BoxObject(),this.mp4Obj.demux();var i=0,n=!1,r=window.setInterval((function(){n||(n=!0,fetch(e.videoURL).then((function(e){return function e(n){return n.read().then((function(a){if(a.done)return t.mp4Obj.finishBuffer(),t.mp4Obj.seek(-1),void window.clearInterval(r);var s=a.value;return t.mp4Obj.appendBufferData(s.buffer,i),i+=s.byteLength,e(n)}))}(e.body.getReader())})).catch((function(e){})))}),1)}},{key:"_cDemuxDecoderEntry",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.configFormat.type;var n=this,r=!1,a=new AbortController,s=a.signal,u={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,token:this.configFormat.token,readyShow:this.configFormat.extInfo.readyShow,checkProbe:this.configFormat.extInfo.checkProbe,ignoreAudio:this.configFormat.extInfo.ignoreAudio,playMode:this.playMode,autoPlay:this.configFormat.extInfo.autoPlay,defaultFps:this.configFormat.extInfo.rawFps,cacheLength:this.configFormat.extInfo.cacheLength};this.player=new o.CNativeCore(u),window.g_players[this.player.corePtr]=this.player,this.player.onReadyShowDone=function(){n.configFormat.extInfo.readyShow=!1,n.onReadyShowDone&&n.onReadyShowDone()},this.player.onRelease=function(){a.abort()},this.player.onProbeFinish=function(){r=!0,n.player.config,n.player.audioNone,n.playParam.fps=n.player.config.fps,n.playParam.durationMs=T(n.playParam.fps,1e3*n.player.duration),n.player.duration<0&&(n.playMode=v.PLAYER_MODE_NOTIME_LIVE,n.playParam.durationMs=-1),n.playParam.sampleRate=n.player.config.sampleRate,n.playParam.size={width:n.player.width,height:n.player.height},n.playParam.audioNone=n.player.audioNone,n.player.vCodecID===v.V_CODEC_NAME_HEVC?(n.playParam.videoCodec=v.CODEC_H265,n.playParam.audioIdx<0&&(n.playParam.audioNone=!0),!0!==p.IsSupport265Mse()||!1!==i||n.mediaExtFormat!==v.PLAYER_IN_TYPE_MP4&&n.mediaExtFormat!==v.PLAYER_IN_TYPE_FLV?n.onLoadFinish&&n.onLoadFinish():(a.abort(),n.player.release(),n.mediaExtFormat,v.PLAYER_IN_TYPE_MP4,n.player=null,n.mediaExtFormat===v.PLAYER_IN_TYPE_MP4?n._makeNativePlayer(n.playParam.durationMs,n.playParam.fps,n.playParam.sampleRate,n.playParam.size,!1,n.playParam.videoCodec):n.mediaExtFormat===v.PLAYER_IN_TYPE_FLV&&n._flvJsPlayer(n.playParam.durationMs,n.playParam.audioNone))):(n.playParam.videoCodec=v.CODEC_H264,a.abort(),n.player.release(),n.player=null,n.mediaExtFormat===v.PLAYER_IN_TYPE_MP4?n._makeNativePlayer(n.playParam.durationMs,n.playParam.fps,n.playParam.sampleRate,n.playParam.size,!1,n.playParam.videoCodec):n.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?n._flvJsPlayer(n.playParam.durationMs,n.playParam.audioNone):n.onLoadFinish&&n.onLoadFinish())},this.player.onPlayingTime=function(e){n._durationText(e),n._durationText(n.player.duration),null!=n.onPlayTime&&n.onPlayTime(e)},this.player.onPlayingFinish=function(){n.pause(),null!=n.onPlayTime&&n.onPlayTime(0),n.onPlayFinish&&n.onPlayFinish(),n.player.reFull=!0,n.seek(0)},this.player.onCacheProcess=function(t){e.onCacheProcess&&e.onCacheProcess(t)},this.player.onLoadCache=function(){null!=e.onLoadCache&&e.onLoadCache()},this.player.onLoadCacheFinshed=function(){null!=e.onLoadCacheFinshed&&e.onLoadCacheFinshed()},this.player.onRender=function(e,t,i,r,a){n.snapshotYuvLastFrame.luma=null,n.snapshotYuvLastFrame.chromaB=null,n.snapshotYuvLastFrame.chromaR=null,n.snapshotYuvLastFrame.width=e,n.snapshotYuvLastFrame.height=t,n.snapshotYuvLastFrame.luma=new Uint8Array(i),n.snapshotYuvLastFrame.chromaB=new Uint8Array(r),n.snapshotYuvLastFrame.chromaR=new Uint8Array(a),null!=n.onRender&&n.onRender(e,t,i,r,a)},this.player.onSeekFinish=function(){null!=e.onSeekFinish&&e.onSeekFinish()};var l=!1,h=0,d=function e(i){setTimeout((function(){if(!1===l){if(a.abort(),a=null,s=null,i>=v.FETCH_FIRST_MAX_TIMES)return;a=new AbortController,s=a.signal,e(i+1)}}),v.FETCH_HTTP_FLV_TIMEOUT_MS),fetch(n.videoURL,{signal:s}).then((function(e){if(e.headers.get("Content-Length"),!e.ok)return console.error("error cdemuxdecoder prepare request media failed with http code:",e.status),!1;if(l=!0,e.headers.has("Content-Length"))h=e.headers.get("Content-Length"),n.configFormat.extInfo.coreProbePart<=0?n.player&&n.player.setProbeSize(n.configFormat.extInfo.probeSize):n.player&&n.player.setProbeSize(h*n.configFormat.extInfo.coreProbePart);else{if(n.mediaExtFormat===v.PLAYER_IN_TYPE_FLV)return a.abort(),n.player.release(),n.player=null,n._cLiveFLVDecoderEntry(u),!0;n.player&&n.player.setProbeSize(40960)}return e.headers.get("Content-Length"),n.configFormat.type,n.mediaExtFormat,function e(i){return i.read().then((function(a){if(a.done)return!0===r||(n.player.release(),n.player=null,t0&&void 0!==arguments[0]?arguments[0]:0;if(1===t)return i.player.release(),i.player=null,void i._cLiveG711DecoderEntry(e);if(i.playParam.fps=i.player.mediaInfo.fps,i.playParam.durationMs=-1,i.playMode=v.PLAYER_MODE_NOTIME_LIVE,i.playParam.sampleRate=i.player.mediaInfo.sampleRate,i.playParam.size={width:i.player.mediaInfo.width,height:i.player.mediaInfo.height},i.playParam.audioNone=i.player.mediaInfo.audioNone,i.player.mediaInfo,i.player.vCodecID===v.V_CODEC_NAME_HEVC)i.playParam.videoCodec=v.CODEC_H265,i.playParam.audioIdx<0&&(i.playParam.audioNone=!0),!0===p.IsSupport265Mse()&&i.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?(i.player.release(),i.player=null,i.mediaExtFormat===v.PLAYER_IN_TYPE_FLV&&i._flvJsPlayer(i.playParam.durationMs,i.playParam.audioNone)):i.onLoadFinish&&i.onLoadFinish();else if(i.playParam.videoCodec=v.CODEC_H264,i.player.release(),i.player=null,i.mediaExtFormat===v.PLAYER_IN_TYPE_FLV)i._flvJsPlayer(i.playParam.durationMs,i.playParam.audioNone);else{if(i.mediaExtFormat!==v.PLAYER_IN_TYPE_TS&&i.mediaExtFormat!==v.PLAYER_IN_TYPE_MPEGTS)return-1;i._mpegTsNv3rdPlayer(i.playParam.durationMs,i.playParam.audioNone)}},this.player.onError=function(e){i.onError&&i.onError(e)},this.player.onReadyShowDone=function(){i.configFormat.extInfo.readyShow=!1,i.onReadyShowDone&&i.onReadyShowDone()},this.player.onLoadCache=function(){null!=t.onLoadCache&&t.onLoadCache()},this.player.onLoadCacheFinshed=function(){null!=t.onLoadCacheFinshed&&t.onLoadCacheFinshed()},this.player.onRender=function(e,t,n,r,a){i.snapshotYuvLastFrame.luma=null,i.snapshotYuvLastFrame.chromaB=null,i.snapshotYuvLastFrame.chromaR=null,i.snapshotYuvLastFrame.width=e,i.snapshotYuvLastFrame.height=t,i.snapshotYuvLastFrame.luma=new Uint8Array(n),i.snapshotYuvLastFrame.chromaB=new Uint8Array(r),i.snapshotYuvLastFrame.chromaR=new Uint8Array(a),null!=i.onRender&&i.onRender(e,t,n,r,a)},this.player.onPlayState=function(e){i.onPlayState&&i.onPlayState(e)},this.player.start(this.videoURL)}},{key:"_cWsFLVDecoderEntry",value:function(){var e=this,t=this,i={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,token:this.configFormat.token,readyShow:this.configFormat.extInfo.readyShow,checkProbe:this.configFormat.extInfo.checkProbe,ignoreAudio:this.configFormat.extInfo.ignoreAudio,playMode:this.playMode,autoPlay:this.configFormat.extInfo.autoPlay};i.probeSize=this.configFormat.extInfo.probeSize,this.player=new h.CWsLiveCore(i),i.probeSize,window.g_players[this.player.corePtr]=this.player,this.player.onProbeFinish=function(){t.playParam.fps=t.player.mediaInfo.fps,t.playParam.durationMs=-1,t.playMode=v.PLAYER_MODE_NOTIME_LIVE,t.playParam.sampleRate=t.player.mediaInfo.sampleRate,t.playParam.size={width:t.player.mediaInfo.width,height:t.player.mediaInfo.height},t.playParam.audioNone=t.player.mediaInfo.audioNone,t.player.mediaInfo,t.player.vCodecID===v.V_CODEC_NAME_HEVC?(t.playParam.audioIdx<0&&(t.playParam.audioNone=!0),t.playParam.videoCodec=v.CODEC_H265,!0===p.IsSupport265Mse()&&t.mediaExtFormat===v.PLAYER_IN_TYPE_FLV?(t.player.release(),t.player=null,t._flvJsPlayer(t.playParam.durationMs,t.playParam.audioNone)):t.onLoadFinish&&t.onLoadFinish()):(t.playParam.videoCodec=v.CODEC_H264,t.player.release(),t.player=null,t._flvJsPlayer(t.playParam.durationMs,t.playParam.audioNone))},this.player.onError=function(e){t.onError&&t.onError(e)},this.player.onReadyShowDone=function(){t.configFormat.extInfo.readyShow=!1,t.onReadyShowDone&&t.onReadyShowDone()},this.player.onLoadCache=function(){null!=e.onLoadCache&&e.onLoadCache()},this.player.onLoadCacheFinshed=function(){null!=e.onLoadCacheFinshed&&e.onLoadCacheFinshed()},this.player.onRender=function(e,i,n,r,a){t.snapshotYuvLastFrame.luma=null,t.snapshotYuvLastFrame.chromaB=null,t.snapshotYuvLastFrame.chromaR=null,t.snapshotYuvLastFrame.width=e,t.snapshotYuvLastFrame.height=i,t.snapshotYuvLastFrame.luma=new Uint8Array(n),t.snapshotYuvLastFrame.chromaB=new Uint8Array(r),t.snapshotYuvLastFrame.chromaR=new Uint8Array(a),null!=t.onRender&&t.onRender(e,i,n,r,a)},this.player.start(this.videoURL)}},{key:"_mpegTsEntry",value:function(){var e=this,t=(Module.cwrap("AVPlayerInit","number",["string","string"])(this.configFormat.token,"0.0.0"),new AbortController),i=t.signal;this.timerFeed=null,this.mpegTsObj=new _.MpegTs,this.mpegTsObj.bindReady(e),this.mpegTsObj.onDemuxed=this._mpegTsEntryReady.bind(this),this.mpegTsObj.onReady=function(){var n=null;fetch(e.videoURL,{signal:i}).then((function(r){if(r.headers.has("Content-Length"))return function t(i){return i.read().then((function(r){if(!r.done){var a=r.value;if(null===n)n=a;else{var s=a,o=n.length+s.length,u=new Uint8Array(o);u.set(n),u.set(s,n.length),n=new Uint8Array(u),s=null,u=null}return t(i)}e.mpegTsObj.demux(n)}))}(r.body.getReader());t.abort(),i=null,t=null;var a={width:e.configFormat.playerW,height:e.configFormat.playerH,playerId:e.configFormat.playerId,token:e.configFormat.token,readyShow:e.configFormat.extInfo.readyShow,checkProbe:e.configFormat.extInfo.checkProbe,ignoreAudio:e.configFormat.extInfo.ignoreAudio,playMode:e.playMode,autoPlay:e.configFormat.extInfo.autoPlay};e._cLiveFLVDecoderEntry(a)})).catch((function(e){if(!e.toString().includes("user aborted")){var t=" mpegts request error:"+e;console.error(t)}}))},this.mpegTsObj.initMPEG()}},{key:"_mpegTsEntryReady",value:function(e){var t=e,i=(t.mpegTsObj.getVCodec(),t.mpegTsObj.getACodec()),n=t.mpegTsObj.getDurationMs(),r=t.mpegTsObj.getFPS(),a=t.mpegTsObj.getSampleRate(),s=t.mpegTsObj.getSize(),o=this.mpegTsObj.isHEVC();if(!o)return this.mpegTsObj.releaseTsDemuxer(),this.mpegTsObj=null,this.playParam.durationMs=n,this.playParam.fps=r,this.playParam.sampleRate=a,this.playParam.size=s,this.playParam.audioNone=""==i,this.playParam.videoCodec=o?0:1,this.playParam,void this._mpegTsNv3rdPlayer(this.playParam.durationMs,this.playParam.audioNone);t._makeMP4PlayerViewEvent(n,r,a,s,""==i),parseInt(n/1e3),t._avFeedMP4Data(0,0)}},{key:"_m3u8Entry",value:function(){var e=this,t=this;if(!1===this._isSupportWASM())return this._videoJsPlayer();Module.cwrap("AVPlayerInit","number",["string","string"])(this.configFormat.token,"0.0.0");var i=!1,n=0;this.hlsObj=new g.M3u8,this.hlsObj.bindReady(t),this.hlsObj.onFinished=function(e,r){0==i&&(n=t.hlsObj.getDurationMs(),t.hlsConf.hlsType=r.type,i=!0)},this.hlsObj.onCacheProcess=function(t){e.playMode!==v.PLAYER_MODE_NOTIME_LIVE&&e.onCacheProcess&&e.onCacheProcess(t)},this.hlsObj.onDemuxed=function(e){if(null==t.player){var i=t.hlsObj.isHevcParam,r=(t.hlsObj.getVCodec(),t.hlsObj.getACodec()),a=t.hlsObj.getFPS(),s=t.hlsObj.getSampleRate(),o=t.hlsObj.getSize(),u=!1;if(u=t.hlsObj.getSampleChannel()<=0||""===r,!i)return t.hlsObj.release(),t.hlsObj.mpegTsObj&&t.hlsObj.mpegTsObj.releaseTsDemuxer(),t.hlsObj=null,t.playParam.durationMs=n,t.playParam.fps=a,t.playParam.sampleRate=s,t.playParam.size=o,t.playParam.audioNone=""==r,t.playParam.videoCodec=i?0:1,t.playParam,void t._videoJsPlayer(n);t._makeMP4PlayerViewEvent(n,a,s,o,u)}},this.hlsObj.onSamples=this._hlsOnSamples.bind(this),this.hlsObj.demux(this.videoURL)}},{key:"_hlsOnSamples",value:function(e,t){1==t.video?this.player.appendHevcFrame(t):!1===this.hlsObj.audioNone&&this.player.appendAACFrame(t)}},{key:"_videoJsPlayer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=this,i={probeDurationMS:e,width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,ignoreAudio:this.configFormat.extInfo.ignoreAudio,autoPlay:this.configFormat.extInfo.autoPlay,playMode:this.playMode};this.player=new d.NvVideojsCore(i),this.player.onMakeItReady=function(){t.onMakeItReady&&t.onMakeItReady()},this.player.onLoadFinish=function(){t.playParam.size=t.player.getSize(),t.playParam.videoCodec=1,t.player.duration===1/0||t.player.duration<0?(t.playParam.durationMs=-1,t.playMode=v.PLAYER_MODE_NOTIME_LIVE):(t.playParam.durationMs=1e3*t.player.duration,t.playMode=v.PLAYER_MODE_VOD),t.playParam,t.player.duration,t.player.getSize(),t.onLoadFinish&&t.onLoadFinish()},this.player.onReadyShowDone=function(){t.onReadyShowDone&&t.onReadyShowDone()},this.player.onPlayingFinish=function(){t.pause(),t.seek(0),null!=t.onPlayFinish&&t.onPlayFinish()},this.player.onPlayingTime=function(e){t._durationText(e),t._durationText(t.player.duration),null!=t.onPlayTime&&t.onPlayTime(e)},this.player.onSeekFinish=function(){t.onSeekFinish&&t.onSeekFinish()},this.player.onPlayState=function(e){t.onPlayState&&t.onPlayState(e)},this.player.onCacheProcess=function(e){t.onCacheProcess&&t.onCacheProcess(e)},this.player.makeIt(this.videoURL)}},{key:"_flvJsPlayer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this,n={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,ignoreAudio:this.configFormat.extInfo.ignoreAudio,duration:e,autoPlay:this.configFormat.extInfo.autoPlay,audioNone:t};this.player=new c.NvFlvjsCore(n),this.player.onLoadFinish=function(){i.playParam.size=i.player.getSize(),!i.player.duration||NaN===i.player.duration||i.player.duration===1/0||i.player.duration<0?(i.playParam.durationMs=-1,i.playMode=v.PLAYER_MODE_NOTIME_LIVE):(i.playParam.durationMs=1e3*i.player.duration,i.playMode=v.PLAYER_MODE_VOD),i.onLoadFinish&&i.onLoadFinish()},this.player.onReadyShowDone=function(){i.onReadyShowDone&&i.onReadyShowDone()},this.player.onPlayingTime=function(e){i._durationText(e),i._durationText(i.player.duration),null!=i.onPlayTime&&i.onPlayTime(e)},this.player.onPlayingFinish=function(){i.pause(),i.seek(0),null!=i.onPlayFinish&&i.onPlayFinish()},this.player.onPlayState=function(e){i.onPlayState&&i.onPlayState(e)},this.player.onCacheProcess=function(e){i.onCacheProcess&&i.onCacheProcess(e)},this.player.makeIt(this.videoURL)}},{key:"_mpegTsNv3rdPlayer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this,n={width:this.configFormat.playerW,height:this.configFormat.playerH,playerId:this.configFormat.playerId,ignoreAudio:this.configFormat.extInfo.ignoreAudio,duration:e,autoPlay:this.configFormat.extInfo.autoPlay,audioNone:t};this.player=new f.NvMpegTsCore(n),this.player.onLoadFinish=function(){i.playParam.size=i.player.getSize(),!i.player.duration||NaN===i.player.duration||i.player.duration===1/0||i.player.duration<0?(i.playParam.durationMs=-1,i.playMode=v.PLAYER_MODE_NOTIME_LIVE):(i.playParam.durationMs=1e3*i.player.duration,i.playMode=v.PLAYER_MODE_VOD),i.onLoadFinish&&i.onLoadFinish()},this.player.onReadyShowDone=function(){i.onReadyShowDone&&i.onReadyShowDone()},this.player.onPlayingTime=function(e){i._durationText(e),i._durationText(i.player.duration),null!=i.onPlayTime&&i.onPlayTime(e)},this.player.onPlayingFinish=function(){i.pause(),i.seek(0),null!=i.onPlayFinish&&i.onPlayFinish()},this.player.onPlayState=function(e){i.onPlayState&&i.onPlayState(e)},this.player.onCacheProcess=function(e){i.onCacheProcess&&i.onCacheProcess(e)},this.player.makeIt(this.videoURL)}},{key:"_raw265Entry",value:function(){var e=this;this.videoURL;var t=function t(){setTimeout((function(){e.workerParse.postMessage({cmd:"get-nalu",data:null,msg:"get-nalu"}),e.workerParse.parseEmpty,e.workerFetch.onMsgFetchFinished,!0===e.workerFetch.onMsgFetchFinished&&!0===e.workerParse.frameListEmpty&&!1===e.workerParse.streamEmpty&&e.workerParse.postMessage({cmd:"last-nalu",data:null,msg:"last-nalu"}),!0===e.workerParse.parseEmpty&&(e.workerParse.stopNaluInterval=!0),!0!==e.workerParse.stopNaluInterval&&t()}),1e3)};this._makeMP4PlayerViewEvent(-1,this.configFormat.extInfo.rawFps,-1,{width:this.configFormat.playerW,height:this.configFormat.playerH},!0,v.CODEC_H265),this.timerFeed&&(window.clearInterval(this.timerFeed),this.timerFeed=null),e.workerFetch=new Worker(p.GetScriptPath((function(){var e=new AbortController,t=e.signal,i=null;onmessage=function(n){var r=n.data;switch(void 0===r.cmd||null===r.cmd?"":r.cmd){case"start":var a=r.url;"http"===r.type?fetch(a,{signal:t}).then((function(e){return function e(t){return t.read().then((function(i){if(!i.done){var n=i.value;return postMessage({cmd:"fetch-chunk",data:n,msg:"fetch-chunk"}),e(t)}postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}))}(e.body.getReader())})).catch((function(e){})):"websocket"===r.type&&function(e){(i=new WebSocket(e)).binaryType="arraybuffer",i.onopen=function(e){i.send("Hello WebSockets!")},i.onmessage=function(e){if(e.data instanceof ArrayBuffer){var t=e.data;t.byteLength>0&&postMessage({cmd:"fetch-chunk",data:new Uint8Array(t),msg:"fetch-chunk"})}},i.onclose=function(e){postMessage({cmd:"fetch-fin",data:null,msg:"fetch-fin"})}}(a),postMessage({cmd:"default",data:"WORKER STARTED",msg:"default"});break;case"stop":"http"===r.type?e.abort():"websocket"===r.type&&i&&i.close(),close()}}}))),e.workerFetch.onMsgFetchFinished=!1,e.workerFetch.onmessage=function(i){var n=i.data;switch(void 0===n.cmd||null===n.cmd?"":n.cmd){case"fetch-chunk":var r=n.data;e.workerParse.postMessage({cmd:"append-chunk",data:r,msg:"append-chunk"});break;case"fetch-fin":e.workerFetch.onMsgFetchFinished=!0,t()}},e.workerParse=new Worker(p.GetScriptPath((function(){var e,t=((e=new Object).frameList=[],e.stream=null,e.frameListEmpty=function(){return e.frameList.length<=0},e.streamEmpty=function(){return null===e.stream||e.stream.length<=0},e.checkEmpty=function(){return!0===e.streamEmpty()&&!0===e.frameListEmpty()||(e.stream,e.frameList,!1)},e.pushFrameRet=function(t){return!(!t||null==t||null==t||(e.frameList&&null!=e.frameList&&null!=e.frameList||(e.frameList=[]),e.frameList.push(t),0))},e.nextFrame=function(){return!e.frameList&&null==e.frameList||null==e.frameList&&e.frameList.length<1?null:e.frameList.shift()},e.clearFrameRet=function(){e.frameList=null},e.setStreamRet=function(t){e.stream=t},e.getStreamRet=function(){return e.stream},e.appendStreamRet=function(t){if(!t||void 0===t||null==t)return!1;if(!e.stream||void 0===e.stream||null==e.stream)return e.stream=t,!0;var i=e.stream.length,n=t.length,r=new Uint8Array(i+n);r.set(e.stream,0),r.set(t,i),e.stream=r;for(var a=0;a<9999;a++){var s=e.nextNalu();if(!1===s||null==s)break;e.frameList.push(s)}return!0},e.subBuf=function(t,i){var n=new Uint8Array(e.stream.subarray(t,i+1));return e.stream=new Uint8Array(e.stream.subarray(i+1)),n},e.lastNalu=function(){var t=e.subBuf(0,e.stream.length);e.frameList.push(t)},e.nextNalu=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(null==e.stream||e.stream.length<=4)return!1;for(var i=-1,n=0;n=e.stream.length)return!1;if(0==e.stream[n]&&0==e.stream[n+1]&&1==e.stream[n+2]||0==e.stream[n]&&0==e.stream[n+1]&&0==e.stream[n+2]&&1==e.stream[n+3]){var r=n;if(n+=3,-1==i)i=r;else{if(t<=1)return e.subBuf(i,r-1);t-=1}}}return!1},e.nextNalu2=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(null==e.stream||e.stream.length<=4)return!1;for(var i=-1,n=0;n=e.stream.length)return-1!=i&&e.subBuf(i,e.stream.length-1);var r="0 0 1"==e.stream.slice(n,n+3).join(" "),a="0 0 0 1"==e.stream.slice(n,n+4).join(" ");if(r||a){var s=n;if(n+=3,-1==i)i=s;else{if(t<=1)return e.subBuf(i,s-1);t-=1}}}return!1},e);onmessage=function(e){var i=e.data;switch(void 0===i.cmd||null===i.cmd?"":i.cmd){case"append-chunk":var n=i.data;t.appendStreamRet(n);var r=t.nextFrame();postMessage({cmd:"return-nalu",data:r,msg:"return-nalu",parseEmpty:t.checkEmpty(),streamEmpty:t.streamEmpty(),frameListEmpty:t.frameListEmpty()});break;case"get-nalu":var a=t.nextFrame();postMessage({cmd:"return-nalu",data:a,msg:"return-nalu",parseEmpty:t.checkEmpty(),streamEmpty:t.streamEmpty(),frameListEmpty:t.frameListEmpty()});break;case"last-nalu":var s=t.lastNalu();postMessage({cmd:"return-nalu",data:s,msg:"return-nalu",parseEmpty:t.checkEmpty(),streamEmpty:t.streamEmpty(),frameListEmpty:t.frameListEmpty()});break;case"stop":postMessage("parse - WORKER STOPPED: "+i),close()}}}))),e.workerParse.stopNaluInterval=!1,e.workerParse.parseEmpty=!1,e.workerParse.streamEmpty=!1,e.workerParse.frameListEmpty=!1,e.workerParse.onmessage=function(t){var i=t.data;switch(void 0===i.cmd||null===i.cmd?"":i.cmd){case"return-nalu":var n=i.data,r=i.parseEmpty,a=i.streamEmpty,s=i.frameListEmpty;e.workerParse.parseEmpty=r,e.workerParse.streamEmpty=a,e.workerParse.frameListEmpty=s,!1===n||null==n?!0===e.workerFetch.onMsgFetchFinished&&!0===r&&(e.workerParse.stopNaluInterval=!0):(e.append265NaluFrame(n),e.workerParse.postMessage({cmd:"get-nalu",data:null,msg:"get-nalu"}))}},p.ParseGetMediaURL(this.videoURL),this.workerFetch.postMessage({cmd:"start",url:p.ParseGetMediaURL(this.videoURL),type:this.mediaExtProtocol,msg:"start"}),function t(){setTimeout((function(){e.configFormat.extInfo.readyShow&&(e.player.cacheYuvBuf.getState()!=CACHE_APPEND_STATUS_CODE.NULL?(e.player.playFrameYUV(!0,!0),e.configFormat.extInfo.readyShow=!1,e.onReadyShowDone&&e.onReadyShowDone()):t())}),1e3)}()}},{key:"append265NaluFrame",value:function(e){var t={data:e,pts:this.rawModePts};this.player.appendHevcFrame(t),this.configFormat.extInfo.readyShow&&this.player.cacheYuvBuf.getState()!=CACHE_APPEND_STATUS_CODE.NULL&&(this.player.playFrameYUV(!0,!0),this.configFormat.extInfo.readyShow=!1,this.onReadyShowDone&&this.onReadyShowDone()),this.rawModePts+=1/this.configFormat.extInfo.rawFps}}])&&r(i.prototype,E),w&&r(i,w),e}();i.H265webjs=E,t.new265webjs=function(e,t){return new E(e,t)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./consts":52,"./decoder/av-common":56,"./decoder/c-http-g711-core":57,"./decoder/c-httplive-core":58,"./decoder/c-native-core":59,"./decoder/c-wslive-core":60,"./decoder/cache":61,"./decoder/player-core":65,"./demuxer/m3u8":69,"./demuxer/mp4":71,"./demuxer/mpegts/mpeg.js":74,"./demuxer/ts":75,"./native/mp4-player":77,"./native/nv-flvjs-core":78,"./native/nv-mpegts-core":79,"./native/nv-videojs-core":80,"./render-engine/webgl-420p":81,"./utils/static-mem":82,"./utils/ui/ui":83}],77:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i=t.duration-.04)return t.onCacheProcess&&t.onCacheProcess(t.duration),void window.clearInterval(t.bufferInterval);t.onCacheProcess&&t.onCacheProcess(e)}),200)},this.videoTag.src=e,this.videoTag.style.width="100%",this.videoTag.style.height="100%",i.appendChild(this.videoTag)}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return{width:this.videoTag.videoWidth>0?this.videoTag.videoWidth:this.configFormat.width,height:this.videoTag.videoHeight>0?this.videoTag.videoHeight:this.configFormat.height}}},{key:"play",value:function(){this.videoTag.play()}},{key:"seek",value:function(e){this.videoTag.currentTime=e}},{key:"pause",value:function(){this.videoTag.pause()}},{key:"setVoice",value:function(e){this.videoTag.volume=e}},{key:"isPlayingState",value:function(){return!this.videoTag.paused}},{key:"release",value:function(){this.videoTag&&this.videoTag.remove(),this.videoTag=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onPlayState=null,null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),window.onclick=document.body.onclick=null}},{key:"nativeNextFrame",value:function(){void 0!==this.videoTag&&null!==this.videoTag&&(this.videoTag.currentTime+=1/this.configFormat.fps)}}])&&n(t.prototype,i),a&&n(t,a),e}();i.Mp4Player=a},{"../consts":52}],78:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&s.GetMsTime()-t.lastDecodedFrameTime>1e4)return window.clearInterval(t.checkPicBlockInterval),t.checkPicBlockInterval=null,void t._reBuildFlvjs(e)}),1e3)}},{key:"_checkLoadState",value:function(e){var t=this;this.checkStartIntervalCount=0,this.checkStartInterval=window.setInterval((function(){return t.lastDecodedFrame,t.isInitDecodeFrames,t.checkStartIntervalCount,!1!==t.isInitDecodeFrames?(t.checkStartIntervalCount=0,window.clearInterval(t.checkStartInterval),void(t.checkStartInterval=null)):(t.checkStartIntervalCount+=1,t.checkStartIntervalCount>20?(window.clearInterval(t.checkStartInterval),t.checkStartIntervalCount=0,t.checkStartInterval=null,void(!1===t.isInitDecodeFrames&&t._reBuildFlvjs(e))):void 0)}),500)}},{key:"makeIt",value:function(e){var t=this;if(a.isSupported()){var i=document.querySelector("#"+this.configFormat.playerId);this.videoTag=document.createElement("video"),this.videoTag.id=this.myPlayerID,this.videoTag.style.width=this.configFormat.width+"px",this.videoTag.style.height=this.configFormat.height+"px",i.appendChild(this.videoTag),!0===this.configFormat.autoPlay&&(this.videoTag.muted="muted",this.videoTag.autoplay="autoplay",window.onclick=document.body.onclick=function(e){t.videoTag.muted=!1,t.isPlayingState(),window.onclick=document.body.onclick=null}),this.videoTag.onplay=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)},this.videoTag.onpause=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)};var n={hasVideo:!0,hasAudio:!(!0===this.configFormat.audioNone),type:"flv",url:e,isLive:this.configFormat.duration<=0,withCredentials:!1};this.myPlayer=a.createPlayer(n),this.myPlayer.attachMediaElement(this.videoTag),this.myPlayer.on(a.Events.MEDIA_INFO,(function(e){t.videoTag.videoWidth,!1===t.isInitDecodeFrames&&(t.isInitDecodeFrames=!0,t.width=Math.max(t.videoTag.videoWidth,e.width),t.height=Math.max(t.videoTag.videoHeight,e.height),t.duration=t.videoTag.duration,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&t.duration>0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()}))})),this.myPlayer.on(a.Events.STATISTICS_INFO,(function(e){t.videoTag.videoWidth,t.videoTag.videoHeight,t.videoTag.duration,!1===t.isInitDecodeFrames&&t.videoTag.videoWidth>0&&t.videoTag.videoHeight>0&&(t.isInitDecodeFrames=!0,t.width=t.videoTag.videoWidth,t.height=t.videoTag.videoHeight,t.duration=t.videoTag.duration,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()})),t.lastDecodedFrame=e.decodedFrames,t.lastDecodedFrameTime=s.GetMsTime()})),this.myPlayer.on(a.Events.SCRIPTDATA_ARRIVED,(function(e){})),this.myPlayer.on(a.Events.METADATA_ARRIVED,(function(e){!1===t.isInitDecodeFrames&&e.width&&e.width>0&&(t.isInitDecodeFrames=!0,t.duration=e.duration,t.width=e.width,t.height=e.height,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()}))})),this.myPlayer.on(a.Events.ERROR,(function(i,n,r){t.myPlayer&&t._reBuildFlvjs(e)})),this.myPlayer.load(),this._checkLoadState(e),this._checkPicBlock(e)}else console.error("FLV is AVC/H.264, But your brower do not support mse!")}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return{width:this.videoTag.videoWidth>0?this.videoTag.videoWidth:this.width,height:this.videoTag.videoHeight>0?this.videoTag.videoHeight:this.height}}},{key:"play",value:function(){this.myPlayer.play()}},{key:"seek",value:function(e){this.myPlayer.currentTime=e}},{key:"pause",value:function(){this.myPlayer.pause()}},{key:"setVoice",value:function(e){this.myPlayer.volume=e}},{key:"isPlayingState",value:function(){return!this.videoTag.paused}},{key:"_loopBufferState",value:function(){var e=this;e.duration<=0&&(e.duration=e.videoTag.duration),null!==e.bufferInterval&&(window.clearInterval(e.bufferInterval),e.bufferInterval=null),e.bufferInterval=window.setInterval((function(){if(!e.duration||e.duration<0)window.clearInterval(e.bufferInterval);else{var t=e.videoTag.buffered.end(0);if(t>=e.duration-.04)return e.onCacheProcess&&e.onCacheProcess(e.duration),void window.clearInterval(e.bufferInterval);e.onCacheProcess&&e.onCacheProcess(t)}}),200)}},{key:"_releaseFlvjs",value:function(){this.myPlayer,this.myPlayer.pause(),this.myPlayer.unload(),this.myPlayer.detachMediaElement(),this.myPlayer.destroy(),this.myPlayer=null,this.videoTag.remove(),this.videoTag=null,null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),this.isInitDecodeFrames=!1,this.lastDecodedFrame=0,this.lastDecodedFrameTime=-1}},{key:"release",value:function(){null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),this._releaseFlvjs(),this.myPlayerID=null,this.videoContaner=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onReadyShowDone=null,this.onPlayState=null,window.onclick=document.body.onclick=null}}])&&n(t.prototype,i),o&&n(t,o),e}();i.NvFlvjsCore=o},{"../consts":52,"../decoder/av-common":56,"../demuxer/flv-hevc/flv-hevc.js":68,"../version":84}],79:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&s.GetMsTime()-t.lastDecodedFrameTime>1e4)return window.clearInterval(t.checkPicBlockInterval),t.checkPicBlockInterval=null,void t._reBuildMpegTsjs(e)}),1e3)}},{key:"_checkLoadState",value:function(e){var t=this;this.checkStartIntervalCount=0,this.checkStartInterval=window.setInterval((function(){return t.lastDecodedFrame,t.isInitDecodeFrames,t.checkStartIntervalCount,!1!==t.isInitDecodeFrames?(t.checkStartIntervalCount=0,window.clearInterval(t.checkStartInterval),void(t.checkStartInterval=null)):(t.checkStartIntervalCount+=1,t.checkStartIntervalCount>20?(window.clearInterval(t.checkStartInterval),t.checkStartIntervalCount=0,t.checkStartInterval=null,void(!1===t.isInitDecodeFrames&&t._reBuildMpegTsjs(e))):void 0)}),500)}},{key:"makeIt",value:function(e){var t=this;if(a.isSupported()){var i=document.querySelector("#"+this.configFormat.playerId);this.videoTag=document.createElement("video"),this.videoTag.id=this.myPlayerID,this.videoTag.style.width=this.configFormat.width+"px",this.videoTag.style.height=this.configFormat.height+"px",i.appendChild(this.videoTag),!0===this.configFormat.autoPlay&&(this.videoTag.muted="muted",this.videoTag.autoplay="autoplay",window.onclick=document.body.onclick=function(e){t.videoTag.muted=!1,t.isPlayingState(),window.onclick=document.body.onclick=null}),this.videoTag.onplay=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)},this.videoTag.onpause=function(){var e=t.isPlayingState();t.onPlayState&&t.onPlayState(e)};var n={hasVideo:!0,hasAudio:!(!0===this.configFormat.audioNone),type:"mse",url:e,isLive:this.configFormat.duration<=0,withCredentials:!1};this.myPlayer=a.createPlayer(n),this.myPlayer.attachMediaElement(this.videoTag),this.myPlayer.on(a.Events.MEDIA_INFO,(function(e){t.videoTag.videoWidth,!1===t.isInitDecodeFrames&&(t.isInitDecodeFrames=!0,t.width=Math.max(t.videoTag.videoWidth,e.width),t.height=Math.max(t.videoTag.videoHeight,e.height),t.videoTag.duration&&e.duration?t.videoTag.duration?t.duration=t.videoTag.duration:e.duration&&(t.duration=e.duration):t.duration=t.configFormat.duration/1e3,t.duration,t.onLoadFinish&&t.onLoadFinish(),t.onReadyShowDone&&t.onReadyShowDone(),t._loopBufferState(),t.isPlayingState(),t.videoTag.ontimeupdate=function(){t.onPlayingTime&&t.onPlayingTime(t.videoTag.currentTime)},t.duration!==1/0&&t.duration>0&&(t.videoTag.onended=function(){t.onPlayingFinish&&t.onPlayingFinish()}))})),this.myPlayer.on(a.Events.SCRIPTDATA_ARRIVED,(function(e){})),this.myPlayer.on(a.Events.ERROR,(function(i,n,r){t.myPlayer&&t._reBuildMpegTsjs(e)})),this.myPlayer.load(),this._checkLoadState(e),this._checkPicBlock(e)}else console.error("FLV is AVC/H.264, But your brower do not support mse!")}},{key:"setPlaybackRate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return{width:this.videoTag.videoWidth>0?this.videoTag.videoWidth:this.width,height:this.videoTag.videoHeight>0?this.videoTag.videoHeight:this.height}}},{key:"play",value:function(){this.videoTag,this.videoTag.play()}},{key:"seek",value:function(e){this.videoTag.currentTime=e}},{key:"pause",value:function(){this.videoTag.pause()}},{key:"setVoice",value:function(e){this.videoTag.volume=e}},{key:"isPlayingState",value:function(){return!this.videoTag.paused}},{key:"_loopBufferState",value:function(){var e=this;e.duration<=0&&e.videoTag.duration&&(e.duration=e.videoTag.duration),null!==e.bufferInterval&&(window.clearInterval(e.bufferInterval),e.bufferInterval=null),e.bufferInterval=window.setInterval((function(){if(e.configFormat.duration<=0)window.clearInterval(e.bufferInterval);else{var t=e.videoTag.buffered.end(0);if(t>=e.duration-.04)return e.onCacheProcess&&e.onCacheProcess(e.duration),void window.clearInterval(e.bufferInterval);e.onCacheProcess&&e.onCacheProcess(t)}}),200)}},{key:"_releaseMpegTsjs",value:function(){this.myPlayer,this.myPlayer.pause(),this.myPlayer.unload(),this.myPlayer.detachMediaElement(),this.myPlayer.destroy(),this.myPlayer=null,this.videoTag.remove(),this.videoTag=null,null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),this.isInitDecodeFrames=!1,this.lastDecodedFrame=0,this.lastDecodedFrameTime=-1}},{key:"release",value:function(){null!==this.checkStartInterval&&(this.checkStartIntervalCount=0,window.clearInterval(this.checkStartInterval),this.checkStartInterval=null),null!==this.checkPicBlockInterval&&(window.clearInterval(this.checkPicBlockInterval),this.checkPicBlockInterval=null),null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),this._releaseMpegTsjs(),this.myPlayerID=null,this.videoContaner=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onReadyShowDone=null,this.onPlayState=null,window.onclick=document.body.onclick=null}}])&&n(t.prototype,i),o&&n(t,o),e}();i.NvMpegTsCore=o},{"../consts":52,"../decoder/av-common":56,"../version":84,"mpegts.js":41}],80:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:1;return!(e<=0||null==this.videoTag||null===this.videoTag||(this.videoTag.playbackRate=e,0))}},{key:"getPlaybackRate",value:function(){return null==this.videoTag||null===this.videoTag?0:this.videoTag.playbackRate}},{key:"getSize",value:function(){return this.myPlayer.videoWidth()<=0?{width:this.videoTag.videoWidth,height:this.videoTag.videoHeight}:{width:this.myPlayer.videoWidth(),height:this.myPlayer.videoHeight()}}},{key:"play",value:function(){void 0===this.videoTag||null===this.videoTag?this.myPlayer.play():this.videoTag.play()}},{key:"seek",value:function(e){void 0===this.videoTag||null===this.videoTag?this.myPlayer.currentTime=e:this.videoTag.currentTime=e}},{key:"pause",value:function(){void 0===this.videoTag||null===this.videoTag?this.myPlayer.pause():this.videoTag.pause()}},{key:"setVoice",value:function(e){void 0===this.videoTag||null===this.videoTag?this.myPlayer.volume=e:this.videoTag.volume=e}},{key:"isPlayingState",value:function(){return!this.myPlayer.paused()}},{key:"_loopBufferState",value:function(){var e=this;e.duration<=0&&(e.duration=e.videoTag.duration),null!==e.bufferInterval&&(window.clearInterval(e.bufferInterval),e.bufferInterval=null),e.configFormat.probeDurationMS,e.configFormat.probeDurationMS<=0||e.duration<=0||(e.bufferInterval=window.setInterval((function(){var t=e.videoTag.buffered.end(0);if(t>=e.duration-.04)return e.onCacheProcess&&e.onCacheProcess(e.duration),void window.clearInterval(e.bufferInterval);e.onCacheProcess&&e.onCacheProcess(t)}),200))}},{key:"release",value:function(){this.loadSuccess=!1,void 0!==this.bootInterval&&null!==this.bootInterval&&(window.clearInterval(this.bootInterval),this.bootInterval=null),this.myPlayer.dispose(),this.myPlayerID=null,this.myPlayer=null,this.videoContaner=null,this.videoTag=null,this.onLoadFinish=null,this.onPlayingTime=null,this.onPlayingFinish=null,this.onSeekFinish=null,this.onReadyShowDone=null,this.onPlayState=null,null!==this.bufferInterval&&(window.clearInterval(this.bufferInterval),this.bufferInterval=null),window.onclick=document.body.onclick=null}}])&&n(t.prototype,i),s&&n(t,s),e}();i.NvVideojsCore=s},{"../consts":52,"../version":84,"video.js":47}],81:[function(e,t,i){"use strict";e("../decoder/av-common");function n(e){this.gl=e,this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),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)}n.prototype.bind=function(e,t,i){var n=this.gl;n.activeTexture([n.TEXTURE0,n.TEXTURE1,n.TEXTURE2][e]),n.bindTexture(n.TEXTURE_2D,this.texture),n.uniform1i(n.getUniformLocation(t,i),e)},n.prototype.fill=function(e,t,i){var n=this.gl;n.bindTexture(n.TEXTURE_2D,this.texture),n.texImage2D(n.TEXTURE_2D,0,n.LUMINANCE,e,t,0,n.LUMINANCE,n.UNSIGNED_BYTE,i)},t.exports={renderFrame:function(e,t,i,n,r,a){e.viewport(0,0,e.canvas.width,e.canvas.height),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.y.fill(r,a,t),e.u.fill(r>>1,a>>1,i),e.v.fill(r>>1,a>>1,n),e.drawArrays(e.TRIANGLE_STRIP,0,4)},setupCanvas:function(e,t){var i=e.getContext("webgl")||e.getContext("experimental-webgl");if(!i)return i;var r=i.createProgram(),a=["attribute highp vec4 aVertexPosition;","attribute vec2 aTextureCoord;","varying highp vec2 vTextureCoord;","void main(void) {"," gl_Position = aVertexPosition;"," vTextureCoord = aTextureCoord;","}"].join("\n"),s=i.createShader(i.VERTEX_SHADER);i.shaderSource(s,a),i.compileShader(s);var o=["precision highp float;","varying lowp vec2 vTextureCoord;","uniform sampler2D YTexture;","uniform sampler2D UTexture;","uniform sampler2D VTexture;","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) {"," gl_FragColor = vec4( texture2D(YTexture, vTextureCoord).x, texture2D(UTexture, vTextureCoord).x, texture2D(VTexture, vTextureCoord).x, 1) * YUV2RGB;","}"].join("\n"),u=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(u,o),i.compileShader(u),i.attachShader(r,s),i.attachShader(r,u),i.linkProgram(r),i.useProgram(r),i.getProgramParameter(r,i.LINK_STATUS);var l=i.getAttribLocation(r,"aVertexPosition");i.enableVertexAttribArray(l);var h=i.getAttribLocation(r,"aTextureCoord");i.enableVertexAttribArray(h);var d=i.createBuffer();i.bindBuffer(i.ARRAY_BUFFER,d),i.bufferData(i.ARRAY_BUFFER,new Float32Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0]),i.STATIC_DRAW),i.vertexAttribPointer(l,3,i.FLOAT,!1,0,0);var c=i.createBuffer();return i.bindBuffer(i.ARRAY_BUFFER,c),i.bufferData(i.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),i.STATIC_DRAW),i.vertexAttribPointer(h,2,i.FLOAT,!1,0,0),i.y=new n(i),i.u=new n(i),i.v=new n(i),i.y.bind(0,r,"YTexture"),i.u.bind(1,r,"UTexture"),i.v.bind(2,r,"VTexture"),i},releaseContext:function(e){e.deleteTexture(e.y.texture),e.deleteTexture(e.u.texture),e.deleteTexture(e.v.texture)}}},{"../decoder/av-common":56}],82:[function(e,t,i){(function(e){"use strict";e.STATIC_MEM_wasmDecoderState=-1,e.STATICE_MEM_playerCount=-1,e.STATICE_MEM_playerIndexPtr=0}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],83:[function(e,t,i){"use strict";function n(e,t){for(var i=0;i 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(100); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 100; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 8960, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 2147483648; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +if (!ENVIRONMENT_IS_PTHREAD) addOnPreRun(function() { + if (typeof SharedArrayBuffer !== "undefined") { + addRunDependency("pthreads"); + PThread.allocateUnusedWorkers(5, function() { + removeRunDependency("pthreads") + }) + } +}); +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-120func-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "jsCall_dd_35", "jsCall_dd_36", "jsCall_dd_37", "jsCall_dd_38", "jsCall_dd_39", "jsCall_dd_40", "jsCall_dd_41", "jsCall_dd_42", "jsCall_dd_43", "jsCall_dd_44", "jsCall_dd_45", "jsCall_dd_46", "jsCall_dd_47", "jsCall_dd_48", "jsCall_dd_49", "jsCall_dd_50", "jsCall_dd_51", "jsCall_dd_52", "jsCall_dd_53", "jsCall_dd_54", "jsCall_dd_55", "jsCall_dd_56", "jsCall_dd_57", "jsCall_dd_58", "jsCall_dd_59", "jsCall_dd_60", "jsCall_dd_61", "jsCall_dd_62", "jsCall_dd_63", "jsCall_dd_64", "jsCall_dd_65", "jsCall_dd_66", "jsCall_dd_67", "jsCall_dd_68", "jsCall_dd_69", "jsCall_dd_70", "jsCall_dd_71", "jsCall_dd_72", "jsCall_dd_73", "jsCall_dd_74", "jsCall_dd_75", "jsCall_dd_76", "jsCall_dd_77", "jsCall_dd_78", "jsCall_dd_79", "jsCall_dd_80", "jsCall_dd_81", "jsCall_dd_82", "jsCall_dd_83", "jsCall_dd_84", "jsCall_dd_85", "jsCall_dd_86", "jsCall_dd_87", "jsCall_dd_88", "jsCall_dd_89", "jsCall_dd_90", "jsCall_dd_91", "jsCall_dd_92", "jsCall_dd_93", "jsCall_dd_94", "jsCall_dd_95", "jsCall_dd_96", "jsCall_dd_97", "jsCall_dd_98", "jsCall_dd_99", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", "jsCall_did_35", "jsCall_did_36", "jsCall_did_37", "jsCall_did_38", "jsCall_did_39", "jsCall_did_40", "jsCall_did_41", "jsCall_did_42", "jsCall_did_43", "jsCall_did_44", "jsCall_did_45", "jsCall_did_46", "jsCall_did_47", "jsCall_did_48", "jsCall_did_49", "jsCall_did_50", "jsCall_did_51", "jsCall_did_52", "jsCall_did_53", "jsCall_did_54", "jsCall_did_55", "jsCall_did_56", "jsCall_did_57", "jsCall_did_58", "jsCall_did_59", "jsCall_did_60", "jsCall_did_61", "jsCall_did_62", "jsCall_did_63", "jsCall_did_64", "jsCall_did_65", "jsCall_did_66", "jsCall_did_67", "jsCall_did_68", "jsCall_did_69", "jsCall_did_70", "jsCall_did_71", "jsCall_did_72", "jsCall_did_73", "jsCall_did_74", "jsCall_did_75", "jsCall_did_76", "jsCall_did_77", "jsCall_did_78", "jsCall_did_79", "jsCall_did_80", "jsCall_did_81", "jsCall_did_82", "jsCall_did_83", "jsCall_did_84", "jsCall_did_85", "jsCall_did_86", "jsCall_did_87", "jsCall_did_88", "jsCall_did_89", "jsCall_did_90", "jsCall_did_91", "jsCall_did_92", "jsCall_did_93", "jsCall_did_94", "jsCall_did_95", "jsCall_did_96", "jsCall_did_97", "jsCall_did_98", "jsCall_did_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", "jsCall_didd_35", "jsCall_didd_36", "jsCall_didd_37", "jsCall_didd_38", "jsCall_didd_39", "jsCall_didd_40", "jsCall_didd_41", "jsCall_didd_42", "jsCall_didd_43", "jsCall_didd_44", "jsCall_didd_45", "jsCall_didd_46", "jsCall_didd_47", "jsCall_didd_48", "jsCall_didd_49", "jsCall_didd_50", "jsCall_didd_51", "jsCall_didd_52", "jsCall_didd_53", "jsCall_didd_54", "jsCall_didd_55", "jsCall_didd_56", "jsCall_didd_57", "jsCall_didd_58", "jsCall_didd_59", "jsCall_didd_60", "jsCall_didd_61", "jsCall_didd_62", "jsCall_didd_63", "jsCall_didd_64", "jsCall_didd_65", "jsCall_didd_66", "jsCall_didd_67", "jsCall_didd_68", "jsCall_didd_69", "jsCall_didd_70", "jsCall_didd_71", "jsCall_didd_72", "jsCall_didd_73", "jsCall_didd_74", "jsCall_didd_75", "jsCall_didd_76", "jsCall_didd_77", "jsCall_didd_78", "jsCall_didd_79", "jsCall_didd_80", "jsCall_didd_81", "jsCall_didd_82", "jsCall_didd_83", "jsCall_didd_84", "jsCall_didd_85", "jsCall_didd_86", "jsCall_didd_87", "jsCall_didd_88", "jsCall_didd_89", "jsCall_didd_90", "jsCall_didd_91", "jsCall_didd_92", "jsCall_didd_93", "jsCall_didd_94", "jsCall_didd_95", "jsCall_didd_96", "jsCall_didd_97", "jsCall_didd_98", "jsCall_didd_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "jsCall_fii_35", "jsCall_fii_36", "jsCall_fii_37", "jsCall_fii_38", "jsCall_fii_39", "jsCall_fii_40", "jsCall_fii_41", "jsCall_fii_42", "jsCall_fii_43", "jsCall_fii_44", "jsCall_fii_45", "jsCall_fii_46", "jsCall_fii_47", "jsCall_fii_48", "jsCall_fii_49", "jsCall_fii_50", "jsCall_fii_51", "jsCall_fii_52", "jsCall_fii_53", "jsCall_fii_54", "jsCall_fii_55", "jsCall_fii_56", "jsCall_fii_57", "jsCall_fii_58", "jsCall_fii_59", "jsCall_fii_60", "jsCall_fii_61", "jsCall_fii_62", "jsCall_fii_63", "jsCall_fii_64", "jsCall_fii_65", "jsCall_fii_66", "jsCall_fii_67", "jsCall_fii_68", "jsCall_fii_69", "jsCall_fii_70", "jsCall_fii_71", "jsCall_fii_72", "jsCall_fii_73", "jsCall_fii_74", "jsCall_fii_75", "jsCall_fii_76", "jsCall_fii_77", "jsCall_fii_78", "jsCall_fii_79", "jsCall_fii_80", "jsCall_fii_81", "jsCall_fii_82", "jsCall_fii_83", "jsCall_fii_84", "jsCall_fii_85", "jsCall_fii_86", "jsCall_fii_87", "jsCall_fii_88", "jsCall_fii_89", "jsCall_fii_90", "jsCall_fii_91", "jsCall_fii_92", "jsCall_fii_93", "jsCall_fii_94", "jsCall_fii_95", "jsCall_fii_96", "jsCall_fii_97", "jsCall_fii_98", "jsCall_fii_99", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "jsCall_fiii_35", "jsCall_fiii_36", "jsCall_fiii_37", "jsCall_fiii_38", "jsCall_fiii_39", "jsCall_fiii_40", "jsCall_fiii_41", "jsCall_fiii_42", "jsCall_fiii_43", "jsCall_fiii_44", "jsCall_fiii_45", "jsCall_fiii_46", "jsCall_fiii_47", "jsCall_fiii_48", "jsCall_fiii_49", "jsCall_fiii_50", "jsCall_fiii_51", "jsCall_fiii_52", "jsCall_fiii_53", "jsCall_fiii_54", "jsCall_fiii_55", "jsCall_fiii_56", "jsCall_fiii_57", "jsCall_fiii_58", "jsCall_fiii_59", "jsCall_fiii_60", "jsCall_fiii_61", "jsCall_fiii_62", "jsCall_fiii_63", "jsCall_fiii_64", "jsCall_fiii_65", "jsCall_fiii_66", "jsCall_fiii_67", "jsCall_fiii_68", "jsCall_fiii_69", "jsCall_fiii_70", "jsCall_fiii_71", "jsCall_fiii_72", "jsCall_fiii_73", "jsCall_fiii_74", "jsCall_fiii_75", "jsCall_fiii_76", "jsCall_fiii_77", "jsCall_fiii_78", "jsCall_fiii_79", "jsCall_fiii_80", "jsCall_fiii_81", "jsCall_fiii_82", "jsCall_fiii_83", "jsCall_fiii_84", "jsCall_fiii_85", "jsCall_fiii_86", "jsCall_fiii_87", "jsCall_fiii_88", "jsCall_fiii_89", "jsCall_fiii_90", "jsCall_fiii_91", "jsCall_fiii_92", "jsCall_fiii_93", "jsCall_fiii_94", "jsCall_fiii_95", "jsCall_fiii_96", "jsCall_fiii_97", "jsCall_fiii_98", "jsCall_fiii_99", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "jsCall_ii_35", "jsCall_ii_36", "jsCall_ii_37", "jsCall_ii_38", "jsCall_ii_39", "jsCall_ii_40", "jsCall_ii_41", "jsCall_ii_42", "jsCall_ii_43", "jsCall_ii_44", "jsCall_ii_45", "jsCall_ii_46", "jsCall_ii_47", "jsCall_ii_48", "jsCall_ii_49", "jsCall_ii_50", "jsCall_ii_51", "jsCall_ii_52", "jsCall_ii_53", "jsCall_ii_54", "jsCall_ii_55", "jsCall_ii_56", "jsCall_ii_57", "jsCall_ii_58", "jsCall_ii_59", "jsCall_ii_60", "jsCall_ii_61", "jsCall_ii_62", "jsCall_ii_63", "jsCall_ii_64", "jsCall_ii_65", "jsCall_ii_66", "jsCall_ii_67", "jsCall_ii_68", "jsCall_ii_69", "jsCall_ii_70", "jsCall_ii_71", "jsCall_ii_72", "jsCall_ii_73", "jsCall_ii_74", "jsCall_ii_75", "jsCall_ii_76", "jsCall_ii_77", "jsCall_ii_78", "jsCall_ii_79", "jsCall_ii_80", "jsCall_ii_81", "jsCall_ii_82", "jsCall_ii_83", "jsCall_ii_84", "jsCall_ii_85", "jsCall_ii_86", "jsCall_ii_87", "jsCall_ii_88", "jsCall_ii_89", "jsCall_ii_90", "jsCall_ii_91", "jsCall_ii_92", "jsCall_ii_93", "jsCall_ii_94", "jsCall_ii_95", "jsCall_ii_96", "jsCall_ii_97", "jsCall_ii_98", "jsCall_ii_99", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "jsCall_iid_35", "jsCall_iid_36", "jsCall_iid_37", "jsCall_iid_38", "jsCall_iid_39", "jsCall_iid_40", "jsCall_iid_41", "jsCall_iid_42", "jsCall_iid_43", "jsCall_iid_44", "jsCall_iid_45", "jsCall_iid_46", "jsCall_iid_47", "jsCall_iid_48", "jsCall_iid_49", "jsCall_iid_50", "jsCall_iid_51", "jsCall_iid_52", "jsCall_iid_53", "jsCall_iid_54", "jsCall_iid_55", "jsCall_iid_56", "jsCall_iid_57", "jsCall_iid_58", "jsCall_iid_59", "jsCall_iid_60", "jsCall_iid_61", "jsCall_iid_62", "jsCall_iid_63", "jsCall_iid_64", "jsCall_iid_65", "jsCall_iid_66", "jsCall_iid_67", "jsCall_iid_68", "jsCall_iid_69", "jsCall_iid_70", "jsCall_iid_71", "jsCall_iid_72", "jsCall_iid_73", "jsCall_iid_74", "jsCall_iid_75", "jsCall_iid_76", "jsCall_iid_77", "jsCall_iid_78", "jsCall_iid_79", "jsCall_iid_80", "jsCall_iid_81", "jsCall_iid_82", "jsCall_iid_83", "jsCall_iid_84", "jsCall_iid_85", "jsCall_iid_86", "jsCall_iid_87", "jsCall_iid_88", "jsCall_iid_89", "jsCall_iid_90", "jsCall_iid_91", "jsCall_iid_92", "jsCall_iid_93", "jsCall_iid_94", "jsCall_iid_95", "jsCall_iid_96", "jsCall_iid_97", "jsCall_iid_98", "jsCall_iid_99", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "jsCall_iidiiii_35", "jsCall_iidiiii_36", "jsCall_iidiiii_37", "jsCall_iidiiii_38", "jsCall_iidiiii_39", "jsCall_iidiiii_40", "jsCall_iidiiii_41", "jsCall_iidiiii_42", "jsCall_iidiiii_43", "jsCall_iidiiii_44", "jsCall_iidiiii_45", "jsCall_iidiiii_46", "jsCall_iidiiii_47", "jsCall_iidiiii_48", "jsCall_iidiiii_49", "jsCall_iidiiii_50", "jsCall_iidiiii_51", "jsCall_iidiiii_52", "jsCall_iidiiii_53", "jsCall_iidiiii_54", "jsCall_iidiiii_55", "jsCall_iidiiii_56", "jsCall_iidiiii_57", "jsCall_iidiiii_58", "jsCall_iidiiii_59", "jsCall_iidiiii_60", "jsCall_iidiiii_61", "jsCall_iidiiii_62", "jsCall_iidiiii_63", "jsCall_iidiiii_64", "jsCall_iidiiii_65", "jsCall_iidiiii_66", "jsCall_iidiiii_67", "jsCall_iidiiii_68", "jsCall_iidiiii_69", "jsCall_iidiiii_70", "jsCall_iidiiii_71", "jsCall_iidiiii_72", "jsCall_iidiiii_73", "jsCall_iidiiii_74", "jsCall_iidiiii_75", "jsCall_iidiiii_76", "jsCall_iidiiii_77", "jsCall_iidiiii_78", "jsCall_iidiiii_79", "jsCall_iidiiii_80", "jsCall_iidiiii_81", "jsCall_iidiiii_82", "jsCall_iidiiii_83", "jsCall_iidiiii_84", "jsCall_iidiiii_85", "jsCall_iidiiii_86", "jsCall_iidiiii_87", "jsCall_iidiiii_88", "jsCall_iidiiii_89", "jsCall_iidiiii_90", "jsCall_iidiiii_91", "jsCall_iidiiii_92", "jsCall_iidiiii_93", "jsCall_iidiiii_94", "jsCall_iidiiii_95", "jsCall_iidiiii_96", "jsCall_iidiiii_97", "jsCall_iidiiii_98", "jsCall_iidiiii_99", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "jsCall_iii_35", "jsCall_iii_36", "jsCall_iii_37", "jsCall_iii_38", "jsCall_iii_39", "jsCall_iii_40", "jsCall_iii_41", "jsCall_iii_42", "jsCall_iii_43", "jsCall_iii_44", "jsCall_iii_45", "jsCall_iii_46", "jsCall_iii_47", "jsCall_iii_48", "jsCall_iii_49", "jsCall_iii_50", "jsCall_iii_51", "jsCall_iii_52", "jsCall_iii_53", "jsCall_iii_54", "jsCall_iii_55", "jsCall_iii_56", "jsCall_iii_57", "jsCall_iii_58", "jsCall_iii_59", "jsCall_iii_60", "jsCall_iii_61", "jsCall_iii_62", "jsCall_iii_63", "jsCall_iii_64", "jsCall_iii_65", "jsCall_iii_66", "jsCall_iii_67", "jsCall_iii_68", "jsCall_iii_69", "jsCall_iii_70", "jsCall_iii_71", "jsCall_iii_72", "jsCall_iii_73", "jsCall_iii_74", "jsCall_iii_75", "jsCall_iii_76", "jsCall_iii_77", "jsCall_iii_78", "jsCall_iii_79", "jsCall_iii_80", "jsCall_iii_81", "jsCall_iii_82", "jsCall_iii_83", "jsCall_iii_84", "jsCall_iii_85", "jsCall_iii_86", "jsCall_iii_87", "jsCall_iii_88", "jsCall_iii_89", "jsCall_iii_90", "jsCall_iii_91", "jsCall_iii_92", "jsCall_iii_93", "jsCall_iii_94", "jsCall_iii_95", "jsCall_iii_96", "jsCall_iii_97", "jsCall_iii_98", "jsCall_iii_99", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "jsCall_iiii_35", "jsCall_iiii_36", "jsCall_iiii_37", "jsCall_iiii_38", "jsCall_iiii_39", "jsCall_iiii_40", "jsCall_iiii_41", "jsCall_iiii_42", "jsCall_iiii_43", "jsCall_iiii_44", "jsCall_iiii_45", "jsCall_iiii_46", "jsCall_iiii_47", "jsCall_iiii_48", "jsCall_iiii_49", "jsCall_iiii_50", "jsCall_iiii_51", "jsCall_iiii_52", "jsCall_iiii_53", "jsCall_iiii_54", "jsCall_iiii_55", "jsCall_iiii_56", "jsCall_iiii_57", "jsCall_iiii_58", "jsCall_iiii_59", "jsCall_iiii_60", "jsCall_iiii_61", "jsCall_iiii_62", "jsCall_iiii_63", "jsCall_iiii_64", "jsCall_iiii_65", "jsCall_iiii_66", "jsCall_iiii_67", "jsCall_iiii_68", "jsCall_iiii_69", "jsCall_iiii_70", "jsCall_iiii_71", "jsCall_iiii_72", "jsCall_iiii_73", "jsCall_iiii_74", "jsCall_iiii_75", "jsCall_iiii_76", "jsCall_iiii_77", "jsCall_iiii_78", "jsCall_iiii_79", "jsCall_iiii_80", "jsCall_iiii_81", "jsCall_iiii_82", "jsCall_iiii_83", "jsCall_iiii_84", "jsCall_iiii_85", "jsCall_iiii_86", "jsCall_iiii_87", "jsCall_iiii_88", "jsCall_iiii_89", "jsCall_iiii_90", "jsCall_iiii_91", "jsCall_iiii_92", "jsCall_iiii_93", "jsCall_iiii_94", "jsCall_iiii_95", "jsCall_iiii_96", "jsCall_iiii_97", "jsCall_iiii_98", "jsCall_iiii_99", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "jsCall_iiiii_35", "jsCall_iiiii_36", "jsCall_iiiii_37", "jsCall_iiiii_38", "jsCall_iiiii_39", "jsCall_iiiii_40", "jsCall_iiiii_41", "jsCall_iiiii_42", "jsCall_iiiii_43", "jsCall_iiiii_44", "jsCall_iiiii_45", "jsCall_iiiii_46", "jsCall_iiiii_47", "jsCall_iiiii_48", "jsCall_iiiii_49", "jsCall_iiiii_50", "jsCall_iiiii_51", "jsCall_iiiii_52", "jsCall_iiiii_53", "jsCall_iiiii_54", "jsCall_iiiii_55", "jsCall_iiiii_56", "jsCall_iiiii_57", "jsCall_iiiii_58", "jsCall_iiiii_59", "jsCall_iiiii_60", "jsCall_iiiii_61", "jsCall_iiiii_62", "jsCall_iiiii_63", "jsCall_iiiii_64", "jsCall_iiiii_65", "jsCall_iiiii_66", "jsCall_iiiii_67", "jsCall_iiiii_68", "jsCall_iiiii_69", "jsCall_iiiii_70", "jsCall_iiiii_71", "jsCall_iiiii_72", "jsCall_iiiii_73", "jsCall_iiiii_74", "jsCall_iiiii_75", "jsCall_iiiii_76", "jsCall_iiiii_77", "jsCall_iiiii_78", "jsCall_iiiii_79", "jsCall_iiiii_80", "jsCall_iiiii_81", "jsCall_iiiii_82", "jsCall_iiiii_83", "jsCall_iiiii_84", "jsCall_iiiii_85", "jsCall_iiiii_86", "jsCall_iiiii_87", "jsCall_iiiii_88", "jsCall_iiiii_89", "jsCall_iiiii_90", "jsCall_iiiii_91", "jsCall_iiiii_92", "jsCall_iiiii_93", "jsCall_iiiii_94", "jsCall_iiiii_95", "jsCall_iiiii_96", "jsCall_iiiii_97", "jsCall_iiiii_98", "jsCall_iiiii_99", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "jsCall_iiiiii_35", "jsCall_iiiiii_36", "jsCall_iiiiii_37", "jsCall_iiiiii_38", "jsCall_iiiiii_39", "jsCall_iiiiii_40", "jsCall_iiiiii_41", "jsCall_iiiiii_42", "jsCall_iiiiii_43", "jsCall_iiiiii_44", "jsCall_iiiiii_45", "jsCall_iiiiii_46", "jsCall_iiiiii_47", "jsCall_iiiiii_48", "jsCall_iiiiii_49", "jsCall_iiiiii_50", "jsCall_iiiiii_51", "jsCall_iiiiii_52", "jsCall_iiiiii_53", "jsCall_iiiiii_54", "jsCall_iiiiii_55", "jsCall_iiiiii_56", "jsCall_iiiiii_57", "jsCall_iiiiii_58", "jsCall_iiiiii_59", "jsCall_iiiiii_60", "jsCall_iiiiii_61", "jsCall_iiiiii_62", "jsCall_iiiiii_63", "jsCall_iiiiii_64", "jsCall_iiiiii_65", "jsCall_iiiiii_66", "jsCall_iiiiii_67", "jsCall_iiiiii_68", "jsCall_iiiiii_69", "jsCall_iiiiii_70", "jsCall_iiiiii_71", "jsCall_iiiiii_72", "jsCall_iiiiii_73", "jsCall_iiiiii_74", "jsCall_iiiiii_75", "jsCall_iiiiii_76", "jsCall_iiiiii_77", "jsCall_iiiiii_78", "jsCall_iiiiii_79", "jsCall_iiiiii_80", "jsCall_iiiiii_81", "jsCall_iiiiii_82", "jsCall_iiiiii_83", "jsCall_iiiiii_84", "jsCall_iiiiii_85", "jsCall_iiiiii_86", "jsCall_iiiiii_87", "jsCall_iiiiii_88", "jsCall_iiiiii_89", "jsCall_iiiiii_90", "jsCall_iiiiii_91", "jsCall_iiiiii_92", "jsCall_iiiiii_93", "jsCall_iiiiii_94", "jsCall_iiiiii_95", "jsCall_iiiiii_96", "jsCall_iiiiii_97", "jsCall_iiiiii_98", "jsCall_iiiiii_99", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "jsCall_iiiiiii_35", "jsCall_iiiiiii_36", "jsCall_iiiiiii_37", "jsCall_iiiiiii_38", "jsCall_iiiiiii_39", "jsCall_iiiiiii_40", "jsCall_iiiiiii_41", "jsCall_iiiiiii_42", "jsCall_iiiiiii_43", "jsCall_iiiiiii_44", "jsCall_iiiiiii_45", "jsCall_iiiiiii_46", "jsCall_iiiiiii_47", "jsCall_iiiiiii_48", "jsCall_iiiiiii_49", "jsCall_iiiiiii_50", "jsCall_iiiiiii_51", "jsCall_iiiiiii_52", "jsCall_iiiiiii_53", "jsCall_iiiiiii_54", "jsCall_iiiiiii_55", "jsCall_iiiiiii_56", "jsCall_iiiiiii_57", "jsCall_iiiiiii_58", "jsCall_iiiiiii_59", "jsCall_iiiiiii_60", "jsCall_iiiiiii_61", "jsCall_iiiiiii_62", "jsCall_iiiiiii_63", "jsCall_iiiiiii_64", "jsCall_iiiiiii_65", "jsCall_iiiiiii_66", "jsCall_iiiiiii_67", "jsCall_iiiiiii_68", "jsCall_iiiiiii_69", "jsCall_iiiiiii_70", "jsCall_iiiiiii_71", "jsCall_iiiiiii_72", "jsCall_iiiiiii_73", "jsCall_iiiiiii_74", "jsCall_iiiiiii_75", "jsCall_iiiiiii_76", "jsCall_iiiiiii_77", "jsCall_iiiiiii_78", "jsCall_iiiiiii_79", "jsCall_iiiiiii_80", "jsCall_iiiiiii_81", "jsCall_iiiiiii_82", "jsCall_iiiiiii_83", "jsCall_iiiiiii_84", "jsCall_iiiiiii_85", "jsCall_iiiiiii_86", "jsCall_iiiiiii_87", "jsCall_iiiiiii_88", "jsCall_iiiiiii_89", "jsCall_iiiiiii_90", "jsCall_iiiiiii_91", "jsCall_iiiiiii_92", "jsCall_iiiiiii_93", "jsCall_iiiiiii_94", "jsCall_iiiiiii_95", "jsCall_iiiiiii_96", "jsCall_iiiiiii_97", "jsCall_iiiiiii_98", "jsCall_iiiiiii_99", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "jsCall_iiiiiiidiiddii_35", "jsCall_iiiiiiidiiddii_36", "jsCall_iiiiiiidiiddii_37", "jsCall_iiiiiiidiiddii_38", "jsCall_iiiiiiidiiddii_39", "jsCall_iiiiiiidiiddii_40", "jsCall_iiiiiiidiiddii_41", "jsCall_iiiiiiidiiddii_42", "jsCall_iiiiiiidiiddii_43", "jsCall_iiiiiiidiiddii_44", "jsCall_iiiiiiidiiddii_45", "jsCall_iiiiiiidiiddii_46", "jsCall_iiiiiiidiiddii_47", "jsCall_iiiiiiidiiddii_48", "jsCall_iiiiiiidiiddii_49", "jsCall_iiiiiiidiiddii_50", "jsCall_iiiiiiidiiddii_51", "jsCall_iiiiiiidiiddii_52", "jsCall_iiiiiiidiiddii_53", "jsCall_iiiiiiidiiddii_54", "jsCall_iiiiiiidiiddii_55", "jsCall_iiiiiiidiiddii_56", "jsCall_iiiiiiidiiddii_57", "jsCall_iiiiiiidiiddii_58", "jsCall_iiiiiiidiiddii_59", "jsCall_iiiiiiidiiddii_60", "jsCall_iiiiiiidiiddii_61", "jsCall_iiiiiiidiiddii_62", "jsCall_iiiiiiidiiddii_63", "jsCall_iiiiiiidiiddii_64", "jsCall_iiiiiiidiiddii_65", "jsCall_iiiiiiidiiddii_66", "jsCall_iiiiiiidiiddii_67", "jsCall_iiiiiiidiiddii_68", "jsCall_iiiiiiidiiddii_69", "jsCall_iiiiiiidiiddii_70", "jsCall_iiiiiiidiiddii_71", "jsCall_iiiiiiidiiddii_72", "jsCall_iiiiiiidiiddii_73", "jsCall_iiiiiiidiiddii_74", "jsCall_iiiiiiidiiddii_75", "jsCall_iiiiiiidiiddii_76", "jsCall_iiiiiiidiiddii_77", "jsCall_iiiiiiidiiddii_78", "jsCall_iiiiiiidiiddii_79", "jsCall_iiiiiiidiiddii_80", "jsCall_iiiiiiidiiddii_81", "jsCall_iiiiiiidiiddii_82", "jsCall_iiiiiiidiiddii_83", "jsCall_iiiiiiidiiddii_84", "jsCall_iiiiiiidiiddii_85", "jsCall_iiiiiiidiiddii_86", "jsCall_iiiiiiidiiddii_87", "jsCall_iiiiiiidiiddii_88", "jsCall_iiiiiiidiiddii_89", "jsCall_iiiiiiidiiddii_90", "jsCall_iiiiiiidiiddii_91", "jsCall_iiiiiiidiiddii_92", "jsCall_iiiiiiidiiddii_93", "jsCall_iiiiiiidiiddii_94", "jsCall_iiiiiiidiiddii_95", "jsCall_iiiiiiidiiddii_96", "jsCall_iiiiiiidiiddii_97", "jsCall_iiiiiiidiiddii_98", "jsCall_iiiiiiidiiddii_99", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "jsCall_iiiiiiii_35", "jsCall_iiiiiiii_36", "jsCall_iiiiiiii_37", "jsCall_iiiiiiii_38", "jsCall_iiiiiiii_39", "jsCall_iiiiiiii_40", "jsCall_iiiiiiii_41", "jsCall_iiiiiiii_42", "jsCall_iiiiiiii_43", "jsCall_iiiiiiii_44", "jsCall_iiiiiiii_45", "jsCall_iiiiiiii_46", "jsCall_iiiiiiii_47", "jsCall_iiiiiiii_48", "jsCall_iiiiiiii_49", "jsCall_iiiiiiii_50", "jsCall_iiiiiiii_51", "jsCall_iiiiiiii_52", "jsCall_iiiiiiii_53", "jsCall_iiiiiiii_54", "jsCall_iiiiiiii_55", "jsCall_iiiiiiii_56", "jsCall_iiiiiiii_57", "jsCall_iiiiiiii_58", "jsCall_iiiiiiii_59", "jsCall_iiiiiiii_60", "jsCall_iiiiiiii_61", "jsCall_iiiiiiii_62", "jsCall_iiiiiiii_63", "jsCall_iiiiiiii_64", "jsCall_iiiiiiii_65", "jsCall_iiiiiiii_66", "jsCall_iiiiiiii_67", "jsCall_iiiiiiii_68", "jsCall_iiiiiiii_69", "jsCall_iiiiiiii_70", "jsCall_iiiiiiii_71", "jsCall_iiiiiiii_72", "jsCall_iiiiiiii_73", "jsCall_iiiiiiii_74", "jsCall_iiiiiiii_75", "jsCall_iiiiiiii_76", "jsCall_iiiiiiii_77", "jsCall_iiiiiiii_78", "jsCall_iiiiiiii_79", "jsCall_iiiiiiii_80", "jsCall_iiiiiiii_81", "jsCall_iiiiiiii_82", "jsCall_iiiiiiii_83", "jsCall_iiiiiiii_84", "jsCall_iiiiiiii_85", "jsCall_iiiiiiii_86", "jsCall_iiiiiiii_87", "jsCall_iiiiiiii_88", "jsCall_iiiiiiii_89", "jsCall_iiiiiiii_90", "jsCall_iiiiiiii_91", "jsCall_iiiiiiii_92", "jsCall_iiiiiiii_93", "jsCall_iiiiiiii_94", "jsCall_iiiiiiii_95", "jsCall_iiiiiiii_96", "jsCall_iiiiiiii_97", "jsCall_iiiiiiii_98", "jsCall_iiiiiiii_99", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "jsCall_iiiiiiiid_35", "jsCall_iiiiiiiid_36", "jsCall_iiiiiiiid_37", "jsCall_iiiiiiiid_38", "jsCall_iiiiiiiid_39", "jsCall_iiiiiiiid_40", "jsCall_iiiiiiiid_41", "jsCall_iiiiiiiid_42", "jsCall_iiiiiiiid_43", "jsCall_iiiiiiiid_44", "jsCall_iiiiiiiid_45", "jsCall_iiiiiiiid_46", "jsCall_iiiiiiiid_47", "jsCall_iiiiiiiid_48", "jsCall_iiiiiiiid_49", "jsCall_iiiiiiiid_50", "jsCall_iiiiiiiid_51", "jsCall_iiiiiiiid_52", "jsCall_iiiiiiiid_53", "jsCall_iiiiiiiid_54", "jsCall_iiiiiiiid_55", "jsCall_iiiiiiiid_56", "jsCall_iiiiiiiid_57", "jsCall_iiiiiiiid_58", "jsCall_iiiiiiiid_59", "jsCall_iiiiiiiid_60", "jsCall_iiiiiiiid_61", "jsCall_iiiiiiiid_62", "jsCall_iiiiiiiid_63", "jsCall_iiiiiiiid_64", "jsCall_iiiiiiiid_65", "jsCall_iiiiiiiid_66", "jsCall_iiiiiiiid_67", "jsCall_iiiiiiiid_68", "jsCall_iiiiiiiid_69", "jsCall_iiiiiiiid_70", "jsCall_iiiiiiiid_71", "jsCall_iiiiiiiid_72", "jsCall_iiiiiiiid_73", "jsCall_iiiiiiiid_74", "jsCall_iiiiiiiid_75", "jsCall_iiiiiiiid_76", "jsCall_iiiiiiiid_77", "jsCall_iiiiiiiid_78", "jsCall_iiiiiiiid_79", "jsCall_iiiiiiiid_80", "jsCall_iiiiiiiid_81", "jsCall_iiiiiiiid_82", "jsCall_iiiiiiiid_83", "jsCall_iiiiiiiid_84", "jsCall_iiiiiiiid_85", "jsCall_iiiiiiiid_86", "jsCall_iiiiiiiid_87", "jsCall_iiiiiiiid_88", "jsCall_iiiiiiiid_89", "jsCall_iiiiiiiid_90", "jsCall_iiiiiiiid_91", "jsCall_iiiiiiiid_92", "jsCall_iiiiiiiid_93", "jsCall_iiiiiiiid_94", "jsCall_iiiiiiiid_95", "jsCall_iiiiiiiid_96", "jsCall_iiiiiiiid_97", "jsCall_iiiiiiiid_98", "jsCall_iiiiiiiid_99", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "jsCall_iiiiij_35", "jsCall_iiiiij_36", "jsCall_iiiiij_37", "jsCall_iiiiij_38", "jsCall_iiiiij_39", "jsCall_iiiiij_40", "jsCall_iiiiij_41", "jsCall_iiiiij_42", "jsCall_iiiiij_43", "jsCall_iiiiij_44", "jsCall_iiiiij_45", "jsCall_iiiiij_46", "jsCall_iiiiij_47", "jsCall_iiiiij_48", "jsCall_iiiiij_49", "jsCall_iiiiij_50", "jsCall_iiiiij_51", "jsCall_iiiiij_52", "jsCall_iiiiij_53", "jsCall_iiiiij_54", "jsCall_iiiiij_55", "jsCall_iiiiij_56", "jsCall_iiiiij_57", "jsCall_iiiiij_58", "jsCall_iiiiij_59", "jsCall_iiiiij_60", "jsCall_iiiiij_61", "jsCall_iiiiij_62", "jsCall_iiiiij_63", "jsCall_iiiiij_64", "jsCall_iiiiij_65", "jsCall_iiiiij_66", "jsCall_iiiiij_67", "jsCall_iiiiij_68", "jsCall_iiiiij_69", "jsCall_iiiiij_70", "jsCall_iiiiij_71", "jsCall_iiiiij_72", "jsCall_iiiiij_73", "jsCall_iiiiij_74", "jsCall_iiiiij_75", "jsCall_iiiiij_76", "jsCall_iiiiij_77", "jsCall_iiiiij_78", "jsCall_iiiiij_79", "jsCall_iiiiij_80", "jsCall_iiiiij_81", "jsCall_iiiiij_82", "jsCall_iiiiij_83", "jsCall_iiiiij_84", "jsCall_iiiiij_85", "jsCall_iiiiij_86", "jsCall_iiiiij_87", "jsCall_iiiiij_88", "jsCall_iiiiij_89", "jsCall_iiiiij_90", "jsCall_iiiiij_91", "jsCall_iiiiij_92", "jsCall_iiiiij_93", "jsCall_iiiiij_94", "jsCall_iiiiij_95", "jsCall_iiiiij_96", "jsCall_iiiiij_97", "jsCall_iiiiij_98", "jsCall_iiiiij_99", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "jsCall_iiiji_35", "jsCall_iiiji_36", "jsCall_iiiji_37", "jsCall_iiiji_38", "jsCall_iiiji_39", "jsCall_iiiji_40", "jsCall_iiiji_41", "jsCall_iiiji_42", "jsCall_iiiji_43", "jsCall_iiiji_44", "jsCall_iiiji_45", "jsCall_iiiji_46", "jsCall_iiiji_47", "jsCall_iiiji_48", "jsCall_iiiji_49", "jsCall_iiiji_50", "jsCall_iiiji_51", "jsCall_iiiji_52", "jsCall_iiiji_53", "jsCall_iiiji_54", "jsCall_iiiji_55", "jsCall_iiiji_56", "jsCall_iiiji_57", "jsCall_iiiji_58", "jsCall_iiiji_59", "jsCall_iiiji_60", "jsCall_iiiji_61", "jsCall_iiiji_62", "jsCall_iiiji_63", "jsCall_iiiji_64", "jsCall_iiiji_65", "jsCall_iiiji_66", "jsCall_iiiji_67", "jsCall_iiiji_68", "jsCall_iiiji_69", "jsCall_iiiji_70", "jsCall_iiiji_71", "jsCall_iiiji_72", "jsCall_iiiji_73", "jsCall_iiiji_74", "jsCall_iiiji_75", "jsCall_iiiji_76", "jsCall_iiiji_77", "jsCall_iiiji_78", "jsCall_iiiji_79", "jsCall_iiiji_80", "jsCall_iiiji_81", "jsCall_iiiji_82", "jsCall_iiiji_83", "jsCall_iiiji_84", "jsCall_iiiji_85", "jsCall_iiiji_86", "jsCall_iiiji_87", "jsCall_iiiji_88", "jsCall_iiiji_89", "jsCall_iiiji_90", "jsCall_iiiji_91", "jsCall_iiiji_92", "jsCall_iiiji_93", "jsCall_iiiji_94", "jsCall_iiiji_95", "jsCall_iiiji_96", "jsCall_iiiji_97", "jsCall_iiiji_98", "jsCall_iiiji_99", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", "jsCall_iiijjji_35", "jsCall_iiijjji_36", "jsCall_iiijjji_37", "jsCall_iiijjji_38", "jsCall_iiijjji_39", "jsCall_iiijjji_40", "jsCall_iiijjji_41", "jsCall_iiijjji_42", "jsCall_iiijjji_43", "jsCall_iiijjji_44", "jsCall_iiijjji_45", "jsCall_iiijjji_46", "jsCall_iiijjji_47", "jsCall_iiijjji_48", "jsCall_iiijjji_49", "jsCall_iiijjji_50", "jsCall_iiijjji_51", "jsCall_iiijjji_52", "jsCall_iiijjji_53", "jsCall_iiijjji_54", "jsCall_iiijjji_55", "jsCall_iiijjji_56", "jsCall_iiijjji_57", "jsCall_iiijjji_58", "jsCall_iiijjji_59", "jsCall_iiijjji_60", "jsCall_iiijjji_61", "jsCall_iiijjji_62", "jsCall_iiijjji_63", "jsCall_iiijjji_64", "jsCall_iiijjji_65", "jsCall_iiijjji_66", "jsCall_iiijjji_67", "jsCall_iiijjji_68", "jsCall_iiijjji_69", "jsCall_iiijjji_70", "jsCall_iiijjji_71", "jsCall_iiijjji_72", "jsCall_iiijjji_73", "jsCall_iiijjji_74", "jsCall_iiijjji_75", "jsCall_iiijjji_76", "jsCall_iiijjji_77", "jsCall_iiijjji_78", "jsCall_iiijjji_79", "jsCall_iiijjji_80", "jsCall_iiijjji_81", "jsCall_iiijjji_82", "jsCall_iiijjji_83", "jsCall_iiijjji_84", "jsCall_iiijjji_85", "jsCall_iiijjji_86", "jsCall_iiijjji_87", "jsCall_iiijjji_88", "jsCall_iiijjji_89", "jsCall_iiijjji_90", "jsCall_iiijjji_91", "jsCall_iiijjji_92", "jsCall_iiijjji_93", "jsCall_iiijjji_94", "jsCall_iiijjji_95", "jsCall_iiijjji_96", "jsCall_iiijjji_97", "jsCall_iiijjji_98", "jsCall_iiijjji_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "jsCall_jii_35", "jsCall_jii_36", "jsCall_jii_37", "jsCall_jii_38", "jsCall_jii_39", "jsCall_jii_40", "jsCall_jii_41", "jsCall_jii_42", "jsCall_jii_43", "jsCall_jii_44", "jsCall_jii_45", "jsCall_jii_46", "jsCall_jii_47", "jsCall_jii_48", "jsCall_jii_49", "jsCall_jii_50", "jsCall_jii_51", "jsCall_jii_52", "jsCall_jii_53", "jsCall_jii_54", "jsCall_jii_55", "jsCall_jii_56", "jsCall_jii_57", "jsCall_jii_58", "jsCall_jii_59", "jsCall_jii_60", "jsCall_jii_61", "jsCall_jii_62", "jsCall_jii_63", "jsCall_jii_64", "jsCall_jii_65", "jsCall_jii_66", "jsCall_jii_67", "jsCall_jii_68", "jsCall_jii_69", "jsCall_jii_70", "jsCall_jii_71", "jsCall_jii_72", "jsCall_jii_73", "jsCall_jii_74", "jsCall_jii_75", "jsCall_jii_76", "jsCall_jii_77", "jsCall_jii_78", "jsCall_jii_79", "jsCall_jii_80", "jsCall_jii_81", "jsCall_jii_82", "jsCall_jii_83", "jsCall_jii_84", "jsCall_jii_85", "jsCall_jii_86", "jsCall_jii_87", "jsCall_jii_88", "jsCall_jii_89", "jsCall_jii_90", "jsCall_jii_91", "jsCall_jii_92", "jsCall_jii_93", "jsCall_jii_94", "jsCall_jii_95", "jsCall_jii_96", "jsCall_jii_97", "jsCall_jii_98", "jsCall_jii_99", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "jsCall_jiiij_35", "jsCall_jiiij_36", "jsCall_jiiij_37", "jsCall_jiiij_38", "jsCall_jiiij_39", "jsCall_jiiij_40", "jsCall_jiiij_41", "jsCall_jiiij_42", "jsCall_jiiij_43", "jsCall_jiiij_44", "jsCall_jiiij_45", "jsCall_jiiij_46", "jsCall_jiiij_47", "jsCall_jiiij_48", "jsCall_jiiij_49", "jsCall_jiiij_50", "jsCall_jiiij_51", "jsCall_jiiij_52", "jsCall_jiiij_53", "jsCall_jiiij_54", "jsCall_jiiij_55", "jsCall_jiiij_56", "jsCall_jiiij_57", "jsCall_jiiij_58", "jsCall_jiiij_59", "jsCall_jiiij_60", "jsCall_jiiij_61", "jsCall_jiiij_62", "jsCall_jiiij_63", "jsCall_jiiij_64", "jsCall_jiiij_65", "jsCall_jiiij_66", "jsCall_jiiij_67", "jsCall_jiiij_68", "jsCall_jiiij_69", "jsCall_jiiij_70", "jsCall_jiiij_71", "jsCall_jiiij_72", "jsCall_jiiij_73", "jsCall_jiiij_74", "jsCall_jiiij_75", "jsCall_jiiij_76", "jsCall_jiiij_77", "jsCall_jiiij_78", "jsCall_jiiij_79", "jsCall_jiiij_80", "jsCall_jiiij_81", "jsCall_jiiij_82", "jsCall_jiiij_83", "jsCall_jiiij_84", "jsCall_jiiij_85", "jsCall_jiiij_86", "jsCall_jiiij_87", "jsCall_jiiij_88", "jsCall_jiiij_89", "jsCall_jiiij_90", "jsCall_jiiij_91", "jsCall_jiiij_92", "jsCall_jiiij_93", "jsCall_jiiij_94", "jsCall_jiiij_95", "jsCall_jiiij_96", "jsCall_jiiij_97", "jsCall_jiiij_98", "jsCall_jiiij_99", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "jsCall_jiiji_35", "jsCall_jiiji_36", "jsCall_jiiji_37", "jsCall_jiiji_38", "jsCall_jiiji_39", "jsCall_jiiji_40", "jsCall_jiiji_41", "jsCall_jiiji_42", "jsCall_jiiji_43", "jsCall_jiiji_44", "jsCall_jiiji_45", "jsCall_jiiji_46", "jsCall_jiiji_47", "jsCall_jiiji_48", "jsCall_jiiji_49", "jsCall_jiiji_50", "jsCall_jiiji_51", "jsCall_jiiji_52", "jsCall_jiiji_53", "jsCall_jiiji_54", "jsCall_jiiji_55", "jsCall_jiiji_56", "jsCall_jiiji_57", "jsCall_jiiji_58", "jsCall_jiiji_59", "jsCall_jiiji_60", "jsCall_jiiji_61", "jsCall_jiiji_62", "jsCall_jiiji_63", "jsCall_jiiji_64", "jsCall_jiiji_65", "jsCall_jiiji_66", "jsCall_jiiji_67", "jsCall_jiiji_68", "jsCall_jiiji_69", "jsCall_jiiji_70", "jsCall_jiiji_71", "jsCall_jiiji_72", "jsCall_jiiji_73", "jsCall_jiiji_74", "jsCall_jiiji_75", "jsCall_jiiji_76", "jsCall_jiiji_77", "jsCall_jiiji_78", "jsCall_jiiji_79", "jsCall_jiiji_80", "jsCall_jiiji_81", "jsCall_jiiji_82", "jsCall_jiiji_83", "jsCall_jiiji_84", "jsCall_jiiji_85", "jsCall_jiiji_86", "jsCall_jiiji_87", "jsCall_jiiji_88", "jsCall_jiiji_89", "jsCall_jiiji_90", "jsCall_jiiji_91", "jsCall_jiiji_92", "jsCall_jiiji_93", "jsCall_jiiji_94", "jsCall_jiiji_95", "jsCall_jiiji_96", "jsCall_jiiji_97", "jsCall_jiiji_98", "jsCall_jiiji_99", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "jsCall_jij_35", "jsCall_jij_36", "jsCall_jij_37", "jsCall_jij_38", "jsCall_jij_39", "jsCall_jij_40", "jsCall_jij_41", "jsCall_jij_42", "jsCall_jij_43", "jsCall_jij_44", "jsCall_jij_45", "jsCall_jij_46", "jsCall_jij_47", "jsCall_jij_48", "jsCall_jij_49", "jsCall_jij_50", "jsCall_jij_51", "jsCall_jij_52", "jsCall_jij_53", "jsCall_jij_54", "jsCall_jij_55", "jsCall_jij_56", "jsCall_jij_57", "jsCall_jij_58", "jsCall_jij_59", "jsCall_jij_60", "jsCall_jij_61", "jsCall_jij_62", "jsCall_jij_63", "jsCall_jij_64", "jsCall_jij_65", "jsCall_jij_66", "jsCall_jij_67", "jsCall_jij_68", "jsCall_jij_69", "jsCall_jij_70", "jsCall_jij_71", "jsCall_jij_72", "jsCall_jij_73", "jsCall_jij_74", "jsCall_jij_75", "jsCall_jij_76", "jsCall_jij_77", "jsCall_jij_78", "jsCall_jij_79", "jsCall_jij_80", "jsCall_jij_81", "jsCall_jij_82", "jsCall_jij_83", "jsCall_jij_84", "jsCall_jij_85", "jsCall_jij_86", "jsCall_jij_87", "jsCall_jij_88", "jsCall_jij_89", "jsCall_jij_90", "jsCall_jij_91", "jsCall_jij_92", "jsCall_jij_93", "jsCall_jij_94", "jsCall_jij_95", "jsCall_jij_96", "jsCall_jij_97", "jsCall_jij_98", "jsCall_jij_99", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "jsCall_jiji_35", "jsCall_jiji_36", "jsCall_jiji_37", "jsCall_jiji_38", "jsCall_jiji_39", "jsCall_jiji_40", "jsCall_jiji_41", "jsCall_jiji_42", "jsCall_jiji_43", "jsCall_jiji_44", "jsCall_jiji_45", "jsCall_jiji_46", "jsCall_jiji_47", "jsCall_jiji_48", "jsCall_jiji_49", "jsCall_jiji_50", "jsCall_jiji_51", "jsCall_jiji_52", "jsCall_jiji_53", "jsCall_jiji_54", "jsCall_jiji_55", "jsCall_jiji_56", "jsCall_jiji_57", "jsCall_jiji_58", "jsCall_jiji_59", "jsCall_jiji_60", "jsCall_jiji_61", "jsCall_jiji_62", "jsCall_jiji_63", "jsCall_jiji_64", "jsCall_jiji_65", "jsCall_jiji_66", "jsCall_jiji_67", "jsCall_jiji_68", "jsCall_jiji_69", "jsCall_jiji_70", "jsCall_jiji_71", "jsCall_jiji_72", "jsCall_jiji_73", "jsCall_jiji_74", "jsCall_jiji_75", "jsCall_jiji_76", "jsCall_jiji_77", "jsCall_jiji_78", "jsCall_jiji_79", "jsCall_jiji_80", "jsCall_jiji_81", "jsCall_jiji_82", "jsCall_jiji_83", "jsCall_jiji_84", "jsCall_jiji_85", "jsCall_jiji_86", "jsCall_jiji_87", "jsCall_jiji_88", "jsCall_jiji_89", "jsCall_jiji_90", "jsCall_jiji_91", "jsCall_jiji_92", "jsCall_jiji_93", "jsCall_jiji_94", "jsCall_jiji_95", "jsCall_jiji_96", "jsCall_jiji_97", "jsCall_jiji_98", "jsCall_jiji_99", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "jsCall_v_35", "jsCall_v_36", "jsCall_v_37", "jsCall_v_38", "jsCall_v_39", "jsCall_v_40", "jsCall_v_41", "jsCall_v_42", "jsCall_v_43", "jsCall_v_44", "jsCall_v_45", "jsCall_v_46", "jsCall_v_47", "jsCall_v_48", "jsCall_v_49", "jsCall_v_50", "jsCall_v_51", "jsCall_v_52", "jsCall_v_53", "jsCall_v_54", "jsCall_v_55", "jsCall_v_56", "jsCall_v_57", "jsCall_v_58", "jsCall_v_59", "jsCall_v_60", "jsCall_v_61", "jsCall_v_62", "jsCall_v_63", "jsCall_v_64", "jsCall_v_65", "jsCall_v_66", "jsCall_v_67", "jsCall_v_68", "jsCall_v_69", "jsCall_v_70", "jsCall_v_71", "jsCall_v_72", "jsCall_v_73", "jsCall_v_74", "jsCall_v_75", "jsCall_v_76", "jsCall_v_77", "jsCall_v_78", "jsCall_v_79", "jsCall_v_80", "jsCall_v_81", "jsCall_v_82", "jsCall_v_83", "jsCall_v_84", "jsCall_v_85", "jsCall_v_86", "jsCall_v_87", "jsCall_v_88", "jsCall_v_89", "jsCall_v_90", "jsCall_v_91", "jsCall_v_92", "jsCall_v_93", "jsCall_v_94", "jsCall_v_95", "jsCall_v_96", "jsCall_v_97", "jsCall_v_98", "jsCall_v_99", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", "jsCall_vdiidiiiii_35", "jsCall_vdiidiiiii_36", "jsCall_vdiidiiiii_37", "jsCall_vdiidiiiii_38", "jsCall_vdiidiiiii_39", "jsCall_vdiidiiiii_40", "jsCall_vdiidiiiii_41", "jsCall_vdiidiiiii_42", "jsCall_vdiidiiiii_43", "jsCall_vdiidiiiii_44", "jsCall_vdiidiiiii_45", "jsCall_vdiidiiiii_46", "jsCall_vdiidiiiii_47", "jsCall_vdiidiiiii_48", "jsCall_vdiidiiiii_49", "jsCall_vdiidiiiii_50", "jsCall_vdiidiiiii_51", "jsCall_vdiidiiiii_52", "jsCall_vdiidiiiii_53", "jsCall_vdiidiiiii_54", "jsCall_vdiidiiiii_55", "jsCall_vdiidiiiii_56", "jsCall_vdiidiiiii_57", "jsCall_vdiidiiiii_58", "jsCall_vdiidiiiii_59", "jsCall_vdiidiiiii_60", "jsCall_vdiidiiiii_61", "jsCall_vdiidiiiii_62", "jsCall_vdiidiiiii_63", "jsCall_vdiidiiiii_64", "jsCall_vdiidiiiii_65", "jsCall_vdiidiiiii_66", "jsCall_vdiidiiiii_67", "jsCall_vdiidiiiii_68", "jsCall_vdiidiiiii_69", "jsCall_vdiidiiiii_70", "jsCall_vdiidiiiii_71", "jsCall_vdiidiiiii_72", "jsCall_vdiidiiiii_73", "jsCall_vdiidiiiii_74", "jsCall_vdiidiiiii_75", "jsCall_vdiidiiiii_76", "jsCall_vdiidiiiii_77", "jsCall_vdiidiiiii_78", "jsCall_vdiidiiiii_79", "jsCall_vdiidiiiii_80", "jsCall_vdiidiiiii_81", "jsCall_vdiidiiiii_82", "jsCall_vdiidiiiii_83", "jsCall_vdiidiiiii_84", "jsCall_vdiidiiiii_85", "jsCall_vdiidiiiii_86", "jsCall_vdiidiiiii_87", "jsCall_vdiidiiiii_88", "jsCall_vdiidiiiii_89", "jsCall_vdiidiiiii_90", "jsCall_vdiidiiiii_91", "jsCall_vdiidiiiii_92", "jsCall_vdiidiiiii_93", "jsCall_vdiidiiiii_94", "jsCall_vdiidiiiii_95", "jsCall_vdiidiiiii_96", "jsCall_vdiidiiiii_97", "jsCall_vdiidiiiii_98", "jsCall_vdiidiiiii_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", "jsCall_vdiidiiiiii_35", "jsCall_vdiidiiiiii_36", "jsCall_vdiidiiiiii_37", "jsCall_vdiidiiiiii_38", "jsCall_vdiidiiiiii_39", "jsCall_vdiidiiiiii_40", "jsCall_vdiidiiiiii_41", "jsCall_vdiidiiiiii_42", "jsCall_vdiidiiiiii_43", "jsCall_vdiidiiiiii_44", "jsCall_vdiidiiiiii_45", "jsCall_vdiidiiiiii_46", "jsCall_vdiidiiiiii_47", "jsCall_vdiidiiiiii_48", "jsCall_vdiidiiiiii_49", "jsCall_vdiidiiiiii_50", "jsCall_vdiidiiiiii_51", "jsCall_vdiidiiiiii_52", "jsCall_vdiidiiiiii_53", "jsCall_vdiidiiiiii_54", "jsCall_vdiidiiiiii_55", "jsCall_vdiidiiiiii_56", "jsCall_vdiidiiiiii_57", "jsCall_vdiidiiiiii_58", "jsCall_vdiidiiiiii_59", "jsCall_vdiidiiiiii_60", "jsCall_vdiidiiiiii_61", "jsCall_vdiidiiiiii_62", "jsCall_vdiidiiiiii_63", "jsCall_vdiidiiiiii_64", "jsCall_vdiidiiiiii_65", "jsCall_vdiidiiiiii_66", "jsCall_vdiidiiiiii_67", "jsCall_vdiidiiiiii_68", "jsCall_vdiidiiiiii_69", "jsCall_vdiidiiiiii_70", "jsCall_vdiidiiiiii_71", "jsCall_vdiidiiiiii_72", "jsCall_vdiidiiiiii_73", "jsCall_vdiidiiiiii_74", "jsCall_vdiidiiiiii_75", "jsCall_vdiidiiiiii_76", "jsCall_vdiidiiiiii_77", "jsCall_vdiidiiiiii_78", "jsCall_vdiidiiiiii_79", "jsCall_vdiidiiiiii_80", "jsCall_vdiidiiiiii_81", "jsCall_vdiidiiiiii_82", "jsCall_vdiidiiiiii_83", "jsCall_vdiidiiiiii_84", "jsCall_vdiidiiiiii_85", "jsCall_vdiidiiiiii_86", "jsCall_vdiidiiiiii_87", "jsCall_vdiidiiiiii_88", "jsCall_vdiidiiiiii_89", "jsCall_vdiidiiiiii_90", "jsCall_vdiidiiiiii_91", "jsCall_vdiidiiiiii_92", "jsCall_vdiidiiiiii_93", "jsCall_vdiidiiiiii_94", "jsCall_vdiidiiiiii_95", "jsCall_vdiidiiiiii_96", "jsCall_vdiidiiiiii_97", "jsCall_vdiidiiiiii_98", "jsCall_vdiidiiiiii_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "jsCall_vi_35", "jsCall_vi_36", "jsCall_vi_37", "jsCall_vi_38", "jsCall_vi_39", "jsCall_vi_40", "jsCall_vi_41", "jsCall_vi_42", "jsCall_vi_43", "jsCall_vi_44", "jsCall_vi_45", "jsCall_vi_46", "jsCall_vi_47", "jsCall_vi_48", "jsCall_vi_49", "jsCall_vi_50", "jsCall_vi_51", "jsCall_vi_52", "jsCall_vi_53", "jsCall_vi_54", "jsCall_vi_55", "jsCall_vi_56", "jsCall_vi_57", "jsCall_vi_58", "jsCall_vi_59", "jsCall_vi_60", "jsCall_vi_61", "jsCall_vi_62", "jsCall_vi_63", "jsCall_vi_64", "jsCall_vi_65", "jsCall_vi_66", "jsCall_vi_67", "jsCall_vi_68", "jsCall_vi_69", "jsCall_vi_70", "jsCall_vi_71", "jsCall_vi_72", "jsCall_vi_73", "jsCall_vi_74", "jsCall_vi_75", "jsCall_vi_76", "jsCall_vi_77", "jsCall_vi_78", "jsCall_vi_79", "jsCall_vi_80", "jsCall_vi_81", "jsCall_vi_82", "jsCall_vi_83", "jsCall_vi_84", "jsCall_vi_85", "jsCall_vi_86", "jsCall_vi_87", "jsCall_vi_88", "jsCall_vi_89", "jsCall_vi_90", "jsCall_vi_91", "jsCall_vi_92", "jsCall_vi_93", "jsCall_vi_94", "jsCall_vi_95", "jsCall_vi_96", "jsCall_vi_97", "jsCall_vi_98", "jsCall_vi_99", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "jsCall_vii_35", "jsCall_vii_36", "jsCall_vii_37", "jsCall_vii_38", "jsCall_vii_39", "jsCall_vii_40", "jsCall_vii_41", "jsCall_vii_42", "jsCall_vii_43", "jsCall_vii_44", "jsCall_vii_45", "jsCall_vii_46", "jsCall_vii_47", "jsCall_vii_48", "jsCall_vii_49", "jsCall_vii_50", "jsCall_vii_51", "jsCall_vii_52", "jsCall_vii_53", "jsCall_vii_54", "jsCall_vii_55", "jsCall_vii_56", "jsCall_vii_57", "jsCall_vii_58", "jsCall_vii_59", "jsCall_vii_60", "jsCall_vii_61", "jsCall_vii_62", "jsCall_vii_63", "jsCall_vii_64", "jsCall_vii_65", "jsCall_vii_66", "jsCall_vii_67", "jsCall_vii_68", "jsCall_vii_69", "jsCall_vii_70", "jsCall_vii_71", "jsCall_vii_72", "jsCall_vii_73", "jsCall_vii_74", "jsCall_vii_75", "jsCall_vii_76", "jsCall_vii_77", "jsCall_vii_78", "jsCall_vii_79", "jsCall_vii_80", "jsCall_vii_81", "jsCall_vii_82", "jsCall_vii_83", "jsCall_vii_84", "jsCall_vii_85", "jsCall_vii_86", "jsCall_vii_87", "jsCall_vii_88", "jsCall_vii_89", "jsCall_vii_90", "jsCall_vii_91", "jsCall_vii_92", "jsCall_vii_93", "jsCall_vii_94", "jsCall_vii_95", "jsCall_vii_96", "jsCall_vii_97", "jsCall_vii_98", "jsCall_vii_99", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "jsCall_viidi_35", "jsCall_viidi_36", "jsCall_viidi_37", "jsCall_viidi_38", "jsCall_viidi_39", "jsCall_viidi_40", "jsCall_viidi_41", "jsCall_viidi_42", "jsCall_viidi_43", "jsCall_viidi_44", "jsCall_viidi_45", "jsCall_viidi_46", "jsCall_viidi_47", "jsCall_viidi_48", "jsCall_viidi_49", "jsCall_viidi_50", "jsCall_viidi_51", "jsCall_viidi_52", "jsCall_viidi_53", "jsCall_viidi_54", "jsCall_viidi_55", "jsCall_viidi_56", "jsCall_viidi_57", "jsCall_viidi_58", "jsCall_viidi_59", "jsCall_viidi_60", "jsCall_viidi_61", "jsCall_viidi_62", "jsCall_viidi_63", "jsCall_viidi_64", "jsCall_viidi_65", "jsCall_viidi_66", "jsCall_viidi_67", "jsCall_viidi_68", "jsCall_viidi_69", "jsCall_viidi_70", "jsCall_viidi_71", "jsCall_viidi_72", "jsCall_viidi_73", "jsCall_viidi_74", "jsCall_viidi_75", "jsCall_viidi_76", "jsCall_viidi_77", "jsCall_viidi_78", "jsCall_viidi_79", "jsCall_viidi_80", "jsCall_viidi_81", "jsCall_viidi_82", "jsCall_viidi_83", "jsCall_viidi_84", "jsCall_viidi_85", "jsCall_viidi_86", "jsCall_viidi_87", "jsCall_viidi_88", "jsCall_viidi_89", "jsCall_viidi_90", "jsCall_viidi_91", "jsCall_viidi_92", "jsCall_viidi_93", "jsCall_viidi_94", "jsCall_viidi_95", "jsCall_viidi_96", "jsCall_viidi_97", "jsCall_viidi_98", "jsCall_viidi_99", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "jsCall_viifi_35", "jsCall_viifi_36", "jsCall_viifi_37", "jsCall_viifi_38", "jsCall_viifi_39", "jsCall_viifi_40", "jsCall_viifi_41", "jsCall_viifi_42", "jsCall_viifi_43", "jsCall_viifi_44", "jsCall_viifi_45", "jsCall_viifi_46", "jsCall_viifi_47", "jsCall_viifi_48", "jsCall_viifi_49", "jsCall_viifi_50", "jsCall_viifi_51", "jsCall_viifi_52", "jsCall_viifi_53", "jsCall_viifi_54", "jsCall_viifi_55", "jsCall_viifi_56", "jsCall_viifi_57", "jsCall_viifi_58", "jsCall_viifi_59", "jsCall_viifi_60", "jsCall_viifi_61", "jsCall_viifi_62", "jsCall_viifi_63", "jsCall_viifi_64", "jsCall_viifi_65", "jsCall_viifi_66", "jsCall_viifi_67", "jsCall_viifi_68", "jsCall_viifi_69", "jsCall_viifi_70", "jsCall_viifi_71", "jsCall_viifi_72", "jsCall_viifi_73", "jsCall_viifi_74", "jsCall_viifi_75", "jsCall_viifi_76", "jsCall_viifi_77", "jsCall_viifi_78", "jsCall_viifi_79", "jsCall_viifi_80", "jsCall_viifi_81", "jsCall_viifi_82", "jsCall_viifi_83", "jsCall_viifi_84", "jsCall_viifi_85", "jsCall_viifi_86", "jsCall_viifi_87", "jsCall_viifi_88", "jsCall_viifi_89", "jsCall_viifi_90", "jsCall_viifi_91", "jsCall_viifi_92", "jsCall_viifi_93", "jsCall_viifi_94", "jsCall_viifi_95", "jsCall_viifi_96", "jsCall_viifi_97", "jsCall_viifi_98", "jsCall_viifi_99", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "jsCall_viii_35", "jsCall_viii_36", "jsCall_viii_37", "jsCall_viii_38", "jsCall_viii_39", "jsCall_viii_40", "jsCall_viii_41", "jsCall_viii_42", "jsCall_viii_43", "jsCall_viii_44", "jsCall_viii_45", "jsCall_viii_46", "jsCall_viii_47", "jsCall_viii_48", "jsCall_viii_49", "jsCall_viii_50", "jsCall_viii_51", "jsCall_viii_52", "jsCall_viii_53", "jsCall_viii_54", "jsCall_viii_55", "jsCall_viii_56", "jsCall_viii_57", "jsCall_viii_58", "jsCall_viii_59", "jsCall_viii_60", "jsCall_viii_61", "jsCall_viii_62", "jsCall_viii_63", "jsCall_viii_64", "jsCall_viii_65", "jsCall_viii_66", "jsCall_viii_67", "jsCall_viii_68", "jsCall_viii_69", "jsCall_viii_70", "jsCall_viii_71", "jsCall_viii_72", "jsCall_viii_73", "jsCall_viii_74", "jsCall_viii_75", "jsCall_viii_76", "jsCall_viii_77", "jsCall_viii_78", "jsCall_viii_79", "jsCall_viii_80", "jsCall_viii_81", "jsCall_viii_82", "jsCall_viii_83", "jsCall_viii_84", "jsCall_viii_85", "jsCall_viii_86", "jsCall_viii_87", "jsCall_viii_88", "jsCall_viii_89", "jsCall_viii_90", "jsCall_viii_91", "jsCall_viii_92", "jsCall_viii_93", "jsCall_viii_94", "jsCall_viii_95", "jsCall_viii_96", "jsCall_viii_97", "jsCall_viii_98", "jsCall_viii_99", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", "jsCall_viiid_35", "jsCall_viiid_36", "jsCall_viiid_37", "jsCall_viiid_38", "jsCall_viiid_39", "jsCall_viiid_40", "jsCall_viiid_41", "jsCall_viiid_42", "jsCall_viiid_43", "jsCall_viiid_44", "jsCall_viiid_45", "jsCall_viiid_46", "jsCall_viiid_47", "jsCall_viiid_48", "jsCall_viiid_49", "jsCall_viiid_50", "jsCall_viiid_51", "jsCall_viiid_52", "jsCall_viiid_53", "jsCall_viiid_54", "jsCall_viiid_55", "jsCall_viiid_56", "jsCall_viiid_57", "jsCall_viiid_58", "jsCall_viiid_59", "jsCall_viiid_60", "jsCall_viiid_61", "jsCall_viiid_62", "jsCall_viiid_63", "jsCall_viiid_64", "jsCall_viiid_65", "jsCall_viiid_66", "jsCall_viiid_67", "jsCall_viiid_68", "jsCall_viiid_69", "jsCall_viiid_70", "jsCall_viiid_71", "jsCall_viiid_72", "jsCall_viiid_73", "jsCall_viiid_74", "jsCall_viiid_75", "jsCall_viiid_76", "jsCall_viiid_77", "jsCall_viiid_78", "jsCall_viiid_79", "jsCall_viiid_80", "jsCall_viiid_81", "jsCall_viiid_82", "jsCall_viiid_83", "jsCall_viiid_84", "jsCall_viiid_85", "jsCall_viiid_86", "jsCall_viiid_87", "jsCall_viiid_88", "jsCall_viiid_89", "jsCall_viiid_90", "jsCall_viiid_91", "jsCall_viiid_92", "jsCall_viiid_93", "jsCall_viiid_94", "jsCall_viiid_95", "jsCall_viiid_96", "jsCall_viiid_97", "jsCall_viiid_98", "jsCall_viiid_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "jsCall_viiii_35", "jsCall_viiii_36", "jsCall_viiii_37", "jsCall_viiii_38", "jsCall_viiii_39", "jsCall_viiii_40", "jsCall_viiii_41", "jsCall_viiii_42", "jsCall_viiii_43", "jsCall_viiii_44", "jsCall_viiii_45", "jsCall_viiii_46", "jsCall_viiii_47", "jsCall_viiii_48", "jsCall_viiii_49", "jsCall_viiii_50", "jsCall_viiii_51", "jsCall_viiii_52", "jsCall_viiii_53", "jsCall_viiii_54", "jsCall_viiii_55", "jsCall_viiii_56", "jsCall_viiii_57", "jsCall_viiii_58", "jsCall_viiii_59", "jsCall_viiii_60", "jsCall_viiii_61", "jsCall_viiii_62", "jsCall_viiii_63", "jsCall_viiii_64", "jsCall_viiii_65", "jsCall_viiii_66", "jsCall_viiii_67", "jsCall_viiii_68", "jsCall_viiii_69", "jsCall_viiii_70", "jsCall_viiii_71", "jsCall_viiii_72", "jsCall_viiii_73", "jsCall_viiii_74", "jsCall_viiii_75", "jsCall_viiii_76", "jsCall_viiii_77", "jsCall_viiii_78", "jsCall_viiii_79", "jsCall_viiii_80", "jsCall_viiii_81", "jsCall_viiii_82", "jsCall_viiii_83", "jsCall_viiii_84", "jsCall_viiii_85", "jsCall_viiii_86", "jsCall_viiii_87", "jsCall_viiii_88", "jsCall_viiii_89", "jsCall_viiii_90", "jsCall_viiii_91", "jsCall_viiii_92", "jsCall_viiii_93", "jsCall_viiii_94", "jsCall_viiii_95", "jsCall_viiii_96", "jsCall_viiii_97", "jsCall_viiii_98", "jsCall_viiii_99", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "jsCall_viiiifii_35", "jsCall_viiiifii_36", "jsCall_viiiifii_37", "jsCall_viiiifii_38", "jsCall_viiiifii_39", "jsCall_viiiifii_40", "jsCall_viiiifii_41", "jsCall_viiiifii_42", "jsCall_viiiifii_43", "jsCall_viiiifii_44", "jsCall_viiiifii_45", "jsCall_viiiifii_46", "jsCall_viiiifii_47", "jsCall_viiiifii_48", "jsCall_viiiifii_49", "jsCall_viiiifii_50", "jsCall_viiiifii_51", "jsCall_viiiifii_52", "jsCall_viiiifii_53", "jsCall_viiiifii_54", "jsCall_viiiifii_55", "jsCall_viiiifii_56", "jsCall_viiiifii_57", "jsCall_viiiifii_58", "jsCall_viiiifii_59", "jsCall_viiiifii_60", "jsCall_viiiifii_61", "jsCall_viiiifii_62", "jsCall_viiiifii_63", "jsCall_viiiifii_64", "jsCall_viiiifii_65", "jsCall_viiiifii_66", "jsCall_viiiifii_67", "jsCall_viiiifii_68", "jsCall_viiiifii_69", "jsCall_viiiifii_70", "jsCall_viiiifii_71", "jsCall_viiiifii_72", "jsCall_viiiifii_73", "jsCall_viiiifii_74", "jsCall_viiiifii_75", "jsCall_viiiifii_76", "jsCall_viiiifii_77", "jsCall_viiiifii_78", "jsCall_viiiifii_79", "jsCall_viiiifii_80", "jsCall_viiiifii_81", "jsCall_viiiifii_82", "jsCall_viiiifii_83", "jsCall_viiiifii_84", "jsCall_viiiifii_85", "jsCall_viiiifii_86", "jsCall_viiiifii_87", "jsCall_viiiifii_88", "jsCall_viiiifii_89", "jsCall_viiiifii_90", "jsCall_viiiifii_91", "jsCall_viiiifii_92", "jsCall_viiiifii_93", "jsCall_viiiifii_94", "jsCall_viiiifii_95", "jsCall_viiiifii_96", "jsCall_viiiifii_97", "jsCall_viiiifii_98", "jsCall_viiiifii_99", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "jsCall_viiiii_35", "jsCall_viiiii_36", "jsCall_viiiii_37", "jsCall_viiiii_38", "jsCall_viiiii_39", "jsCall_viiiii_40", "jsCall_viiiii_41", "jsCall_viiiii_42", "jsCall_viiiii_43", "jsCall_viiiii_44", "jsCall_viiiii_45", "jsCall_viiiii_46", "jsCall_viiiii_47", "jsCall_viiiii_48", "jsCall_viiiii_49", "jsCall_viiiii_50", "jsCall_viiiii_51", "jsCall_viiiii_52", "jsCall_viiiii_53", "jsCall_viiiii_54", "jsCall_viiiii_55", "jsCall_viiiii_56", "jsCall_viiiii_57", "jsCall_viiiii_58", "jsCall_viiiii_59", "jsCall_viiiii_60", "jsCall_viiiii_61", "jsCall_viiiii_62", "jsCall_viiiii_63", "jsCall_viiiii_64", "jsCall_viiiii_65", "jsCall_viiiii_66", "jsCall_viiiii_67", "jsCall_viiiii_68", "jsCall_viiiii_69", "jsCall_viiiii_70", "jsCall_viiiii_71", "jsCall_viiiii_72", "jsCall_viiiii_73", "jsCall_viiiii_74", "jsCall_viiiii_75", "jsCall_viiiii_76", "jsCall_viiiii_77", "jsCall_viiiii_78", "jsCall_viiiii_79", "jsCall_viiiii_80", "jsCall_viiiii_81", "jsCall_viiiii_82", "jsCall_viiiii_83", "jsCall_viiiii_84", "jsCall_viiiii_85", "jsCall_viiiii_86", "jsCall_viiiii_87", "jsCall_viiiii_88", "jsCall_viiiii_89", "jsCall_viiiii_90", "jsCall_viiiii_91", "jsCall_viiiii_92", "jsCall_viiiii_93", "jsCall_viiiii_94", "jsCall_viiiii_95", "jsCall_viiiii_96", "jsCall_viiiii_97", "jsCall_viiiii_98", "jsCall_viiiii_99", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", "jsCall_viiiiidd_35", "jsCall_viiiiidd_36", "jsCall_viiiiidd_37", "jsCall_viiiiidd_38", "jsCall_viiiiidd_39", "jsCall_viiiiidd_40", "jsCall_viiiiidd_41", "jsCall_viiiiidd_42", "jsCall_viiiiidd_43", "jsCall_viiiiidd_44", "jsCall_viiiiidd_45", "jsCall_viiiiidd_46", "jsCall_viiiiidd_47", "jsCall_viiiiidd_48", "jsCall_viiiiidd_49", "jsCall_viiiiidd_50", "jsCall_viiiiidd_51", "jsCall_viiiiidd_52", "jsCall_viiiiidd_53", "jsCall_viiiiidd_54", "jsCall_viiiiidd_55", "jsCall_viiiiidd_56", "jsCall_viiiiidd_57", "jsCall_viiiiidd_58", "jsCall_viiiiidd_59", "jsCall_viiiiidd_60", "jsCall_viiiiidd_61", "jsCall_viiiiidd_62", "jsCall_viiiiidd_63", "jsCall_viiiiidd_64", "jsCall_viiiiidd_65", "jsCall_viiiiidd_66", "jsCall_viiiiidd_67", "jsCall_viiiiidd_68", "jsCall_viiiiidd_69", "jsCall_viiiiidd_70", "jsCall_viiiiidd_71", "jsCall_viiiiidd_72", "jsCall_viiiiidd_73", "jsCall_viiiiidd_74", "jsCall_viiiiidd_75", "jsCall_viiiiidd_76", "jsCall_viiiiidd_77", "jsCall_viiiiidd_78", "jsCall_viiiiidd_79", "jsCall_viiiiidd_80", "jsCall_viiiiidd_81", "jsCall_viiiiidd_82", "jsCall_viiiiidd_83", "jsCall_viiiiidd_84", "jsCall_viiiiidd_85", "jsCall_viiiiidd_86", "jsCall_viiiiidd_87", "jsCall_viiiiidd_88", "jsCall_viiiiidd_89", "jsCall_viiiiidd_90", "jsCall_viiiiidd_91", "jsCall_viiiiidd_92", "jsCall_viiiiidd_93", "jsCall_viiiiidd_94", "jsCall_viiiiidd_95", "jsCall_viiiiidd_96", "jsCall_viiiiidd_97", "jsCall_viiiiidd_98", "jsCall_viiiiidd_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", "jsCall_viiiiiddi_35", "jsCall_viiiiiddi_36", "jsCall_viiiiiddi_37", "jsCall_viiiiiddi_38", "jsCall_viiiiiddi_39", "jsCall_viiiiiddi_40", "jsCall_viiiiiddi_41", "jsCall_viiiiiddi_42", "jsCall_viiiiiddi_43", "jsCall_viiiiiddi_44", "jsCall_viiiiiddi_45", "jsCall_viiiiiddi_46", "jsCall_viiiiiddi_47", "jsCall_viiiiiddi_48", "jsCall_viiiiiddi_49", "jsCall_viiiiiddi_50", "jsCall_viiiiiddi_51", "jsCall_viiiiiddi_52", "jsCall_viiiiiddi_53", "jsCall_viiiiiddi_54", "jsCall_viiiiiddi_55", "jsCall_viiiiiddi_56", "jsCall_viiiiiddi_57", "jsCall_viiiiiddi_58", "jsCall_viiiiiddi_59", "jsCall_viiiiiddi_60", "jsCall_viiiiiddi_61", "jsCall_viiiiiddi_62", "jsCall_viiiiiddi_63", "jsCall_viiiiiddi_64", "jsCall_viiiiiddi_65", "jsCall_viiiiiddi_66", "jsCall_viiiiiddi_67", "jsCall_viiiiiddi_68", "jsCall_viiiiiddi_69", "jsCall_viiiiiddi_70", "jsCall_viiiiiddi_71", "jsCall_viiiiiddi_72", "jsCall_viiiiiddi_73", "jsCall_viiiiiddi_74", "jsCall_viiiiiddi_75", "jsCall_viiiiiddi_76", "jsCall_viiiiiddi_77", "jsCall_viiiiiddi_78", "jsCall_viiiiiddi_79", "jsCall_viiiiiddi_80", "jsCall_viiiiiddi_81", "jsCall_viiiiiddi_82", "jsCall_viiiiiddi_83", "jsCall_viiiiiddi_84", "jsCall_viiiiiddi_85", "jsCall_viiiiiddi_86", "jsCall_viiiiiddi_87", "jsCall_viiiiiddi_88", "jsCall_viiiiiddi_89", "jsCall_viiiiiddi_90", "jsCall_viiiiiddi_91", "jsCall_viiiiiddi_92", "jsCall_viiiiiddi_93", "jsCall_viiiiiddi_94", "jsCall_viiiiiddi_95", "jsCall_viiiiiddi_96", "jsCall_viiiiiddi_97", "jsCall_viiiiiddi_98", "jsCall_viiiiiddi_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "jsCall_viiiiii_35", "jsCall_viiiiii_36", "jsCall_viiiiii_37", "jsCall_viiiiii_38", "jsCall_viiiiii_39", "jsCall_viiiiii_40", "jsCall_viiiiii_41", "jsCall_viiiiii_42", "jsCall_viiiiii_43", "jsCall_viiiiii_44", "jsCall_viiiiii_45", "jsCall_viiiiii_46", "jsCall_viiiiii_47", "jsCall_viiiiii_48", "jsCall_viiiiii_49", "jsCall_viiiiii_50", "jsCall_viiiiii_51", "jsCall_viiiiii_52", "jsCall_viiiiii_53", "jsCall_viiiiii_54", "jsCall_viiiiii_55", "jsCall_viiiiii_56", "jsCall_viiiiii_57", "jsCall_viiiiii_58", "jsCall_viiiiii_59", "jsCall_viiiiii_60", "jsCall_viiiiii_61", "jsCall_viiiiii_62", "jsCall_viiiiii_63", "jsCall_viiiiii_64", "jsCall_viiiiii_65", "jsCall_viiiiii_66", "jsCall_viiiiii_67", "jsCall_viiiiii_68", "jsCall_viiiiii_69", "jsCall_viiiiii_70", "jsCall_viiiiii_71", "jsCall_viiiiii_72", "jsCall_viiiiii_73", "jsCall_viiiiii_74", "jsCall_viiiiii_75", "jsCall_viiiiii_76", "jsCall_viiiiii_77", "jsCall_viiiiii_78", "jsCall_viiiiii_79", "jsCall_viiiiii_80", "jsCall_viiiiii_81", "jsCall_viiiiii_82", "jsCall_viiiiii_83", "jsCall_viiiiii_84", "jsCall_viiiiii_85", "jsCall_viiiiii_86", "jsCall_viiiiii_87", "jsCall_viiiiii_88", "jsCall_viiiiii_89", "jsCall_viiiiii_90", "jsCall_viiiiii_91", "jsCall_viiiiii_92", "jsCall_viiiiii_93", "jsCall_viiiiii_94", "jsCall_viiiiii_95", "jsCall_viiiiii_96", "jsCall_viiiiii_97", "jsCall_viiiiii_98", "jsCall_viiiiii_99", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "jsCall_viiiiiifi_35", "jsCall_viiiiiifi_36", "jsCall_viiiiiifi_37", "jsCall_viiiiiifi_38", "jsCall_viiiiiifi_39", "jsCall_viiiiiifi_40", "jsCall_viiiiiifi_41", "jsCall_viiiiiifi_42", "jsCall_viiiiiifi_43", "jsCall_viiiiiifi_44", "jsCall_viiiiiifi_45", "jsCall_viiiiiifi_46", "jsCall_viiiiiifi_47", "jsCall_viiiiiifi_48", "jsCall_viiiiiifi_49", "jsCall_viiiiiifi_50", "jsCall_viiiiiifi_51", "jsCall_viiiiiifi_52", "jsCall_viiiiiifi_53", "jsCall_viiiiiifi_54", "jsCall_viiiiiifi_55", "jsCall_viiiiiifi_56", "jsCall_viiiiiifi_57", "jsCall_viiiiiifi_58", "jsCall_viiiiiifi_59", "jsCall_viiiiiifi_60", "jsCall_viiiiiifi_61", "jsCall_viiiiiifi_62", "jsCall_viiiiiifi_63", "jsCall_viiiiiifi_64", "jsCall_viiiiiifi_65", "jsCall_viiiiiifi_66", "jsCall_viiiiiifi_67", "jsCall_viiiiiifi_68", "jsCall_viiiiiifi_69", "jsCall_viiiiiifi_70", "jsCall_viiiiiifi_71", "jsCall_viiiiiifi_72", "jsCall_viiiiiifi_73", "jsCall_viiiiiifi_74", "jsCall_viiiiiifi_75", "jsCall_viiiiiifi_76", "jsCall_viiiiiifi_77", "jsCall_viiiiiifi_78", "jsCall_viiiiiifi_79", "jsCall_viiiiiifi_80", "jsCall_viiiiiifi_81", "jsCall_viiiiiifi_82", "jsCall_viiiiiifi_83", "jsCall_viiiiiifi_84", "jsCall_viiiiiifi_85", "jsCall_viiiiiifi_86", "jsCall_viiiiiifi_87", "jsCall_viiiiiifi_88", "jsCall_viiiiiifi_89", "jsCall_viiiiiifi_90", "jsCall_viiiiiifi_91", "jsCall_viiiiiifi_92", "jsCall_viiiiiifi_93", "jsCall_viiiiiifi_94", "jsCall_viiiiiifi_95", "jsCall_viiiiiifi_96", "jsCall_viiiiiifi_97", "jsCall_viiiiiifi_98", "jsCall_viiiiiifi_99", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "jsCall_viiiiiii_35", "jsCall_viiiiiii_36", "jsCall_viiiiiii_37", "jsCall_viiiiiii_38", "jsCall_viiiiiii_39", "jsCall_viiiiiii_40", "jsCall_viiiiiii_41", "jsCall_viiiiiii_42", "jsCall_viiiiiii_43", "jsCall_viiiiiii_44", "jsCall_viiiiiii_45", "jsCall_viiiiiii_46", "jsCall_viiiiiii_47", "jsCall_viiiiiii_48", "jsCall_viiiiiii_49", "jsCall_viiiiiii_50", "jsCall_viiiiiii_51", "jsCall_viiiiiii_52", "jsCall_viiiiiii_53", "jsCall_viiiiiii_54", "jsCall_viiiiiii_55", "jsCall_viiiiiii_56", "jsCall_viiiiiii_57", "jsCall_viiiiiii_58", "jsCall_viiiiiii_59", "jsCall_viiiiiii_60", "jsCall_viiiiiii_61", "jsCall_viiiiiii_62", "jsCall_viiiiiii_63", "jsCall_viiiiiii_64", "jsCall_viiiiiii_65", "jsCall_viiiiiii_66", "jsCall_viiiiiii_67", "jsCall_viiiiiii_68", "jsCall_viiiiiii_69", "jsCall_viiiiiii_70", "jsCall_viiiiiii_71", "jsCall_viiiiiii_72", "jsCall_viiiiiii_73", "jsCall_viiiiiii_74", "jsCall_viiiiiii_75", "jsCall_viiiiiii_76", "jsCall_viiiiiii_77", "jsCall_viiiiiii_78", "jsCall_viiiiiii_79", "jsCall_viiiiiii_80", "jsCall_viiiiiii_81", "jsCall_viiiiiii_82", "jsCall_viiiiiii_83", "jsCall_viiiiiii_84", "jsCall_viiiiiii_85", "jsCall_viiiiiii_86", "jsCall_viiiiiii_87", "jsCall_viiiiiii_88", "jsCall_viiiiiii_89", "jsCall_viiiiiii_90", "jsCall_viiiiiii_91", "jsCall_viiiiiii_92", "jsCall_viiiiiii_93", "jsCall_viiiiiii_94", "jsCall_viiiiiii_95", "jsCall_viiiiiii_96", "jsCall_viiiiiii_97", "jsCall_viiiiiii_98", "jsCall_viiiiiii_99", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "jsCall_viiiiiiii_35", "jsCall_viiiiiiii_36", "jsCall_viiiiiiii_37", "jsCall_viiiiiiii_38", "jsCall_viiiiiiii_39", "jsCall_viiiiiiii_40", "jsCall_viiiiiiii_41", "jsCall_viiiiiiii_42", "jsCall_viiiiiiii_43", "jsCall_viiiiiiii_44", "jsCall_viiiiiiii_45", "jsCall_viiiiiiii_46", "jsCall_viiiiiiii_47", "jsCall_viiiiiiii_48", "jsCall_viiiiiiii_49", "jsCall_viiiiiiii_50", "jsCall_viiiiiiii_51", "jsCall_viiiiiiii_52", "jsCall_viiiiiiii_53", "jsCall_viiiiiiii_54", "jsCall_viiiiiiii_55", "jsCall_viiiiiiii_56", "jsCall_viiiiiiii_57", "jsCall_viiiiiiii_58", "jsCall_viiiiiiii_59", "jsCall_viiiiiiii_60", "jsCall_viiiiiiii_61", "jsCall_viiiiiiii_62", "jsCall_viiiiiiii_63", "jsCall_viiiiiiii_64", "jsCall_viiiiiiii_65", "jsCall_viiiiiiii_66", "jsCall_viiiiiiii_67", "jsCall_viiiiiiii_68", "jsCall_viiiiiiii_69", "jsCall_viiiiiiii_70", "jsCall_viiiiiiii_71", "jsCall_viiiiiiii_72", "jsCall_viiiiiiii_73", "jsCall_viiiiiiii_74", "jsCall_viiiiiiii_75", "jsCall_viiiiiiii_76", "jsCall_viiiiiiii_77", "jsCall_viiiiiiii_78", "jsCall_viiiiiiii_79", "jsCall_viiiiiiii_80", "jsCall_viiiiiiii_81", "jsCall_viiiiiiii_82", "jsCall_viiiiiiii_83", "jsCall_viiiiiiii_84", "jsCall_viiiiiiii_85", "jsCall_viiiiiiii_86", "jsCall_viiiiiiii_87", "jsCall_viiiiiiii_88", "jsCall_viiiiiiii_89", "jsCall_viiiiiiii_90", "jsCall_viiiiiiii_91", "jsCall_viiiiiiii_92", "jsCall_viiiiiiii_93", "jsCall_viiiiiiii_94", "jsCall_viiiiiiii_95", "jsCall_viiiiiiii_96", "jsCall_viiiiiiii_97", "jsCall_viiiiiiii_98", "jsCall_viiiiiiii_99", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", "jsCall_viiiiiiiid_35", "jsCall_viiiiiiiid_36", "jsCall_viiiiiiiid_37", "jsCall_viiiiiiiid_38", "jsCall_viiiiiiiid_39", "jsCall_viiiiiiiid_40", "jsCall_viiiiiiiid_41", "jsCall_viiiiiiiid_42", "jsCall_viiiiiiiid_43", "jsCall_viiiiiiiid_44", "jsCall_viiiiiiiid_45", "jsCall_viiiiiiiid_46", "jsCall_viiiiiiiid_47", "jsCall_viiiiiiiid_48", "jsCall_viiiiiiiid_49", "jsCall_viiiiiiiid_50", "jsCall_viiiiiiiid_51", "jsCall_viiiiiiiid_52", "jsCall_viiiiiiiid_53", "jsCall_viiiiiiiid_54", "jsCall_viiiiiiiid_55", "jsCall_viiiiiiiid_56", "jsCall_viiiiiiiid_57", "jsCall_viiiiiiiid_58", "jsCall_viiiiiiiid_59", "jsCall_viiiiiiiid_60", "jsCall_viiiiiiiid_61", "jsCall_viiiiiiiid_62", "jsCall_viiiiiiiid_63", "jsCall_viiiiiiiid_64", "jsCall_viiiiiiiid_65", "jsCall_viiiiiiiid_66", "jsCall_viiiiiiiid_67", "jsCall_viiiiiiiid_68", "jsCall_viiiiiiiid_69", "jsCall_viiiiiiiid_70", "jsCall_viiiiiiiid_71", "jsCall_viiiiiiiid_72", "jsCall_viiiiiiiid_73", "jsCall_viiiiiiiid_74", "jsCall_viiiiiiiid_75", "jsCall_viiiiiiiid_76", "jsCall_viiiiiiiid_77", "jsCall_viiiiiiiid_78", "jsCall_viiiiiiiid_79", "jsCall_viiiiiiiid_80", "jsCall_viiiiiiiid_81", "jsCall_viiiiiiiid_82", "jsCall_viiiiiiiid_83", "jsCall_viiiiiiiid_84", "jsCall_viiiiiiiid_85", "jsCall_viiiiiiiid_86", "jsCall_viiiiiiiid_87", "jsCall_viiiiiiiid_88", "jsCall_viiiiiiiid_89", "jsCall_viiiiiiiid_90", "jsCall_viiiiiiiid_91", "jsCall_viiiiiiiid_92", "jsCall_viiiiiiiid_93", "jsCall_viiiiiiiid_94", "jsCall_viiiiiiiid_95", "jsCall_viiiiiiiid_96", "jsCall_viiiiiiiid_97", "jsCall_viiiiiiiid_98", "jsCall_viiiiiiiid_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", "jsCall_viiiiiiiidi_35", "jsCall_viiiiiiiidi_36", "jsCall_viiiiiiiidi_37", "jsCall_viiiiiiiidi_38", "jsCall_viiiiiiiidi_39", "jsCall_viiiiiiiidi_40", "jsCall_viiiiiiiidi_41", "jsCall_viiiiiiiidi_42", "jsCall_viiiiiiiidi_43", "jsCall_viiiiiiiidi_44", "jsCall_viiiiiiiidi_45", "jsCall_viiiiiiiidi_46", "jsCall_viiiiiiiidi_47", "jsCall_viiiiiiiidi_48", "jsCall_viiiiiiiidi_49", "jsCall_viiiiiiiidi_50", "jsCall_viiiiiiiidi_51", "jsCall_viiiiiiiidi_52", "jsCall_viiiiiiiidi_53", "jsCall_viiiiiiiidi_54", "jsCall_viiiiiiiidi_55", "jsCall_viiiiiiiidi_56", "jsCall_viiiiiiiidi_57", "jsCall_viiiiiiiidi_58", "jsCall_viiiiiiiidi_59", "jsCall_viiiiiiiidi_60", "jsCall_viiiiiiiidi_61", "jsCall_viiiiiiiidi_62", "jsCall_viiiiiiiidi_63", "jsCall_viiiiiiiidi_64", "jsCall_viiiiiiiidi_65", "jsCall_viiiiiiiidi_66", "jsCall_viiiiiiiidi_67", "jsCall_viiiiiiiidi_68", "jsCall_viiiiiiiidi_69", "jsCall_viiiiiiiidi_70", "jsCall_viiiiiiiidi_71", "jsCall_viiiiiiiidi_72", "jsCall_viiiiiiiidi_73", "jsCall_viiiiiiiidi_74", "jsCall_viiiiiiiidi_75", "jsCall_viiiiiiiidi_76", "jsCall_viiiiiiiidi_77", "jsCall_viiiiiiiidi_78", "jsCall_viiiiiiiidi_79", "jsCall_viiiiiiiidi_80", "jsCall_viiiiiiiidi_81", "jsCall_viiiiiiiidi_82", "jsCall_viiiiiiiidi_83", "jsCall_viiiiiiiidi_84", "jsCall_viiiiiiiidi_85", "jsCall_viiiiiiiidi_86", "jsCall_viiiiiiiidi_87", "jsCall_viiiiiiiidi_88", "jsCall_viiiiiiiidi_89", "jsCall_viiiiiiiidi_90", "jsCall_viiiiiiiidi_91", "jsCall_viiiiiiiidi_92", "jsCall_viiiiiiiidi_93", "jsCall_viiiiiiiidi_94", "jsCall_viiiiiiiidi_95", "jsCall_viiiiiiiidi_96", "jsCall_viiiiiiiidi_97", "jsCall_viiiiiiiidi_98", "jsCall_viiiiiiiidi_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "jsCall_viiiiiiiii_35", "jsCall_viiiiiiiii_36", "jsCall_viiiiiiiii_37", "jsCall_viiiiiiiii_38", "jsCall_viiiiiiiii_39", "jsCall_viiiiiiiii_40", "jsCall_viiiiiiiii_41", "jsCall_viiiiiiiii_42", "jsCall_viiiiiiiii_43", "jsCall_viiiiiiiii_44", "jsCall_viiiiiiiii_45", "jsCall_viiiiiiiii_46", "jsCall_viiiiiiiii_47", "jsCall_viiiiiiiii_48", "jsCall_viiiiiiiii_49", "jsCall_viiiiiiiii_50", "jsCall_viiiiiiiii_51", "jsCall_viiiiiiiii_52", "jsCall_viiiiiiiii_53", "jsCall_viiiiiiiii_54", "jsCall_viiiiiiiii_55", "jsCall_viiiiiiiii_56", "jsCall_viiiiiiiii_57", "jsCall_viiiiiiiii_58", "jsCall_viiiiiiiii_59", "jsCall_viiiiiiiii_60", "jsCall_viiiiiiiii_61", "jsCall_viiiiiiiii_62", "jsCall_viiiiiiiii_63", "jsCall_viiiiiiiii_64", "jsCall_viiiiiiiii_65", "jsCall_viiiiiiiii_66", "jsCall_viiiiiiiii_67", "jsCall_viiiiiiiii_68", "jsCall_viiiiiiiii_69", "jsCall_viiiiiiiii_70", "jsCall_viiiiiiiii_71", "jsCall_viiiiiiiii_72", "jsCall_viiiiiiiii_73", "jsCall_viiiiiiiii_74", "jsCall_viiiiiiiii_75", "jsCall_viiiiiiiii_76", "jsCall_viiiiiiiii_77", "jsCall_viiiiiiiii_78", "jsCall_viiiiiiiii_79", "jsCall_viiiiiiiii_80", "jsCall_viiiiiiiii_81", "jsCall_viiiiiiiii_82", "jsCall_viiiiiiiii_83", "jsCall_viiiiiiiii_84", "jsCall_viiiiiiiii_85", "jsCall_viiiiiiiii_86", "jsCall_viiiiiiiii_87", "jsCall_viiiiiiiii_88", "jsCall_viiiiiiiii_89", "jsCall_viiiiiiiii_90", "jsCall_viiiiiiiii_91", "jsCall_viiiiiiiii_92", "jsCall_viiiiiiiii_93", "jsCall_viiiiiiiii_94", "jsCall_viiiiiiiii_95", "jsCall_viiiiiiiii_96", "jsCall_viiiiiiiii_97", "jsCall_viiiiiiiii_98", "jsCall_viiiiiiiii_99", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "jsCall_viiiiiiiiii_35", "jsCall_viiiiiiiiii_36", "jsCall_viiiiiiiiii_37", "jsCall_viiiiiiiiii_38", "jsCall_viiiiiiiiii_39", "jsCall_viiiiiiiiii_40", "jsCall_viiiiiiiiii_41", "jsCall_viiiiiiiiii_42", "jsCall_viiiiiiiiii_43", "jsCall_viiiiiiiiii_44", "jsCall_viiiiiiiiii_45", "jsCall_viiiiiiiiii_46", "jsCall_viiiiiiiiii_47", "jsCall_viiiiiiiiii_48", "jsCall_viiiiiiiiii_49", "jsCall_viiiiiiiiii_50", "jsCall_viiiiiiiiii_51", "jsCall_viiiiiiiiii_52", "jsCall_viiiiiiiiii_53", "jsCall_viiiiiiiiii_54", "jsCall_viiiiiiiiii_55", "jsCall_viiiiiiiiii_56", "jsCall_viiiiiiiiii_57", "jsCall_viiiiiiiiii_58", "jsCall_viiiiiiiiii_59", "jsCall_viiiiiiiiii_60", "jsCall_viiiiiiiiii_61", "jsCall_viiiiiiiiii_62", "jsCall_viiiiiiiiii_63", "jsCall_viiiiiiiiii_64", "jsCall_viiiiiiiiii_65", "jsCall_viiiiiiiiii_66", "jsCall_viiiiiiiiii_67", "jsCall_viiiiiiiiii_68", "jsCall_viiiiiiiiii_69", "jsCall_viiiiiiiiii_70", "jsCall_viiiiiiiiii_71", "jsCall_viiiiiiiiii_72", "jsCall_viiiiiiiiii_73", "jsCall_viiiiiiiiii_74", "jsCall_viiiiiiiiii_75", "jsCall_viiiiiiiiii_76", "jsCall_viiiiiiiiii_77", "jsCall_viiiiiiiiii_78", "jsCall_viiiiiiiiii_79", "jsCall_viiiiiiiiii_80", "jsCall_viiiiiiiiii_81", "jsCall_viiiiiiiiii_82", "jsCall_viiiiiiiiii_83", "jsCall_viiiiiiiiii_84", "jsCall_viiiiiiiiii_85", "jsCall_viiiiiiiiii_86", "jsCall_viiiiiiiiii_87", "jsCall_viiiiiiiiii_88", "jsCall_viiiiiiiiii_89", "jsCall_viiiiiiiiii_90", "jsCall_viiiiiiiiii_91", "jsCall_viiiiiiiiii_92", "jsCall_viiiiiiiiii_93", "jsCall_viiiiiiiiii_94", "jsCall_viiiiiiiiii_95", "jsCall_viiiiiiiiii_96", "jsCall_viiiiiiiiii_97", "jsCall_viiiiiiiiii_98", "jsCall_viiiiiiiiii_99", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "jsCall_viiiiiiiiiii_35", "jsCall_viiiiiiiiiii_36", "jsCall_viiiiiiiiiii_37", "jsCall_viiiiiiiiiii_38", "jsCall_viiiiiiiiiii_39", "jsCall_viiiiiiiiiii_40", "jsCall_viiiiiiiiiii_41", "jsCall_viiiiiiiiiii_42", "jsCall_viiiiiiiiiii_43", "jsCall_viiiiiiiiiii_44", "jsCall_viiiiiiiiiii_45", "jsCall_viiiiiiiiiii_46", "jsCall_viiiiiiiiiii_47", "jsCall_viiiiiiiiiii_48", "jsCall_viiiiiiiiiii_49", "jsCall_viiiiiiiiiii_50", "jsCall_viiiiiiiiiii_51", "jsCall_viiiiiiiiiii_52", "jsCall_viiiiiiiiiii_53", "jsCall_viiiiiiiiiii_54", "jsCall_viiiiiiiiiii_55", "jsCall_viiiiiiiiiii_56", "jsCall_viiiiiiiiiii_57", "jsCall_viiiiiiiiiii_58", "jsCall_viiiiiiiiiii_59", "jsCall_viiiiiiiiiii_60", "jsCall_viiiiiiiiiii_61", "jsCall_viiiiiiiiiii_62", "jsCall_viiiiiiiiiii_63", "jsCall_viiiiiiiiiii_64", "jsCall_viiiiiiiiiii_65", "jsCall_viiiiiiiiiii_66", "jsCall_viiiiiiiiiii_67", "jsCall_viiiiiiiiiii_68", "jsCall_viiiiiiiiiii_69", "jsCall_viiiiiiiiiii_70", "jsCall_viiiiiiiiiii_71", "jsCall_viiiiiiiiiii_72", "jsCall_viiiiiiiiiii_73", "jsCall_viiiiiiiiiii_74", "jsCall_viiiiiiiiiii_75", "jsCall_viiiiiiiiiii_76", "jsCall_viiiiiiiiiii_77", "jsCall_viiiiiiiiiii_78", "jsCall_viiiiiiiiiii_79", "jsCall_viiiiiiiiiii_80", "jsCall_viiiiiiiiiii_81", "jsCall_viiiiiiiiiii_82", "jsCall_viiiiiiiiiii_83", "jsCall_viiiiiiiiiii_84", "jsCall_viiiiiiiiiii_85", "jsCall_viiiiiiiiiii_86", "jsCall_viiiiiiiiiii_87", "jsCall_viiiiiiiiiii_88", "jsCall_viiiiiiiiiii_89", "jsCall_viiiiiiiiiii_90", "jsCall_viiiiiiiiiii_91", "jsCall_viiiiiiiiiii_92", "jsCall_viiiiiiiiiii_93", "jsCall_viiiiiiiiiii_94", "jsCall_viiiiiiiiiii_95", "jsCall_viiiiiiiiiii_96", "jsCall_viiiiiiiiiii_97", "jsCall_viiiiiiiiiii_98", "jsCall_viiiiiiiiiii_99", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "jsCall_viiiiiiiiiiii_35", "jsCall_viiiiiiiiiiii_36", "jsCall_viiiiiiiiiiii_37", "jsCall_viiiiiiiiiiii_38", "jsCall_viiiiiiiiiiii_39", "jsCall_viiiiiiiiiiii_40", "jsCall_viiiiiiiiiiii_41", "jsCall_viiiiiiiiiiii_42", "jsCall_viiiiiiiiiiii_43", "jsCall_viiiiiiiiiiii_44", "jsCall_viiiiiiiiiiii_45", "jsCall_viiiiiiiiiiii_46", "jsCall_viiiiiiiiiiii_47", "jsCall_viiiiiiiiiiii_48", "jsCall_viiiiiiiiiiii_49", "jsCall_viiiiiiiiiiii_50", "jsCall_viiiiiiiiiiii_51", "jsCall_viiiiiiiiiiii_52", "jsCall_viiiiiiiiiiii_53", "jsCall_viiiiiiiiiiii_54", "jsCall_viiiiiiiiiiii_55", "jsCall_viiiiiiiiiiii_56", "jsCall_viiiiiiiiiiii_57", "jsCall_viiiiiiiiiiii_58", "jsCall_viiiiiiiiiiii_59", "jsCall_viiiiiiiiiiii_60", "jsCall_viiiiiiiiiiii_61", "jsCall_viiiiiiiiiiii_62", "jsCall_viiiiiiiiiiii_63", "jsCall_viiiiiiiiiiii_64", "jsCall_viiiiiiiiiiii_65", "jsCall_viiiiiiiiiiii_66", "jsCall_viiiiiiiiiiii_67", "jsCall_viiiiiiiiiiii_68", "jsCall_viiiiiiiiiiii_69", "jsCall_viiiiiiiiiiii_70", "jsCall_viiiiiiiiiiii_71", "jsCall_viiiiiiiiiiii_72", "jsCall_viiiiiiiiiiii_73", "jsCall_viiiiiiiiiiii_74", "jsCall_viiiiiiiiiiii_75", "jsCall_viiiiiiiiiiii_76", "jsCall_viiiiiiiiiiii_77", "jsCall_viiiiiiiiiiii_78", "jsCall_viiiiiiiiiiii_79", "jsCall_viiiiiiiiiiii_80", "jsCall_viiiiiiiiiiii_81", "jsCall_viiiiiiiiiiii_82", "jsCall_viiiiiiiiiiii_83", "jsCall_viiiiiiiiiiii_84", "jsCall_viiiiiiiiiiii_85", "jsCall_viiiiiiiiiiii_86", "jsCall_viiiiiiiiiiii_87", "jsCall_viiiiiiiiiiii_88", "jsCall_viiiiiiiiiiii_89", "jsCall_viiiiiiiiiiii_90", "jsCall_viiiiiiiiiiii_91", "jsCall_viiiiiiiiiiii_92", "jsCall_viiiiiiiiiiii_93", "jsCall_viiiiiiiiiiii_94", "jsCall_viiiiiiiiiiii_95", "jsCall_viiiiiiiiiiii_96", "jsCall_viiiiiiiiiiii_97", "jsCall_viiiiiiiiiiii_98", "jsCall_viiiiiiiiiiii_99", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "jsCall_viiiiiiiiiiiiii_35", "jsCall_viiiiiiiiiiiiii_36", "jsCall_viiiiiiiiiiiiii_37", "jsCall_viiiiiiiiiiiiii_38", "jsCall_viiiiiiiiiiiiii_39", "jsCall_viiiiiiiiiiiiii_40", "jsCall_viiiiiiiiiiiiii_41", "jsCall_viiiiiiiiiiiiii_42", "jsCall_viiiiiiiiiiiiii_43", "jsCall_viiiiiiiiiiiiii_44", "jsCall_viiiiiiiiiiiiii_45", "jsCall_viiiiiiiiiiiiii_46", "jsCall_viiiiiiiiiiiiii_47", "jsCall_viiiiiiiiiiiiii_48", "jsCall_viiiiiiiiiiiiii_49", "jsCall_viiiiiiiiiiiiii_50", "jsCall_viiiiiiiiiiiiii_51", "jsCall_viiiiiiiiiiiiii_52", "jsCall_viiiiiiiiiiiiii_53", "jsCall_viiiiiiiiiiiiii_54", "jsCall_viiiiiiiiiiiiii_55", "jsCall_viiiiiiiiiiiiii_56", "jsCall_viiiiiiiiiiiiii_57", "jsCall_viiiiiiiiiiiiii_58", "jsCall_viiiiiiiiiiiiii_59", "jsCall_viiiiiiiiiiiiii_60", "jsCall_viiiiiiiiiiiiii_61", "jsCall_viiiiiiiiiiiiii_62", "jsCall_viiiiiiiiiiiiii_63", "jsCall_viiiiiiiiiiiiii_64", "jsCall_viiiiiiiiiiiiii_65", "jsCall_viiiiiiiiiiiiii_66", "jsCall_viiiiiiiiiiiiii_67", "jsCall_viiiiiiiiiiiiii_68", "jsCall_viiiiiiiiiiiiii_69", "jsCall_viiiiiiiiiiiiii_70", "jsCall_viiiiiiiiiiiiii_71", "jsCall_viiiiiiiiiiiiii_72", "jsCall_viiiiiiiiiiiiii_73", "jsCall_viiiiiiiiiiiiii_74", "jsCall_viiiiiiiiiiiiii_75", "jsCall_viiiiiiiiiiiiii_76", "jsCall_viiiiiiiiiiiiii_77", "jsCall_viiiiiiiiiiiiii_78", "jsCall_viiiiiiiiiiiiii_79", "jsCall_viiiiiiiiiiiiii_80", "jsCall_viiiiiiiiiiiiii_81", "jsCall_viiiiiiiiiiiiii_82", "jsCall_viiiiiiiiiiiiii_83", "jsCall_viiiiiiiiiiiiii_84", "jsCall_viiiiiiiiiiiiii_85", "jsCall_viiiiiiiiiiiiii_86", "jsCall_viiiiiiiiiiiiii_87", "jsCall_viiiiiiiiiiiiii_88", "jsCall_viiiiiiiiiiiiii_89", "jsCall_viiiiiiiiiiiiii_90", "jsCall_viiiiiiiiiiiiii_91", "jsCall_viiiiiiiiiiiiii_92", "jsCall_viiiiiiiiiiiiii_93", "jsCall_viiiiiiiiiiiiii_94", "jsCall_viiiiiiiiiiiiii_95", "jsCall_viiiiiiiiiiiiii_96", "jsCall_viiiiiiiiiiiiii_97", "jsCall_viiiiiiiiiiiiii_98", "jsCall_viiiiiiiiiiiiii_99", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "jsCall_viiijj_35", "jsCall_viiijj_36", "jsCall_viiijj_37", "jsCall_viiijj_38", "jsCall_viiijj_39", "jsCall_viiijj_40", "jsCall_viiijj_41", "jsCall_viiijj_42", "jsCall_viiijj_43", "jsCall_viiijj_44", "jsCall_viiijj_45", "jsCall_viiijj_46", "jsCall_viiijj_47", "jsCall_viiijj_48", "jsCall_viiijj_49", "jsCall_viiijj_50", "jsCall_viiijj_51", "jsCall_viiijj_52", "jsCall_viiijj_53", "jsCall_viiijj_54", "jsCall_viiijj_55", "jsCall_viiijj_56", "jsCall_viiijj_57", "jsCall_viiijj_58", "jsCall_viiijj_59", "jsCall_viiijj_60", "jsCall_viiijj_61", "jsCall_viiijj_62", "jsCall_viiijj_63", "jsCall_viiijj_64", "jsCall_viiijj_65", "jsCall_viiijj_66", "jsCall_viiijj_67", "jsCall_viiijj_68", "jsCall_viiijj_69", "jsCall_viiijj_70", "jsCall_viiijj_71", "jsCall_viiijj_72", "jsCall_viiijj_73", "jsCall_viiijj_74", "jsCall_viiijj_75", "jsCall_viiijj_76", "jsCall_viiijj_77", "jsCall_viiijj_78", "jsCall_viiijj_79", "jsCall_viiijj_80", "jsCall_viiijj_81", "jsCall_viiijj_82", "jsCall_viiijj_83", "jsCall_viiijj_84", "jsCall_viiijj_85", "jsCall_viiijj_86", "jsCall_viiijj_87", "jsCall_viiijj_88", "jsCall_viiijj_89", "jsCall_viiijj_90", "jsCall_viiijj_91", "jsCall_viiijj_92", "jsCall_viiijj_93", "jsCall_viiijj_94", "jsCall_viiijj_95", "jsCall_viiijj_96", "jsCall_viiijj_97", "jsCall_viiijj_98", "jsCall_viiijj_99", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-120func-v20221120.wasm b/localwebsite/htdocs/assets/h265webjs-dist/missile-120func-v20221120.wasm new file mode 100644 index 0000000000000000000000000000000000000000..de5b4f759b7eda7b1c899e9f57beca5bf195e92f GIT binary patch literal 2190151 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 UJvaNP@u@#PL4m76iYi+|cTp@g?iU1x4 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

@_N?X9|8)iH)$B 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 z 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

M@(>&M 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

X;@6bxEBr(R`5Bt%qb=WHe;V z6}$jZ%mX+-bCI=j#jc$Uti}Ao0Cu_Qb9U_Xv0Mjs+2#TxX-#J2PcmX!?bclxT#W4k z3uXJf$+VUxYnkXy`bdg0jwKG4A@-j!9$|<>vPSr*^_b(+VfDhC$;GS~VGUL`5rW9N zH}11tq@i)NkA6$i!3*NM%34#q)_3A|=3KXDhwPlwSOy3D8r_Q~M^<4Hio=Qp_6O}u z!VckH*Z7S^3%gjUOwJ7UMaxA8gD&Qe|AP5Li(l?_;h=4AyHK{Kdy8xnKN^lo-LY3* zczOW?FJRyW47`AW7clSw2L9K^K$76Pjf|zWCAqDdUqtgA+a%(VChyDX_$n5uSbgou zb}IrEi%!pRq}5%~P6<|8r`pAu%Jct%WOElDAXB8;O4Quq;_l+`&&&&oTxEApDL}$< z*4#pHS-0)m5@!x;?GkX8Z5zbPB)+m_e8<$Z)msWUH0B11YL#m;}`69#?4$##xDpFp(A@JZDtpp=IMK-4~m ze(k!ZDqYxLqzh;D=rZOnslTlDmv#O!k@m|s0GPFiR?>>>R$-Z)$T~GZehzxzFaZ*E zcR1dV;9JD;dfODe58c@eIEck7SdWAhSrx`D2brF&4mv|^cygqQ3z=Cz?$8O3{qAG$ zFdwjf_eI@ERG04)8aV%SNM}D{u>3-h!0nI|pnDi~f^SKALY{h5gO|n=w*JfFXGyRN zI`)?076I5z2n_V&`w{Ex20Bk-`c}SEfPZ=6aIj-mI;wLW&8=QOvVSB=|uMwQ~IWi8hi1d&e@AvZQ8qLv9q z;ocse1ikF_(;K}z(y93FPQ{11DozZ;jkEXw9WXPR!-W%fwm$IfDvhhzAmApNABeQo zLv(GI0e|86MkTKB7h0yLwf+LxxWD7^Qij#1_^feXOi_3aY;-5zZbv4%zxn82|DN0) z-1k+i=q#tjk*tcUHdAAX$sgH+urk_-pZ3zeV6O&LJNJI6UdhaR^)O zzq%kD0wEVpzjcT^7wpsdlxQcdcIrN$GE|djX-yN_Xe(t_%^GYU*{$-uyY~_FR1qxf0%ZHak+`=%&QYy00R0xN?#vn9$5_x5+olecs(bc^j$z@*m5q2uiP)+yVUM4 z%lh|cjR`uPc<~p2gZ}+Ek8vP}o-WM>_GkSQ@kBbH$8|j7!x;OgwR+i_h}ZeY)p|La zzg(3K@6QG%*j~ngF&D%skFCYLw5JtWeSbDQ5fklKFUNS~bT|Cq^t4zn$0xwKJvQ|c z{QIYYthqm{Pq00T6SOWM0$OuF0k(-Vqo;DVXn)q6fJ9@$L6cC*vi;ej2{0Ke5a9l7 zXd=Fn`@wW%e>OOQvt&%TrqTV`xfAfEI2}zF@6SdiU|DgxI9;+o8=Z((ala%T+n=qN zfU(5{oI7iOws-<};F!ocRJdd!9!OhPluD(`52n;NMjPw)?J7BHt5j08dqWH=DmxiPMqgh=9nyJvjY2|K)^g>!k1Nq)$f#^H_c$TMD?# z4qWl7gCE^^Fk2=RQ_;vIMJ+p!=`=w>@^rDbeX)l}!L01<;o{p;0EHN<_VVFQmHXsI zo~NJ8KMHND8*UCq^zXp_w0S`NL>Kp`S=u^)oQ-qj{)Xq4Uj#aLlByir$3sf3$?fKa=HrKb&ZaC z`1DYxQ9!JhzOnao(r*Fc{sX`dCguDhnsF9z^g5sgl0H8QLJ$~M{oZ2 z!Q$Jd;8B%WyY1U!ohqk=-#q=>`B!2K)Y&ln9*ffR)71wUHt;-#Y=8Qq^n&!l1JF0n zU2*%%1_5*E02+-i{R??10Y`cIBYC=Tbdz9WpC^qPQjz}C`#OM8t6uu_yF2MO!7Ca< z!;8Si6<_(~-!0&1xCcj16>B`{30~aU7kZ@lHWfTYT+DQ;JXyrubNN?dy5LALA1{b! zBe=|YjO}!-QCWYwh5?;k42IHk_FwUuO)I)_bUZJm2S*R*=_>RF!BpwR(cunY)Y`$( zU7hqB=+U! zRnK0|=eYVVn*8XTtUpKAUyC1Lbxd`jt(V;B)mhA0qM@vk(tn9B7p`u#RTnaxyd1ft z8K>QXH|mXdwXmwE)-G$WeLt^82y$ zln@KO@ygCt2M#P*CAUh3Eb1?*i`0Qh046EaEm(zC%}pK}OF?dw+}WKo+KCCGH@l@k zb@yoY;aeG{R@>>r0Stqw@s<9#v3KNlYJz8L{Wyf6vAfy^WGcIBZh*(y-Pi^sG`mYT zz*FpQ^#NHZ`McL| zh+psTZrOl9Z~5M^0UdxrO~U}0fz^=oV4n0J+OK4|VhIKpAM{TsoII7o6C}n{pPnRY z_(Epw#;4WuG`sO>19_U=__U!s&2E$?5e0~_k!1q{>3}6M;;1kQPqcuiN_b-I@Kn{4 z8=p3ur`gTH19Z59CrsfjPXG}Xnp?vz!uJWgAdf4zLn>(^ zhl0pG&ro1m^BxLHZ?NJFBnTYR8V=r*@-!W1BYK>UsZY;k2^hMD=e}%_J@@H3AT}cs zLb&y*hS5xCIZu1!T3*8`5*n!mhI0IeN(3vr-Qo;z8s{#WV(mZ+4<-O4}nk zsfmBpTvHASRSO`5$lCDaByyi+1c2lSveAP zMv9uth%}cmG#7+{Sd0gwuvuW)I6cYs6zzRuKhI@ZA2YF7v^`GnXj-*BUCPsXxS~C* z(<@?k`=_<~4kG|ZwWyfYdWml9pH^l4C`>xU7Ui7v0Uk}^=6(eZBD}=*o~Bj393#TJ z>D2bLSn=M^QmhhtZ0hAwinXVK3|eL1EGO~k%NmcUg{E+8U;QEoS!N&8snu8#mdiRJ zGr%BhZhg?HhiH^E>Y=pBo%HEuI?A22>Ctov=Y*{f+VoOVrAwoEadf=4*2bt<%SjzT z{#ld`Pr-OFnNJdpJ{xs*=<66G#FqyPP#%&&6;0?TnEbApO~3x3cYUUMhrG!MWY5=C zpZuLSe*T-k;*+Z!y1AN(zhq^dvCp(%So zZek1SQwq6~JGMNgLvv82k3wn@Q)-+%K`RFsRmWmV{H|3 zm7LmS3F{+Rqd1k1mInAPDLk_k9e9m_yOV!XmiO0;^%hemyMCu;9E}!!5g-q9xSW5# z?Cys&@(HM)4KmG2Bu5o?RYf}T8&)}gw@?f8$7WwhYKG~k;YGW@!T@5Nwo@nVWW!!4 z247>E)C&*e*$Of{Jnbdh)mt-(cS? z_SXk^>VkuYOraz}9z6}22c&ZNP=bgW!gj;nhM1h4!}pLizs^t{=rjaw9N>Jo2Tmw4 zU?nv6q%fKnrpES3#AXy~@&X7=UUW;Kgq8&Nwt7cY3xcZhG4zac_?1S2zxST#*4in@Q`n3)8n+T&Maf1!#S28GS&b<8zHB`O90k-ji>R-4 z>F5-`u2Z<2bN}syH*VB2D44Rg10k%DSzF7mKI}&}IkH^yfB;A3mDd3;*<*kWXnO7B z$T++JvN=KX{1NVrw-3YvdsniK|NkppUI>`cDjC0~(&GZd?7K&;osI3ybgXBxOqa={ z04Mo#pMUPNXNOK7ib1IlrJ!7!H@6C(^>->uid~-9-}%&`cB;P%^+xtNqf+zm%pC?x z;_FUwSStRxl0R4db2Y$bLAhFB&a68rC-LdEPY-H0If^UTo z30S5uV^z@Qw5dfWTW*uDk~34lP;Lq!G9C(Df)-<@0NkxG1z`DCINR!*Smf(A3Ya&% zbZ#|UYQHs~vt>!3SES|J%^m0*N-EDtnYWueP$rbrH^b7HlISFs!A$+O(zH$zdhCuC zMz*}8GE>Y$SF!eGO1OPtT6pNK)=Itbos^|2Ds)(@MU(qA%B7`fkJn6=82}LgoU4gl zkgu{NImt4I z&}J9wMd-`cCG?T30|G4_y(1mjqfiugLFcNI~zIgEVRW% z>5@I&e`hcV*ysTq=(k$NGFwK6;Qd~TZmULs|127H6D!o^sR%*r=vn>x#>u;<)Y^CYuxj_4mr=6LynS*4mrfM1on>G&i5_X zv_f5)E03xJn$P+f-8?w3!wPlm-^7mu-#K$6aUUaxmhS$D>*ACnzZ)NpaP2|JP&BkT z@$Z-&o4*rFe#aj}(FPO6NYX!zQmj)Jum+QS#r^(aLZN^VJG&5$7#__`&p;@--#lzl zNh|J7d)08WWrnoMSvB5}B!V-Yxw&YT;J|Z!ANd;%s!%vy?^U~bgHTb{fyDcz69&8L%G(scJX|1x^0`vb&|fTGk^z{m@(Aj4GO^TkD2ZYx9HKpqUuFV(&ow zHLotIay!`M3;r6C3 z4I8&ly3~OaQ~r)TstN+vvo5I`RXj_@xHgmX+wHsO+jn>Im4AB=cc$vPY6qwLRA^9u z)lS^5b5b+3lN7sXw=rJgX)y?HHC`I=Ho`{cj(<#0Rp5(WF(#BFFZSNLJzqpWe);{) zU!1pnqSrzh!|qTWumvZiChMq$fxMvG#z{&WO_aEUX;3=GDF=&7+Za z8Qi^MvW0h$o921}*XLMcx{&Khu4}nI!}TJrPjX$w^*GlNu8(uYSJKULJx5nog;sK9 z{c3qyZ>90Z&OeE-CLblGNCzqtjPp*NqQnG2n8>H&kQ0AjGrVsR2VkK|qaHNDqO?vH zAw8EI=xddM9mi1IeJd_)A#icT2V9BrFp(?p0PpLGel=TwnB5?T03&SG=ZW1pZpCg2 zkkyOgBW(6WAl())%%T9(4y!`!AkkbBrVAUQG>;yyr$)xA)}WyeQ|&YcKopv6#x!M0GP_G4^m-37<@pmXC=VP8RnqMofrU zQ?r9r2B=f$@JOH&pd1jfSLgx}tR;k&F-;1gU0`{{EZ>ckC&aK!GzT&Ec?x3s0FF3^ zLI%qd#{CPJA=-C~5DZH}Nel>}#Gm`Z8VJ})kXr%M0^ij&huF6FI&Jn)*}|sUob1l~ zEH;b*S{2Y@ffgIaVlZaIwVtM|*$HC{d?-{e@S#(Kgl%<(p}U@=yKd|Wmn0*wR#mJD zx=IH?p0wwT(_}og#YSxj@0fo&NX}}qrI~B$VNN>c)$}S(R)7LDyF%WRX$>sNB=GhxT9rGm^a*7SId8LWT8@^_0$Lxk_6W?mq=G7>4V?7I-tU zc}Y*!r2%hCJ>FVLz#UllM>@WU1vuUUBimD8R(At7brVNa(Jczhl7-u+k%mwL-80pj zb;IT>)I|NPYJQg;0AiW@g4|SR81s1COIr{a{4?-Z4Lr6h&r?swxy^(9T*cM)RZMiPpE*TAtEed z_EhL^jY-(Jk33Qlm^>S=u?L}XpoqY_1xloH+rqtRzVsm5>4q^Z^5%)m$Hzya0TALNYq=6VgCB zV03^t3TqRob-($w~jWvTwdy+cUR~8z-2ONsfZqaI?VpjMO%tFUidppj7#_lrEpp0h2 zFgKcQQ?MsmMpL@AH45#DViTBmE8{^d=Uk?ufi#<-KV({3xyK!;ec7^ zsxeBgL`tK|p~C2H7BJQn#wa75+|7ze12?5Uc3a^G#U?9Hn0OX^oXW6IzJH4%;P+9we2 z_VP@j#ba^9A_RRD#49;H z$!H~kItp@VH4MB&vyzRtB@D!s3`FH*j&!u(77ptJ@5XLUh zdRw+=DjVO9836x83fG{+`ESW>>5|Rahz&Z{nL0I!CgFMkeZ?9(l@&%0E2tDcPUm4{ zwZg|yByQt;_3W(Th(=dwgRVVeLPPcDtO}68H?$p}>S2b0;POBP0E*uYrDNL}o-3<$=iiIpO7BZBMprpLSGm%Afn0#3m zc_uQkCtY+jdzmqjc{*`J`Vw&-$j&|zJ-~ThvL{_~G`q|`vWaC0UT($)K|vezMK-Gd zH9IkdV(~ITy{HT7?j9Qk(3gt+09O}K#cUhWm)?;A!+Zdsd9?w6l`yRVK+^!gXR&Gk zgwYhxRwM;^{`LaUsja}v3WV;8OsoKAS9+n6cDmHL`N~mxZ#jVrB6+2&0^gH#;N@yB z@Q=>N=->q?04;=XFY_ai1i=Hv&Fj^HEqh4Jl+cDymWJ@!1GM1l!c6bK4zQW}QI+CU z#Zu#?supG&Zy2e1JCqDSECvj)$4QD;qGq8Znd-U<)wRpcH*3qA_>@82nt#i%ji>GW zj&_=2rOacJqF%27GcD?v%3$rYS-j2%SUTH=s=}?;!K!Wyna4$~bJIG(5g1;}aswB1 z)&4HGtzt#=?B2{~=3;^E{1| zK~i%3d;E~eP)VAH!BomIspb* zFfQpdlArQviaMgA7MaQ;&w)4n$~Ml6nWt3ssz;ag{wcwmp-c=&riDP)sqt}Hm^Ja= zA$z$_JD&r%Tj7?a_03sz++)IeW-xC>b=+{mb6OooH1wtSAm&&BF@|C35QbIwYO)n< zP&v*Jz){_?JFO`q=zNd_{T=bI(8QPp>s<)9_CHh&VMblB;jW)#MV8L1}nD1K@ zeVxpCP%~So}8@WaRdfC}@_ZdEPT0L~woagTVE>M$&xQ=OuFxKL^z!6b6DQ ziYfWx?U?mZ&)t7xX`e*_mVvci z6WKaK8iPH?Bbxb|@pSu*!r}YjvN1givBN#}Ii%|5CsC1Px#G>?3JAW@M$JIl&40_5E%3E1|@iq3A@TGPMs8c$T zzyz$S)ate*l4+$w>VGx>lcCELfSBAs_DA>&cv1<;4IREt>e}4K5?2O6}YaPj)TKAnbLx~ zeQRF4WC4xkYivE9W7H%(8l`JhdbL)Ih2z^0z5M}!?gXVLX)|m+w>#U=&K=`Yo`-VU zSq)@H#o0}C{?9d&!%Q;03wFg{pF4o%3{dCt9hhx830 z3(p_*RjZEGsKrqRvNtBX)Kgl;2aSDGb}lt}q(1@7Gjxg^FbM{a1X)S7m5`8c=G)93 zFFGH?wsu`o25v=L>Fu<-b==zDOq0-=c4wW*UFgijk65B+fh!6B)Mv_deF`vH+M_%T zP70@ug3y;<_N7DR=dv!7lPfM2B~cKfbIBcnlw0TN{Z#8>-;b;wnS)@KNM_9BiXrMX zEzv9Wwo=_5jhucbS^Zf?Bhd6F|BI3_P8gm#Z*gVQN1C{`awD0<#V(qYLGw2m#?5wz z5j|&U;d{x!l-$yZelUS8nwL`KQ2A<_9D@y7Ch})2PG-W{u-jezHb!K)sbRIQxnJE5 z8Da^HbeCWZq{}h6hzsy3GLJ-`FJR_jHoc865SMo&>)RJxe0KO};_k6bD!l);3}0W8 zZuf;#q|aA@p+|0?Nm42=OWYSdR34cBWFRPyuSALgl@Qn8!}D!}Cvqoo?jg@9zHfsD z|LaAZW&&qCCUW;!Nv8xFnrkpuW8|8B7uI?i9c@J(cRhrDF>w4S3EB#cB@jxAr5hLd zdW&>(l(88G7by{`O&7ss#-^EcbT=C+G+nTymf%Un_C9YBDv(p?a8cQ0x=i{*@Sd?# zCH-W^lpI!K=?g$9GfpCL5RGANhExkY@b1&J1HxieS}kBps9L~IBzbse@vDBM0fGQ#F!Zm~G?Ph&3|w6%o3$ z4O5LIvW-}{y5kg$v@Q#cH2?Izb|Z0OJ$)l9p^=uktC64WY9zic*2s8cI;3V2fEaQd zB4o&^+BwH7CLQ!v%8G2OtP$`p_`{s0ox_FBtQ9&Fv&ShrQVv*-)XKv{F>|Bvfc@*Ki*ZPQ`W^ zBAn;T^1FC`d7xBkNIa&)*(V@Wq=UA9paXFcX9~@`fr9LUfW>TDlD8y=v&FDhT2b>< z!bII_x57lKFx{SlN;LPIyc?)QunOB9P`X-VRN@(!8x@r#Ev=wyZ4P<^rk4p&fffvz zCjNBw6H+?bu~~L{dr(ZWU9nBfa5~|zH{(BcWz^FG8Nbn$QBMnG{AO21JuQ&&WLHK# zEs*h_x-#m?XB632)ZKLddfLY2WhH54ZhmqMy!&+IsF8jqB^|51u}lOE2Ex#M#d;DvMDgKQO&ruNpQ}H zFyv=_o_VqXNW(&0k71E%-_rbO@xuWTzQZaI=jDNL<^>trei8*4T7MD+8QM=(kYsnm zkr)L+l;?uIgkzmjX80DQxWLy$MdB8sf8!QqSP0G-^U>e;y82d63lPC`T^aSXK*sNP zWz^FG8Gq1~QBMnG{O7KWdh!`@l9-?V=K4B`i)V>KF9)V-#d)`$-gJX#GhPWN1HCL83py(JATAI%R(P6Y}Pvzi2-Cd%ml0^|SyH z{IDydo)*X`)w0b`oSqiQ_@l0jdRidkG-iiRiF)!G|0mL)q2*Maq(#9qA!I|_Pof}0 z>rbK}L;I-;Iy3sSPMM$nguFTQ*E_=RG+Pq<6W(YGA#=?LGn6Bda6HB*! zvW7BENXKZaV;H?E00G?a8u@RkLy zv>fZj8g<(lr8s%!y_iVVpqJJ4_$#WT%Iav0Hs0WT4qd3e$)a93Y>Az>L=f<%Lz$n^ zl*{}d1a&^J;9}*(vSuA6?9mDDWQ3KJRjKL9431Yd)ZsY zs*a#+I<-4%H@t?pAfxh>Wz4r9;%o?bupUAcTJvJ)@P!m_9Qvf`U;*nXjF0jA)!J*J z!1hC&wP1xqY0H(a*Wn{pB961CEOE$}*oLYb#D+HbtL3N*1-OJ;273&*RF5yWra|_u zavK<_;mQjjY&*0wpNJxl)y)ly_ydA8wmfz^z6oV&8QvP!9J=&rXT*lX3vPy>>nghu zBKyK_{!yi9AOY3Xttz6Do^4j~S|zVCm^HnfBP_v|<)Pc%EGxQr|N@K;P?MK$Q?D>%<0Cuzlgih9X_na zkQ9GlR|d2 z;3%q4NzfO8GDMF%p}TH6B#=^|L)PhwbO>)19hRZPa$c?NwiAo@?5}1}&D%=Gvxx9P z6U<IO*OXFhbXS?sRrXaji+5qfP)E!(;>d6uwh;L zJUw~)Ek^!16NF2tYPanwLBrOBqm8{pW2IXy0dF#>mw#bjWe;N2HT3_C_5VD58Qvc` z&3jKj^L$@m<$i`nPDwUG3DEFy1P>a?0u54=__m+4H3w?6iU@OGHhH3Htej@FYEnZc zVhH7vl+~jU8dLlgGJ8#7 zKC`an4v|#}ieB4C*J6D4%exSzd=*+hm99#yqgSP{b=+ObB&f?3ndql5i@JZpmtmEB z8BiyP4UnEE_}(~OgMmR051>zy|7@{ZVv+RuzXky_b#{S<<6=XI7y9I-5k`8fsa z^sGf7(Tr{D?|WU7#r$?5$NsD7c3LjagLGhZWqX>!lr*$utql$C!Hn_F^EY_b%29y! z8A@X9v;F)u&zU6GEO7&{U0Rp$U(2xUilH%mYm5pg# zr{wv#0Ln3{F^Ul9qblTXB17hO-a!>R+ub*46C5I|UuQC(Ht>_3B76w5)&|tojZ>DS zGG|&7R?l9a2@z01B(w`eyS+E$p^mJC(MggfI!Pd}o(|#d?&t=qNF-x~BH)=~j6-TR zZ&4^ZO^bl|VyY5?m6WZXoZ0k)yZ#~03sr{Igs3j2B_h(qDuQGUP0QK{8_f|`HiRkK zg~nn5VWxihHLP?#g#BYcSlJ`YBo-^88(}us+Xz#qTc(8&7Jw)sEQcW=%qseS1z{sb zVUZy$0%01Utdr9?qp-+3aDeovjW9M!<%8&1@MRPhd4$=PS}UR(VK(gB2n+UtT_T2g zDJ%d{M40CeZ3?rB7DU(zszTjbfpx?vjCFq{Wvw0xQ-;7mNZD{$LrMF0?$p3=Qu)~D1hW#K zD4N*%Whlr{RINf|V0Ne2iPmw6{Cu{!pC#~TfNl4rMac?1iNYGNSP`#iaEM-4 zN4mvK(0y*nmT}*uCPt@;PEJ1aE|r&`b#xEYuoCKBOd|)zj{);{k$WSU5}$%|US-n` zJcL_jXWG?fBUGcP){c-!_fSl>~~2^ZZW$W5@yQ&5xBh|(4Tj{ zgS)HCs`3srnVE4?^4@)DA94`%b4tq(CP`$4RC5^1#?X|VZKLUZE!Tu>RMx^eooOUs z4(+}9W*>>ygRH>ny4CZ0-oBUXnbRAz!gvfNu_`toXxw(Xl*Q=!a$Z`&Qh z2TEl#clhsk6{RaFd|{^zbt_51cUhQJ3=cIT5WWH< z>8(HfR6(^og*t__vfB+#p{(q7!kx%(U*?|4Z(rh`&2KMrC-d8vy65uSpLNgYw=Z|o zp9qCr?(WWSH@bWBTj%!Wx0~Fd{PqfWUw(U~JDlHcc1QBtEp8^iy~-WSZ@0Qf^4qK3 zqxtPMZZ^N&<{r;)uXSI@Z?Bs}8qYv7LCCnI3ea6tK#Sqye54 zz|GSEy*nd$fJB*VEYZE8SWel>d09_6?9A*chf*%HB#6q&5m6ygcHpU5IWO%g=V#}Z z^YX58uv)rXiscMgIhXg8vvF=YuB)5@%Gq8lr)lME>M7@nx#e8hRSqXlxYrlUS#0HO z?kQ)>+;Xn!Do4K0uPc^Aq!jvVYfm{>&n@TwX76odEKAP&zI*QbOW*F>J>4@s)AMrf zot$i4>f~L6kT~B*X!PKtKdTG4uOBRduRP-P<#_mrLr|PMvo_d~tz1k>8;AJ05%eijlye})~{aHEo-T#C|y6<(Ja&$=^GuUY{VDsXh z9OW2OW!!Q0gpfu9)l7?RglUoS<=tafy~1={*9ncR zAaF_9ig$XrsHXghB078;LhcOQBo zNSkec(tK+?-m?Ao=>k4S)X>atE8p%+{J%}j{4Z(d+pU>*1@WmrI)`C{K^fL>z;CSU zXWF+H_q->-)Fp5>^s;y@LGA79I%klGK8Y5_LGWvzd8hiqKj2=X4nO`E{pj=KH*nQK zJH@}>{j2-s9U8EpP8K@D(DVKar#REN3=Ko&%a4s!SM0u9G&2W=3&o(T5N2&%TRqB?3@88%F+qu44yQ zZZ<07DIaFSgz2JQyJ7d6y<#eaXaOy+Aw;WSd~Ojkz~fpCU&4X9&!Gyep$|ggQgYYA zZtKE%19^i~rJa3_S;F=G#Q-3T6cY$~1}8!xvM$8DpfZ<;u{*uMulCVT{ODg9e6)Jh zb<^&d>aYH{yWAZ9<8+j-K4d%0hX?uq%xb|Ridg^(TKzJq=A@!fq&R6iB+@hJ6v5tI zw83fUpFqO*^xq?Y#Nxdt&-MO*@ZH|&dpiG`%2BezpL?!%N)3Er%GZ#w^8W$l?}YME zf?4!4)&EHJOpR0e7 z{5}g=?b=KH9K)crVhWoPi(h=7axDNX=?L&jfgeY7lY3^j`iajBG%a}GFyBSRs4sT?BzswH@DGJ`}i4f5gTSJL5Sp|cxIV)EpcrU+3cptrCYX^dlD26Pnk(n0X z;c}IqA8N)z+rjLA-YuR|>*loX_c}@Qey^kUN%LC$%BLN6uhh@X2kj#F^_gwOWK2}t zsWzzgG?JO~cRL-~0Nbzea~%|}id#H~C9wTEey+on4rOuLDWC0>u7=P51y_UA`$dnE z*{#BkIkC83J;IG*{0572FexfD!C+9;Ly>Oa7HTo9p@7bmoqdt<5s-#-k~yK0Td%QS zd9f;S;9(}inC>s}(zDc%8>R=(XVQ^@MSWe+qfJ4_iG_$b_I1|O4^FU7yUVn^&$ zbhv7hUDH3yX|9)6Sdz2*rgQe*bWY5`i>lN%T6-_`enn%&sc11gN!E?(6?P!R4zk#> z#lrg=Y1QXR#ocj@*oDP%L3$(h&|;6W*kg+oMpW8{>lS+>#%fBGI``{_Pu-QM2GU() z;C1VP$1gwd_~i#4zx=@Ko;UEij2z(lH4wlk+A#36I5F_3-3>fr?S#b;d)j&K@nB#v z8JRXHOIZ}}quA+H!~3{`;fZs9dB~&p0KA}HHM!54+^eSd(V+IK*?knpJ$8^FWw717 zzr4m{_x=*Bf@<$R3P?^f9-sm4Rr~kxFY9S{e~ZVZ`^%EY;r->3#}OcDJTBi~-sW-T z{_-gv$M=_acwD`|e459#`%BqtoZMfY^0NxCEEd@LMy$r~2u9nC zJ+fGv7fHF7Eq0ovy<)N4GT$gyGe9UE&Dg6JYcne;SD415iaX64C7f8Su8NE_8E2V<*qFDa+dbC#eyQ$sEvaO zYCFzi?^vwyhos!6Ef#dnMhS1TSTLg+vGVL4RoAoFyB2F4CMkDfu{X1{Q;P)|vr+EM zV#^qt@Fx$TMtW&mo*gxyIp z@9NB1rg1vGrv-Dz^G3_LdWT%<7TXbpaOJ2t#Qgq>mE#Tg$3z@rMhg)?6-jY`+n41` z$ZC@H6*CkPfpG>q<4NMQ#;RtmPA)H*Bv1KF6snP}Y`qw33#`lL(wf_Hk|4>ZyA?tU zVr?$1WlIty*#;Z4xwMuoNswe4Zp`M=TDBxXk_}mILnB>U%a$Zava##gkj)DX(NuW)gT_roM zC!FUNS|96oVaV3+Hhl8>-3F4mcRFjbOCjb$f`s|?UxHIzd#^Jav>URKE}8IU*Zv64 zZ@{m6FgqFUVVuN&AOEP`N7Z{x;r{pN{yAh3*Nc!Dp>NB4XfmK%$cGYm%X}P@H>+g3 zvu)N!m8d|r%s0rZWY4i>)?uD?XX~u6(Pl??x6aCCya{c&uYSwcPVy?b0dC8z(>&|p z)>+xdH9LBF>#WGG&8){;XJtigX1%s`*4;eo^{un+cX&~MQdM0(b`v0wDwgLt$h_mYhOjt+E-Du_Ei+EeHBG(Uq#W{ zS5dTfQtaHcliDCB0bp0wOP7gEx*5cCZKS0gU6QSBl!j51mbgJZ6^8DI#TuR;xOyW& z$(%!4Qno}GsLlTaqBjmIy;hwmUIf zk|4>pV+q{I38Q3GJ{_|q36gAyFqG8xwwNtRkYr1Qp(NXB%$6ibvL(V$lC72m@j!^Z zNU|luP@N4og^g)*5y@P-1S;&t(g&|zOJBshZIIZ7Zj_<-?tlwRU@4|?y-yO$yVOZ7guEuve z_A}|2MR{qA~v7e2Lr7r!SFGq)FA7c!?!A=Bhb6Z#4Xnf+S204Ob6 z`v`j>(~G5KR4=*16;K_2iD13)FG$BP{-j`IS!K?TxYaJ9h{!lbsTS% zL*{CsRal;HQOC6;2TpWb()=Xvjw$@B#`7WZF%Cj~UHjmLvW%(|m znaZ+WL^G9Ty@+Ni%eu8@D$92f%~Y24BATfz>qRtES=Nharn0OT(M)AoFQS>svR*_p zMOHLZZlblCsa7+Us;&|(K%#i6SEfDYCKVERO;MH%u0$A0 z23IW!wwkF{GiBgD>JCN~s6rMljgqf%|Ot8CiQRe!kG}chCfUX2$Z|?#knp(((R3!*}L~ z&ioywAP}4aDDY*LLS>X<#i(wu4&FgK@sakm05fo^I%wbQZ)aE{&ryg1A@G41dZq<2eArVZg@G40?^^I##P#(QgRAg)I zHaG0NY-y0{Xya~Gs7W!L@)ZF0ab?=BeaxZy*(nB{#Z9xDJY=yQQevP}jKeq$bd3%APC z13@v=13bZ2d4yjb^1$S`$}>pn0qJ|IJi{apj*DC686|mOy<6q!CH=viY^ywzq#hty zw#qY2^57M@Ri0Ur2Lzj~^6VseaG~5P&pgS4$NpA%c9T5#TW*zSFUhl)A zPM8Q%OTD#=D8M)kfPgI)QOP|IzR?`^VBEOu3H1hm19|HaAt9i4)pJa>cDM^GeX=OY zxk&y&;Z9`I=o6!hn2pOT2LPHJ@U*wDql7T0i#k7AKdh^o;s}bjj{#( zF^)n&EIX|9jnsk!0qB3d?6A@|Qm-s^c$M@rtn`i4f)E);At1J7>Z@y{7PQDX3IQ>7 zSm_(71vxT~LO@Ktv#D%Bk#OPldM`H!0i#k7CF3Xr#InOm-)M=TOSJc2`<7v)Z={y+ zB9o-G)M2HsQ_HPtEmdRj7Zj~lf4-iF@u^W#8pF4al~A0J5|i!%;7F{$5eR7v zhSAJffR^0#a~=>9Nu-&W1t26rL2d*>n%xKe%z%)%V@z_wi*6qUFO@>KGI?PW5R#yp z6PzRC*m8Rf9?IrylO*t4J!R`f6V@b~OKaJZ1WC3{2Gjv3z_KL?l5D|&IdvooF3*-N zNswgQWYnXDz|nRFdtn?qPB(Ahm&|o3XTWfa_$6F#v60D1vh<9g zkw8G42&~GM@UVJDkIEVZp^+fTmhiA7TaAw}VZY?KKkO{YmhiA7TMeBM{A8WmKx|~f z!;)+@s=}nfOpY}ok|arxG;$M@o20BSNt<)F34u+7?FVWyBY^0QmKAddmBuIa%{)u{$1=Z5oV3QiRb1*wmx=?6Y)ol6LCKG z+--%zjp&%IP?&IMcUmEm1Rl^7LH`&Eg*Z@vme~5Fhr=OJBWOvgFJ;uZh)|eiy@*hl zIJLAwVJj3yX(r`Xqp}qW*9`r>K7>N%ck80Lr6F8GE7L%FxjO|9%Y?#&d$vO1X2|qb zC~Sqo$3bXgyNDRnx`S;N3Nz|lL@3O%UPLHN>`7apuoVhhp-|Q|-$0r|=6CBIv87O$ z&}vJeFyWqFDEy!H|xDm2P^wA$FSL<@epG$49uHn z#=$o3F^4mo&r_yU;E#*F;VsJjMqx-1xwHBxUh zFqdc<49FU(HyW5Lbub`nq)zOEWfu@zvca}YXTWNAc$K6M24s!0HyW6$CBcBKk$R(n zxl-r0WfwGf-tK5uoo|hpJr%whM$DT{P)q`QE2cj;R5naTwwV4b6I+jSA zR`v#VGAd=oC*9Cm>cBISDKEvEQioSbOE$0*9kMEQc$K7HV<$RkTx&stjU=X%I!`5W zZ5-GjXC3QICq3DcSeZ_G@+7e`o%Cc#Vr4q%yPL$iD>toMKGrv%keMQGb4sd-Yi8C!vU>y9oagLz3}(j#&y>tXAn1b22R`rUEhYPYfxch zx*L_Nb*6|tGPRqVJ=@A|2E9K6O}Vo5lA^@z%)~BU#nVWTWJ|0>>e_Z1wj<7+23r-3(gYbp6pRc804L?iE>WwlN*E z25ssd`yNl7_4J$isr0U#_4Mlzb@+ zO5EmeiU{z!qg~p2rQh89VEESTjnZ%KeK5URPk&DD9llrWLj33~9{Tp|aIc5HLl8RP zzxE#0{cqIUD$i$~9kal1#f*A1YdCm5>vUqqpFb+b zIy9Nz?o}HMLQrfvWWmHB1V!8%ra9h!6?LD^xRwA@>Cj~8@C52Z6V5@TEbDg4VQL04 z((PNl7^OlT8L?j@=>2#Hr;60DTCtDy6+~kR7+#=;ajn4nCNi$s zo+jeSj_qB9EXGQ{l9X9%R)aWc_294_|Nu31&;@p7l6xPJ(kLmd_C0zV&l!tyxX_xb|B0o9Sch+nXu`_8kzv zVB}w`P-vU^b&tbTAg+GC&!;N;uZtJGgkZ^|D&G6rOZ^wC&fZL@;qG7AIqjC!{{Rel zzf*L3eIa`>BTu_et@`(bF@Cn{J&Wu~X@cP9cb_4Eo3p`x_rwc1FF7j*g5=(z@=e*t zN%oz`WbbayE{OS1`{84<7n`#S**#>xet!0pD8uT-v+DRkb^OMv>qz%844Xy|^!s)9 zVs{L^`ut}!gM!a?OLd;n{%rRt!h%1qej|(i4Hx~JS@dtZ=r3f^Ur@A4To(Ro4Xc0I zc@3iz*9PCT-J@>!uVeoe_FsotZjJb2C{_*oqO0n+(zxI1%>I?4cvyYmFMg3P-(jHi zA6B0yu=uqw;Wh?tn5R&Fi_L$984%G8@z07Z|0=*Wnnpi#YcKEy!vM5LYWI? zp8aT13?GtOb7+b6N7=szZA6Tvu)q4Q<9#cyZyg`e4oi2xDh0W3RK!rSq%J;%qcFdL zgtEwLXq_BZrL41t%f4A>4P0>Gg0s&Li@us+Jmda~K2zetTD7tYxu^=D%?gCQdk|c9 znd+J<@2j3gvNaTGkg(KDZpK19Q&A@7@Pn~nG+E1|Ma=SW5m(3~@{xyevpJ6#yXE2D zuaL*1UH8t*Bkusq1KM85Tk8sZ|kMnb|dOX@Sb8Iu+G=D4){)eGI9_<=YdUGC`Dq9|a(Lx@N zc0D~Wj{u7;51YP_$D>`(&dVdqam&Lz40$}-_0D;D1X^!-nAahXN4uV%mq*a`mM3KJ zP}jTXWe|G3QMVr|+1r$~UoC86f3~+_Mvaph#rNXdRdCCVGiuC?>ig>(k{QJpL*+v| zWYB3pk{Q*^Q_m>ASje+Jqndf@8O0Y1dDdrCGfzFE_+lZ?`iyGksb>^lEaX|AQO!K{ zj0zdnr&BY7rjt>M>E!YxvnVF*1CuCL{7VCtKsX?*37)M#{OV{uP!EaFZ@yU1e-%q- zN$3O;kh0VtB_=IGk(M;13m+n;vxA;cwbUdoscnH>r6%UOdek)Jf~0904Qi2EP&d)- z_AKqDHlCA51IO~LHTIkg8a3AYq}AsnMV;kJwFTKo-1YtN?T0dT`{@mOEQ&7Fpe}t& z3B56c8c&9<%aHV7V`|@W?#&VDtoa+#=^L!rKPZvPRoDgvzm+RCxF$G18f{g!JgKL% z$vg z8ovR;Y)Pjifwnqea`=0^83H?zoq*A)ue`DxknxMsbXC2oV})ArNz(6E7fOvNIw!5 zrvyHQC?srsl$^+uuc5F(OY_=tj~;%39d_g zIh5%AB7Hij{*ov2;*I4#ihg9qa`8Z0(fMmHt!}(VDs4XW`d%ng!Y6Sn14>j{O5|hzNH)c)W^N5|)kA3PhpL_K1xuTPWnGlWli!6Mch082_ znuVXq!p}3AUcA?+B5%SgS(XoE;SXlv4`tyGXW@@z;g6R)S^dp0v%2wqk%f=5aG8Zq zv+y%n_<4BL8VQ>i?qmmx8ikk%PajwX~ zeR*}0#5dx(SCFd%!Zd&C3TOhzYiPbP}8*limxWV5k&e% z*e`2@{jx^bFKdMTvPRf1YlQt$BbZya=&l(O&Cc+W`CIS#wIE)w<^mK z6*`^)*MESPfQ1MC)`Pbxj1S~pQN;9UlmUq%N{Ow_nWaO4V)82BP}4S#IgZs#IkA=%T}Th3oaJ1Y)cxk3yVd9Zp0o~ zEL+<~?4iZ7Np8emwpg~?jo4$0W#it6y=Jkf02;B^Ef!@$Blf1nqL^sJmKMt%tr5#$ zp>O+H+NUh`Ad7w4VlQQ}rxtsd#lGEQkFwZzSnTC2_FWcxC5wH=Vvn=fcU$b$EcRP1 z_F5MEti_&WvCmuV^(^)Ui@lM>{;L*yGmHH$WV;vdLAG1j3;2l%GK@(#HE%IBuit}_ zFg1}YUS3^eXft!p5GR=qh#yrM=fqUHsr(abikP{=pxk|h+>_-%dMXyqGWqV0oq&Du z0_qbl+f64S7ujr@gi+iYmW$UhyXd?OCi$>jz79j#EB9Z2opzYmwp)F!Q%Y8o>Psw$ zqxeE`m)LX-UpavfOv+>ZD$5fDxk3M7_aQAQb#Q-8H+5p&!QoUQf^nIa5vFTmoD~#B zz6pfnx=(}~nsb>tCdfDV(6j3A*{VNh)2}koKB<(4@b=+O0hgT35Yq-xdR$ISm`I9| z9C_)%J&H`qqoZSZ3vC=Du}VW|B1l2yN_l@dlKQzkcHfe8@Ha$KiWLRYqA1BLc8_0~ z^8wY)SLcNUK3b@YD?(P<51lvXe;~US%6Wk3?U^aIzBBf2mN`E?Pe>r@Kj`97iIdt#+^CIMreM$>) zG&!eF@1Jw`AGE==g?Z&V`R0o&B>-G>e9fz@zTQ|cCD z`+9lHh%S<=1N!o?3C&stb=5Oh#_8JntNjQE0Ad+Z;FPz~#IvNX)xWao-&c8B5P4|* z;-Te+hgJt3V&*)=dwIMtE3c_M7Gc<6lk=#+_qb%Qy2tmr$M?C%_q)fLd%W%*KQM!~ zFvsf}J1?hXTtSFKCbOsI>Xx6twrN}q#a54K$*#!KU!wx?u!3C%%`W%vuI@PE!OFxx z?iitmHUAiR5+A9H9mn2=rK^8X9yPnUybC5k^@C@Wb*r>y>{dOEu%qQJGXaX*{_C77 z*irk@H|WCUM9U+l4qF3;8$;wvUxKA|KUSG`Zt-bO51Cf#=Z4XBWd9wbu7AyXgI1IjLEYSWkI9{i;_?( zU8-t_O|1=1#K_LFOS=bda!{zPG&B*dmvN+F+R(0Ji@v!i&unt+tPKl|HYP{6G{&Wm zbw!#LD1(w>j{py2elWm?VuCDLTDKST?w~|At-f>Ft-hVD`nR#&{T6uTJK2cdT^?0; zmX~Zw&~=nHw(9P1aI1X-v#UwIH#hU#e7X1p+u`(DJCeTfy_L2;G^xnh(H~i(s(;Zr z+ZnKtp-q_ey{mZ7>YT=m^*N`gns^+z$2Ip@xyRex@SO*5m%p8kGdif`_dnN^ka`c^XO3_t}sr6v?>kKx->{D(;%%)gS0vg()u*`LNoZD zX7JT!@OzuV?`sCXzZpDh248Ome?Y2&w7>l{2pQ8LD@7WFtZ9&yBMrX28Du3%-}2Sc zAmcj?zS<13prmiVuNh>4N#C9|gDg1d+aH+CsvAt^t4!u2Ci6a%dCp{>FqsFM%nVFs z@)UNyd8%A;3y-m!@+b}HT$d%uy|Eo|2-uE11Z+VM0b^i3fX>0Kv0V>nJwTjuN8pccDvewq|k}I%FZ(%%j5d87_(sz2-yR zqd<buz|p^_gO!cDjOZgspXa?o+^Qm($+(gDHgQgAJG^<5UVux?POdxd&ER-=uhD_JKB zRwD)vYJOc+K~;!?<&e72S9@wK`NC*7j4<%KM@8L}Ol%WUBCBw2ty2z=v zAuJ_^-A)&xbgJKe zn;pb-O3eYVSBR3O*rU5=`%AvHvt_P+KTp*wPeRIfpY0#Tl>bMTvXT{xFSAZL`#*~U zX`{o$kTF`>c}J&sY1wmPh(bE#>GfaS=?<7GbfHI>XbAB#+a-SWs$c8)pPUi;UxVuN z7Fkq3zJ@IM*J|m58St z;?ctpC4nwEo)^4mloMX%DEdAQUxdNT4)OF}m z^+1QJ2f9-|PTe7zZL59iv$xeg~p+2LHd{o$M?Z4c+# z!?|#T_hlZ={bK7-);g56XI32gnrB&iX0>b`%J8B4cy=abf_ZX=)t*_k4rQ%FS?Z|P zo>{eLR_S0F;%5p#qHtO41!%-wyx$Z6&>3I<6Zo~|9Ha*xV>)LD zh(h}StFQ~E%kmbHhJa`$yh}(5&fT^0a*cqvLxOV=5Le*%m4aIEM>Ih09M%U`w*;|w z`ySpC0`;5YIs0^FP%XhOQdk>r!+mwm{{`YVFAo5-xlJdJ4HD;V=AraD?f1ZXPX{Q! zIU+jlhVLyKm6u87hJbi{4^V7X-ly^n_QV86?#$`~{Wk;xaE?vzsTl61H^BE{DjvOYU+|^CUcS6q@qIu?1z_djN1<$I zH775A!FmYwZ}%QBtbm%HF*6MOPp}qD^6~^2RNYWU>Uqhp@pBzmqJAx&14Q0_9Y5DO z#@SyJUH;Qdkbb!YHtd=q`hh#87Az@nRxS0`O5MBLDOD;kuXj7AD%E~Hqf+hH^OQ=` zVRehvoeBEh-yg77mAVehd&>jtE<}H39n)Qba!O26W6woh@=*q`=b{dMl%eans3RX`(0VTFvX3%c zJr{MwM;WM|ivoSk8excfF6yd}GB`aKb)LFl=t zn?B0$^IX&|A7#jSE{cg{YhOM3Z!-FC-D3tCVlYF`urvjlw+D2nR;;S@0~QnqHjxep z&y}XZ%S1E;WC`8=S_kpj-O_!fI2pM5q1?H*0yL9Cfh<^Ze;Ihg^?W!6Yb}`%dwxE| z#TbVBI!MRh;|aC#23UDW0}db07WF+rhG`{dHaUE}F-tRXLU-#MjMx~)&#!WM!ZJVX zzt{x`!{OuIJOO$S0IPoOxZvQhK>N1_BPy}XTTxCVSb^vS?%Ny7%V6Y0(96{yv6C@|d?|{zq5uw>N2bD)#Jyf0$ z_{^Kd)>sucGB_yp2I7mXqohf+s1N=sf98I8NKWYhOjlaJMh@T$iqd}vG&it5tcK$4 z13*SKH25Y#Mq2GiN*cOlSj1gj4wTXtUyVcW)a^zO0ppf5F!W!*#;NO~L(l7{=y~)< zjU3k9q+HP|cGDL(3IyBO&93^_;WJyS!Jw?WY2RHP`?9Ji)W~zHFmPwLRv>hwWF;W- z0!sL~4suvma~(<;zMh8bo=uEC&}#fDnFgBmtGxzmyx-n77KSDR>xS55t7Xj$+DatQ8S58V4v(1YD!L^@Ipw z)vc73e(}(P#zSin4=p1+v;y!D^X4JG%L6I&rb;5mJ3D18Xz5En}rhvWDZoRTiOTToL0=N=c?RZ8>pvCQ#SGD6B5i-!Yz2y$`nE_&w^f{&T zP5eNr0rU0*mBU3Si-)Ec z4^1x~nqE9Ky?96>;i1{YL$is8W)lz1CLWqiJT#klXg2ZqPC4XAga?dQpG!LhS_8sR zJ=;m8+0NrD+nnk<4JL01<>y+LmcluzTcJ zu%@mPmfb?4sb#l^Xi7*lt;DDLQC4K3g_l*w4D5!9zoXhlU0Z4GkU|8ax;p)eTVL_}THebF)=ZFG&K= z@>pKaa-{KzM<{sbf9xP6t?=2WG;wP}Vhy^zn_|~Ajqb?oRSa6CJ z7Tk4*1vdw5H(|A*#`eR=L zic^Nif8)crdP_Y5{F^A(MYdHQ$NQ+13rnn07vVAARH>A40+rSB;V|Du1l8Yw`Q`>z z1M}_rI_BGyPc~u0_;}2>kg5kvbB^R@*GtxzZ$4$U5%cZ;etY+hyQk>*cCY%}_V*O& z2BIh5Q>2S_{?I`$Y8Of<+*33`BQG%k6(RB{R8<5xR6!XZ?kO5KRP_FyqOmFHH{DY- zu5?e)I4J1DJw@Y0K@b1oOEH=dzaTR>>HeOgy;MQJU_Zw_MS#9bBoFr#NhKEVDH_)b z`YG}0JwbOr8@IJ4gPl}(j{iyFL8WYexMcfNoYw212rKR72VB6hObmg3TiuU3? zMSId!trm@Yig?|;r)baaDT-GGp^}$+B1p9o=ucrRLXMY~-dz>6eos+-RZx9Tk**4o zhC8{Zh{~Jy6j3?%6va!DHt3*NR4kpLDtDJ8t>05r>$+>rvvl3dbuGQWrwGt_adq~7 zwRruKgF>T0@tz`4jw^Y*mR|Q1@p_u-%pZ48ktzZCTI~mF+uA=x1<|~xh!{{THr!J*XM&+Fb@vo4{5?f;ncBO{AejA_AnC+nagQyY z9aTuTYR8ff7>}!=zaj_$#9t9)zwC-2`=u*_*c{Oep&d)*HY|1j&=otan8I>tfc8$a zYNfZFcUr+CyVwY+pyU^@We5iP#hpT&zvvft3UOdjaVqET6q>KWwpUDi=AC1PumGX! z+B_ci;6n=gixCK*tf5q|u4VSQJB4%{o!lt|h0F-wDD)jgcBhb!l_Ggj^>ljRx&k%7 zgXSyNPBD^LsiGI|AR~$8{Fzug%SdA70!$Wl}D(nj|`+dzkXdF1(p~{RwhHk`y4|<~Dl6`|q1{~UFwlKBL*$djeK)1M?uNa;U3Y_E zSLr%MWEqr}j8GN`e(AQGE6Bd?wi~XcTj-h)6Nv|ng}m0~vq|u}{CE?~G~RaOt_7L0 zoH)H((BmVrOMAt`)c8YP4up)327iF|x-M!d2y-|^EG8)Mr%o&F%G11Md@oTauqtJ@ z-B7u|?dFP6ne}YI%##Y=-ByzpMM<)FK(4&vRQR;htMGMw5&sKWX+KmJ1=sWI?lhGn za}b+%Y)`GHO!#mO68e2!xr^AW)%4pnu-lZGrpcWgHDRPYv(pF^i?zPqb;qgFU@Gp! zB849-RPV6KBa{?nw--o-FBls`9lb!@H&aMEzWMcsY%3!pV+JHr#b%EFBJk zfp15<-=1CPVG!VrQYF(GzfbSF;cz&w|NP4>;(a#XT$D-K%E4l$7QEd(Ff&z%8*sW} zZs%QC6ZP%Q3u^{%;=&q?Jkkqm1~m%^s`vE5nt?md8b1EQ8f(V+7uKv-!Pd$Tpj!WK z7uH~#z{&kr=E55BmO*`C4OC!34+H1%7uF2Jkjd8wF%OO)#4SxTA0`OW_Ksc2 z-w+}(4sc2AA+d@`lAs?-?tDSUPwzm%JShe#Jq=Pz8obsFuA0HOH-qnP2F*l2Rzy?N zk`XP_AWct$bRiA$dD0-fD-FWK(%=i+fihoqIl&olf@9-j#rWX7Zg2CK+tH{ESC-h~ z90E3;eZcFH-CcCrbvPw8%D7EKE&FoSwdNfqXrr5)xp_Uwis{9Ne7k$R+dbgXtacI& z_NZQSgE<`4&J(^ll2UdBiDHv0NG2D(g2dL{kyNR=F+`Qy;5$}~l&y-{p*hvf^~){n z{xUyZn9+_qjBWSk<`8tRuh%d|CnqwJDNH{ga)vZlsX{&BEelmBlM=DMVb!gM;*YvDMYTtv8iS^8jX_hl#-OQNW6;#CF=*=67&LWj44S$%22I@> zgQjkcK~uNJps8D9(A2FlXzJD&G<9nXw(8d8#^+Yu+NxWH>hP=m)xjD7MQh!<#0W3I zPqfypH_d4B)EiB<)~#%(WD0!KiIUFNw6$*i+#?XlPcwCGYu(yfx3<=;xSW3CwWgx7 zwQhBGg{^fftI2W~o4-3|vD8|(w$`n4yaIs}kUe#4-74d~<@I0%h%yrWdDb*raBYu(yfw|=FqTMd93b!$X3#%4ARnz}W< zHFawYnz}UxP2C!Urf!WvQ@6%o20(4<*7(-ctubio))+K(YYdvYH3m)H8iS^8jlovk z+NxVwX8!nCxBl$Y4(<1vpajlC`@NJYTMu#ZxwH-?F!gA^M-lD!QVk`5a7dm2CE(D0 zZ4lDYta>B`-j^(Bp(C|M`IS%lx=&Xur-^ zJ|g?dSN`g~^6(9SHu;jySAM73KZ7+{2}8pM7Azvazy^lhFxSj2K0&P;!m#`IR=3K1LCz>pFYU+Zat;;V3m;;SfgfoE)k{VNn-MP(?y zipo%Y6_ug*Dk?+qRh0R>yW$1yrl^S=!(9|Esuq=@_$pO~;;X0(#aB@oim#$F6kkQ9 zD867%iAO^U0g?90>wLKz_rO}fGaV2DoIfEYfCYjybZ+O>BBIjr(VVxsYd`X?2FyAt z?VJy7UhUb(1?d3T0;hY~$2IzFiC3a8{z~)v22|R(XuudeD(w}TVP5P3mDU!YJ@kAL zl=cul#0pZfKAs7QmZ3EkNTc&&zv?k*rx_5tH^Z zuZ2l_Wc(|5SR?22!Eqq!tLGarX?>YZOxjSIY%C8WCao)$kF>*}H4FiHIAM`_Z+T?y zU{@W155T2b$D~ycJh-hDL^&Rl_Ue-`X^)ziv?|GC($*yj=uN=1Hk~?JO;b$TK+zhk z6(}Q8225Jl?r!vMU*TpNF=-(Oph=!m`rhYY(yCqOVA9gXCu7nck=uYL`Dl2%C&fif z+D+XAL{t(Geqw6%V=-ypR27CvdrlQ{^c6(0SUKLn30VmkChZj_fPi$LB!h42IHV16t?Kt%!7~giH;%Vjq));Klrb2gDh*7>kNC%?MCYiR9je-0vF%}2rpF@_t4!7S0S$57GnE=Nz04)ZT#r-CdEV2u5n|-inM_|ud z3O{@eId=aoM2-!v>>joHEkJ+;VADCVKZIg%^Zj)s*B#+%!jtp>cUcdEx0Uz_rXkd3 zPFfOsNKA4`ocnq}WJRMF1#a>*!`by3o$PuIZjER_T&e0td2pphICBH*9H$>~BLXU3 zA-*r*N!l;uN%zY;jmJspoW|kQz(0CUC6H2x!$YLvA&BaEjb2)cwe1MKv>qENdg(q} zZ0bC6kE`whlk@Xu7g}pvGF_sp_{_PA8$#)&8lhCNiK{rMGbaI|^dusbo&yB`tV1RLu>#a8 zAVD~n{2BiCURpWSO>Xl@6lH9#S&`u9tdVS|W}8qq$MnxoH)n6Kza7+yGJ&Q9)XkFL zK~V-5N>Dc?BWcwGrb=vX9d&cJTp8-7L6-~&)To=%;sLkGWgdD=>0w0O)cqjyGcMWL zciJ);DJ%iIX9I!G>$ujI>H3|ZEd$w78yRg19O~u)+Oq4lw#?oEvxY%F#_2>ZU3e>gJe=@0ZuD@+BJyAxR1v)hb`4I;ZktsGEGa zBQ#C0u{`SL?RwL%K9(8lq*C>P9Car|?IY<|` zf(5q`234vN=Bl4Ym@9S~VJ1o=e42%y$->VwnbuG@n?<~mW%)oB{$LjVP!|4h7XC;U z{&-V?1_>GpyCPHA6`8^g5XWZvG7D!4yCPHA6;5H-pjzI9SF$2MkcB^(g+G*qKb(a> zl7$o0%?aZ_L*2Yu6(3_ZMAXgQlAGb2I*2=WJnH7|Ce+P?dn}7~nU)|rcQm6Opu??E zHvt25sGCAnOc6GPs^}0lhp<<##+y|K;xnO;$=w2&PViq!egV^|`zL6RL(|+{!<2%} zqwi)yiqCkcHPbB*#b4Ag54}df+`A{5n9PtGO>+RJuF*8D=Vz`zfZPa8le=}Iy`j?1GNMJ*=|oiY}qRa@6ffm9RAqnn_Au>_Yh zS~fzgH->L2Jyq^Dl^*;NzAtS!0syTO1=6A@$t&|bIwkFFUN9B1(teNRxSrpT94Y4k zf{u;(jw$kNLZP}d-2-9}uU6*hX01LCopRz9FC%14n3XU$8JO-Ome3~ajt9%sRzUZ8 zCH*;9a~JZ*KBa{?nw--ohfW!;$gekAt!q33BxKU*9yci0JDG_wp(O1 zdHEn+LK<>&^m2j{KG81?;yEL2b(HFP@kS~Stk$baH7ZBnTr4t_JDt&z=9<^b zozS^VFGq`mUXF3Uy6NZHD(L072aCeR6v2|s8I>IkE$4jOd2ORNXd+NbMdzmZCIrg9 zw7b;55rJ|pJ>3!4{h_B57_;f=j+S#bSE5VwdKGLl{2*x}P;#zHIolvm#$j;eDZ-t7 zkEMd0riluc3MwF8hruzo;b((m4n4TpqA@tau*k_P24M)4=*&_+!Me&F#5Jcd1j>`f zCtV=CDJQ{+yTe2&1G58%IiJZJ3jk42>Ng#Kasu$K;@}Awl5E+Q$6e~3vTH*I1BJAkO#gCowb*8!j7tYP@vLNnHOMiS#ap)I_n=)aFS5K;u zrV#-4pqgq#l#FsdZ>e8)W!IN_c1;cayeS1VYX(2BuL@mL^Bu)a5=|MpRODY>TTR_7 zZWJe$S9PxAkn7r7uFD}8>eDROVaRoPE!RQFb-0#m5puEb&RVz|a-n+7>O$}78qbv~ zS*~fw#kM2MH4eGp7Fn)g$R*jaNsWHUg{f3IU=9PJ7fI=wp>uPMFqc(Wp*4UdT3fwv zW0x1A^dN_-?7CUVC$(>;N2!E7Z|X+%P@MEbgZLSFeQh-epOHeWaQni%NvG6- zOo7c@$!E-S9fVvGg`2sO&zR@h4Y{OYY352kW1edoa&bJ6z9zx?RkXZuH;vQ_Z57QDK;zE$vYvX5d0gWYhf z-zs>c`wM4QO@(f&;4NAU-qwQm<<)Joy=g6YTMORSg4b-|ykQiIJ7*H#TJV~Y^k#$L zR>9jUcriX~EqI+z1AZ~B1#f*Cnx1rg&06pp7A6Yb2o-4x-WW6mZw#(sVY07?Z%x4) zgQnn(K~wO?V5{J56}+v2x3%D1v&C%{yiEn~PZve;uIK&wMlxjd!7fFH51y1|ba8h*qu;78m!QNn9@yGEc@ z`~#$FRK38)BtWZUmHH~aShM8-ODOOocIDy)hGC5#fem?rA2F=)Bf$Sk@FS$u26qu) z1Gy>edHjf^_`UMB0j*AX3TPEKTKQ#hM)DfqtKclYhHLIY0P({2ly zLPvlmvE1SRgPt6a1huuIlTDyiFlh8y2N7s>2dNTkn)f<1C)4v%`HiGgt!?92a*K_Hhh_oJbB-c^GJFX77p z4ZEc%x5VMgK}QIEhu5QfbW-gdK&%_<#JWNo>q>CWR{KZ3{kSkeIynUgpjBdA%Wnke zh!HK{qiSaUK1hbt2v|j|aRY@wYl$@iRxzhGfmP^pVVMH>h-%#Pv?3;>mB1>7spW77 zKk-HwFV#jET!BXTI186q_%sVYlZBrzr)hb;P8J4vt?_=5g^#mvnT1cY@H1JM`Wry2 z^K!%h*ug!-fL1R7w0gvNxctU_L8cjE!jkU;DhIB;4?hZJxg1(ZSJP4t0j(b0TMEpL z3C`3K>VZQ|81WtMb~?|I$Y2t5+k}JY6ifo(s+R<=%GYyfr_*X8Olp^FOfG8dS0hS4 zOMvM{uq^;pJ?bwYG!AUnTtEqwBcV?9T?94o5-9oS$P~&R!#_|x51HcNPslz82 z!TAo29|*rw&i5X;6i;;(^{||XNPw78*#O1Ba)Qs3EiNm0<1R;n3S9N4;Kck2-zenG!}V*y;v|My9ST|2pk~+ zBIM+~eCxO5`&%llnJcVcB9YJv#3^m-Gx6o*g- ziGf23M!)xZ!e^1yC*q>?(BUE6M7qblFsW{(tn`Wp&dn!!k8%AwJL3pdD*Py3&pimj zbvlrNAka1qEZ;G}N&N&2AP9ihSh=&LZL~=oVn$E#cl6+-0RPkB2u_MyDUv`yxW&&_ zjWzTY5W%ccijFK1WRsaZ{&!0QCk0QkGRObj<;;N|P`Y#HM_|5>)RdNv%-}zH4SKMv z!9HYhq?{C-RJ{p|jiDJnC;(axH9&Y_XGq{m! z9h_AoPwff}uhBa3Cj*ugK;)CbNpDvICuIkrW$rde2K<%5zBxX zhkQtZHX45L#;hP;I$Q%>=f!I$4Omf|Nx($-%ETrBLvQnXgjeM z&P7-XYos5GKpyfF+DIkt>jK$GzdQ;-9M-eap%CQsnO1`u(9-}2rULY=sS9C6TRy(f zKkWf4@S|)_NA&F&RBPA+2H|<|X0QkP4tqd2K_>hE67SAD4kU+4gBODwPIT;3!61p|a_=9-0E zY#*~+P|X#H;Fr}k3AsQZ&2o7y)C-U{&ov6UFr&$G4MSbppfy`K2)Wp&XSuxh`3s%F zTCQHmrP~IY)aZt~db}Dkw?G7nRk|*Bk@z*NTvnm=7`T8&Icz~MfQ{h;Ipl$%M;-`> zsCdaMCEwG&m>yhr02YM4Wl|VO;c(;nBl3E_8itSPUF|KoawZ=!&ov9VYPbG6SMm|_ zT$7M%N;8Z^b*|(i=D9{8R}BVG=Sn_eo@)?t0lt*gm3+iJS1;s3BFSk-MSR>0KF4ww2aleQxt4o-K zDu@zE03c2`xVNqwoHulX9$9v7n!y#t1=mq=a4i_-7`c9ERw8y?r6QhsJsPc6M#g*uQNy=6E}2wb|QrvdAFO;`LFrtF@!)#ob)`^Yy#Br!H`lrBtJ2kRPc zV3O{XZ#s;MLFwj@Sl(MUDi=O(z&o%Tn669hrOKsf^Y@7au}iY5Fj=*~Qso1y{5qAN zm=GE;Wd&|#mD@cdO3j{jlVb3a)1Ymm9se@Dg-)_aUK6 z;h!*YPuQs-J*DlvP8&@zs7e5*Rr|-j{YVv%PU7=*?czYgCC0VQw0uF;6nhDo zo*H+Ax*KZTKp~V1vBn*z6p|iS6a%gk)sSjj_!^1HXeA9U@J&&wD(t8@3A24`ykBJD z<1Ace;nOVqOcs6~fqV^9wpryXS(XoE;SXlv4`tyGXW@@z;g2_Ug^-}3i!3tTWRdA6 z!IW*LFSBr_n=CTjB$%?&O*W{UH{q46$PZ-U4`$&HW#JEJ;g4kDkHgL$2~v#BJL6v$ z9B``h2I5D#Izur6rmRW)aoQ71Ix{2vWm2hF0vI7d?ltd4&Bt-=%wVvHaq#31@ zcZ-g}ei=hkkuZWmDg0A#WDnk8i^wQ;+RHg;Urd5J<5(!N1C};4q^>Zae-aeJ=;Zqaq_y4H|QfMVPL!(?x@3f9acSE*F_s)DHWhaJs6%E4n7)4g#ozL zm#OZv36zjKlhSj%9N1PCE|w(SKot;mJyj+UmFn~@`AV_A+1WVZ3S+ zyJr}$wrru!OjMu;?(Qaz3)w>G?j~uH9meZTVZ09d580s#!Iw9{V{(yqsshy-pi?KW zmXp>%1;qt#3>8s-!UJiH^hvt%2LTtJCmoYzsW!RXr^YLX@oKF;595`SQ7tA$$VlTI^@=gl*RGXu8N0LN zl&|ARY18AMI7-+XaqAzG7Y zUQRvrHjxVyYxB1~WNf3-GZp3lO1b-yW;U$B1!OWB#w!!*)zx7`g(;cL#;(b8=VH8` z`l)E>m>P`(`xd5azQM@8R^CX}T!BM~mBBvIWIC3S&wR;Z#^=0Fb0wXn-LC`sV8S_# zBOA2qq@3W-*LVf$Yga6p%Q$jnrX5sh6Kq}NE+#j4R$>TXd&1}rsZcBs&1>E`;=NMS zRGLq@E-VjiHa=zjm*&w;>YxBWbX>|;Y>cNrC=c_py>jyq7HrM%%FV-|+>FD0y$a+W zKO}19=Ao3E9LLb)a}ZtC&ma)e?eNjjN;?hW@#Cq`XFT^!+3Bf(a4VgnhJw?0+E9>Y z@vy1!?!&(nyLETo9h6$GL8cvZ$C4H` z;kHUF;bg8!ij^(+6VYiZU8cklcJHEqgs8d(8ALcNoQ>?tP$#Q+mkJTsN=VX05@e8q6rz_Bw*uW2j~n zSR#kcY@E;;v4HuiXwLHGDJzE7w8F@w>tF@?ONoy9^~yUz9pYSSNjYm(7iX`Tz68OLY359thR9B>>cUAGf%!^u ze4B(8{y!8~g@+EyR&~*;E)vy7tGZ}a7Y{!wfuvPkw5kgfA+74-#a4CEsxBJaz_^Rm zQBz8A& zRb3bwSgX2dtuBJ$Lu+-x>71PyEzxPWRu|!-ho;E`rwLS<}v{o0NzHAoaQD4!3Br8jgtF=q_T8DxWFvT`MD8&GJfslIa^ecpC)hquHDRN|v882aBEYrABl)HruvxAUXKzBKk z2yaL272eK9Pm!b&tkczg8QH4+LnB@4DME~EdF?5J_bP57w{%jozyq8b0j-HOZlKT} z3F~eNT!Y%MWwaW(vD|x#1PB>oGFl0=25uV7CvbafhR0bLo3BRt%uS+GX74diYovcB z3qLQTxmbVC*m)AhC9Cm%k%f=5aG8Zqv+y%nnEDe4nISF`11uunCTlst$6R477<|lO zbdHdM>q>x+8OUW5&j=p!jJR?S3(>hIH&`XXK|=0Zhi9jqj=3Y-B*s1=dPnRVd<@tQ z(K})Q%9PJ#?#!TM;2d$K0Usk1Fkxh2{-|_k%D5TsmAby$`%P4!Dw^58OD#LnM=MZx?XjQNf+8gO>bWub3_r%FMTP)?k`!;tC8uM&R;)(V4s5yAxRTK9Kw zkS~I7GLMHf$QJ+xxb*ss6S+MMo!bKsY)J8a z7}k(47#Kqg`JJVuX<-oLi^o@S#X{^k!@%ebFL97B`#RmidPFTYUPNPzvFJol3%Y}R zNed#OcYR>2;i5q3;j8mP99b?4+TITg`a!Hsa5faeki!Wg0gtgJsU-7&FzhQsA0eqh zzF5CT4)O(x){X|76gvKQ;b>4`h2zTmrZ>fJby#))a^zOht3J8wY}~pRN#Z~Wg;ctL=_S8WxWcC zFnf+G@Cj405-?tOgNeWjY5o#|d~yB~WAm5jO#;pM)wp4FP$Q$5RAWX5VA4gb ziQ2ByAU8C0ht6w7pGc4|*K)`g;R3W+tun|LxP)BHCdTpkIBfyK8hI}IM{%7z4>2j7ZE0`a?5EF)#pbP;$xh;;U z?%l2(Ax1XOgChi-U##0$5$@SmDSR<0Q-C($o{Sy93uf_^`2mcVa$e%Y)dSrCUYez| z;`}P!y0-F4?tgi$06}}A4 z4n43AI|v^-)L97)iFG0MB7m>i#}v3iKs%9_3mp~MqV+JW3-obb&NSx@;6*dO%sm}^ zBf$>fdok(h!6twg^KsxPMqU}NU4gwdTGxjgd4Lz~3>u>i<9QF$=GWO-Y8_Bsg;(!D zVMf`&cMOmR!MJE8j$;pB04-*syu2L%gRUvza9EH^7@xt>0bx-DFwlr8A18vgbTxde zD06Xmh*SxG95i5BTp9;C0hEK~aLx@g56rTc3SJc06y!P{bcLR1#HoN;X&wu4fX&KX z*X{5wXG{^lXZd)__=8=6(u3)w-WT zNLl+Sgz|djQ=v@fr$EZtzvvb-kYT;Iir8>bP44aXJ4LVCn^pf`XIWJL62F=1OPyt} z`fCOJ>}Lx$Fn_&Z7x14Kte^i`frR#`0Oj$M#d2ExaDjQ^zg2+I`G=hyO8C)&68`Oi z68@cn68@%2_&JsEw^YKb6*e!f^4XfCA-JC|bh zpgcYF$^IG7ceo%8Q7kRc<2oti8GCW8;b#7)FZ%% zlfLv9fA;-l9|pPjf8SU3nGB*=(ko93Vgd!B#ia&K%faFoHpKm%4RN3KaW!Sh`?p+%1r~yVa-u5o1+{r5@4k{qbN^s-l~9X)N9^sM9$ zTL-$fX|nj9{apO;`>QW@?(I@G43Qn$pPDnEmOUmHq}8xM<)Si}9UA3b4QhTrMH3!9 zdNdXz?jpKal`O}sEI)L%_;bZIz6H1XH^|kQXOVvU9WfO(z+wgfv`P<=@X>T^P?@aFQwWNz_}QivISW>9Y++s(@r54cwDWepje; zb5?8eX!TlNCIe~zH_|G2#RdO&ACzk)Z~v(eUZpxpxK0btBph35}ne! ziY`p6vpnGKf$G~oD=&jo@Fjd=0q=#d_UjC}sTY1;C1ux;0Co-Q;KaY6(Q+ZAn6uSE zIe(c^@v!Uxw$i1-lVz{GKC>kY|9sUX@K$VTAF+$wFE5da_FO8jX*1hhUeebWu{x1h zP$34GHy>LHE5MLSaA8z~s^WEG24@cdxD(h7>$fMXNTnq|q1=uO2Fd~TkWvnuO>0^g z;`Dki^0$CQ)cT+V7F?nozxwJwXgBz@v#J)=i$;~Mi&gogaUt|*dhb7}a^b*F482bh zRcualNgz`AP-FYi$3I%#dZXf7DBS;^6VaDa=@|6Izg$zm2xo4^owFrNg2nXtTqFZ} z%aSqL{#cL9?pI@E0zX0INZeLph0-*6-I zmW|Bv%Nv>hyzf@?z1xpp&G&3I-$S>Vt>)5N^zOwaeDUU&@T27=Rv;ahsSHj#^k4~p zM@RdKWC_2dC467ITfc(yLkl=~4fe~e->knBz^RNyt}om(Te$aGxIqaB3wO`0+LvsN zxx^A_i_c+LwGSJswj+vPwOwE+Ky$Xcs6C1^LGKJ1cRJN$t?s64H3*C8S}pYqOf;<3 zg5xC^q#Q8LtwBAgFtoM03#Aaqv`}}Gg&Osj&ilH4q3*ebT7|PvyO5S;-rGVQVgPJb z`AH(TP|tuikIOWyegZMycVd{7T79|p!B$_!4s`0#A|7#t=CDlqHn&1UpV>d`76Y(( zOw2)Qb(G@=OSxnn7XFVhlDx>%19}Nt$hSc9ksOjx^8hMtEAap%@5GmHmK;<|JPMh7 zgJLhfKPwLqnipwIRa{iyF+m5BmVvL5&lP#LCZ?^@DKWpi#rmsB%5bI%-^?GKpdO&+=DcqG7uZks6HZ#af=C&*nT zO&)2%z#}!QQK|D64hbjX5(!=E6E`s^YmGN@hS0kwbv%HHEM7zVsma_^o~{obkcxZ3RK)0=8C(%;?^27EI_r}A+{$y62G-g4?3)#bXX`3 z!8(*)Nf1t(vZJ1@v+q16d$BpYG|Hj&!}GJ(T{4y4usVKF9lucx@9qBU-NBpwufIjk z-k?)(l+l5TPT^gk(nIG>Sc<&rH?!#9bkSePqQBsxznDdT(MA7O7X4d9SKX}{kF9dX zc$&-G*Vl9j3tTo`Sm2m0e&6(Fr^`>D!@_Ne;|c^MrgHv-P37D+m2;FxYIdX#M@Y%Ew9>1bvuwYXsKYCOWq7NC8`@tLZL74? z^{VKm_E*A!-&A@PF`LRW{=bd#cid3^PF2&nJ0a0z_Q!e5Ipyy+*qB?qg=228Hs&^M z8QU>;0Y2x{y5C@94$<^2<8!^WF}G=Fec>_p-}$w5=Lu`;j;*abDA4k?6}bR~?OU;+ zF6@#r8F*(#3P`f?*e}Yr$ArJ@T-LLod{wzk zb*w-2OcL43Il}rsk=781<pIt_h(Uqn@Sb|@R0p}bl_G@?UB9;@XLl|hR1zo~ zOu`Utnz{zU&EsW9E5vj!S$Hi5<9E{m^Vb%!SR3C8Vs#-FOJhbXmPUxxJn{T`CKgQn ztss`*t>NhzvEbF$z2{M#CuJs-#3QI#a-OG+|?;W zf2+X!t?WqI^rhdQE`GL<&Z+FMj=Z$&`P&Z(=?W%n({{Q8Y$LJp?hz&$=Jzs}2Jov_ zP5iHZ^&$N#s(%wx64OPYTEQ!%FpH+13YeJ!itKX~R?15$_N%W_?AJi0(EjQNl2T9- z`%+k2_$fsfeBZ}$-vlJYEQ@2X*#9wWBHeMONZ)V0r9go?=afbFp z#;O7zr^hvwbEd~N{+%-0z*-9mYqD0twHjATb*;vY%$2Y06}sX3L+;vo=WBva@YJ`4 zPM)h~bjp;pU%zyMoxU}6@(eYjQ>LAJb9DN{!k;rY=3P?|b^@RA${@mc#u_-OXRJZs z(@Yzk%Sn;)Y$}_AO`OzNt5>(FB!)YZo{yLlfxzp7#!Jsrzu^+0IW_U>w=KBoANnoA zxfYt(k48Jg1(p_L>5<0bGG?Kmog|_r5 zmyxGXzg;Q!Z9g#c>bIS8=G1RIoce8!_>7;V>?Sdj-0|wS!?ISt9hJ5E?J_By`fX*KM_5y3(wImgJ1qFp z5K3EzGb(>;ZJk?CyGu77Hd{Tv9>|6r&^cr~f9-tB$kt%{BAc=OuLrW}^1sca?R=*HM6&(JIg`{F z7`Z(IlOYp(1I|b^A2CRXR*vAyC>Zz{xAHdUqXokzRF)uP<6m$wv`(nB#J}KA;G}px z9v;wy{7!R$5|2b-;|aWiXyAjoK2;YCo~y|7JjwB^=GK$hCqx=I=RRvX%myP5iY~Jg zcpRg$&1XXaCf=4%B-<@{h7~BXfFkQB3nGe&X{f#GU6SKa#<27;nq13oEEDs^Flq`4 ztogb*twq%rh!fhT54;6q95|fDM-9IaE3UH?Sm$vbyKl_>f~zo+T+iyd!GE z7OHNYDgFQKy$!Tv*HzzH_ui^k^V$me(XRi}hM0$h3NCCbGK;0u&;M00nD^!gN5y0@~0diY;S-+aO~B0+b*UktnQQ zi~>qVNn}t44H0O5|9#G>dvATc`<_~sWL5X-KIhaupZlD%_da{?vrj=L0oIa9s$-%s zOmq@4dk$NocU?O1`h^l&`h$&><(?l8%5tINB6{x5W?mAubi!c?xZ7rCk}y+tThDXc zE$1}_UTVc91E97!Nf^p*)0?-vBn(ZwlY|jCN!T2yeNOEmo)PEk4AFFL#~Wy@V{{JNk%a9Ck}%|6C(TnBCT&iMt|KHzg@tt0Nx~Ki ze7Z(&k}wA|V?swMF{D2(;Bb%919$Fq8UZqMUI;f@;-#uerf0_cN}u4QU8<}s?UI1n zGv~SK8IBdC?W`c{YL;YOxfY|yW~S1hzm?aQlXXqkms^A!{xVKG^`Z4OiX)${uL}6f zNwcQwD_>ur`FLo3jXJtiUSI#h)5rEfWD&nQ!k34qk8Lw1Yh$QANFPOZPh1kBxYQNd z6E7ka6FyEAVA3Rc6<4LYef1DF2snNC%U+X~*gS^TMMm;HP z;Acciq3t*U?32R8(LwHcK>$URj1DdaI_M3ujiKt(K?fVtElv_o`TM?s0P3-I$YV|b zoh5d{Ksng)e_uRh=3(oi(N4}}*L(XZ+5N`@qNzE4@zgIDO<}`rrq}rah7(e5aN2Y7C_qsVOf{gr2&P(WaqjPqVhu!{3#`Fb>>H>8N2iV@(_u~) zK6wg>lD-?z!d*2~Vps|m@*sTj96<$NBn~eAq^MP?iiY%GUnPKv11TE-45SPtby+d< zmI6%ucCp&v-~qsZg8@ugXHXF^|2Z7dhPRS@{1{rXGevG3WXT{clKi)D;+QX=IApRg zQn8IU@{=VQ)bA-Gs&-XfxOO@ zF@#4Lf$`988Nd)Q9JU8dS|bc$D8tKcRNUmgL7;3Hr-UQMiEVI&t9{XOe!OWUDcmD0 zVTn(BwsdYBTbeinra5Cv=a8zK-)QWNya5yXO?V*g4=x&y02hZm7{P^_7l`DpwE&`y zO9q63BX4~TAd;|!{R>-ZE_<6^Y=a<3Vw*@o+?C{_e}531DK(lC+bl`_r<;Vj15uFR zg!_X{6Wgqo#WskKb$@WiiEUyoFQT-?$6cImZ+i)|U97;_jLeP1uF4@CK?Lu!O=6p< zJMY9c@RT32(VN)D!E6}Eift=^WI$fyuN4N6%)(-;O^q7=-~1mXwCI>3h{j}jja{+v z%$t+o2s?X@wJ)zRw^3AyPz%FPTPxnOP|8CUzQylzT&0H^C_Q|snu zbeS8MmNEF|d{Xdec|MUt%Q!pF{!a)WB9x=qfB1#D&SxSv83`=Cv&TL^hd8xQp$aOXQ{WZ*z!ccTf~1xc#7V@N#m%5N8i0 z;%t8Q`8gaT{05!G|H98Eo!_Nb*&|lQ%+)FCvj5UA`-~vb&i5qQ5B=x<5NdDfJyyE& zINf8L+G9WNY5MF2G=0`+`Yir|25CA6`1r&nA>@nhH5@N$LOUX!075QNQypT~C*)|y zjgTWkl3Q^vU=n{2gifO3sUB~r^&sIv)Kn(lbtB(AuLADqlW$}#qTTaG%jTh{M!OdR z?e;2{GVOM-*(~k$$E85KdDg_yQ3kqs+O5jUx)xFMS4q1WSNp#jcguL)K^Sh$MPdn) zccT75 zjwgcpNiAN_PP@emuGLv0tXwbOF;=_%pKM(0&<|;FrVU1j17x&O4QrQns26nyiPcti zsH$+%8@J!w)-CN&?L3pu7WSxDjFk4`b>%J)kp zW!{%+&N2W04oyvi@%e6cFCvn?*~e}b@?gJvKUKUna56h{54L9se2Ga-62W30+m0{a z#TO;_yX4>X$pbF=-9DMRlB{(AL^TU?UDbQIL(I{59;OjjNud`zLvAFWr}VNB*h0?qxCu zfP#;v7{K^wH^m^{32l1vH0+`WF(UWTL)6OaZdB}^2)NvT@Qi@G{r8X_b|8L zcBY*!K8mrEPr6s6F~hmMyOJJm)7_nBIM4HWK>P}inD)BLnH1-ze^rkPNMg2~S2dYN zghEcfckVzUA*NdqHwu8?PT==*b$4hJ^B_Hn+6@Fpo6b*&aWmq-! z(N?#UG^vke{#D&PQ+lKTPts9#q5RV><#KjbeF>HPr*?*vL5V4Y%9rOh^^}23|EGKT zjj)#;5q*R0Wv-n1z09%4o&za8y1;%E>YnapXE*ce_VOr=_jE76De1Cf65n8Z8T#k< zGTYYna_O0h>0T}q;a5eMM;U2sdN2RuP4n2OIbpCz@YeSHfi#kOvrZx@YdUnxBi&X3h~w-x0rZqXM+b*t**gT zOE7Bhal~+}q>}D7*f#Ozt75KrU3sr~Yl%tKb0-|#FLqiI(e!}0X^W-)*^c$JD_+`u z>%mI9*g>j8MB(1;xXk^iLlBLu_f`Wpy$x=91x|VyPP)^*9FE#?)0d&5g_~aC3hFYP zbO-jj-RGwLyB_WtjqT|U$4c)=4>?wP$40F5!{r{|u-Ph1TS+_V2lmt}SJtT)bu6zxis>UQXWL1OSBS?(r{x%5^XtDiAqnI=(%-&Fmf5_8P`qR zQOW&6=Xl_@_zV3jU*HvYm97-?=t?h!4x2a?p)2wBQRWeOte4;RhLa0tyy4`&I-dEh zKDqV)!SLjcXOl18~_(mgnpIu_p^n2NqU(tUagAn&g@XJzC9fel+NfDV6e7Z zBZ-TNaDCg}@3~a3(matwtx?2N zFIx;V(a!HdY4tPsc_kwiL z^zQ$D;VjW^K{g1OXV%UJ`-5%Z*zrMzc)L>oZ zb{qV#?V}W!G>ldr2DNV;|g;^3u;tmYnQ0asOauX6`J7J?sZL&63%y$h!78 z5U4HNcZ%n2>Z$DJ*48EPzd%jAc%9DhthP3;`gHML6l4Ci>6ZLTD08pb`Dq!n9Y29x z8@aj5j)J6#j~uQ?owl1#lv`J(M47D0)5?G?pYqzNuFE?^I)y7M=rcLtn$hrUyt{q; zgxS~$7O_U620wqAt}zrnU_|d2i*?$8xQ7)IgRzfP>_(+hE%mU*HBiRbq7Q(uFeI0= zm)MZFWx=I3^!+E~FE-DKeve*h@?6Z%pHH|c^a(eMk%lp^Idm~UjXvRK(kI+xTB37( zO@;y#?N|ZqZ(TwKz}haM0#Z4WZT0#Z6u@FuK)0#%v#k}}YPf_7@E|byi>lZMuFk(8 z45BIUZvLU6DfX$1eO}AQj(%heXE6D(qr&9Lu`0>Hs_DHSl7Usz!JK4Z)s|f{X9VnP z&InjCX9O%+WCSL%YK4cAK304v2`0evWA-LsP}iHyexFqni-}YMdoZ8ZUK;ANW3Y7~ z#yq)Q1L-F@7GKgwmVP^mqOt6n*c#*7Oyt1}3R&YM=0(F?+epS~HZAF2rB)66PugM} zi(5M0b3MV|nGEuqM9>8J$$-CIbv$5BjR&t&emtck{UsVtl@skH8V@K? zSymIIfnL(*<@KeTLt!y-C0BfdTTBmnIla9=Ho+Dqyg;@C{s5uiT5b#D?_Qb&*4x5x zt4Q*CvxSjFvw+cdyJWywuvpVN$QZsn!EIh};OQ^fjoz7wQ`-)M zwKMIpd=9qh?g~BM#voSV#I}1|m^CdKdn?UdlV3uiV74%wwCe=;oxT7+cln);dMk}d z3xZrBxxyR{98bOJOPIq~bv#AiFy7Y1kgHj`=(3$URW@@`zXr@))VHEX9FZxHqn(+H z&ZuQG7oAWC%v^M+88CCv8Fk3a)AfvR;B*f-PB(?q?HH%)EK|hk z2FnyV&sCpbaTUPg$}$BOmsgzN9|;nihI7B4^5)hMRJ|rnSC%R2xwA9bE#}s2PxkaL z_3iCjtLzhJYhU+c{_bK2sE!5Y9w_X(AI011&5#~9{GFZm0=(@!d~F-Pb`HLFri<|n zyloc`1@N|9%%`ubbbC7^=y~4OKVaw{6YO9gV~p)`nmWeT`$*^HRbXu0B>D#o3mom7 zJ9mV+(xn`}hPm>lDPgW~(5bIsuDmTum@99K66Okxl`@C93cD}?*c|ToUl;0-{c@t~ zAMfBmIq)IxbqW?|`JuaWft?NJA?jGc@`R(H`UcA%GN^B5yAyS9!0tp{9I!j#Xc5@i z-0s9)+bKK`2%2~m4=FMg?aw9Ad_fe$?s0b)Vaa8GpXg|bWaw75n%SGovHm#k&(p5C zx+%;cg4N=gL>`L^GboS6B*P4P4O*B%e?$p0=rw3z2E7I?%-||>Hf(oaK8r}oJ8Kss zyo>h&_D7^@y$keVV0>2j&Zyx=;#T+2$U0 zG${jjT6pn5)r>bQ`Kp{eJwpHp-zbx}*@q_I+LH&Nc_U5UW*@$+JbB+Y25p)>h)^XC z^YKJcK$Rxz58@lWp$0Mx#7?FOB~)q2993E}N0pY$QKcnwRB6c~s%#pO>&r21jP40d z`MHK4ah4t;dGf{2OPRs+L(cdMrXQwW@ah8$nj{nr+62@Kg$Fjlid36_MY$kv{XVl1 zG5j_2$GtMrHvYvq$fkGLC-~<#%YK%Ew3KVF`SY7UlSH#dzj78Mcx4j{4H4_RaRkBv z{*$dc2E=Ect_Apex)$K?=~{rlr)vTJdh=i-Ql-vpVA!D^l?^-8sRChArv$j-Z|Ygu zutS|I8+I7o9Yw4nvi4_a;JpA%55nXb@6E}sAse~M-A#wNVk6{gk~jNYL7CoIbG7;B zI^QyL1tEH4&DG|g46Qs@FUF&Apno#7g!POz1ghgT+xZd8z6Pq}NmP#Y>}!toESY0H zOBS)-c&fv>3VP>N*rGbJahb`r*c_=y`b+0_o^pydX>a)eLctG%Cqq)l>)_T`fS0t` zrjGA_-ON*^6)4X`kym1mr#uyqe~!gbb8k*tQF(n_f}Vo<3O%jU)6Gb1EBEyGBD|S# z7RNpZ`zB7n*lIN(Yr)J3y&BeC&Q{Bj7Ob2~22Krc;6zz(yoIrt8E;|cl*Z0%3uCc_ zBSyi(X~r`38hxWJ=Q|k0PBzAx7Z&bTukB4m z_nhGhcjruAxGg>C*SV`WSH9lVU*Oz zd<}E!uQr9b-IOzkPP%J?>P>HXsVil*xOy|77B4Bq(^Y7lI%OQbQ;Toa`-6D?GvOFu zRq6g(cowX}i!zm75S8PH>3)49>{q7}f5Yt8(XYTw_p95~BW{InYQJLZx3%}Cr~CDd zLSLP7{0*~Tk>g-Y$*R)J*!?F`r~CEN>{o1AxAsD}_Um7GHF@XY7&W=)hdZVw@90r$ zctNSjhxp)@@mI+3%%%M6#|Jw#`EK~&peEPt3F*gSfEB<1AE`xRfTbqK$(z*VOGA9{ zZc}SJHrUkP`{4Y8B0Q+X5A;>yvifviyQslk%rU?)s5IMy`&Bi=obM8x?;@P<0-WzW zoNvoG-`#M&OX7SN;d~e1eCOeOTYb*gKPA2?w%1Lf`I2+{QBR5cCwTkk89_)sDNBs5 zCBq>G34W2$^{Vi|=t{>-*>H%#u0qLhi19ug!XakOGr9@Tcg{QedUMC+#(~TA+HyTS zKG93V5?ro&1eY7Mpw?zpF4Xj+aMHh$8a*=T<; zi55mZX>Lc8ac`OHPB3TEhBW9+;@%T58g%Xs>1=A}kf4_E%7bud@k;S9mtH9z4lQ0O z9_G>?X~JCkBTbk~f20X>xsy2@R!bmVlh0`HP}u9ur35d&m2Ph7N)K3>hX!|4>E9n6 zc)^O^c&EcblP(Vp&M|TLMIIVTJ{xq$G@MgrfmT@^LAvay&ds9vQ612oGX?n*>l;qv zD2{bHjdq!9YtvYGQ+Z$-VPBcX@~d2zY8po|GSg{%71LOF=y_lo;cA%1@*83mr}6v8 zAXOuLIF>hwk8`a62K9~>^dNnXK^vl3IR>?4jzKM%V^B-x7}SzE2DN04K`ohMP)imu z=!lo2r6Oz9kkd$ME@Ol}SNs6zRZCA0r;v(IlI`iaClH7yw zN{?IRb7A3jv?4i%MCQcP%l^%2@$%fOb~92|Z1{^u?t!z1lW1=E$!*aun2d>3j^~kv zXqjH&De)zi3^VbXTZ4%uQ5Q;zb;;ez9uw4$vSM8{*u-v*mWc)ne8t~Hh=WAUQ+6MdO z`gXNm(6_7gq)&-B%+a@g5--=f7%NcpksXvvZyh^ZFRpaUj%aq|t9m8U^hgxNqt0GN zoP_3$MwxcVO@#ak%SIV9Jl)#m203p&j5zX`jhMIZO=t2R)60IJ&H9P-sN)8`RB23g zbK566l^-{%_8bK5dY<^6!{Dgr+!cQ{Js&S1zGOXT^seWU7z*ZeSv_X}ucqhYMP(cI z{71&D7Tc)I6O$`xitJx>^_zt;V+k##Ksv6k0nqYCb8 zvs+*nB&PJRrJ$i8hKnSqV;4&>!=foXj1CLCmhNymXLsAhX{hzkgV#{+5$15e?iF|I zqT_COFL-TsOa16^?ZvVKQOWem&#AY&y>t!_eY0HcZg2%A;R;NQe6Pz2>9y(ZGCf~m z5Zf3J?^sGp&BYuxKJIc_h!PP`A^FpN8t}kUxc#zJ&}M6%>zBI5z2=hq%>7;8q(_TYBYU5Y&3+HE=rqrgq?T{7vn^>3Ds0;B>s* zX5e(Z-DWru?{~JB2jEt9wYtSASnZ2j4LWC?*Yz80s?(?vL}F8=b4GVAo%1}5(jw*Y zVsKKz*PY^4(GkP8hO61T#Gsn?dAImei*0mCTi%CYBWbpmx+3CFy{iO0pT@Cw9{x1A z9h!wVZFDg&WdJFsE%?*mc4!vfv;ouV_)|D<&B2h*p#vqKLuP8(XHMND8dqwH;2^yi zP%+Oj;u2SC$uL*`rgoSs|7t*(D}Pfv%$2{X9p)j*oj zME1AW!p`!y*TT;7hOl9_yc|BvmRCTB*%Aj|kTrP)beJu@qcN;RrumY-c<4T;ZgFq~ zKj9=NPJXU#m>|U^rG#!2h37g;aG|i6ht3SBlsQUpSTE#3f$WbBnwS18nLLMdS)SwO z$;uYk^BKQSt4#o)tGaFi~)mOjKDxJe?@Ebm@BhS8zww zZb>d-Kfsdoe97LaheAcf}?VDXUQDh zSu#g=mdw$eC3AFV$v~XEq`ipl2IPdgsRq;F6uR<&XL9y%p<2_T?|p@@3EKNo_L9OE zL3{DSG);rt5G-@821yEH_JaObL}#4id{0;$=*zm^k~H#1?b>vS{D*7P68`wh7K5Z^ z;8Mk8@sy`S0oI-l1z3AJ6kzS?P=Ix3BxzCeC4H_sP}b*4C{@xI4$~c<1L}V@#7t(!guDyZV@K>do1FtSHA@(qNna)dLuC_KWeOfXwF9Z78 z>AVQDd`mdr7iC5xDAfJ$(5q5g2+87jfag&+D}yLJ7!pno-@;t{{}#$YSnkoP|<@Kf0c`?S2)vLRJ z3#yN9T|o@*LQscyA(-iMp|Lwpd2?00AOS+;lu}rCtp;tD2@{-RYZt@!IIjrm4FQ_zzy)MU(42o*Z)Ggt=}PRab|(Ury_&yy9+}Mu-&-Ao1w7 z>28OfFEfZ0Af9@{#rxeSvDal%7VIRuU^0p>Z>pvHB~ggFi%#8@Fhw>`rtWgHYunK# zAZ*8m196xI!sPiQYnVKLWDS$2OQu1pUN?zC#2gq$P+Mn5 z4C=YmlL0-KdQ;YOd4__iPUpa(>QGtFr9KVlxzsN&R0w)5(}o4UgUW72oM7rn<4|xt zCg1XG3rP<20*69vMkceKCiW5dwx>Jojj+?48f&`Ky3#05cN&MODNS>P>{8P-r=FVb zw6Er!_B)$naIF+ zcqTG19-fH|jE83;1LLvRagF=n8l^UBdbN|dMyGZX*XYzvu#4&%?BbDHBz941r#S`5 zkdc%+Y-*?NVj4}wv{Q_t#n!|pT5MNe0kvCPqE|(QH?8-=#G!U-n%Zf<`&=-K@_b?& zJ~5a@wYmr36;s%})pS2v2l&Kb7S)1rtoQjuIAAe}C7UR&b*1|pljv=tk`j~XCh^iT zi8|N9@Q1m2{h35{=yhTeW$W}xtk})0hz;BNe!sC z?tp37J7P^qhP~tUeqrw*2`!$ubQiQRAO2cu*gJa9o3CN-$Z4WuA*BAJi&DgxmoVoP zHd>dO2<|=hnkM%Hk5uVoYKo=si@HJakd#2y-8u}vNG9tPOW_w?;XxTuD5YyWbH!i$ zxr(Z#;d6Ytxmbcjk4AFp(+O~zy-PI#j@_P4!0WaH92d5k33z5K3PR6=#Wgz)8W;=v zNLmN>sS7Ctk-;2fj%1E~ESX~;OXk?el7VtBy0U>9EV*QkeJpbk`yl3WIEb79``|Aw zsCwjDl2kL?0$ zk5j}iUfyPsfcAeeL8w@rRMb_{7tSC6^;8g~8Hx?i6rc;x^cEfgnli26Yk;Q5^Z}Y4 z(+6mJOdp`>F@1ohd^HT?ay9QXIS%WRbb1_1rn5*@)CZ@@35eN-ljCxA1N>{6oRCF* zaT1mAi@M`9IpG(hJtMGr!vth$qw5T4Ho)gocuRe-HF!JZJ%#sIYJEFgy*YUQ`bd0Y z5_!XxIU=!SK+CfZwdRP#zUGL;k~t!=WR6HInIjTQ77@uXT1H+=i{Uv`#hqHkqY(Yj zzt{!~-bc&xd;ocH{j0BOsY|gElA;(WRzlJ!Mn5UUJcD5ua_?rhZr4F3q2_hoTNYjx zaxUU!-bERK8bN9v$8l>-Eg6;zT&Bl%U= z=jUeKrOp>PW3(~^`j}M$^HZou5(Ufg@%T8);aU5R=T-TpMScH)-YN^AK?*0Z^Iq@6 z6xUDFJH7E8r=43p_W*N{E?dH=kj%+Yi}A-C;G01jX>T*&CtNlhS=466`B!VB0-&uH zOAj!W}3jH*Sr;-Rg-Z^WvEs;A!-}JI;|L0XW-(pw&f&V%CGr>QIqzgo&h3^+o>(( zDJyMk`+oFS&`rNv)yCh%Dw#&@8XQk(SnefS9(=M_s`^ze+44wN zPV{C4cUyt%Lu%B*3(!|;*`*?>BUP_Gi9u;;tyo%%>0I8$SY4E3=cN<9hU;SDSCEDM zN~k!jl71zT?_A7;>nyI$CFY6leHRmtX?+*n67aRx(#Yj< z2Dj`*Zh03*;JX_u4Bc&82Ux~#PWwP)hdLIOg=+gVFsz{kH^a*Bn0Uc9z++&(+HVBp zg<%cI%NuC|f?)OhnjM8QdH{29?_2Mb=+9c`74aPXdC3^M?FPeQ{*M)@J-2i{nysuv2kJ4K@rE! zALy<4a|B%d0$iSXN%058I_D+M_-P$!n#9Pki?>Q7G2Y>b7YPp@59{v0aNM<^hjPlt zL%af6LoFQ$-Hj3M2wK9LD;$vMhlSyKa6+nblB0M5O*Q&P-vg^gFh7NRS@)u%juGxAm`hh z<0l^qw=t&4hr-o#rFbaBX^A@&uJ#XwT7wPNpjIFugSfsnbR4uw!ilQ|bi>IqKMuNO zhJ0VOs5)-&Sk%`j)eaC32h647L9p(+g%jEny_P!&*5r;ymjQio-6|d|9y(M{S7jMF zqoc0Qku+?N)V6d4L{Y|VBHIJfz^GE`T0*_t#ZAZtx$B`=Wem%x-rpAw zNJup++=Id?D+#IQ!r@Xvs`jfCQkl@E1?;V@`5`P6GXp5ogHVbiFv2!k^+Kx(qM`zi zCLsVKk~C>7wY_|-9-7t)^ui$%jQIn!yHCa$9d)!8%Xnc}fiY4$!b0viZX<(ar8Bpf zjtxs4VWc_|1|9X$W!f0~f(B(R*c@!ssvDp2@vr-gS2@|gCNo|-U%!SkUTWtnHsb@W zzL93U%5ms5neo!0<;ao7RFT2x+2aMXikov??E+`b62LYZ zH-+6RkON>>mY+{ymsVPLAXZ>k7T;BZ-2<0=&$3xBL~PbM+pHGVX64M`wk&we9~9V0 zZktBP0QGFTnHl&k%5S9|YI%ZDSb2ByX$+9^t%>H3ZSK$Ve&>||1TxpXGJno@yRyqs zBl}lhoa=lt(p#+GB6|aNGKS>Yna28ZRBL}vf=AwiNw;+n@oBVvC^?uMtb<-jbhx$F zdT;Hzgh~~(T)>S(r7%)gkhWHOy|7=8eG;&P{<_EW?w_E-b|-KAgMGB zjfvAxV#%k|z|MJ%c0+UGG?e({%}>K0$8S}n1OjS|CN#5IQULkv_-8_jY?(NG5d|=g z(2kS2IT^5_oln&x$y$*o3ByL-&6cr~-3UaOV7tcU5r+*U$@ocpw49Cy(#b%&K9Ft< zq-O@w&4F}lAU!*fo*PKF2h#Hc>4kyx;y`+7Al(^AFAtUu z>9v9Mu7ULKf%Kk%^xlE=zJc`qf%Jh=+EJ=3H70*(xtO!B>2fho_PSud3sM*KTyV$*m%HGw3$Aj(5f{AO1=qOXoi4c61xHfR=|Ir2C z>Vp5-1s`$2|Kftb>4N{w1>fd^br;;~g1_a0?{L9KT>vpw=TEud4j23%F1XVLA8(JC z-W=Obr#JfQo8Fu{OsDs&aC&oUHl5x#`}BT)B>THJ1nq5)=*#OxC`R?=^}=eS`to{h z!S+vI9vzW}^bi`-vqcT*S<{dn!k$B}vJT-l9y^#QOK<94l^(*M1y6zMtwY{#*-J3L z-rYygkq6pFwz`fdu12=D-c1Siu6HjZpupt>6u5$b0*47Ga3ui+pz zn5D?%)0_5S8*A@hrgf)xwV>rv*j780tp%w|9d^MrE;xp#vB=$d=GbUjP?_^LPG%RJ zbqk4^lUUZED?mA}Z?SZovo~=Q6zz9{mNi3%S}yyAs%7iLWq+k=SzWswX!lpEmYp9i z`&iYo=G?wK-Y-@ytM`2e`uuBE%dQQV{ZiGkdxy(DUbSpGT=v(imOV6F_BX1QJv?0Y zH>;LCGFl)|03+y1jz{OvMA z%aY-pK2zN3%@I4jWjh^viQ%12*?gyuFMIizviVLQU-pVIW%HdrzU<*KW%HdrzU-A_ z%H}(Ld|3?oN5U%K>Ep|`$CS-?`uMWTRyMr?EPa^iz7n&=Ih-xXk?pd*JGMQ&ypitZ z^FBWB=kozRr+mK5f8N6#nn??3a#^m`H`DEMuc7NpXXee9`Ht)mw*%fDovHVhvfqV< z^mZy)gR1np%4RS8Dz&!W>#g_RW|?EI{QN#X0#$IP*U5fU-ipXPXLat%-szHymOPlP zQ017}%xiC-I(;k8sU0HcV%kmDPV{!H_wY)Q{ViS% zclGbeK6#pY4`#QJsk=^xj>cTK&=YY~c8pl!D(fgCrPPaEYMe6aAzl!6&~T62IXfuJ ztt-+hdo8h6D0_>Fs?aXi>_KamJ6gST=ZW6@dapxS9^%GhhRR+;Y{8YqX#qED_=+zL zF6QX#5n?Ou>mo1J^b)?}q!bfaeLYNUoBO(ycHP&t{?|jqR^8XPrAOS?z5TCxA3Di` zVHAd0b@QBpQxXI@>%En%c{{5}tU_;_ECVp|UBN6By-oC;bWZPW!$+d@yLpehB)D*b zf_Pq`T#{XsM+;x9)i37UsuYW1cOYh`BWFFZ9&%z&k8x}>g#GApl%@9yP{2m3w?@>Vf9tFhjQ9%421w=)+V_LCQHtnF@ zU;`Z8h+1OCQsB`dXPV)7G<}0di_$sIqsf*|6Im`BF!zRK#iI?B4VZhwvf|MO$_C86 zVOjBL17!o|-mt8Aw1Kh#b8lEyJla6nfVnp;D;{m2Y{1+bmKBdSP&V*r8waR4auiv<=IOM;j;`c(e`6iboqL z8+f!0%f5#b+yo}=D&6%fRUS!?S=i+?j2POV#QM9u?fJ72yF647w)&(BxJogMCPD>a zzfY=wS6#VI%X8F7uHtuo=@D;FehhgKcgpJeZ%i3LBlRLVOa_H?*tG8^d6wx)f zD&wSxABL+E|3dUw&zP7V`XbMmEh(0YDccDrq(rB;ChkqqYkECnquv&Hu2prpS>U-M zF%=P94!qT}YtdLHu{`3f7V+=}tFx5$j4NBS>S)P0K*w|S(g^-VJeM(Ws!TlBvh}%B zV4vXaTxBqpp69|1JY~gm8Na5o@LbDQ$g`4;)q`K_rf)mZTjqwj=ef8KMOpD&#;-;A zq4Hdnc&^00isv$pOrFu>6TR5;Tx?0ta~Ve#!8pPU>Z^Dz_fwW#5l>fHigh^Qzp(1&^cc$=@-+Ls4|;I z)vykZ-?AP!e#`k(l?t!Rt#akr?s=+1Sg}tQQ1^fHWigkMP(q%jqh zWm8cZoCv4aA(8V`R5n&vHx-q&)2XP;)RR+DnUfV>Qc)S+e-M?;ZBA5%Z-+!>rlPW` zRasWDgv$@m8;JL$u}sQkbG^j|Wv8ODsi>?Z)G1h4POZvHka6O!sa2Wj8?sz4IbOUs zwJMuhl})Y6a$_`9@KdX@>yl&X)T#{on!uxNDDIkCmGybF4PiC4D(kB=H-yzxR5lfr zO|b2oipr*^OI%YI(ln_j@=Ud8kRrgti^p;%&i0W+Ik zz#L=UB_0hadhs%H;L$c*SJMla=1Zq^O;>;+67BgU$1esiKS z-q=l4=Cu`-{lQ-6t8C_=oO9%lIbEpfF(iE-U2R z0+$td43f)=?F8m(%zRwP4aPVh7xH38fvzjiqbW0^>!kQo#y8nq%1IucYr?&Ep4yW? z4!iu$6DH7CZ~+?tBlF&9A(VFS~n8+5EQq__BM( zl+6WTFZcePhZ7ll@6$aR4_GR=EYq_;$Nv%I25a$CvF{SuVBL zxzygq`Os3D;vJ>S?e(7Aqu_64cLN_pbuP5GxzLVR9zJj9^RoYZsNFrn!_ZpXy`7-Q zUem6$CvT4~MBz@m5-}T8m)aFia8ZMoo!%~`%-s+Ua&RZ4rKOwZTzMlE;k-uo+7(ZF zSA~o1SFZQC)t=JkmFX@nb-#z0U1x8)>+B28RnUrEXTOs7(eWp=m|kVq*|%9Gw6KlF zkH&{6x-GquN{(42y2jqLUM|>;^cAbIx6M^Tu|@gqnc?#IHp*OUWw^fHw9E^x`4#6f zXg)ox>+1_V=O|A=GrUz3R`03v$q- z%=zu|!ORzv^hjF`%yOY$4OkhT;w+RIyjq^7yV6-ZfX=D`Wu6^-5B&l!c&dJ06u0_) zk)0EY)PP^z>aU0T>tpLbo21r%J*KVxw?mQk*diZ60aLmDGfBGS`afT_{xi5KsNTTE zINk3Wm^mC@OaC>Br7()6v7~nh(*ylh-c!Ami<@fY z49}L!UDO<|z~nA!hq;TIgG}Kr3V|U+g$uPiWEix=y#*k;nI7DOpA6hZ?SjJL?@9Cy zS}1x4@$3;mJVj9L|A> zWKLJ*24yu}GwQh0DxrS-y{tIuxYH<|sN=FZdD(6~bOg^itiflXRYEbyvZ&)C4rCm4 zT$Xc}?M59vaW+>m>%HalV0!pOuW3#JMID>zGQM6!9Sy7D#Kn14nU{x@R$7C?kN01< zkT#t^m1fA@9GiQ8dbN?476jM)wpf{n7VY-y zqJbTb#3!jyNbf+W9)^+g27|+xOW{o_!)etKdTZrauX-!8{!NczKe0hSG)BQ1j zJeV#_&zIBlB?9W{`O=-^r{~MBy7Q%65zNc2K(+HF+LLC;ou3s4y{VVZmukVvR6AeN zLQ5@FKVPbW3Pr;CGWb!be!f%#ap=>==gVph6wj9x8wlsiY7GpXFV#vt3?nCc9>OQCXOPGoQUGG$X`IgaN>i+J$?&4NEU!vD(hTIj;mukVvR6AeNLQ5@F zKVPbW3Pr;Ck_PPZarN`18i+%mHa=fgYoK_(tk^&}Ush{i=zOVG>R}igpD(MmGIYMI z*h)BGR%>PGd|9!TaK5b8%Jh6WJzq}kW2g49dWcdldG@CEvBjq}r}nWyBRRE?{Z0&n z%1?itncByWv~iuDFQ@0rx3GPzF1^j`0$a87CD+}WA$P^|rCP8u)y|i+&{7N4&zEYT zLXmL33^(?wpD)!w9Qw5J`LbFA#q(vw2EzHWS_4DpOSMuD!`S$IS*?|!^JT?W!uhgV zD?{hYimin6WwlnupD%yA9j%8H$ChQB=QCbY>PXP&6Jz++|_96mg8|QdFT>F zogcX4lr{5Pj`gg5GL8M~zWT=H4elrD@&<)ue%hc=oy#H=3RHt8SB*DQd0e))Xcr5JeuNt~x>&#~tSfepX`A>ouEVF>`nKjXG+4Bj zuVF2Zkv0|6N!`ee$q)?F2Var@4xrZNb{qZe*d2sLYp<<)Yq~eJ7^+wtTSbSfb%kqF zYA@d*gYA6;fX}3DnZT*~3O(dzX4=RvuT8H0!%WSRt}?jlSq}~Xjj_GIhU$3@7HFAK zUZR_3V>9cL0{5hv+_lp^sad-xg#b|Zq)tcByZyrMSNU`D&MjF~ct|^`uxx-zb#y3-PtMslrlc+vKiA zH`-KTsk3eJLgh`RB_8oF=3m0UI-~DjpRs#4EnT0P<4U1^u0uQhtI6{$Hm&j{tv9>z z(9vCl2DdOe{kdqcgUic&QP1|0ox9uqQb<0{5s)wD7B-tn=T3kD7Hpl*TZ=R6y*byS zU33v$%P+bN*1;)&CylMe3Rgbn+32iwo-uX}ROlr4x5M>{3JuKJ)?Mm1V2>G3rp!Vd zY*oRmLIbchx{;^5HmqpG&|1;$DL${WxTpC1mE`6emtGx^NILe_HrHB{#C>0 z*vmD7rQjCvxmq;C(rWme7Au%o7V)_nsL;uP&#N_1#OG=t2~Ze+6EWcPY7LCW=RXzI z;^UM4LIu`NW^1=EF4UqpsW)btt=YNu{DN5Tnu3U6zMaJc?RJ(B%(b&R!E8Hg5VYFa z3_%l50t7SdtVPghXR`$Lb~Z=d6*@%aY$Tw?2vMDW${Ibv(v3cV_Pt`<$dQw^Wf zVg*e{5udAp3Y`r2yjlZAe69w}#iB;A@iC%W1EcZzCzhhtY3CLv4syLU8kbzpgn#B{ zuC5&BMW-RnmPEja-#5}&sqde{HC$}9A;Ll+>?OR2L0#$bqic~Lu^kd#1g$RfctunP z;qFY;%xfCW9MyU`=I-Kn&6l2ycST~)&5TzP+^vsS3!w6NS2i==-5T$FKHj~>@zym; z8}I7o#@lP%5Y=DRh!NRWAMxsDM!Z)eUd%_lzc}KV{)l&!MrxRR;IK_+ zVas~HKgrhb3T~xZr8UsUTUCecH*&>c&$~5HG54Yt!AicccNC}E5cI%St~zG9w;h4I zs*ZVOQ&a8ta>X(4(3p4UV=isxwf<(_yXkpedv#;R*X|~k_ufs-^ZxdfFl*8ajL4KQ zS7f}Vgn7^u^vy$nmU~NtS^ciyk7FERt~l&Kn5zvW z5aw#RH&2)=j(Hqmt~lmEn5&H<5aw#RH&2)=j(Hqmt~lmEn5&H<5aw#Rr-a#YV^hKm zQ#w5{n_#ARa`EBTye~SFjpHzAk5WrZ=Nt$9P>EBTye~SFjpHzAk5Wr?{ELpPBd#e<{DRG zI5u^9ksiH6x&8JCUGq8@qlmS#->BWnbsXIkicYL6CFQSa-J}Q4wQgmV*9{TMU(3l2 zpnbfQHj`b4^170KdM5iDx2BDCyT8$ktXu_69GYpe(j=Ev)F4W+NGfV6`=b8EmqBHp zX`RvEX{;*+2q5J45SZIC1W*TW2?DxewiO6~7q$Qa(?i!C1Xc?WKp*WPFu!F8un)HY z0VgWo8Vq#dZ1bzYG}AK<20IEcK&ja8hk(xlS*N7smAbon=M0mm>qyb*o_Bfx&_T16!dbWDsdX3yIj91!+~#Q>Sek;3k+ z0|9EiH6W~Q5eP67TLHq9PjFZBrhLMbPq-nP@(J7-ioTOWLh(X)6+Qtyo~e>6@CnK~ zz$b9uaZ7vx<*M-s^%9@pi;X`uY@JVFa24)48lRx710<4;>ClxkTIGqjA(Fq05l06< zppE&2O~PS|d_pxK7@x2eAdKM?HUvW86E+EiE%FJ~fM9&WR)8>uPuLI$flt^Z5T<;> zluvLFnDPlzJ|V~f%H*jEpMYA?G}{&U1Z5rI6R-r>5}!c1YJ5Ue;uCza*Md)Aa1}16 z8lRx71AKzFh}blr;0LrZpRh?dY>`i>1_a|1wgQAPe8Pr62zK)GssLZ`$h z_+qaGpTOWMTzWP>L0Jd*1b?M_(|m#-(8heiCgHF}KA{>Aj8E7K5XSHc8v-Hl37Z7M z7Wsr~KrlXGD?k{-Cu|6Wz$a`H2>aV#A4Qla+=zS6({f*RIDRlP;a8Ns65W=aX{;|t zHO`vvtz8%2hfqx61B6-aC^@rQ`%6(&Kb_4WsdU#+;}hK^Lw9+St&c}dT;%fUl~?IjpD2?Yeu5A1!%tjOE1@a$8po*YuQFUgbNeDLGlCzP2BT>iw!1Nb=P(kmj3zAa_QM(^|@>%n>s#bXlQE za-5A|j%j;Mty4KzmSs>AQvs><&z!mAJ5AG{+@^H>gLtmghA@AOM+;b2lmu|#CVb__?vlQN3uA|p8Y?Ges`$2X0BMHySlh-Jn2jJQux z#yMr2o0M_RWt>;W`AHe)T}Ip?i9n5&0QH+lyPNJ#ub-wRT)<& zWn6U`cPQhINf}`!)byG%u1(5_dRrNHE934-8KJn!xK|nXPRhv9Mj7`jq>+ka6z=e#H7jPltxzPPF}!; zjFT5|A>-r)T*$c50{(Ix=EL}#nwT3%fjEww-@vRq=`%L0*sE)iGKt$5nF*|}Ooo@m zX^hNdOZw^>=M2YXjLej{nv7==hcPmft@*2K9K9TOF*1`p=+P%*YQ$NL%w(J5>KaD| z$5o8X!~-s>$+#YI6eBa)uDQB4tD3}3jLbCaYBIJ+oW#gXwymz#@zrq=BQtUGR-cS- z5(hCdlkK~!YYVDL+{4IB3$7+(ti(Bt%w!w$>e`ZO64x*?6JH(2;Q3w83Ojb;&*CY+ z%Yke%&gA3jHQ#G2jd6doth) z8Q-d0!sHeIQ;jIGqc!rww05L6V-IHm)ST88XBq(J=u88^9Gz(Zn4>dYO2(lKMK5M^c)9(VhDp+eV*4zZ(0@sg zNBZ>_`ou^gq4`es7`ofiGhi%_G#=7gzo0~(*Ph{fR4#%C;^b&vs#&o~1d%e{p{ zR_`tR+xWVRy@iJxpRw3mq(S2|4)=C#Grfhg8((*^w{UmkGZuRbhsWL>m{!s@tuqxC zZh=Y~8hE{!h)pb9y3E2Ik}?f1+(O18aEBLeA!8A^!wa{Nad;_=UbuxKMF0;k+(O1; zZ-*CdA!D((!wa{Nak#gm7jB_QvA4quw~(>e+u?;<$XM*{@WLe{3)iN#%EB%1R>htU zi`feqi#;6{vllWJdpay;FJ$EDiRu`aaxB~->C*7REo3Zqd3fO#G8Vf$yl@K{hnK?W zgv3mJ>O9bUMFjK$s#FI+OR zaBW&=+K)?KBVBu|7fCe!P~9pXY%}%FXw4&RcrT zegj=7eqnzH(O z=Le~b-}u&#Qo5t;gg{aO!+&4R{=D${cPEG4k2ksC!!G#ir7XuvscXn`{6wJ!Uv27& z9wIn>G`>ghA-tFHy{E5BzRd;Sp@H0y58XO+he77ffnV?B*Fr02e1&%t9*$Q#Kh01( zFLOj@yqz=Bp}P_Cja$*gQ}>hlLuxg9{>Ofgg0-GmQ1Aelm}#YL*0wSqwf=k{GNP(_ zuZHbIXors$wQga3@gM7+>CDeU1(x&mmHUBZ!x0VUQVjjZU6XP#XH*LPXMS}2FyX~m z@t^HgFOrl}ab!*ENTF-swQ5}(D+MfeZLAcq*fr@At8^_Ou|i%ke8Y!ZA+V8|id_@( z8kwosH6gA-CT&93T+;rEzr%#yKg^>SZ-Egg_>iC8yR8*J_;~pr={$wv*}HsV*-wGex{T!OO+`t=+t* z$5zvoJI(;uK`*3jGwE^q_cS&e2p%xj$8N-}J+zuwB7Ok$MLRsq*RI(2xi@j&krliF z;r^ph)Eu#9!eVJzr_Eri$;z-rGi!^+mJG%f`SQSFhg%+cIDTrv_iEJN-M43-i@KL*KNfYb$R3TlhqHeab+63+ORf8k?E9kbHQ9fy zb-yONJL8r`^l)gBm0S{yEFTvT6ZmbuGZa^{c)|kJNxCRyC=I4b@ygxqVB%z??&DI*>^?V z1Im{wUsw5h+2^C~!R-Hxy4PiYS?eCsC@)ie$5ivX)uHRNvr+d3{?p@^{CJhd^)|JB zL>aHnUJ#t<+vNh=6>9jf;CUs61i^B4_rXkM0C^#`cbtM}ZH~^=g z5uAQnaAJPeG;zB$kGr#96Pz9woS4Ub>e~M7?+H%iOO>yye7)>Tf)k75I?e5&>@mR! zKpfNDzFQ@(SL}xDlaXErrOm6<+}kw&NB9vq{Wrl0a9<8Afzt)S2`FBfy(BpOkl^(H z2~IyOIQ_qZ(?1ZL{!DPXS8)1gg44r-(?1uS_%N#ybE=@7{Y$~=cLk>(5uE;^;B=qh zM80L^TT#Ak*}oE;n3_2IEy0O4>Pj}UpBJ2dL2x=RI5B5y>c%d0e0TQSg42_N6MfmI zPVQHq4=7)%d|l=1Wxpdhv6HULeo%0FLT~~G#{`3S>$mGQ7dK=-7wP#_X8kInz==h0 zMDu@j_UD4r7X&9(+Z9^>hXv^?v%e6WepGN`seVoN3Bl>V3r-C4+U#Y)iBTWTJ}Wq} zahusM3QlC6)h3wJ-f3sQFF5@>!HLbhs5QH!dF?3QvhuAc-?r@E3QqJT&VEmDqP4n` zjqKBc(<6e@X9OpDu%@ox}D8j~LgTUhVMTRYzk8YWg-fbAq?SoD$q% zTz-1}(OAmnuND7VOW$=ghJQ`paWp!@aO3}kH+sI zICM1runWGy1vk0ieW{pseXjAtWk=(`>4J~A;9FhrEiQojPmdjqzm4GCN8?)wlA|%4 zyMi+s6`}Zgg=c+u-iH@__@oan`tSuGo)HfN9XRQNyYw?j87wP&(1#EE@G&1g<-=!v z_@WQ*QgsK9#&@_thXW;L2&M2LA3oy4$9?#;51;elOFq0?)$KhR-{}G!Vw99QmBMpA zeAI_e`0yDYKJUYqeRz+ms{A5yp9mwb4)&wsxU z9}4At__)IE(fCp2Cw#((&-n0pAHM9vdwl)}e0VOD_u&%?G5&kfhZlYLf)CF$-1mEZ zc-DvKeR#o#Px|np!tF=nr&ONsSs%XW!@K4`toWdPP<7ZT!@OdA;?8AHf_Xm7<&WDfs@ChG2J`UvmR?}YdH@IfCw?8C== z_>>Qy_2G*?yi4`%J{rHI`UvmV?}YdJ@F5>Q;={*%__Pn7^WjTAyj%6{IvT&M`UvmQ z?}QKd@SG1H_2Cmfe8z{*`|xES-lO^;68HM>tPjuo@PZGY^x;JxzCb8vU@8l}%I?jh zXZz7~9>A#p;e$SW*oTk#@F^cY>%$ibv%9E*GOGB#Jo;cinyvyt6(D@bhmZL1aUVYI z!{>bX5@B{XRZvD1-=9Yx>POQBK&b+R=Y06651;ViGd_IYhc6Rm_fQ38RPh6O^jsc2 zPZT<%3>Wg~lX>)F9(^H?o|)|zyEl)X&74&qtEBjm-Fa7)ZmLfkVntu(MR*>6M6JWqR=QkLLNOc*UxZo9zB~!&*#w# zdGyIVdNGeaMZL?ewP*9_i+S`e^7;(-<h+b~mq#DWqxX}y z?OJ;%k3Nz|AJ3yt=h5f#=u3I@ZtC@w-JeGv%A*gEch0qTE{{H%N1w=}&*ahP^XSWY z^d9QfOh+DbJepep7 zJCELzNAJy}_vO+1^XLP4^lTn|FpoZzN6+Qa^Lg~)Jo-o;ebhxW6kh{>;71r^z4N&l zv{YY+Wx*FN83(zmhE`jQYf+4%tMljIh^)+jWAMSe$E(nsE{*D(D1(hw&uYjY$t*3{ zTJ|w66@R=fdmyx#ro9Aiu|e*R>{Fj!?0iNw@$ruA{y&}Tr`EcX&RLTvS`Ww9q6gxH z?d#ZU-A`pU&n@W7*O!;s-u6ww{Nb2&u|{br3aLGIlXge;$PX6V`>973Tzh=CmQeT} zj*nDoN$s=_#~div(zyNEMznDHVA8E0Owhv~N)9Fm>$h-eyVF5USkF+f&AI-?T3IM@ z?tiYPrNzth2(1>@kJM^6c3UZ5AFrc*V&7}s#o3u1ie&Lg1*WxZY1PHqv+uGTNyesC z)`&~nKAR87#QNu(G%ZwI&pO$!{>oxH*SQDlxs0<%japLfECgCJmwn&FE;>cjeF>% zfT^GyVBD+SPWIaEonM|w7X(J#4NXpR9v~s~p;TIfPqlQNhUSPtt(X<*D^w#LDAt+P zI)4`P+B_|y^8@;5G@{O5(6Z&7?R?pH0@X(I#syotePAp|J})@>Nu1G)NpFta=MX(L z_1)-i&82oDlVr2jP1-aCtJ8;@u#?IQLnZFZQ+@FFzl08cg3GhY-2Nv`UO-@iZTmFJ z%dvj*<`ne6A89COvRD55E3Y&^cv~;o)8icYgh+s@APEbEXi&-4I${JDO>R%; zNg>gUg~kv?CUsdkUxa8hQ|m&ihC06=@1Bq3Q3N;gz&5-0C>m?Gw~z)SI3M^#@+G#3 z>0lqLcN?+a87W(=ze1QvT@!!WO<%A1?WkuZ&X`G?Y=B08WwR-p{HVR@wgT|1r>)Kp z-kc_MZb7ANZ?IsrJR0<9hNc+;ISX5)aXY%YhHVjjG%a8L*{$}$I&9I;Xwj=xj480f z;QzE`vsBZ9s25(OTjh8Y_|?-vTm}Hd1hPMpeo5e{pGo|*?Az!KGwhrOO19uo!Iit{`|`tV|J&& z4q)$aW;}h1oM2L9oJs#zOp2`MQ1-R@@#MI8g1zh^hntLucRD{DgXcoF($^l7X!MZ= z@9{jK$)};BwXCiS*$m?jw(nf$cll{VEy8jw)$^@RQA6w_M`I~m_;4=zjDqvgXMVD` z@b2VHlrFrl=KuT+mgH=PtdQ&6e=?WO0+qgb)Uo51dAQHkS~vEU96R1!09aazxAtJ} z@1_Q|*RfVtX>{@3iBv$eEp-!Fq&7m|70F} zcT!U$_pmrTI0Ttq>=G@v@?n+4EkDcDwzS~?j$?SUCu?j}t*TY_4)h3Y!koM5vrQ)cNb%%uxU-G{CxY<-yJ32aJv5Srm#p1mwG-appo;5 z@JO7UP2}Pv&h96?lJIWAy@Y27uOfUYUhk%aFA%rLAs-wlJnuXUlD=MdJZGKj#~T&8Jc5{)PkWRcN$1s?pA; zd|S*lZP~a1B~YyOI5-$6j|Wg57Yf>-rMd%?DqtCP6zE8sP&5c0fGhUE=X}F;sI9Rk zwxr-%wWxGV5yE*Y!qW{FS6A1-;4-($ny0epHqJ(3^EkE~hIzdS-b8xy?5TzI-tIKf z`302+tLy;P+?Xaee$=Bj_;Y^YQ26_gET#=ke2!^_Q-U>0Ze)Rf$9h)3*=N7|D1b=o zTwMp3Iu~3zdpqA<=dM^cPTK@-arW(;L_f%)t9AZE!$u7}5ddfz{UT%= z>xgO;1{j9{#)SduM5a?#aeyorDzTM`WM{tfn;=*1s5txjZ#3L^AqKGFn33?)ZccN( zIuSVIy2KILdCRrg&9_o9SBw-4)vwBGk33d zkEI|satM+;#LCvwW9@WD=My(O(sepjfp`g^0Uv<_3z1A~gPJR>4b4HjYa0upM{k#{ z1mQatG^>fBGAj$~M!tw5$_vr6EHOK*qYYzEEVwnKN$bWsf4S*9QoE8m3hQa)hFKV~ zVRoepOdJ3+cF9h`^>F^8bI-Vw*sZGp48DcSXfdiUKa2R%*ZyW4c(6Mv7_2(_5!+N?a_ z?JxlV4|+tPtX*!)*$z1d?e2of{v6<$K`Z9=$7dg1OqX1hb{O*W!h)UGrqEuOi$OO~ z5S6f4H&(A<#AC5#Y&rhMH}7FfIu{0M!%T+R^BSVIIKo@bxy4PM6b5-c2RYmO*K3fU zW013M$7=t--w+UUBV_Xdhs<2pf1a(q&1bA-|C%P?vxJzml#bM{C@-XuhzUE_A;grV zT<8^IvNaSRskI8@FHCf!Fwwjt$wcqRPMZojnTS~xR2puUfxy3Ej%Kaix<{|tD)%h) zH^u#ae}HP){-Oz@2IaLiTWFG}_xfuK+ie<~75h?HTh#v~KzWx_+6Z4hV2BP`PQCL- z4a16}|#bDE@jdP6%~%YFygn;cST!~_wo+ZH(B z0C~|0Q$h$4UC;{Xx{HMpvP=z zj+@kyXaltP%LWhub6a{YO&qyog4q=JETbvG;PO`6l8x>h7{h?eoLppzOtg-)Ch9!j zaERUE>ALW=7Kz&)Hhv)zgNYq?*CHerQ3CLVHKZTmoyc7{@9G z+Pv*l+7jv3e1Gb_Oy;??exs)D{U6{3~8Z8 zM4aN{TvW5aQ4|@!3Kpdtn3Iq6hk|kT1BLxm0RATW^qB9H(0^TG^g=ZoBhUV+;n%1} zj5R&{qK|R{gcI|_biX?^P|L{e2G7qI;OyrDi}t8v^9AlE!vxwK2m~6>sDbm%6u@vW z^Z}KfKryP*#`%C%i*q23QHxK+0OkwKfwalipK%nSSt0nj@H0OmHk9NLb%xGilzUzF-4IA7b|ao5GBZoOm$@gNqR%wq|RVk!n~4{OB1}_j21b|@7 zX47_`iFpL?*L59(WJanpEbJd>f(A?~*S58S(iHrtdD;p*S{@#vC7N1=KzJjTeKv>4 zY#Acr>m5X9fk^uVc+eoSRDwtXHFFRd;<3`!DWIs!P;K!_LZP!cM4;>rA{fHmpppNBIym`N*hAhR9)=0D23w-9i`Bj!|rh9f`$Hp8 z2y3_v1{;0Opv4w)%gV^GKNcDn3C=>b`Smo)BU%7V2yQUcJuihsPPNZIcET53l`&gXd|OpOGX{TSt9e<0N6cI9PJO zXNeq6&(3Vq(u1o@+fMX#Vb%YT)%c;$uL!C25;k#~NMYaZ)o*lK?sN~c9D|j10E2qx zzR0x4`oVha`6~gi&||pX(LEMZrXIHoJ>G%gf>u@mz4lr{CuxfntQBkU<0e#q88@RG zde?9rOXSv}*JHb-XuyP>8p8QZXTB6gR#}RR`BLm3@I6fV6c%HPC2&A=Sm!Hu-s&y- zGZa5LcD@&v7b6+irdo`#4q2=)NmLWjnc=>r@hKDn&?6S3vJQ8KEbL9|S=v5jjC>3@N?ENdDDnDxleqS#t!b?#sCM>;TI=Z! zTOy{JMZi#6A^}?s39(8`M7yu@5@FR|iX|d742LF`$WY(H5@}6ZBCvO9D_=x`yPpw{)_{!F17W zkBf#C^}R(79_*OCJzcu}g!FLK_KFUquheeRWSjvT^WTT`dV(X6uRTQBGDgnELNwn~ z6(K4VGY+Cas1MPAVm7~is^E`Nt7rR0V<8jGP zu!4}k!bxbwh)FN65~u+`yH!FRGQH9&(U!PP96)~s`t|1se=iaw!)31GtZf%@6%E(_v)e~< z6?Rx1iflz+20z?4(F`Z6Pe-y9v)c2TgT@K!bXc_E*$T89vDk{jq^E11 zt?18tSWG3d!s{n}mS3iZ00e8yA%NIkl)F*S@@rilAUj0GUQiKR!Dtl+9Aq?b3@EE| za7bCzC{v0dwxV%LyMlI7MqD5&))m}+^w|pHLu|#bXtAfOqhS8rYj%f+f;4wxS7JG1RxPM6iw(E{{rg%*51TE|v4OY`5d#WNtg<`a)MnTk2%&T5MRq)5C)dPn#d8|1LRdKAQOC21mM`bzwz`nv* zQjmCg?Svx=D`+-l#SE|&VU=veR`ge(Uw>t`qQCyiY{egrWGlQB4_>3)X2YER5W)aw zJt0#09HMh4vOb~x3bob+jyi&@*egztr&l=H)Nx5c{tzk16_QQOBJ=R4bEjD$)!5?RbRs^PIlfo{wJ(?J~B*ocgh!3ax!I>$DGzsP@v`z9Qzd6!Yz zsM9&KeH*3VX-+_=Z04Pm@o9!_lJxqK+96pQWl!;oRJHl&9nP#sGe?bnm})jRqMBr| zZQ)EjN~CZE&KyTI`v^Q|B0SyH=)d|$DgK`MG-VRo$4&V&OfYshrZ-{6JrpFewu$!2 z&CIi|iPval628H=nmCum^0oEj@$r<%wH67x#+Xm)GA_n!AOh%dT#t$tyE;R-0{~zIlN7wLsQY*&t*0x-U`4`pkMZ zk7ljfZk!vz!5G@-!=!;;dJdMwK$k~xuyX|tmbg)%#0}G%M{*+$h9f%3TIJBA<7{-2 z8E^D84ew3&x%7hp?X7C#1drQg;i6rTH#r6H(JOJE=y^8jlcj0o32x z9IULMdnAwFC*7Eqr8sjUUhd>MPa3f_K2-Zo8KkiIO___7SLy~cQ@D|zQ1D7*D zY(&qvfn{gY6F1XIPXYgGdby*3e^tQx_W>uerYki%vW2>o~Of!-00SH@vPTyQLdNunu=n?0kP%M zz2oPDzfTj4`+Rj%CQ4Icm zAi~nS__NuVxFutzB`lI3XOVmji$n}u_F=9_srrly^-f!2%Q*Sedz0@iE@gBR=l%yR zPiJrVS?ajPFSLU3ClGbEkS(2?MSH;Yxh-T;vV~MPUuKUP<3|@f6ND*$wtJoOW_2_# zniF%7L^pTl%$fU>56L)BpSq}#)g9gJ`;T`2_yj@@bRCrRACM@7Prc+O73{L?g>=qf zL%vLisi~H=+kiqMyBrYwF#pjnFQ)I%FlB~Q+}LV^MH+VDjp-rUjLjtHMs37TQ}B=q z{{QTK2Ygk<_Ug}(Tfe=_pRCcoSoz(fO7x;``+(euGwerJ$uTUwbp#IX3ZLG zK0sb`+*o8})*W+QFT)kBsjIeVEI*nzAIc?JJ8OEW2%n_F#dS5k6z$Cq{~?UWAfM4WAV^oa6unQ(K@My~W1fg$FvSac2F z=zrSJG}-hGPKj~3TyD2ZG@$nL$%+C~u`>$C;U|PyzL%e1dV1*MA(fZx5x|D6WOK?0 zGmcK)wyTgoir#O@W;`Fp=)CZqj0dHb^CuUs@xi8wUcAw^Gda-19PP=R9W@4fN~3Le za(~nqtubBZUfEfWzQG13WJJ}4pX>3H6OAEUvc&y9JC(e5zBy#S5k><)9ndABu!EKt zwUx)=iYX82_oxXH9}eBvW$JyFCJl<*=!u@T-`E6TMP;Lc_~=_fcDAzHLQxH12h%-- zK0==`$N;{weE40R*f|#Dl)d=TOL zogshXWbe&#M|;qdzQWKWcxllod=GfO8TAU1u=}}31OLYqD$I+rQ?Rk8Fj|k^h&K^! zPA)LL7l30aC()cZdUzM@JJ?B_kIWvjizCFENH!xnJIVA8PVu7EbXmmSG-L>|A(5yA zIP6&aV=3CK4TgR`v`X=i@gyBQ&XY_!Y4go|oee&ZV>b8}TP5V11)&<>i^4nNYb0M7 zZT(mh4c{Cjj5cG;93R4IaE0Bfxa`6}8DDvZZ0rDG!v78$OMPqd^$W>{nJtO-t zz8bh)6U}`A6q6A3IwcFPfFF<>J(SE%hMP>+kA-6fWy@62H zTrO(k_2Y6eH>IZg`*0I#y1#E5Z)^W~iD<&T&!qU%9Zi56U1Lwa-PQSB{l)UU72H{0N-0OLqX7=uP|t1ht5cBAYsDtXUb`GqZ#w z?6oWgsEhLFvxfI?P4Q>3hR`P~;U!J7fv;f%VK1+UroceF=sXAe3SL@|Z{tFY1z^D% zh@HstF_I$9E-1~B2x)+gd&pyn+vM&fY^^{7jKX~#LPJsYP3tV_mb-ngQFidja=-`Q zXVDI|MlGQW;PyEB+WEfXBt>g7@qot|@B0_zs)6%dKeR0yKI+U}mTCnl?FI{v$xdFG)f0JO<_03c zlMsYCCp%4#1NfbnLo@a>+YD23UBKD2`(!b2~0^chh(K-tCxk) zp2!CykWbI_@Me|2`{YTezSPAl4M_Jp>z-)UJsEYEnxNu6F^-|?iA=sSyGI|?yay^? zuR_J^NyPz^G35EHsJPSwk@?g8-5(VsE)Nh?rl$dwVo_aMm&~~UNt>0%?RGF&aN`-b z)mV*kmv2;dcYl)1eni52<^f1p6G&KSlc|Su3M+04zl9wemB@BWHEhahF4mEaWY0X2 z1*5|-&?_X_$!%_%+ax!=YZokpc|;PY3NIrh2-y@do94KiVhX`&1V>Yw4XI#oM_!a1 za4WngVNRd{L%fGX2=b!U8C$0#d}M<-nWl)RAI%YnE0lw5GZGXO8Y(DMia`mizT8Ax zIk6ZBqFXbQ#6h7V;_(=)_6|&dPUmzC1+s11qrvKoa*p`}A{*di$f9iKPAN$9SRM>` zkx2Usq?P3(GhCpmq$J5?qp3=Wm4qeBA8P|IdACTScl2&;&r z9-wl!p=UE4Jqt)@D;b&6z|oP7txYIGH`71y+kdj@HgVI~vlRwCRBJ2vZFEIWSuM(dtvAHD9$aeW=c1E)iuFiKixwhP% zYnQp)Cdb!_?mCP_7TeHkBCJ6;6xlwP#EQYd1vZ0VtK+i-LUo0GqNCaKZOj8+X_YW!rQ)b_X-2e@yb_Glm^OXl*TIx8OYZGh=NKKDRR0lgLx+A4-5t>cTW%=05 zkgB(Y*5OXhqK$e3FuD#0|0YTdwd@#jR#O+Wy+nnHL7!@ihwl*vK0~XCcF1ed;PqGu zw~>Y`bT7h_AQ4P082%(0BRQ4^QO1zFg>%-|asIRuWe7{+YFMfxpAL#pV4G&lH6 z7s6TgV$_iV4nPDZ2OLFnQDH5Cvh5uFCL6MJ#s9##=4lHtWpezVOxuH&G4~L2>zf!a zqrvJ}&`g#-0Ezr&-1%9xYzk$-j0qmIcX;_Ti0EHMCAj&T42Bw`??5ljCHO6(fw)(L zz~i`F2j*t9J(Js}z@^D&xMIfOSsZ^wkI8}w9J+HKrq%lNxFqwJ6)zQmqw>KKM>c=^ z{CG|algyjmefr201|3Q=i(Xhzj7Vp_;YX~uWP_3@0|PHmB(^q=#vvJCJMgUJtR;eW z9e*6qUv1y5`8Hp`FB)swRb zvnhVjpvGZP!$)c`f!P9-*@=Niew%XMNKb5qVztiEKmWrXq z6@6DvimbpzM110-j;{Ha+7~lf8o47;kBOH4WIGupO9x(7T zgk~g{P1t}wf-^H3R47rHbYcm0p1jOw##h!?(>qw4uZ!h~?h zP6u|7>|_fs)Iu(mgG+i7C`jLdj`M1`V+3Yq0EwW84CK10C9UjYHDbeDmRuwH8u-=a zY3t=ybNcq(i=7WJPrDF#FbXmbJQRL{j<9G;6EV}63z3`yseR-7<$TVZsF|X1D9uTz z9J00EZ+9lf4f6A?#z2V9Goj7t02xla(wP`HNKC#DWwyil9yiryw%(Z-Hx)B`#rYmL z)n-=eOpKd~nQd~u$4$le?>pb)1|1`d4K|tfIN#$2n2DZSAu{ilEJ5KAEp|D-z)hv< z!!azB7@v#9gCfI;0EQ`->F=EEHdEkZ6Ky7Oc*R~LYIsaiqRkX}AczAZw4LSyFbaBO zJCL1+cqQBALy$7O+=`9DcnfsEj+G9B)eys?2M0)nlWng$8G==Xa@$dLGKTcA3w@>P zWC(#3O17)&WV;>7;6+`>Lo4m*+^t~%Ktj%0sGGEW6og0-2ej2;u=fI>Y1Bc33Q z@>~~6I>V6^L8hxqia=|jToHu2x}7RnVttgB19z>yR|uB%IWuOlgf zU{{xPp(81RWLKATi6be3XjhkXxg#lpY*&|bg(E3~a95Xfr6VbVbXS*jjUy?7cvqKn zy(1}td{>urlOrjDfLE8a)R7cH!mCWm5!TxlybN85Fjg+YMGUUgnBfOd+1asBomk?h z>eOL~^kNQ%(X410$@i0&gp5U)Ne(9xKJj1Lx^b80HPdHg5wv-Xt#9ASq z;cw^(Bg1<+8x1{Slz1=awe}Ogw<+L}KqR0J&U*-G1VPJ)0=!efZh&yaTtMbHhVjbV z1gm?k@SpxY2fydYZ?3N4ARX)Z0zAhdOOk#ee&awR`Mn0ead?yb-h|&cC`o>A#qX{1 zTdxc4u%5qy=Q#98((J+SJwQE(6cg?eA}fTD?UC5PB_IqIZnO8meh z#~ZV+8FTiaK5W_ic;iR+yD`+7KWC=J!IZ~%v+|7XH4i=@M>2;~{adHP<8Ug#$S=Ck z(B$$xj4Ld6dg?A0KwRE2pdv1azi9fcFsvCG;37Ia-_W=r{pzw85&t)izGfA0QXMZi zVa`#LLLh3!Sc84r<@*HIB3MaDDpnb5&<{rGkn)Hn58FrBjw2!Efo791AEYoOVZP-% z6vE$LObrTohiA0t0jReY~9H1yr*cgx7+g-HQY=LgotB}a?{6iRdYYB@wF z#=M-NDCg84h_C|L=zToElsM%XO;iGYRK4DDgft|X$N zc0hr{x|laSNS5IDVlO#jn_{w&kmWU9oF~B)2^-`YE((SjH+m$RU|C0Gw-Fw4O6<%S zq(Ind23SLeSO%30nVFZlAk^mw(|;be3`chy0T<+zh(XjYYSN^3B7oR*?#v2WCkJ+W z&(h6uw%yp3tlV@EpjG$b_fJ*bHjD%^zehZTa+&$u2x?J`n zohOKfz25jIE}gOff*!#NpFde#eRRLk0_yR7?-d0IKmcO9ar!yBl^qyED_!E7(QY3t zebHbLzk@;iwDZBuffIX1TgOhNXtQPkI$O9Vffpam)i^`mtV3%me&dXVGhB#g37Wyg z$*Y^>hr1Oqvm5)6q&d9Nb5>TcfW&I*swFW}3t*4UN2g=7z_Z%On;u7quYm4#n{{Af zCY#7;LXR`I?s@P7B0*z9ih}WrsxlFa0Hz0Afp>B8t{M2rYsQUXj^KFw71lr)UBpUD zWX9+*g?=8K67O=ky!apff>^?miQqLU&&pGm$2`GdI!~#q#cn!J^b%%3$5RaNWvsV-GK* zjf#N?`~b_23-Zki?4G>9(|{K^7x3cOm&W=6uK_-64f77LD4H%i{*fzI%J{_RPr=9w zhg7l2#|ynU}kY*7^y z8xOvKVndUMVq`--T&PE7dX`U}!(L;SRK2|jqnH>JWM@e4OnH*!wQIgkoCWj6? zN^-=M4%Z!wc$DNI29irMP;!r_z<0PCx(NJ%IfmDqNF^7AU@I`@n}}|OP@gMc(122h z=)n7wgM+JycSlq!?>_lzjmPv5PUCT7PbrYZ8rZIo+j{5ot$4m(Ki}khz8%l$z=rfI zIcV!#cHrqs{j@av^c6fU#ZwtwAj%wFyyPhUli>w2VVxP|=KXLQpONzbE8`}fQgQLsDFUu>m43A@nKps0UGChPi!Bs@5L@ z^#*{P&J^_0;Iq&%~z2YoOR zOAy1kbQPTpMLE^vFOk~}{DSG21Vu(1$ubLkN6zOw5{qdV>oI8n94de{J*M`Gy%Tp$H-xez(U z`F`+dlsMHN&p`%*IO~!foh5dC7Z$Oifq`OC{Z#R8;CWCo=gdyWl2$rIF4pfuJQnga z$2k3YlzbEA_u)B$mY~|e$R3Qv7~JT40nijh)QnzdPLBm&?E+QtGe|3RIyov% ze7~c`AJg5PvCMXpTr1bu(F~VI&cQ4wFvw!8I|6X zh2bd61rMia+T0+#q2)$QjJVPXj@t*ThY1%*bRbm%v~FS-27d6GHHVmgl*Ds#pIBcQ zANmj?jJ@4Cvz@SZD+wpo(3^a3(^ zz~1~a4{y;6!jjR*TV$k%ZYI|4kULQpoH!*vEac%korN?M3!3Ed81vKRa+qg~x%pw7 zyUMv+8R%MZ?nd!(>pI#!ZS@@?9y&y3rXVqAqrLS7W%CX-;f2R8;DVJ|C=@K?+EVY4 zaln@QkXi`SIkbrCl|@wO5D-Y#cW~8nRd9`r7hnZmCH7WIxUbyiHaGm8>p|JunX$J> zE9%&?wFs|59ZT;8>R4!YDj&IE&cHhy!oUmd1>kT2lIR0?*68_*bO>E`q4IstfmLwa zGJc{i0;EJ7kUk0{80H30`!e8wB5emF7oJ)Y{_v0T9}3Ulq!WJV!G~l=76(3V?D(n> z-R&q&)KZfE%8Rcc|MFFSOHWh#D-2CDz)JEJD+g$9VjmV|0L&352Zwn$8N%p~8D7Zm z2vb=;vF<&bEkKev85MQmZQ_l~uG!8rT@Q#g+ii8>=Y=eW6hP=QET!`&iqc3?ShR(v@I-R8G1W)Y|8!BfRT;y0?QO(9qGW zu^0a#SF9*t00Oz$8W))h((UrcNDNcmF#@LbV^-EmF3F(#F?9I7`Fbf_#F&*c;Tr0e zI?IsYK`&d`LxrJp?giDPP|3yd0QqO5Y*39Qq2J{cL8*c09^nS&u+U>|L?f#^yOq|A zP`9oJzTwo5iAYj*qc{+2`s#PDk;OqLu`tzB7Y7nqlYJb29X4?uj3=ax5nxMBxUR&8AO;YtLDqrm~&aYcGM)M4d0t0t~nafQbjRth+^M>F{=t`#;;$S)rU zH2IamYRfNwE3aSwYTU}(SpRC#3i~MJEvy2qkuSzRFa9`l&2Qz+7X^#PuZQRmcT3B0 zCE;&PKB=AE358QR%s@z6dUinjn_FiD<>*Gh!a3vrld}wI>X*Q^}mjV2z!@ z`brtBkql0@zJD|krdv1369-4jI5S}go$USTi~<`6|6dH681u~M!A!M%yWD<%;-j$K zPh|sQ%-wie7f%r%#oYQwtsCHzzjb=S5FE&f{apu}-H=`1oZoYZA15DVqBS>Q&WhbY z%n)&Q33-7mSPCxY!l^_2nNUwj$aWvHO+mIWjxsA2hnh`2k3c{dnxPA|i$&=umhNmU zG+7G8%q?9Cje~JhS^*m;3&k03EEE?hG~H2Xf)rZI&pts(KcODA@W@}241g0v?LOwV z4YCCP#B~N@!oCawlr%pUIHpq2w8$qgdUGUhL4 zy!rLBXJ-5 zfKF(}a3e@|0;Wmw=pp8$g3*bcS+&2Ob9EVsA4mT3o(Bs8rb|{!{BSfQhCmlui(F!)XO~jd9tNZE zR1zSlM`A4Fyd>s$$dTU90WOLI8q_*3=RoUnmB`X*(AY475x>Cr#at~NEJN6!#KKs2 zl5K3Se5fcDI$d$)yj_-)<26e@`SMSk=gmoa4q%r=U*PizcoszuT@H4BIo*~{(y~E- zHYHj-pb(W`JVqG9rDn5bdj}@j`q-S`<;<1gZyuEuNo& z(({Rgb)7nm0E7kJL%r}Gp}P5#c|u{rY9bk%91)`H`=0ay0^;Ci%)C&OuILZ1hH~gZ zq5G4|EYlvB-28~2LFToaX%)z-pwB4LPQtKOnpS>V{6YRq8V@)svbBCUK?)zBPcb}l zQh~a3Pv(?Cp6X!{1+q+grOm{WAMMNWA}GjIP)T7S94qPkNG$>ZvEK;^fuKujIDk<$6YDF&ZFXQWQ*+-1Y&3CiBtLDh#^l zO*uCvj-H|zwRMIr9LebdJUJ}UK|-lL?0Zl)&Vr?8RH$?aAQyjG`Yx2ti9^NGVGr4( z^Rrt)+muy$oajgtFIz%%i}1k!)EceB+!Ur@)SMGSb`)k(nDG^LVfS~3{BuRu61C4! zJWqEB7f=6i)ayg=0v-Q>b3hSp4w?OM`0OGCQozAQBCpaZLmc=JBO#P*4jFL(iXR|+ zBG8{)1*XA4M

@0=dRtX}L?72a-(48(Olb{gsjNK~pSuQ^iAHf_) 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%0Dp~VPdJVj0V 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 l*gI| 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(100); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 100; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 8960, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 2147483648; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +if (!ENVIRONMENT_IS_PTHREAD) addOnPreRun(function() { + if (typeof SharedArrayBuffer !== "undefined") { + addRunDependency("pthreads"); + PThread.allocateUnusedWorkers(5, function() { + removeRunDependency("pthreads") + }) + } +}); +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-120func-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "jsCall_dd_35", "jsCall_dd_36", "jsCall_dd_37", "jsCall_dd_38", "jsCall_dd_39", "jsCall_dd_40", "jsCall_dd_41", "jsCall_dd_42", "jsCall_dd_43", "jsCall_dd_44", "jsCall_dd_45", "jsCall_dd_46", "jsCall_dd_47", "jsCall_dd_48", "jsCall_dd_49", "jsCall_dd_50", "jsCall_dd_51", "jsCall_dd_52", "jsCall_dd_53", "jsCall_dd_54", "jsCall_dd_55", "jsCall_dd_56", "jsCall_dd_57", "jsCall_dd_58", "jsCall_dd_59", "jsCall_dd_60", "jsCall_dd_61", "jsCall_dd_62", "jsCall_dd_63", "jsCall_dd_64", "jsCall_dd_65", "jsCall_dd_66", "jsCall_dd_67", "jsCall_dd_68", "jsCall_dd_69", "jsCall_dd_70", "jsCall_dd_71", "jsCall_dd_72", "jsCall_dd_73", "jsCall_dd_74", "jsCall_dd_75", "jsCall_dd_76", "jsCall_dd_77", "jsCall_dd_78", "jsCall_dd_79", "jsCall_dd_80", "jsCall_dd_81", "jsCall_dd_82", "jsCall_dd_83", "jsCall_dd_84", "jsCall_dd_85", "jsCall_dd_86", "jsCall_dd_87", "jsCall_dd_88", "jsCall_dd_89", "jsCall_dd_90", "jsCall_dd_91", "jsCall_dd_92", "jsCall_dd_93", "jsCall_dd_94", "jsCall_dd_95", "jsCall_dd_96", "jsCall_dd_97", "jsCall_dd_98", "jsCall_dd_99", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", "jsCall_did_35", "jsCall_did_36", "jsCall_did_37", "jsCall_did_38", "jsCall_did_39", "jsCall_did_40", "jsCall_did_41", "jsCall_did_42", "jsCall_did_43", "jsCall_did_44", "jsCall_did_45", "jsCall_did_46", "jsCall_did_47", "jsCall_did_48", "jsCall_did_49", "jsCall_did_50", "jsCall_did_51", "jsCall_did_52", "jsCall_did_53", "jsCall_did_54", "jsCall_did_55", "jsCall_did_56", "jsCall_did_57", "jsCall_did_58", "jsCall_did_59", "jsCall_did_60", "jsCall_did_61", "jsCall_did_62", "jsCall_did_63", "jsCall_did_64", "jsCall_did_65", "jsCall_did_66", "jsCall_did_67", "jsCall_did_68", "jsCall_did_69", "jsCall_did_70", "jsCall_did_71", "jsCall_did_72", "jsCall_did_73", "jsCall_did_74", "jsCall_did_75", "jsCall_did_76", "jsCall_did_77", "jsCall_did_78", "jsCall_did_79", "jsCall_did_80", "jsCall_did_81", "jsCall_did_82", "jsCall_did_83", "jsCall_did_84", "jsCall_did_85", "jsCall_did_86", "jsCall_did_87", "jsCall_did_88", "jsCall_did_89", "jsCall_did_90", "jsCall_did_91", "jsCall_did_92", "jsCall_did_93", "jsCall_did_94", "jsCall_did_95", "jsCall_did_96", "jsCall_did_97", "jsCall_did_98", "jsCall_did_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", "jsCall_didd_35", "jsCall_didd_36", "jsCall_didd_37", "jsCall_didd_38", "jsCall_didd_39", "jsCall_didd_40", "jsCall_didd_41", "jsCall_didd_42", "jsCall_didd_43", "jsCall_didd_44", "jsCall_didd_45", "jsCall_didd_46", "jsCall_didd_47", "jsCall_didd_48", "jsCall_didd_49", "jsCall_didd_50", "jsCall_didd_51", "jsCall_didd_52", "jsCall_didd_53", "jsCall_didd_54", "jsCall_didd_55", "jsCall_didd_56", "jsCall_didd_57", "jsCall_didd_58", "jsCall_didd_59", "jsCall_didd_60", "jsCall_didd_61", "jsCall_didd_62", "jsCall_didd_63", "jsCall_didd_64", "jsCall_didd_65", "jsCall_didd_66", "jsCall_didd_67", "jsCall_didd_68", "jsCall_didd_69", "jsCall_didd_70", "jsCall_didd_71", "jsCall_didd_72", "jsCall_didd_73", "jsCall_didd_74", "jsCall_didd_75", "jsCall_didd_76", "jsCall_didd_77", "jsCall_didd_78", "jsCall_didd_79", "jsCall_didd_80", "jsCall_didd_81", "jsCall_didd_82", "jsCall_didd_83", "jsCall_didd_84", "jsCall_didd_85", "jsCall_didd_86", "jsCall_didd_87", "jsCall_didd_88", "jsCall_didd_89", "jsCall_didd_90", "jsCall_didd_91", "jsCall_didd_92", "jsCall_didd_93", "jsCall_didd_94", "jsCall_didd_95", "jsCall_didd_96", "jsCall_didd_97", "jsCall_didd_98", "jsCall_didd_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "jsCall_fii_35", "jsCall_fii_36", "jsCall_fii_37", "jsCall_fii_38", "jsCall_fii_39", "jsCall_fii_40", "jsCall_fii_41", "jsCall_fii_42", "jsCall_fii_43", "jsCall_fii_44", "jsCall_fii_45", "jsCall_fii_46", "jsCall_fii_47", "jsCall_fii_48", "jsCall_fii_49", "jsCall_fii_50", "jsCall_fii_51", "jsCall_fii_52", "jsCall_fii_53", "jsCall_fii_54", "jsCall_fii_55", "jsCall_fii_56", "jsCall_fii_57", "jsCall_fii_58", "jsCall_fii_59", "jsCall_fii_60", "jsCall_fii_61", "jsCall_fii_62", "jsCall_fii_63", "jsCall_fii_64", "jsCall_fii_65", "jsCall_fii_66", "jsCall_fii_67", "jsCall_fii_68", "jsCall_fii_69", "jsCall_fii_70", "jsCall_fii_71", "jsCall_fii_72", "jsCall_fii_73", "jsCall_fii_74", "jsCall_fii_75", "jsCall_fii_76", "jsCall_fii_77", "jsCall_fii_78", "jsCall_fii_79", "jsCall_fii_80", "jsCall_fii_81", "jsCall_fii_82", "jsCall_fii_83", "jsCall_fii_84", "jsCall_fii_85", "jsCall_fii_86", "jsCall_fii_87", "jsCall_fii_88", "jsCall_fii_89", "jsCall_fii_90", "jsCall_fii_91", "jsCall_fii_92", "jsCall_fii_93", "jsCall_fii_94", "jsCall_fii_95", "jsCall_fii_96", "jsCall_fii_97", "jsCall_fii_98", "jsCall_fii_99", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "jsCall_fiii_35", "jsCall_fiii_36", "jsCall_fiii_37", "jsCall_fiii_38", "jsCall_fiii_39", "jsCall_fiii_40", "jsCall_fiii_41", "jsCall_fiii_42", "jsCall_fiii_43", "jsCall_fiii_44", "jsCall_fiii_45", "jsCall_fiii_46", "jsCall_fiii_47", "jsCall_fiii_48", "jsCall_fiii_49", "jsCall_fiii_50", "jsCall_fiii_51", "jsCall_fiii_52", "jsCall_fiii_53", "jsCall_fiii_54", "jsCall_fiii_55", "jsCall_fiii_56", "jsCall_fiii_57", "jsCall_fiii_58", "jsCall_fiii_59", "jsCall_fiii_60", "jsCall_fiii_61", "jsCall_fiii_62", "jsCall_fiii_63", "jsCall_fiii_64", "jsCall_fiii_65", "jsCall_fiii_66", "jsCall_fiii_67", "jsCall_fiii_68", "jsCall_fiii_69", "jsCall_fiii_70", "jsCall_fiii_71", "jsCall_fiii_72", "jsCall_fiii_73", "jsCall_fiii_74", "jsCall_fiii_75", "jsCall_fiii_76", "jsCall_fiii_77", "jsCall_fiii_78", "jsCall_fiii_79", "jsCall_fiii_80", "jsCall_fiii_81", "jsCall_fiii_82", "jsCall_fiii_83", "jsCall_fiii_84", "jsCall_fiii_85", "jsCall_fiii_86", "jsCall_fiii_87", "jsCall_fiii_88", "jsCall_fiii_89", "jsCall_fiii_90", "jsCall_fiii_91", "jsCall_fiii_92", "jsCall_fiii_93", "jsCall_fiii_94", "jsCall_fiii_95", "jsCall_fiii_96", "jsCall_fiii_97", "jsCall_fiii_98", "jsCall_fiii_99", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "jsCall_ii_35", "jsCall_ii_36", "jsCall_ii_37", "jsCall_ii_38", "jsCall_ii_39", "jsCall_ii_40", "jsCall_ii_41", "jsCall_ii_42", "jsCall_ii_43", "jsCall_ii_44", "jsCall_ii_45", "jsCall_ii_46", "jsCall_ii_47", "jsCall_ii_48", "jsCall_ii_49", "jsCall_ii_50", "jsCall_ii_51", "jsCall_ii_52", "jsCall_ii_53", "jsCall_ii_54", "jsCall_ii_55", "jsCall_ii_56", "jsCall_ii_57", "jsCall_ii_58", "jsCall_ii_59", "jsCall_ii_60", "jsCall_ii_61", "jsCall_ii_62", "jsCall_ii_63", "jsCall_ii_64", "jsCall_ii_65", "jsCall_ii_66", "jsCall_ii_67", "jsCall_ii_68", "jsCall_ii_69", "jsCall_ii_70", "jsCall_ii_71", "jsCall_ii_72", "jsCall_ii_73", "jsCall_ii_74", "jsCall_ii_75", "jsCall_ii_76", "jsCall_ii_77", "jsCall_ii_78", "jsCall_ii_79", "jsCall_ii_80", "jsCall_ii_81", "jsCall_ii_82", "jsCall_ii_83", "jsCall_ii_84", "jsCall_ii_85", "jsCall_ii_86", "jsCall_ii_87", "jsCall_ii_88", "jsCall_ii_89", "jsCall_ii_90", "jsCall_ii_91", "jsCall_ii_92", "jsCall_ii_93", "jsCall_ii_94", "jsCall_ii_95", "jsCall_ii_96", "jsCall_ii_97", "jsCall_ii_98", "jsCall_ii_99", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "jsCall_iid_35", "jsCall_iid_36", "jsCall_iid_37", "jsCall_iid_38", "jsCall_iid_39", "jsCall_iid_40", "jsCall_iid_41", "jsCall_iid_42", "jsCall_iid_43", "jsCall_iid_44", "jsCall_iid_45", "jsCall_iid_46", "jsCall_iid_47", "jsCall_iid_48", "jsCall_iid_49", "jsCall_iid_50", "jsCall_iid_51", "jsCall_iid_52", "jsCall_iid_53", "jsCall_iid_54", "jsCall_iid_55", "jsCall_iid_56", "jsCall_iid_57", "jsCall_iid_58", "jsCall_iid_59", "jsCall_iid_60", "jsCall_iid_61", "jsCall_iid_62", "jsCall_iid_63", "jsCall_iid_64", "jsCall_iid_65", "jsCall_iid_66", "jsCall_iid_67", "jsCall_iid_68", "jsCall_iid_69", "jsCall_iid_70", "jsCall_iid_71", "jsCall_iid_72", "jsCall_iid_73", "jsCall_iid_74", "jsCall_iid_75", "jsCall_iid_76", "jsCall_iid_77", "jsCall_iid_78", "jsCall_iid_79", "jsCall_iid_80", "jsCall_iid_81", "jsCall_iid_82", "jsCall_iid_83", "jsCall_iid_84", "jsCall_iid_85", "jsCall_iid_86", "jsCall_iid_87", "jsCall_iid_88", "jsCall_iid_89", "jsCall_iid_90", "jsCall_iid_91", "jsCall_iid_92", "jsCall_iid_93", "jsCall_iid_94", "jsCall_iid_95", "jsCall_iid_96", "jsCall_iid_97", "jsCall_iid_98", "jsCall_iid_99", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "jsCall_iidiiii_35", "jsCall_iidiiii_36", "jsCall_iidiiii_37", "jsCall_iidiiii_38", "jsCall_iidiiii_39", "jsCall_iidiiii_40", "jsCall_iidiiii_41", "jsCall_iidiiii_42", "jsCall_iidiiii_43", "jsCall_iidiiii_44", "jsCall_iidiiii_45", "jsCall_iidiiii_46", "jsCall_iidiiii_47", "jsCall_iidiiii_48", "jsCall_iidiiii_49", "jsCall_iidiiii_50", "jsCall_iidiiii_51", "jsCall_iidiiii_52", "jsCall_iidiiii_53", "jsCall_iidiiii_54", "jsCall_iidiiii_55", "jsCall_iidiiii_56", "jsCall_iidiiii_57", "jsCall_iidiiii_58", "jsCall_iidiiii_59", "jsCall_iidiiii_60", "jsCall_iidiiii_61", "jsCall_iidiiii_62", "jsCall_iidiiii_63", "jsCall_iidiiii_64", "jsCall_iidiiii_65", "jsCall_iidiiii_66", "jsCall_iidiiii_67", "jsCall_iidiiii_68", "jsCall_iidiiii_69", "jsCall_iidiiii_70", "jsCall_iidiiii_71", "jsCall_iidiiii_72", "jsCall_iidiiii_73", "jsCall_iidiiii_74", "jsCall_iidiiii_75", "jsCall_iidiiii_76", "jsCall_iidiiii_77", "jsCall_iidiiii_78", "jsCall_iidiiii_79", "jsCall_iidiiii_80", "jsCall_iidiiii_81", "jsCall_iidiiii_82", "jsCall_iidiiii_83", "jsCall_iidiiii_84", "jsCall_iidiiii_85", "jsCall_iidiiii_86", "jsCall_iidiiii_87", "jsCall_iidiiii_88", "jsCall_iidiiii_89", "jsCall_iidiiii_90", "jsCall_iidiiii_91", "jsCall_iidiiii_92", "jsCall_iidiiii_93", "jsCall_iidiiii_94", "jsCall_iidiiii_95", "jsCall_iidiiii_96", "jsCall_iidiiii_97", "jsCall_iidiiii_98", "jsCall_iidiiii_99", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "jsCall_iii_35", "jsCall_iii_36", "jsCall_iii_37", "jsCall_iii_38", "jsCall_iii_39", "jsCall_iii_40", "jsCall_iii_41", "jsCall_iii_42", "jsCall_iii_43", "jsCall_iii_44", "jsCall_iii_45", "jsCall_iii_46", "jsCall_iii_47", "jsCall_iii_48", "jsCall_iii_49", "jsCall_iii_50", "jsCall_iii_51", "jsCall_iii_52", "jsCall_iii_53", "jsCall_iii_54", "jsCall_iii_55", "jsCall_iii_56", "jsCall_iii_57", "jsCall_iii_58", "jsCall_iii_59", "jsCall_iii_60", "jsCall_iii_61", "jsCall_iii_62", "jsCall_iii_63", "jsCall_iii_64", "jsCall_iii_65", "jsCall_iii_66", "jsCall_iii_67", "jsCall_iii_68", "jsCall_iii_69", "jsCall_iii_70", "jsCall_iii_71", "jsCall_iii_72", "jsCall_iii_73", "jsCall_iii_74", "jsCall_iii_75", "jsCall_iii_76", "jsCall_iii_77", "jsCall_iii_78", "jsCall_iii_79", "jsCall_iii_80", "jsCall_iii_81", "jsCall_iii_82", "jsCall_iii_83", "jsCall_iii_84", "jsCall_iii_85", "jsCall_iii_86", "jsCall_iii_87", "jsCall_iii_88", "jsCall_iii_89", "jsCall_iii_90", "jsCall_iii_91", "jsCall_iii_92", "jsCall_iii_93", "jsCall_iii_94", "jsCall_iii_95", "jsCall_iii_96", "jsCall_iii_97", "jsCall_iii_98", "jsCall_iii_99", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "jsCall_iiii_35", "jsCall_iiii_36", "jsCall_iiii_37", "jsCall_iiii_38", "jsCall_iiii_39", "jsCall_iiii_40", "jsCall_iiii_41", "jsCall_iiii_42", "jsCall_iiii_43", "jsCall_iiii_44", "jsCall_iiii_45", "jsCall_iiii_46", "jsCall_iiii_47", "jsCall_iiii_48", "jsCall_iiii_49", "jsCall_iiii_50", "jsCall_iiii_51", "jsCall_iiii_52", "jsCall_iiii_53", "jsCall_iiii_54", "jsCall_iiii_55", "jsCall_iiii_56", "jsCall_iiii_57", "jsCall_iiii_58", "jsCall_iiii_59", "jsCall_iiii_60", "jsCall_iiii_61", "jsCall_iiii_62", "jsCall_iiii_63", "jsCall_iiii_64", "jsCall_iiii_65", "jsCall_iiii_66", "jsCall_iiii_67", "jsCall_iiii_68", "jsCall_iiii_69", "jsCall_iiii_70", "jsCall_iiii_71", "jsCall_iiii_72", "jsCall_iiii_73", "jsCall_iiii_74", "jsCall_iiii_75", "jsCall_iiii_76", "jsCall_iiii_77", "jsCall_iiii_78", "jsCall_iiii_79", "jsCall_iiii_80", "jsCall_iiii_81", "jsCall_iiii_82", "jsCall_iiii_83", "jsCall_iiii_84", "jsCall_iiii_85", "jsCall_iiii_86", "jsCall_iiii_87", "jsCall_iiii_88", "jsCall_iiii_89", "jsCall_iiii_90", "jsCall_iiii_91", "jsCall_iiii_92", "jsCall_iiii_93", "jsCall_iiii_94", "jsCall_iiii_95", "jsCall_iiii_96", "jsCall_iiii_97", "jsCall_iiii_98", "jsCall_iiii_99", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "jsCall_iiiii_35", "jsCall_iiiii_36", "jsCall_iiiii_37", "jsCall_iiiii_38", "jsCall_iiiii_39", "jsCall_iiiii_40", "jsCall_iiiii_41", "jsCall_iiiii_42", "jsCall_iiiii_43", "jsCall_iiiii_44", "jsCall_iiiii_45", "jsCall_iiiii_46", "jsCall_iiiii_47", "jsCall_iiiii_48", "jsCall_iiiii_49", "jsCall_iiiii_50", "jsCall_iiiii_51", "jsCall_iiiii_52", "jsCall_iiiii_53", "jsCall_iiiii_54", "jsCall_iiiii_55", "jsCall_iiiii_56", "jsCall_iiiii_57", "jsCall_iiiii_58", "jsCall_iiiii_59", "jsCall_iiiii_60", "jsCall_iiiii_61", "jsCall_iiiii_62", "jsCall_iiiii_63", "jsCall_iiiii_64", "jsCall_iiiii_65", "jsCall_iiiii_66", "jsCall_iiiii_67", "jsCall_iiiii_68", "jsCall_iiiii_69", "jsCall_iiiii_70", "jsCall_iiiii_71", "jsCall_iiiii_72", "jsCall_iiiii_73", "jsCall_iiiii_74", "jsCall_iiiii_75", "jsCall_iiiii_76", "jsCall_iiiii_77", "jsCall_iiiii_78", "jsCall_iiiii_79", "jsCall_iiiii_80", "jsCall_iiiii_81", "jsCall_iiiii_82", "jsCall_iiiii_83", "jsCall_iiiii_84", "jsCall_iiiii_85", "jsCall_iiiii_86", "jsCall_iiiii_87", "jsCall_iiiii_88", "jsCall_iiiii_89", "jsCall_iiiii_90", "jsCall_iiiii_91", "jsCall_iiiii_92", "jsCall_iiiii_93", "jsCall_iiiii_94", "jsCall_iiiii_95", "jsCall_iiiii_96", "jsCall_iiiii_97", "jsCall_iiiii_98", "jsCall_iiiii_99", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "jsCall_iiiiii_35", "jsCall_iiiiii_36", "jsCall_iiiiii_37", "jsCall_iiiiii_38", "jsCall_iiiiii_39", "jsCall_iiiiii_40", "jsCall_iiiiii_41", "jsCall_iiiiii_42", "jsCall_iiiiii_43", "jsCall_iiiiii_44", "jsCall_iiiiii_45", "jsCall_iiiiii_46", "jsCall_iiiiii_47", "jsCall_iiiiii_48", "jsCall_iiiiii_49", "jsCall_iiiiii_50", "jsCall_iiiiii_51", "jsCall_iiiiii_52", "jsCall_iiiiii_53", "jsCall_iiiiii_54", "jsCall_iiiiii_55", "jsCall_iiiiii_56", "jsCall_iiiiii_57", "jsCall_iiiiii_58", "jsCall_iiiiii_59", "jsCall_iiiiii_60", "jsCall_iiiiii_61", "jsCall_iiiiii_62", "jsCall_iiiiii_63", "jsCall_iiiiii_64", "jsCall_iiiiii_65", "jsCall_iiiiii_66", "jsCall_iiiiii_67", "jsCall_iiiiii_68", "jsCall_iiiiii_69", "jsCall_iiiiii_70", "jsCall_iiiiii_71", "jsCall_iiiiii_72", "jsCall_iiiiii_73", "jsCall_iiiiii_74", "jsCall_iiiiii_75", "jsCall_iiiiii_76", "jsCall_iiiiii_77", "jsCall_iiiiii_78", "jsCall_iiiiii_79", "jsCall_iiiiii_80", "jsCall_iiiiii_81", "jsCall_iiiiii_82", "jsCall_iiiiii_83", "jsCall_iiiiii_84", "jsCall_iiiiii_85", "jsCall_iiiiii_86", "jsCall_iiiiii_87", "jsCall_iiiiii_88", "jsCall_iiiiii_89", "jsCall_iiiiii_90", "jsCall_iiiiii_91", "jsCall_iiiiii_92", "jsCall_iiiiii_93", "jsCall_iiiiii_94", "jsCall_iiiiii_95", "jsCall_iiiiii_96", "jsCall_iiiiii_97", "jsCall_iiiiii_98", "jsCall_iiiiii_99", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "jsCall_iiiiiii_35", "jsCall_iiiiiii_36", "jsCall_iiiiiii_37", "jsCall_iiiiiii_38", "jsCall_iiiiiii_39", "jsCall_iiiiiii_40", "jsCall_iiiiiii_41", "jsCall_iiiiiii_42", "jsCall_iiiiiii_43", "jsCall_iiiiiii_44", "jsCall_iiiiiii_45", "jsCall_iiiiiii_46", "jsCall_iiiiiii_47", "jsCall_iiiiiii_48", "jsCall_iiiiiii_49", "jsCall_iiiiiii_50", "jsCall_iiiiiii_51", "jsCall_iiiiiii_52", "jsCall_iiiiiii_53", "jsCall_iiiiiii_54", "jsCall_iiiiiii_55", "jsCall_iiiiiii_56", "jsCall_iiiiiii_57", "jsCall_iiiiiii_58", "jsCall_iiiiiii_59", "jsCall_iiiiiii_60", "jsCall_iiiiiii_61", "jsCall_iiiiiii_62", "jsCall_iiiiiii_63", "jsCall_iiiiiii_64", "jsCall_iiiiiii_65", "jsCall_iiiiiii_66", "jsCall_iiiiiii_67", "jsCall_iiiiiii_68", "jsCall_iiiiiii_69", "jsCall_iiiiiii_70", "jsCall_iiiiiii_71", "jsCall_iiiiiii_72", "jsCall_iiiiiii_73", "jsCall_iiiiiii_74", "jsCall_iiiiiii_75", "jsCall_iiiiiii_76", "jsCall_iiiiiii_77", "jsCall_iiiiiii_78", "jsCall_iiiiiii_79", "jsCall_iiiiiii_80", "jsCall_iiiiiii_81", "jsCall_iiiiiii_82", "jsCall_iiiiiii_83", "jsCall_iiiiiii_84", "jsCall_iiiiiii_85", "jsCall_iiiiiii_86", "jsCall_iiiiiii_87", "jsCall_iiiiiii_88", "jsCall_iiiiiii_89", "jsCall_iiiiiii_90", "jsCall_iiiiiii_91", "jsCall_iiiiiii_92", "jsCall_iiiiiii_93", "jsCall_iiiiiii_94", "jsCall_iiiiiii_95", "jsCall_iiiiiii_96", "jsCall_iiiiiii_97", "jsCall_iiiiiii_98", "jsCall_iiiiiii_99", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "jsCall_iiiiiiidiiddii_35", "jsCall_iiiiiiidiiddii_36", "jsCall_iiiiiiidiiddii_37", "jsCall_iiiiiiidiiddii_38", "jsCall_iiiiiiidiiddii_39", "jsCall_iiiiiiidiiddii_40", "jsCall_iiiiiiidiiddii_41", "jsCall_iiiiiiidiiddii_42", "jsCall_iiiiiiidiiddii_43", "jsCall_iiiiiiidiiddii_44", "jsCall_iiiiiiidiiddii_45", "jsCall_iiiiiiidiiddii_46", "jsCall_iiiiiiidiiddii_47", "jsCall_iiiiiiidiiddii_48", "jsCall_iiiiiiidiiddii_49", "jsCall_iiiiiiidiiddii_50", "jsCall_iiiiiiidiiddii_51", "jsCall_iiiiiiidiiddii_52", "jsCall_iiiiiiidiiddii_53", "jsCall_iiiiiiidiiddii_54", "jsCall_iiiiiiidiiddii_55", "jsCall_iiiiiiidiiddii_56", "jsCall_iiiiiiidiiddii_57", "jsCall_iiiiiiidiiddii_58", "jsCall_iiiiiiidiiddii_59", "jsCall_iiiiiiidiiddii_60", "jsCall_iiiiiiidiiddii_61", "jsCall_iiiiiiidiiddii_62", "jsCall_iiiiiiidiiddii_63", "jsCall_iiiiiiidiiddii_64", "jsCall_iiiiiiidiiddii_65", "jsCall_iiiiiiidiiddii_66", "jsCall_iiiiiiidiiddii_67", "jsCall_iiiiiiidiiddii_68", "jsCall_iiiiiiidiiddii_69", "jsCall_iiiiiiidiiddii_70", "jsCall_iiiiiiidiiddii_71", "jsCall_iiiiiiidiiddii_72", "jsCall_iiiiiiidiiddii_73", "jsCall_iiiiiiidiiddii_74", "jsCall_iiiiiiidiiddii_75", "jsCall_iiiiiiidiiddii_76", "jsCall_iiiiiiidiiddii_77", "jsCall_iiiiiiidiiddii_78", "jsCall_iiiiiiidiiddii_79", "jsCall_iiiiiiidiiddii_80", "jsCall_iiiiiiidiiddii_81", "jsCall_iiiiiiidiiddii_82", "jsCall_iiiiiiidiiddii_83", "jsCall_iiiiiiidiiddii_84", "jsCall_iiiiiiidiiddii_85", "jsCall_iiiiiiidiiddii_86", "jsCall_iiiiiiidiiddii_87", "jsCall_iiiiiiidiiddii_88", "jsCall_iiiiiiidiiddii_89", "jsCall_iiiiiiidiiddii_90", "jsCall_iiiiiiidiiddii_91", "jsCall_iiiiiiidiiddii_92", "jsCall_iiiiiiidiiddii_93", "jsCall_iiiiiiidiiddii_94", "jsCall_iiiiiiidiiddii_95", "jsCall_iiiiiiidiiddii_96", "jsCall_iiiiiiidiiddii_97", "jsCall_iiiiiiidiiddii_98", "jsCall_iiiiiiidiiddii_99", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "jsCall_iiiiiiii_35", "jsCall_iiiiiiii_36", "jsCall_iiiiiiii_37", "jsCall_iiiiiiii_38", "jsCall_iiiiiiii_39", "jsCall_iiiiiiii_40", "jsCall_iiiiiiii_41", "jsCall_iiiiiiii_42", "jsCall_iiiiiiii_43", "jsCall_iiiiiiii_44", "jsCall_iiiiiiii_45", "jsCall_iiiiiiii_46", "jsCall_iiiiiiii_47", "jsCall_iiiiiiii_48", "jsCall_iiiiiiii_49", "jsCall_iiiiiiii_50", "jsCall_iiiiiiii_51", "jsCall_iiiiiiii_52", "jsCall_iiiiiiii_53", "jsCall_iiiiiiii_54", "jsCall_iiiiiiii_55", "jsCall_iiiiiiii_56", "jsCall_iiiiiiii_57", "jsCall_iiiiiiii_58", "jsCall_iiiiiiii_59", "jsCall_iiiiiiii_60", "jsCall_iiiiiiii_61", "jsCall_iiiiiiii_62", "jsCall_iiiiiiii_63", "jsCall_iiiiiiii_64", "jsCall_iiiiiiii_65", "jsCall_iiiiiiii_66", "jsCall_iiiiiiii_67", "jsCall_iiiiiiii_68", "jsCall_iiiiiiii_69", "jsCall_iiiiiiii_70", "jsCall_iiiiiiii_71", "jsCall_iiiiiiii_72", "jsCall_iiiiiiii_73", "jsCall_iiiiiiii_74", "jsCall_iiiiiiii_75", "jsCall_iiiiiiii_76", "jsCall_iiiiiiii_77", "jsCall_iiiiiiii_78", "jsCall_iiiiiiii_79", "jsCall_iiiiiiii_80", "jsCall_iiiiiiii_81", "jsCall_iiiiiiii_82", "jsCall_iiiiiiii_83", "jsCall_iiiiiiii_84", "jsCall_iiiiiiii_85", "jsCall_iiiiiiii_86", "jsCall_iiiiiiii_87", "jsCall_iiiiiiii_88", "jsCall_iiiiiiii_89", "jsCall_iiiiiiii_90", "jsCall_iiiiiiii_91", "jsCall_iiiiiiii_92", "jsCall_iiiiiiii_93", "jsCall_iiiiiiii_94", "jsCall_iiiiiiii_95", "jsCall_iiiiiiii_96", "jsCall_iiiiiiii_97", "jsCall_iiiiiiii_98", "jsCall_iiiiiiii_99", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "jsCall_iiiiiiiid_35", "jsCall_iiiiiiiid_36", "jsCall_iiiiiiiid_37", "jsCall_iiiiiiiid_38", "jsCall_iiiiiiiid_39", "jsCall_iiiiiiiid_40", "jsCall_iiiiiiiid_41", "jsCall_iiiiiiiid_42", "jsCall_iiiiiiiid_43", "jsCall_iiiiiiiid_44", "jsCall_iiiiiiiid_45", "jsCall_iiiiiiiid_46", "jsCall_iiiiiiiid_47", "jsCall_iiiiiiiid_48", "jsCall_iiiiiiiid_49", "jsCall_iiiiiiiid_50", "jsCall_iiiiiiiid_51", "jsCall_iiiiiiiid_52", "jsCall_iiiiiiiid_53", "jsCall_iiiiiiiid_54", "jsCall_iiiiiiiid_55", "jsCall_iiiiiiiid_56", "jsCall_iiiiiiiid_57", "jsCall_iiiiiiiid_58", "jsCall_iiiiiiiid_59", "jsCall_iiiiiiiid_60", "jsCall_iiiiiiiid_61", "jsCall_iiiiiiiid_62", "jsCall_iiiiiiiid_63", "jsCall_iiiiiiiid_64", "jsCall_iiiiiiiid_65", "jsCall_iiiiiiiid_66", "jsCall_iiiiiiiid_67", "jsCall_iiiiiiiid_68", "jsCall_iiiiiiiid_69", "jsCall_iiiiiiiid_70", "jsCall_iiiiiiiid_71", "jsCall_iiiiiiiid_72", "jsCall_iiiiiiiid_73", "jsCall_iiiiiiiid_74", "jsCall_iiiiiiiid_75", "jsCall_iiiiiiiid_76", "jsCall_iiiiiiiid_77", "jsCall_iiiiiiiid_78", "jsCall_iiiiiiiid_79", "jsCall_iiiiiiiid_80", "jsCall_iiiiiiiid_81", "jsCall_iiiiiiiid_82", "jsCall_iiiiiiiid_83", "jsCall_iiiiiiiid_84", "jsCall_iiiiiiiid_85", "jsCall_iiiiiiiid_86", "jsCall_iiiiiiiid_87", "jsCall_iiiiiiiid_88", "jsCall_iiiiiiiid_89", "jsCall_iiiiiiiid_90", "jsCall_iiiiiiiid_91", "jsCall_iiiiiiiid_92", "jsCall_iiiiiiiid_93", "jsCall_iiiiiiiid_94", "jsCall_iiiiiiiid_95", "jsCall_iiiiiiiid_96", "jsCall_iiiiiiiid_97", "jsCall_iiiiiiiid_98", "jsCall_iiiiiiiid_99", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "jsCall_iiiiij_35", "jsCall_iiiiij_36", "jsCall_iiiiij_37", "jsCall_iiiiij_38", "jsCall_iiiiij_39", "jsCall_iiiiij_40", "jsCall_iiiiij_41", "jsCall_iiiiij_42", "jsCall_iiiiij_43", "jsCall_iiiiij_44", "jsCall_iiiiij_45", "jsCall_iiiiij_46", "jsCall_iiiiij_47", "jsCall_iiiiij_48", "jsCall_iiiiij_49", "jsCall_iiiiij_50", "jsCall_iiiiij_51", "jsCall_iiiiij_52", "jsCall_iiiiij_53", "jsCall_iiiiij_54", "jsCall_iiiiij_55", "jsCall_iiiiij_56", "jsCall_iiiiij_57", "jsCall_iiiiij_58", "jsCall_iiiiij_59", "jsCall_iiiiij_60", "jsCall_iiiiij_61", "jsCall_iiiiij_62", "jsCall_iiiiij_63", "jsCall_iiiiij_64", "jsCall_iiiiij_65", "jsCall_iiiiij_66", "jsCall_iiiiij_67", "jsCall_iiiiij_68", "jsCall_iiiiij_69", "jsCall_iiiiij_70", "jsCall_iiiiij_71", "jsCall_iiiiij_72", "jsCall_iiiiij_73", "jsCall_iiiiij_74", "jsCall_iiiiij_75", "jsCall_iiiiij_76", "jsCall_iiiiij_77", "jsCall_iiiiij_78", "jsCall_iiiiij_79", "jsCall_iiiiij_80", "jsCall_iiiiij_81", "jsCall_iiiiij_82", "jsCall_iiiiij_83", "jsCall_iiiiij_84", "jsCall_iiiiij_85", "jsCall_iiiiij_86", "jsCall_iiiiij_87", "jsCall_iiiiij_88", "jsCall_iiiiij_89", "jsCall_iiiiij_90", "jsCall_iiiiij_91", "jsCall_iiiiij_92", "jsCall_iiiiij_93", "jsCall_iiiiij_94", "jsCall_iiiiij_95", "jsCall_iiiiij_96", "jsCall_iiiiij_97", "jsCall_iiiiij_98", "jsCall_iiiiij_99", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "jsCall_iiiji_35", "jsCall_iiiji_36", "jsCall_iiiji_37", "jsCall_iiiji_38", "jsCall_iiiji_39", "jsCall_iiiji_40", "jsCall_iiiji_41", "jsCall_iiiji_42", "jsCall_iiiji_43", "jsCall_iiiji_44", "jsCall_iiiji_45", "jsCall_iiiji_46", "jsCall_iiiji_47", "jsCall_iiiji_48", "jsCall_iiiji_49", "jsCall_iiiji_50", "jsCall_iiiji_51", "jsCall_iiiji_52", "jsCall_iiiji_53", "jsCall_iiiji_54", "jsCall_iiiji_55", "jsCall_iiiji_56", "jsCall_iiiji_57", "jsCall_iiiji_58", "jsCall_iiiji_59", "jsCall_iiiji_60", "jsCall_iiiji_61", "jsCall_iiiji_62", "jsCall_iiiji_63", "jsCall_iiiji_64", "jsCall_iiiji_65", "jsCall_iiiji_66", "jsCall_iiiji_67", "jsCall_iiiji_68", "jsCall_iiiji_69", "jsCall_iiiji_70", "jsCall_iiiji_71", "jsCall_iiiji_72", "jsCall_iiiji_73", "jsCall_iiiji_74", "jsCall_iiiji_75", "jsCall_iiiji_76", "jsCall_iiiji_77", "jsCall_iiiji_78", "jsCall_iiiji_79", "jsCall_iiiji_80", "jsCall_iiiji_81", "jsCall_iiiji_82", "jsCall_iiiji_83", "jsCall_iiiji_84", "jsCall_iiiji_85", "jsCall_iiiji_86", "jsCall_iiiji_87", "jsCall_iiiji_88", "jsCall_iiiji_89", "jsCall_iiiji_90", "jsCall_iiiji_91", "jsCall_iiiji_92", "jsCall_iiiji_93", "jsCall_iiiji_94", "jsCall_iiiji_95", "jsCall_iiiji_96", "jsCall_iiiji_97", "jsCall_iiiji_98", "jsCall_iiiji_99", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", "jsCall_iiijjji_35", "jsCall_iiijjji_36", "jsCall_iiijjji_37", "jsCall_iiijjji_38", "jsCall_iiijjji_39", "jsCall_iiijjji_40", "jsCall_iiijjji_41", "jsCall_iiijjji_42", "jsCall_iiijjji_43", "jsCall_iiijjji_44", "jsCall_iiijjji_45", "jsCall_iiijjji_46", "jsCall_iiijjji_47", "jsCall_iiijjji_48", "jsCall_iiijjji_49", "jsCall_iiijjji_50", "jsCall_iiijjji_51", "jsCall_iiijjji_52", "jsCall_iiijjji_53", "jsCall_iiijjji_54", "jsCall_iiijjji_55", "jsCall_iiijjji_56", "jsCall_iiijjji_57", "jsCall_iiijjji_58", "jsCall_iiijjji_59", "jsCall_iiijjji_60", "jsCall_iiijjji_61", "jsCall_iiijjji_62", "jsCall_iiijjji_63", "jsCall_iiijjji_64", "jsCall_iiijjji_65", "jsCall_iiijjji_66", "jsCall_iiijjji_67", "jsCall_iiijjji_68", "jsCall_iiijjji_69", "jsCall_iiijjji_70", "jsCall_iiijjji_71", "jsCall_iiijjji_72", "jsCall_iiijjji_73", "jsCall_iiijjji_74", "jsCall_iiijjji_75", "jsCall_iiijjji_76", "jsCall_iiijjji_77", "jsCall_iiijjji_78", "jsCall_iiijjji_79", "jsCall_iiijjji_80", "jsCall_iiijjji_81", "jsCall_iiijjji_82", "jsCall_iiijjji_83", "jsCall_iiijjji_84", "jsCall_iiijjji_85", "jsCall_iiijjji_86", "jsCall_iiijjji_87", "jsCall_iiijjji_88", "jsCall_iiijjji_89", "jsCall_iiijjji_90", "jsCall_iiijjji_91", "jsCall_iiijjji_92", "jsCall_iiijjji_93", "jsCall_iiijjji_94", "jsCall_iiijjji_95", "jsCall_iiijjji_96", "jsCall_iiijjji_97", "jsCall_iiijjji_98", "jsCall_iiijjji_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "jsCall_jii_35", "jsCall_jii_36", "jsCall_jii_37", "jsCall_jii_38", "jsCall_jii_39", "jsCall_jii_40", "jsCall_jii_41", "jsCall_jii_42", "jsCall_jii_43", "jsCall_jii_44", "jsCall_jii_45", "jsCall_jii_46", "jsCall_jii_47", "jsCall_jii_48", "jsCall_jii_49", "jsCall_jii_50", "jsCall_jii_51", "jsCall_jii_52", "jsCall_jii_53", "jsCall_jii_54", "jsCall_jii_55", "jsCall_jii_56", "jsCall_jii_57", "jsCall_jii_58", "jsCall_jii_59", "jsCall_jii_60", "jsCall_jii_61", "jsCall_jii_62", "jsCall_jii_63", "jsCall_jii_64", "jsCall_jii_65", "jsCall_jii_66", "jsCall_jii_67", "jsCall_jii_68", "jsCall_jii_69", "jsCall_jii_70", "jsCall_jii_71", "jsCall_jii_72", "jsCall_jii_73", "jsCall_jii_74", "jsCall_jii_75", "jsCall_jii_76", "jsCall_jii_77", "jsCall_jii_78", "jsCall_jii_79", "jsCall_jii_80", "jsCall_jii_81", "jsCall_jii_82", "jsCall_jii_83", "jsCall_jii_84", "jsCall_jii_85", "jsCall_jii_86", "jsCall_jii_87", "jsCall_jii_88", "jsCall_jii_89", "jsCall_jii_90", "jsCall_jii_91", "jsCall_jii_92", "jsCall_jii_93", "jsCall_jii_94", "jsCall_jii_95", "jsCall_jii_96", "jsCall_jii_97", "jsCall_jii_98", "jsCall_jii_99", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "jsCall_jiiij_35", "jsCall_jiiij_36", "jsCall_jiiij_37", "jsCall_jiiij_38", "jsCall_jiiij_39", "jsCall_jiiij_40", "jsCall_jiiij_41", "jsCall_jiiij_42", "jsCall_jiiij_43", "jsCall_jiiij_44", "jsCall_jiiij_45", "jsCall_jiiij_46", "jsCall_jiiij_47", "jsCall_jiiij_48", "jsCall_jiiij_49", "jsCall_jiiij_50", "jsCall_jiiij_51", "jsCall_jiiij_52", "jsCall_jiiij_53", "jsCall_jiiij_54", "jsCall_jiiij_55", "jsCall_jiiij_56", "jsCall_jiiij_57", "jsCall_jiiij_58", "jsCall_jiiij_59", "jsCall_jiiij_60", "jsCall_jiiij_61", "jsCall_jiiij_62", "jsCall_jiiij_63", "jsCall_jiiij_64", "jsCall_jiiij_65", "jsCall_jiiij_66", "jsCall_jiiij_67", "jsCall_jiiij_68", "jsCall_jiiij_69", "jsCall_jiiij_70", "jsCall_jiiij_71", "jsCall_jiiij_72", "jsCall_jiiij_73", "jsCall_jiiij_74", "jsCall_jiiij_75", "jsCall_jiiij_76", "jsCall_jiiij_77", "jsCall_jiiij_78", "jsCall_jiiij_79", "jsCall_jiiij_80", "jsCall_jiiij_81", "jsCall_jiiij_82", "jsCall_jiiij_83", "jsCall_jiiij_84", "jsCall_jiiij_85", "jsCall_jiiij_86", "jsCall_jiiij_87", "jsCall_jiiij_88", "jsCall_jiiij_89", "jsCall_jiiij_90", "jsCall_jiiij_91", "jsCall_jiiij_92", "jsCall_jiiij_93", "jsCall_jiiij_94", "jsCall_jiiij_95", "jsCall_jiiij_96", "jsCall_jiiij_97", "jsCall_jiiij_98", "jsCall_jiiij_99", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "jsCall_jiiji_35", "jsCall_jiiji_36", "jsCall_jiiji_37", "jsCall_jiiji_38", "jsCall_jiiji_39", "jsCall_jiiji_40", "jsCall_jiiji_41", "jsCall_jiiji_42", "jsCall_jiiji_43", "jsCall_jiiji_44", "jsCall_jiiji_45", "jsCall_jiiji_46", "jsCall_jiiji_47", "jsCall_jiiji_48", "jsCall_jiiji_49", "jsCall_jiiji_50", "jsCall_jiiji_51", "jsCall_jiiji_52", "jsCall_jiiji_53", "jsCall_jiiji_54", "jsCall_jiiji_55", "jsCall_jiiji_56", "jsCall_jiiji_57", "jsCall_jiiji_58", "jsCall_jiiji_59", "jsCall_jiiji_60", "jsCall_jiiji_61", "jsCall_jiiji_62", "jsCall_jiiji_63", "jsCall_jiiji_64", "jsCall_jiiji_65", "jsCall_jiiji_66", "jsCall_jiiji_67", "jsCall_jiiji_68", "jsCall_jiiji_69", "jsCall_jiiji_70", "jsCall_jiiji_71", "jsCall_jiiji_72", "jsCall_jiiji_73", "jsCall_jiiji_74", "jsCall_jiiji_75", "jsCall_jiiji_76", "jsCall_jiiji_77", "jsCall_jiiji_78", "jsCall_jiiji_79", "jsCall_jiiji_80", "jsCall_jiiji_81", "jsCall_jiiji_82", "jsCall_jiiji_83", "jsCall_jiiji_84", "jsCall_jiiji_85", "jsCall_jiiji_86", "jsCall_jiiji_87", "jsCall_jiiji_88", "jsCall_jiiji_89", "jsCall_jiiji_90", "jsCall_jiiji_91", "jsCall_jiiji_92", "jsCall_jiiji_93", "jsCall_jiiji_94", "jsCall_jiiji_95", "jsCall_jiiji_96", "jsCall_jiiji_97", "jsCall_jiiji_98", "jsCall_jiiji_99", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "jsCall_jij_35", "jsCall_jij_36", "jsCall_jij_37", "jsCall_jij_38", "jsCall_jij_39", "jsCall_jij_40", "jsCall_jij_41", "jsCall_jij_42", "jsCall_jij_43", "jsCall_jij_44", "jsCall_jij_45", "jsCall_jij_46", "jsCall_jij_47", "jsCall_jij_48", "jsCall_jij_49", "jsCall_jij_50", "jsCall_jij_51", "jsCall_jij_52", "jsCall_jij_53", "jsCall_jij_54", "jsCall_jij_55", "jsCall_jij_56", "jsCall_jij_57", "jsCall_jij_58", "jsCall_jij_59", "jsCall_jij_60", "jsCall_jij_61", "jsCall_jij_62", "jsCall_jij_63", "jsCall_jij_64", "jsCall_jij_65", "jsCall_jij_66", "jsCall_jij_67", "jsCall_jij_68", "jsCall_jij_69", "jsCall_jij_70", "jsCall_jij_71", "jsCall_jij_72", "jsCall_jij_73", "jsCall_jij_74", "jsCall_jij_75", "jsCall_jij_76", "jsCall_jij_77", "jsCall_jij_78", "jsCall_jij_79", "jsCall_jij_80", "jsCall_jij_81", "jsCall_jij_82", "jsCall_jij_83", "jsCall_jij_84", "jsCall_jij_85", "jsCall_jij_86", "jsCall_jij_87", "jsCall_jij_88", "jsCall_jij_89", "jsCall_jij_90", "jsCall_jij_91", "jsCall_jij_92", "jsCall_jij_93", "jsCall_jij_94", "jsCall_jij_95", "jsCall_jij_96", "jsCall_jij_97", "jsCall_jij_98", "jsCall_jij_99", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "jsCall_jiji_35", "jsCall_jiji_36", "jsCall_jiji_37", "jsCall_jiji_38", "jsCall_jiji_39", "jsCall_jiji_40", "jsCall_jiji_41", "jsCall_jiji_42", "jsCall_jiji_43", "jsCall_jiji_44", "jsCall_jiji_45", "jsCall_jiji_46", "jsCall_jiji_47", "jsCall_jiji_48", "jsCall_jiji_49", "jsCall_jiji_50", "jsCall_jiji_51", "jsCall_jiji_52", "jsCall_jiji_53", "jsCall_jiji_54", "jsCall_jiji_55", "jsCall_jiji_56", "jsCall_jiji_57", "jsCall_jiji_58", "jsCall_jiji_59", "jsCall_jiji_60", "jsCall_jiji_61", "jsCall_jiji_62", "jsCall_jiji_63", "jsCall_jiji_64", "jsCall_jiji_65", "jsCall_jiji_66", "jsCall_jiji_67", "jsCall_jiji_68", "jsCall_jiji_69", "jsCall_jiji_70", "jsCall_jiji_71", "jsCall_jiji_72", "jsCall_jiji_73", "jsCall_jiji_74", "jsCall_jiji_75", "jsCall_jiji_76", "jsCall_jiji_77", "jsCall_jiji_78", "jsCall_jiji_79", "jsCall_jiji_80", "jsCall_jiji_81", "jsCall_jiji_82", "jsCall_jiji_83", "jsCall_jiji_84", "jsCall_jiji_85", "jsCall_jiji_86", "jsCall_jiji_87", "jsCall_jiji_88", "jsCall_jiji_89", "jsCall_jiji_90", "jsCall_jiji_91", "jsCall_jiji_92", "jsCall_jiji_93", "jsCall_jiji_94", "jsCall_jiji_95", "jsCall_jiji_96", "jsCall_jiji_97", "jsCall_jiji_98", "jsCall_jiji_99", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "jsCall_v_35", "jsCall_v_36", "jsCall_v_37", "jsCall_v_38", "jsCall_v_39", "jsCall_v_40", "jsCall_v_41", "jsCall_v_42", "jsCall_v_43", "jsCall_v_44", "jsCall_v_45", "jsCall_v_46", "jsCall_v_47", "jsCall_v_48", "jsCall_v_49", "jsCall_v_50", "jsCall_v_51", "jsCall_v_52", "jsCall_v_53", "jsCall_v_54", "jsCall_v_55", "jsCall_v_56", "jsCall_v_57", "jsCall_v_58", "jsCall_v_59", "jsCall_v_60", "jsCall_v_61", "jsCall_v_62", "jsCall_v_63", "jsCall_v_64", "jsCall_v_65", "jsCall_v_66", "jsCall_v_67", "jsCall_v_68", "jsCall_v_69", "jsCall_v_70", "jsCall_v_71", "jsCall_v_72", "jsCall_v_73", "jsCall_v_74", "jsCall_v_75", "jsCall_v_76", "jsCall_v_77", "jsCall_v_78", "jsCall_v_79", "jsCall_v_80", "jsCall_v_81", "jsCall_v_82", "jsCall_v_83", "jsCall_v_84", "jsCall_v_85", "jsCall_v_86", "jsCall_v_87", "jsCall_v_88", "jsCall_v_89", "jsCall_v_90", "jsCall_v_91", "jsCall_v_92", "jsCall_v_93", "jsCall_v_94", "jsCall_v_95", "jsCall_v_96", "jsCall_v_97", "jsCall_v_98", "jsCall_v_99", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", "jsCall_vdiidiiiii_35", "jsCall_vdiidiiiii_36", "jsCall_vdiidiiiii_37", "jsCall_vdiidiiiii_38", "jsCall_vdiidiiiii_39", "jsCall_vdiidiiiii_40", "jsCall_vdiidiiiii_41", "jsCall_vdiidiiiii_42", "jsCall_vdiidiiiii_43", "jsCall_vdiidiiiii_44", "jsCall_vdiidiiiii_45", "jsCall_vdiidiiiii_46", "jsCall_vdiidiiiii_47", "jsCall_vdiidiiiii_48", "jsCall_vdiidiiiii_49", "jsCall_vdiidiiiii_50", "jsCall_vdiidiiiii_51", "jsCall_vdiidiiiii_52", "jsCall_vdiidiiiii_53", "jsCall_vdiidiiiii_54", "jsCall_vdiidiiiii_55", "jsCall_vdiidiiiii_56", "jsCall_vdiidiiiii_57", "jsCall_vdiidiiiii_58", "jsCall_vdiidiiiii_59", "jsCall_vdiidiiiii_60", "jsCall_vdiidiiiii_61", "jsCall_vdiidiiiii_62", "jsCall_vdiidiiiii_63", "jsCall_vdiidiiiii_64", "jsCall_vdiidiiiii_65", "jsCall_vdiidiiiii_66", "jsCall_vdiidiiiii_67", "jsCall_vdiidiiiii_68", "jsCall_vdiidiiiii_69", "jsCall_vdiidiiiii_70", "jsCall_vdiidiiiii_71", "jsCall_vdiidiiiii_72", "jsCall_vdiidiiiii_73", "jsCall_vdiidiiiii_74", "jsCall_vdiidiiiii_75", "jsCall_vdiidiiiii_76", "jsCall_vdiidiiiii_77", "jsCall_vdiidiiiii_78", "jsCall_vdiidiiiii_79", "jsCall_vdiidiiiii_80", "jsCall_vdiidiiiii_81", "jsCall_vdiidiiiii_82", "jsCall_vdiidiiiii_83", "jsCall_vdiidiiiii_84", "jsCall_vdiidiiiii_85", "jsCall_vdiidiiiii_86", "jsCall_vdiidiiiii_87", "jsCall_vdiidiiiii_88", "jsCall_vdiidiiiii_89", "jsCall_vdiidiiiii_90", "jsCall_vdiidiiiii_91", "jsCall_vdiidiiiii_92", "jsCall_vdiidiiiii_93", "jsCall_vdiidiiiii_94", "jsCall_vdiidiiiii_95", "jsCall_vdiidiiiii_96", "jsCall_vdiidiiiii_97", "jsCall_vdiidiiiii_98", "jsCall_vdiidiiiii_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", "jsCall_vdiidiiiiii_35", "jsCall_vdiidiiiiii_36", "jsCall_vdiidiiiiii_37", "jsCall_vdiidiiiiii_38", "jsCall_vdiidiiiiii_39", "jsCall_vdiidiiiiii_40", "jsCall_vdiidiiiiii_41", "jsCall_vdiidiiiiii_42", "jsCall_vdiidiiiiii_43", "jsCall_vdiidiiiiii_44", "jsCall_vdiidiiiiii_45", "jsCall_vdiidiiiiii_46", "jsCall_vdiidiiiiii_47", "jsCall_vdiidiiiiii_48", "jsCall_vdiidiiiiii_49", "jsCall_vdiidiiiiii_50", "jsCall_vdiidiiiiii_51", "jsCall_vdiidiiiiii_52", "jsCall_vdiidiiiiii_53", "jsCall_vdiidiiiiii_54", "jsCall_vdiidiiiiii_55", "jsCall_vdiidiiiiii_56", "jsCall_vdiidiiiiii_57", "jsCall_vdiidiiiiii_58", "jsCall_vdiidiiiiii_59", "jsCall_vdiidiiiiii_60", "jsCall_vdiidiiiiii_61", "jsCall_vdiidiiiiii_62", "jsCall_vdiidiiiiii_63", "jsCall_vdiidiiiiii_64", "jsCall_vdiidiiiiii_65", "jsCall_vdiidiiiiii_66", "jsCall_vdiidiiiiii_67", "jsCall_vdiidiiiiii_68", "jsCall_vdiidiiiiii_69", "jsCall_vdiidiiiiii_70", "jsCall_vdiidiiiiii_71", "jsCall_vdiidiiiiii_72", "jsCall_vdiidiiiiii_73", "jsCall_vdiidiiiiii_74", "jsCall_vdiidiiiiii_75", "jsCall_vdiidiiiiii_76", "jsCall_vdiidiiiiii_77", "jsCall_vdiidiiiiii_78", "jsCall_vdiidiiiiii_79", "jsCall_vdiidiiiiii_80", "jsCall_vdiidiiiiii_81", "jsCall_vdiidiiiiii_82", "jsCall_vdiidiiiiii_83", "jsCall_vdiidiiiiii_84", "jsCall_vdiidiiiiii_85", "jsCall_vdiidiiiiii_86", "jsCall_vdiidiiiiii_87", "jsCall_vdiidiiiiii_88", "jsCall_vdiidiiiiii_89", "jsCall_vdiidiiiiii_90", "jsCall_vdiidiiiiii_91", "jsCall_vdiidiiiiii_92", "jsCall_vdiidiiiiii_93", "jsCall_vdiidiiiiii_94", "jsCall_vdiidiiiiii_95", "jsCall_vdiidiiiiii_96", "jsCall_vdiidiiiiii_97", "jsCall_vdiidiiiiii_98", "jsCall_vdiidiiiiii_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "jsCall_vi_35", "jsCall_vi_36", "jsCall_vi_37", "jsCall_vi_38", "jsCall_vi_39", "jsCall_vi_40", "jsCall_vi_41", "jsCall_vi_42", "jsCall_vi_43", "jsCall_vi_44", "jsCall_vi_45", "jsCall_vi_46", "jsCall_vi_47", "jsCall_vi_48", "jsCall_vi_49", "jsCall_vi_50", "jsCall_vi_51", "jsCall_vi_52", "jsCall_vi_53", "jsCall_vi_54", "jsCall_vi_55", "jsCall_vi_56", "jsCall_vi_57", "jsCall_vi_58", "jsCall_vi_59", "jsCall_vi_60", "jsCall_vi_61", "jsCall_vi_62", "jsCall_vi_63", "jsCall_vi_64", "jsCall_vi_65", "jsCall_vi_66", "jsCall_vi_67", "jsCall_vi_68", "jsCall_vi_69", "jsCall_vi_70", "jsCall_vi_71", "jsCall_vi_72", "jsCall_vi_73", "jsCall_vi_74", "jsCall_vi_75", "jsCall_vi_76", "jsCall_vi_77", "jsCall_vi_78", "jsCall_vi_79", "jsCall_vi_80", "jsCall_vi_81", "jsCall_vi_82", "jsCall_vi_83", "jsCall_vi_84", "jsCall_vi_85", "jsCall_vi_86", "jsCall_vi_87", "jsCall_vi_88", "jsCall_vi_89", "jsCall_vi_90", "jsCall_vi_91", "jsCall_vi_92", "jsCall_vi_93", "jsCall_vi_94", "jsCall_vi_95", "jsCall_vi_96", "jsCall_vi_97", "jsCall_vi_98", "jsCall_vi_99", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "jsCall_vii_35", "jsCall_vii_36", "jsCall_vii_37", "jsCall_vii_38", "jsCall_vii_39", "jsCall_vii_40", "jsCall_vii_41", "jsCall_vii_42", "jsCall_vii_43", "jsCall_vii_44", "jsCall_vii_45", "jsCall_vii_46", "jsCall_vii_47", "jsCall_vii_48", "jsCall_vii_49", "jsCall_vii_50", "jsCall_vii_51", "jsCall_vii_52", "jsCall_vii_53", "jsCall_vii_54", "jsCall_vii_55", "jsCall_vii_56", "jsCall_vii_57", "jsCall_vii_58", "jsCall_vii_59", "jsCall_vii_60", "jsCall_vii_61", "jsCall_vii_62", "jsCall_vii_63", "jsCall_vii_64", "jsCall_vii_65", "jsCall_vii_66", "jsCall_vii_67", "jsCall_vii_68", "jsCall_vii_69", "jsCall_vii_70", "jsCall_vii_71", "jsCall_vii_72", "jsCall_vii_73", "jsCall_vii_74", "jsCall_vii_75", "jsCall_vii_76", "jsCall_vii_77", "jsCall_vii_78", "jsCall_vii_79", "jsCall_vii_80", "jsCall_vii_81", "jsCall_vii_82", "jsCall_vii_83", "jsCall_vii_84", "jsCall_vii_85", "jsCall_vii_86", "jsCall_vii_87", "jsCall_vii_88", "jsCall_vii_89", "jsCall_vii_90", "jsCall_vii_91", "jsCall_vii_92", "jsCall_vii_93", "jsCall_vii_94", "jsCall_vii_95", "jsCall_vii_96", "jsCall_vii_97", "jsCall_vii_98", "jsCall_vii_99", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "jsCall_viidi_35", "jsCall_viidi_36", "jsCall_viidi_37", "jsCall_viidi_38", "jsCall_viidi_39", "jsCall_viidi_40", "jsCall_viidi_41", "jsCall_viidi_42", "jsCall_viidi_43", "jsCall_viidi_44", "jsCall_viidi_45", "jsCall_viidi_46", "jsCall_viidi_47", "jsCall_viidi_48", "jsCall_viidi_49", "jsCall_viidi_50", "jsCall_viidi_51", "jsCall_viidi_52", "jsCall_viidi_53", "jsCall_viidi_54", "jsCall_viidi_55", "jsCall_viidi_56", "jsCall_viidi_57", "jsCall_viidi_58", "jsCall_viidi_59", "jsCall_viidi_60", "jsCall_viidi_61", "jsCall_viidi_62", "jsCall_viidi_63", "jsCall_viidi_64", "jsCall_viidi_65", "jsCall_viidi_66", "jsCall_viidi_67", "jsCall_viidi_68", "jsCall_viidi_69", "jsCall_viidi_70", "jsCall_viidi_71", "jsCall_viidi_72", "jsCall_viidi_73", "jsCall_viidi_74", "jsCall_viidi_75", "jsCall_viidi_76", "jsCall_viidi_77", "jsCall_viidi_78", "jsCall_viidi_79", "jsCall_viidi_80", "jsCall_viidi_81", "jsCall_viidi_82", "jsCall_viidi_83", "jsCall_viidi_84", "jsCall_viidi_85", "jsCall_viidi_86", "jsCall_viidi_87", "jsCall_viidi_88", "jsCall_viidi_89", "jsCall_viidi_90", "jsCall_viidi_91", "jsCall_viidi_92", "jsCall_viidi_93", "jsCall_viidi_94", "jsCall_viidi_95", "jsCall_viidi_96", "jsCall_viidi_97", "jsCall_viidi_98", "jsCall_viidi_99", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "jsCall_viifi_35", "jsCall_viifi_36", "jsCall_viifi_37", "jsCall_viifi_38", "jsCall_viifi_39", "jsCall_viifi_40", "jsCall_viifi_41", "jsCall_viifi_42", "jsCall_viifi_43", "jsCall_viifi_44", "jsCall_viifi_45", "jsCall_viifi_46", "jsCall_viifi_47", "jsCall_viifi_48", "jsCall_viifi_49", "jsCall_viifi_50", "jsCall_viifi_51", "jsCall_viifi_52", "jsCall_viifi_53", "jsCall_viifi_54", "jsCall_viifi_55", "jsCall_viifi_56", "jsCall_viifi_57", "jsCall_viifi_58", "jsCall_viifi_59", "jsCall_viifi_60", "jsCall_viifi_61", "jsCall_viifi_62", "jsCall_viifi_63", "jsCall_viifi_64", "jsCall_viifi_65", "jsCall_viifi_66", "jsCall_viifi_67", "jsCall_viifi_68", "jsCall_viifi_69", "jsCall_viifi_70", "jsCall_viifi_71", "jsCall_viifi_72", "jsCall_viifi_73", "jsCall_viifi_74", "jsCall_viifi_75", "jsCall_viifi_76", "jsCall_viifi_77", "jsCall_viifi_78", "jsCall_viifi_79", "jsCall_viifi_80", "jsCall_viifi_81", "jsCall_viifi_82", "jsCall_viifi_83", "jsCall_viifi_84", "jsCall_viifi_85", "jsCall_viifi_86", "jsCall_viifi_87", "jsCall_viifi_88", "jsCall_viifi_89", "jsCall_viifi_90", "jsCall_viifi_91", "jsCall_viifi_92", "jsCall_viifi_93", "jsCall_viifi_94", "jsCall_viifi_95", "jsCall_viifi_96", "jsCall_viifi_97", "jsCall_viifi_98", "jsCall_viifi_99", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "jsCall_viii_35", "jsCall_viii_36", "jsCall_viii_37", "jsCall_viii_38", "jsCall_viii_39", "jsCall_viii_40", "jsCall_viii_41", "jsCall_viii_42", "jsCall_viii_43", "jsCall_viii_44", "jsCall_viii_45", "jsCall_viii_46", "jsCall_viii_47", "jsCall_viii_48", "jsCall_viii_49", "jsCall_viii_50", "jsCall_viii_51", "jsCall_viii_52", "jsCall_viii_53", "jsCall_viii_54", "jsCall_viii_55", "jsCall_viii_56", "jsCall_viii_57", "jsCall_viii_58", "jsCall_viii_59", "jsCall_viii_60", "jsCall_viii_61", "jsCall_viii_62", "jsCall_viii_63", "jsCall_viii_64", "jsCall_viii_65", "jsCall_viii_66", "jsCall_viii_67", "jsCall_viii_68", "jsCall_viii_69", "jsCall_viii_70", "jsCall_viii_71", "jsCall_viii_72", "jsCall_viii_73", "jsCall_viii_74", "jsCall_viii_75", "jsCall_viii_76", "jsCall_viii_77", "jsCall_viii_78", "jsCall_viii_79", "jsCall_viii_80", "jsCall_viii_81", "jsCall_viii_82", "jsCall_viii_83", "jsCall_viii_84", "jsCall_viii_85", "jsCall_viii_86", "jsCall_viii_87", "jsCall_viii_88", "jsCall_viii_89", "jsCall_viii_90", "jsCall_viii_91", "jsCall_viii_92", "jsCall_viii_93", "jsCall_viii_94", "jsCall_viii_95", "jsCall_viii_96", "jsCall_viii_97", "jsCall_viii_98", "jsCall_viii_99", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", "jsCall_viiid_35", "jsCall_viiid_36", "jsCall_viiid_37", "jsCall_viiid_38", "jsCall_viiid_39", "jsCall_viiid_40", "jsCall_viiid_41", "jsCall_viiid_42", "jsCall_viiid_43", "jsCall_viiid_44", "jsCall_viiid_45", "jsCall_viiid_46", "jsCall_viiid_47", "jsCall_viiid_48", "jsCall_viiid_49", "jsCall_viiid_50", "jsCall_viiid_51", "jsCall_viiid_52", "jsCall_viiid_53", "jsCall_viiid_54", "jsCall_viiid_55", "jsCall_viiid_56", "jsCall_viiid_57", "jsCall_viiid_58", "jsCall_viiid_59", "jsCall_viiid_60", "jsCall_viiid_61", "jsCall_viiid_62", "jsCall_viiid_63", "jsCall_viiid_64", "jsCall_viiid_65", "jsCall_viiid_66", "jsCall_viiid_67", "jsCall_viiid_68", "jsCall_viiid_69", "jsCall_viiid_70", "jsCall_viiid_71", "jsCall_viiid_72", "jsCall_viiid_73", "jsCall_viiid_74", "jsCall_viiid_75", "jsCall_viiid_76", "jsCall_viiid_77", "jsCall_viiid_78", "jsCall_viiid_79", "jsCall_viiid_80", "jsCall_viiid_81", "jsCall_viiid_82", "jsCall_viiid_83", "jsCall_viiid_84", "jsCall_viiid_85", "jsCall_viiid_86", "jsCall_viiid_87", "jsCall_viiid_88", "jsCall_viiid_89", "jsCall_viiid_90", "jsCall_viiid_91", "jsCall_viiid_92", "jsCall_viiid_93", "jsCall_viiid_94", "jsCall_viiid_95", "jsCall_viiid_96", "jsCall_viiid_97", "jsCall_viiid_98", "jsCall_viiid_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "jsCall_viiii_35", "jsCall_viiii_36", "jsCall_viiii_37", "jsCall_viiii_38", "jsCall_viiii_39", "jsCall_viiii_40", "jsCall_viiii_41", "jsCall_viiii_42", "jsCall_viiii_43", "jsCall_viiii_44", "jsCall_viiii_45", "jsCall_viiii_46", "jsCall_viiii_47", "jsCall_viiii_48", "jsCall_viiii_49", "jsCall_viiii_50", "jsCall_viiii_51", "jsCall_viiii_52", "jsCall_viiii_53", "jsCall_viiii_54", "jsCall_viiii_55", "jsCall_viiii_56", "jsCall_viiii_57", "jsCall_viiii_58", "jsCall_viiii_59", "jsCall_viiii_60", "jsCall_viiii_61", "jsCall_viiii_62", "jsCall_viiii_63", "jsCall_viiii_64", "jsCall_viiii_65", "jsCall_viiii_66", "jsCall_viiii_67", "jsCall_viiii_68", "jsCall_viiii_69", "jsCall_viiii_70", "jsCall_viiii_71", "jsCall_viiii_72", "jsCall_viiii_73", "jsCall_viiii_74", "jsCall_viiii_75", "jsCall_viiii_76", "jsCall_viiii_77", "jsCall_viiii_78", "jsCall_viiii_79", "jsCall_viiii_80", "jsCall_viiii_81", "jsCall_viiii_82", "jsCall_viiii_83", "jsCall_viiii_84", "jsCall_viiii_85", "jsCall_viiii_86", "jsCall_viiii_87", "jsCall_viiii_88", "jsCall_viiii_89", "jsCall_viiii_90", "jsCall_viiii_91", "jsCall_viiii_92", "jsCall_viiii_93", "jsCall_viiii_94", "jsCall_viiii_95", "jsCall_viiii_96", "jsCall_viiii_97", "jsCall_viiii_98", "jsCall_viiii_99", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "jsCall_viiiifii_35", "jsCall_viiiifii_36", "jsCall_viiiifii_37", "jsCall_viiiifii_38", "jsCall_viiiifii_39", "jsCall_viiiifii_40", "jsCall_viiiifii_41", "jsCall_viiiifii_42", "jsCall_viiiifii_43", "jsCall_viiiifii_44", "jsCall_viiiifii_45", "jsCall_viiiifii_46", "jsCall_viiiifii_47", "jsCall_viiiifii_48", "jsCall_viiiifii_49", "jsCall_viiiifii_50", "jsCall_viiiifii_51", "jsCall_viiiifii_52", "jsCall_viiiifii_53", "jsCall_viiiifii_54", "jsCall_viiiifii_55", "jsCall_viiiifii_56", "jsCall_viiiifii_57", "jsCall_viiiifii_58", "jsCall_viiiifii_59", "jsCall_viiiifii_60", "jsCall_viiiifii_61", "jsCall_viiiifii_62", "jsCall_viiiifii_63", "jsCall_viiiifii_64", "jsCall_viiiifii_65", "jsCall_viiiifii_66", "jsCall_viiiifii_67", "jsCall_viiiifii_68", "jsCall_viiiifii_69", "jsCall_viiiifii_70", "jsCall_viiiifii_71", "jsCall_viiiifii_72", "jsCall_viiiifii_73", "jsCall_viiiifii_74", "jsCall_viiiifii_75", "jsCall_viiiifii_76", "jsCall_viiiifii_77", "jsCall_viiiifii_78", "jsCall_viiiifii_79", "jsCall_viiiifii_80", "jsCall_viiiifii_81", "jsCall_viiiifii_82", "jsCall_viiiifii_83", "jsCall_viiiifii_84", "jsCall_viiiifii_85", "jsCall_viiiifii_86", "jsCall_viiiifii_87", "jsCall_viiiifii_88", "jsCall_viiiifii_89", "jsCall_viiiifii_90", "jsCall_viiiifii_91", "jsCall_viiiifii_92", "jsCall_viiiifii_93", "jsCall_viiiifii_94", "jsCall_viiiifii_95", "jsCall_viiiifii_96", "jsCall_viiiifii_97", "jsCall_viiiifii_98", "jsCall_viiiifii_99", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "jsCall_viiiii_35", "jsCall_viiiii_36", "jsCall_viiiii_37", "jsCall_viiiii_38", "jsCall_viiiii_39", "jsCall_viiiii_40", "jsCall_viiiii_41", "jsCall_viiiii_42", "jsCall_viiiii_43", "jsCall_viiiii_44", "jsCall_viiiii_45", "jsCall_viiiii_46", "jsCall_viiiii_47", "jsCall_viiiii_48", "jsCall_viiiii_49", "jsCall_viiiii_50", "jsCall_viiiii_51", "jsCall_viiiii_52", "jsCall_viiiii_53", "jsCall_viiiii_54", "jsCall_viiiii_55", "jsCall_viiiii_56", "jsCall_viiiii_57", "jsCall_viiiii_58", "jsCall_viiiii_59", "jsCall_viiiii_60", "jsCall_viiiii_61", "jsCall_viiiii_62", "jsCall_viiiii_63", "jsCall_viiiii_64", "jsCall_viiiii_65", "jsCall_viiiii_66", "jsCall_viiiii_67", "jsCall_viiiii_68", "jsCall_viiiii_69", "jsCall_viiiii_70", "jsCall_viiiii_71", "jsCall_viiiii_72", "jsCall_viiiii_73", "jsCall_viiiii_74", "jsCall_viiiii_75", "jsCall_viiiii_76", "jsCall_viiiii_77", "jsCall_viiiii_78", "jsCall_viiiii_79", "jsCall_viiiii_80", "jsCall_viiiii_81", "jsCall_viiiii_82", "jsCall_viiiii_83", "jsCall_viiiii_84", "jsCall_viiiii_85", "jsCall_viiiii_86", "jsCall_viiiii_87", "jsCall_viiiii_88", "jsCall_viiiii_89", "jsCall_viiiii_90", "jsCall_viiiii_91", "jsCall_viiiii_92", "jsCall_viiiii_93", "jsCall_viiiii_94", "jsCall_viiiii_95", "jsCall_viiiii_96", "jsCall_viiiii_97", "jsCall_viiiii_98", "jsCall_viiiii_99", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", "jsCall_viiiiidd_35", "jsCall_viiiiidd_36", "jsCall_viiiiidd_37", "jsCall_viiiiidd_38", "jsCall_viiiiidd_39", "jsCall_viiiiidd_40", "jsCall_viiiiidd_41", "jsCall_viiiiidd_42", "jsCall_viiiiidd_43", "jsCall_viiiiidd_44", "jsCall_viiiiidd_45", "jsCall_viiiiidd_46", "jsCall_viiiiidd_47", "jsCall_viiiiidd_48", "jsCall_viiiiidd_49", "jsCall_viiiiidd_50", "jsCall_viiiiidd_51", "jsCall_viiiiidd_52", "jsCall_viiiiidd_53", "jsCall_viiiiidd_54", "jsCall_viiiiidd_55", "jsCall_viiiiidd_56", "jsCall_viiiiidd_57", "jsCall_viiiiidd_58", "jsCall_viiiiidd_59", "jsCall_viiiiidd_60", "jsCall_viiiiidd_61", "jsCall_viiiiidd_62", "jsCall_viiiiidd_63", "jsCall_viiiiidd_64", "jsCall_viiiiidd_65", "jsCall_viiiiidd_66", "jsCall_viiiiidd_67", "jsCall_viiiiidd_68", "jsCall_viiiiidd_69", "jsCall_viiiiidd_70", "jsCall_viiiiidd_71", "jsCall_viiiiidd_72", "jsCall_viiiiidd_73", "jsCall_viiiiidd_74", "jsCall_viiiiidd_75", "jsCall_viiiiidd_76", "jsCall_viiiiidd_77", "jsCall_viiiiidd_78", "jsCall_viiiiidd_79", "jsCall_viiiiidd_80", "jsCall_viiiiidd_81", "jsCall_viiiiidd_82", "jsCall_viiiiidd_83", "jsCall_viiiiidd_84", "jsCall_viiiiidd_85", "jsCall_viiiiidd_86", "jsCall_viiiiidd_87", "jsCall_viiiiidd_88", "jsCall_viiiiidd_89", "jsCall_viiiiidd_90", "jsCall_viiiiidd_91", "jsCall_viiiiidd_92", "jsCall_viiiiidd_93", "jsCall_viiiiidd_94", "jsCall_viiiiidd_95", "jsCall_viiiiidd_96", "jsCall_viiiiidd_97", "jsCall_viiiiidd_98", "jsCall_viiiiidd_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", "jsCall_viiiiiddi_35", "jsCall_viiiiiddi_36", "jsCall_viiiiiddi_37", "jsCall_viiiiiddi_38", "jsCall_viiiiiddi_39", "jsCall_viiiiiddi_40", "jsCall_viiiiiddi_41", "jsCall_viiiiiddi_42", "jsCall_viiiiiddi_43", "jsCall_viiiiiddi_44", "jsCall_viiiiiddi_45", "jsCall_viiiiiddi_46", "jsCall_viiiiiddi_47", "jsCall_viiiiiddi_48", "jsCall_viiiiiddi_49", "jsCall_viiiiiddi_50", "jsCall_viiiiiddi_51", "jsCall_viiiiiddi_52", "jsCall_viiiiiddi_53", "jsCall_viiiiiddi_54", "jsCall_viiiiiddi_55", "jsCall_viiiiiddi_56", "jsCall_viiiiiddi_57", "jsCall_viiiiiddi_58", "jsCall_viiiiiddi_59", "jsCall_viiiiiddi_60", "jsCall_viiiiiddi_61", "jsCall_viiiiiddi_62", "jsCall_viiiiiddi_63", "jsCall_viiiiiddi_64", "jsCall_viiiiiddi_65", "jsCall_viiiiiddi_66", "jsCall_viiiiiddi_67", "jsCall_viiiiiddi_68", "jsCall_viiiiiddi_69", "jsCall_viiiiiddi_70", "jsCall_viiiiiddi_71", "jsCall_viiiiiddi_72", "jsCall_viiiiiddi_73", "jsCall_viiiiiddi_74", "jsCall_viiiiiddi_75", "jsCall_viiiiiddi_76", "jsCall_viiiiiddi_77", "jsCall_viiiiiddi_78", "jsCall_viiiiiddi_79", "jsCall_viiiiiddi_80", "jsCall_viiiiiddi_81", "jsCall_viiiiiddi_82", "jsCall_viiiiiddi_83", "jsCall_viiiiiddi_84", "jsCall_viiiiiddi_85", "jsCall_viiiiiddi_86", "jsCall_viiiiiddi_87", "jsCall_viiiiiddi_88", "jsCall_viiiiiddi_89", "jsCall_viiiiiddi_90", "jsCall_viiiiiddi_91", "jsCall_viiiiiddi_92", "jsCall_viiiiiddi_93", "jsCall_viiiiiddi_94", "jsCall_viiiiiddi_95", "jsCall_viiiiiddi_96", "jsCall_viiiiiddi_97", "jsCall_viiiiiddi_98", "jsCall_viiiiiddi_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "jsCall_viiiiii_35", "jsCall_viiiiii_36", "jsCall_viiiiii_37", "jsCall_viiiiii_38", "jsCall_viiiiii_39", "jsCall_viiiiii_40", "jsCall_viiiiii_41", "jsCall_viiiiii_42", "jsCall_viiiiii_43", "jsCall_viiiiii_44", "jsCall_viiiiii_45", "jsCall_viiiiii_46", "jsCall_viiiiii_47", "jsCall_viiiiii_48", "jsCall_viiiiii_49", "jsCall_viiiiii_50", "jsCall_viiiiii_51", "jsCall_viiiiii_52", "jsCall_viiiiii_53", "jsCall_viiiiii_54", "jsCall_viiiiii_55", "jsCall_viiiiii_56", "jsCall_viiiiii_57", "jsCall_viiiiii_58", "jsCall_viiiiii_59", "jsCall_viiiiii_60", "jsCall_viiiiii_61", "jsCall_viiiiii_62", "jsCall_viiiiii_63", "jsCall_viiiiii_64", "jsCall_viiiiii_65", "jsCall_viiiiii_66", "jsCall_viiiiii_67", "jsCall_viiiiii_68", "jsCall_viiiiii_69", "jsCall_viiiiii_70", "jsCall_viiiiii_71", "jsCall_viiiiii_72", "jsCall_viiiiii_73", "jsCall_viiiiii_74", "jsCall_viiiiii_75", "jsCall_viiiiii_76", "jsCall_viiiiii_77", "jsCall_viiiiii_78", "jsCall_viiiiii_79", "jsCall_viiiiii_80", "jsCall_viiiiii_81", "jsCall_viiiiii_82", "jsCall_viiiiii_83", "jsCall_viiiiii_84", "jsCall_viiiiii_85", "jsCall_viiiiii_86", "jsCall_viiiiii_87", "jsCall_viiiiii_88", "jsCall_viiiiii_89", "jsCall_viiiiii_90", "jsCall_viiiiii_91", "jsCall_viiiiii_92", "jsCall_viiiiii_93", "jsCall_viiiiii_94", "jsCall_viiiiii_95", "jsCall_viiiiii_96", "jsCall_viiiiii_97", "jsCall_viiiiii_98", "jsCall_viiiiii_99", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "jsCall_viiiiiifi_35", "jsCall_viiiiiifi_36", "jsCall_viiiiiifi_37", "jsCall_viiiiiifi_38", "jsCall_viiiiiifi_39", "jsCall_viiiiiifi_40", "jsCall_viiiiiifi_41", "jsCall_viiiiiifi_42", "jsCall_viiiiiifi_43", "jsCall_viiiiiifi_44", "jsCall_viiiiiifi_45", "jsCall_viiiiiifi_46", "jsCall_viiiiiifi_47", "jsCall_viiiiiifi_48", "jsCall_viiiiiifi_49", "jsCall_viiiiiifi_50", "jsCall_viiiiiifi_51", "jsCall_viiiiiifi_52", "jsCall_viiiiiifi_53", "jsCall_viiiiiifi_54", "jsCall_viiiiiifi_55", "jsCall_viiiiiifi_56", "jsCall_viiiiiifi_57", "jsCall_viiiiiifi_58", "jsCall_viiiiiifi_59", "jsCall_viiiiiifi_60", "jsCall_viiiiiifi_61", "jsCall_viiiiiifi_62", "jsCall_viiiiiifi_63", "jsCall_viiiiiifi_64", "jsCall_viiiiiifi_65", "jsCall_viiiiiifi_66", "jsCall_viiiiiifi_67", "jsCall_viiiiiifi_68", "jsCall_viiiiiifi_69", "jsCall_viiiiiifi_70", "jsCall_viiiiiifi_71", "jsCall_viiiiiifi_72", "jsCall_viiiiiifi_73", "jsCall_viiiiiifi_74", "jsCall_viiiiiifi_75", "jsCall_viiiiiifi_76", "jsCall_viiiiiifi_77", "jsCall_viiiiiifi_78", "jsCall_viiiiiifi_79", "jsCall_viiiiiifi_80", "jsCall_viiiiiifi_81", "jsCall_viiiiiifi_82", "jsCall_viiiiiifi_83", "jsCall_viiiiiifi_84", "jsCall_viiiiiifi_85", "jsCall_viiiiiifi_86", "jsCall_viiiiiifi_87", "jsCall_viiiiiifi_88", "jsCall_viiiiiifi_89", "jsCall_viiiiiifi_90", "jsCall_viiiiiifi_91", "jsCall_viiiiiifi_92", "jsCall_viiiiiifi_93", "jsCall_viiiiiifi_94", "jsCall_viiiiiifi_95", "jsCall_viiiiiifi_96", "jsCall_viiiiiifi_97", "jsCall_viiiiiifi_98", "jsCall_viiiiiifi_99", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "jsCall_viiiiiii_35", "jsCall_viiiiiii_36", "jsCall_viiiiiii_37", "jsCall_viiiiiii_38", "jsCall_viiiiiii_39", "jsCall_viiiiiii_40", "jsCall_viiiiiii_41", "jsCall_viiiiiii_42", "jsCall_viiiiiii_43", "jsCall_viiiiiii_44", "jsCall_viiiiiii_45", "jsCall_viiiiiii_46", "jsCall_viiiiiii_47", "jsCall_viiiiiii_48", "jsCall_viiiiiii_49", "jsCall_viiiiiii_50", "jsCall_viiiiiii_51", "jsCall_viiiiiii_52", "jsCall_viiiiiii_53", "jsCall_viiiiiii_54", "jsCall_viiiiiii_55", "jsCall_viiiiiii_56", "jsCall_viiiiiii_57", "jsCall_viiiiiii_58", "jsCall_viiiiiii_59", "jsCall_viiiiiii_60", "jsCall_viiiiiii_61", "jsCall_viiiiiii_62", "jsCall_viiiiiii_63", "jsCall_viiiiiii_64", "jsCall_viiiiiii_65", "jsCall_viiiiiii_66", "jsCall_viiiiiii_67", "jsCall_viiiiiii_68", "jsCall_viiiiiii_69", "jsCall_viiiiiii_70", "jsCall_viiiiiii_71", "jsCall_viiiiiii_72", "jsCall_viiiiiii_73", "jsCall_viiiiiii_74", "jsCall_viiiiiii_75", "jsCall_viiiiiii_76", "jsCall_viiiiiii_77", "jsCall_viiiiiii_78", "jsCall_viiiiiii_79", "jsCall_viiiiiii_80", "jsCall_viiiiiii_81", "jsCall_viiiiiii_82", "jsCall_viiiiiii_83", "jsCall_viiiiiii_84", "jsCall_viiiiiii_85", "jsCall_viiiiiii_86", "jsCall_viiiiiii_87", "jsCall_viiiiiii_88", "jsCall_viiiiiii_89", "jsCall_viiiiiii_90", "jsCall_viiiiiii_91", "jsCall_viiiiiii_92", "jsCall_viiiiiii_93", "jsCall_viiiiiii_94", "jsCall_viiiiiii_95", "jsCall_viiiiiii_96", "jsCall_viiiiiii_97", "jsCall_viiiiiii_98", "jsCall_viiiiiii_99", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "jsCall_viiiiiiii_35", "jsCall_viiiiiiii_36", "jsCall_viiiiiiii_37", "jsCall_viiiiiiii_38", "jsCall_viiiiiiii_39", "jsCall_viiiiiiii_40", "jsCall_viiiiiiii_41", "jsCall_viiiiiiii_42", "jsCall_viiiiiiii_43", "jsCall_viiiiiiii_44", "jsCall_viiiiiiii_45", "jsCall_viiiiiiii_46", "jsCall_viiiiiiii_47", "jsCall_viiiiiiii_48", "jsCall_viiiiiiii_49", "jsCall_viiiiiiii_50", "jsCall_viiiiiiii_51", "jsCall_viiiiiiii_52", "jsCall_viiiiiiii_53", "jsCall_viiiiiiii_54", "jsCall_viiiiiiii_55", "jsCall_viiiiiiii_56", "jsCall_viiiiiiii_57", "jsCall_viiiiiiii_58", "jsCall_viiiiiiii_59", "jsCall_viiiiiiii_60", "jsCall_viiiiiiii_61", "jsCall_viiiiiiii_62", "jsCall_viiiiiiii_63", "jsCall_viiiiiiii_64", "jsCall_viiiiiiii_65", "jsCall_viiiiiiii_66", "jsCall_viiiiiiii_67", "jsCall_viiiiiiii_68", "jsCall_viiiiiiii_69", "jsCall_viiiiiiii_70", "jsCall_viiiiiiii_71", "jsCall_viiiiiiii_72", "jsCall_viiiiiiii_73", "jsCall_viiiiiiii_74", "jsCall_viiiiiiii_75", "jsCall_viiiiiiii_76", "jsCall_viiiiiiii_77", "jsCall_viiiiiiii_78", "jsCall_viiiiiiii_79", "jsCall_viiiiiiii_80", "jsCall_viiiiiiii_81", "jsCall_viiiiiiii_82", "jsCall_viiiiiiii_83", "jsCall_viiiiiiii_84", "jsCall_viiiiiiii_85", "jsCall_viiiiiiii_86", "jsCall_viiiiiiii_87", "jsCall_viiiiiiii_88", "jsCall_viiiiiiii_89", "jsCall_viiiiiiii_90", "jsCall_viiiiiiii_91", "jsCall_viiiiiiii_92", "jsCall_viiiiiiii_93", "jsCall_viiiiiiii_94", "jsCall_viiiiiiii_95", "jsCall_viiiiiiii_96", "jsCall_viiiiiiii_97", "jsCall_viiiiiiii_98", "jsCall_viiiiiiii_99", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", "jsCall_viiiiiiiid_35", "jsCall_viiiiiiiid_36", "jsCall_viiiiiiiid_37", "jsCall_viiiiiiiid_38", "jsCall_viiiiiiiid_39", "jsCall_viiiiiiiid_40", "jsCall_viiiiiiiid_41", "jsCall_viiiiiiiid_42", "jsCall_viiiiiiiid_43", "jsCall_viiiiiiiid_44", "jsCall_viiiiiiiid_45", "jsCall_viiiiiiiid_46", "jsCall_viiiiiiiid_47", "jsCall_viiiiiiiid_48", "jsCall_viiiiiiiid_49", "jsCall_viiiiiiiid_50", "jsCall_viiiiiiiid_51", "jsCall_viiiiiiiid_52", "jsCall_viiiiiiiid_53", "jsCall_viiiiiiiid_54", "jsCall_viiiiiiiid_55", "jsCall_viiiiiiiid_56", "jsCall_viiiiiiiid_57", "jsCall_viiiiiiiid_58", "jsCall_viiiiiiiid_59", "jsCall_viiiiiiiid_60", "jsCall_viiiiiiiid_61", "jsCall_viiiiiiiid_62", "jsCall_viiiiiiiid_63", "jsCall_viiiiiiiid_64", "jsCall_viiiiiiiid_65", "jsCall_viiiiiiiid_66", "jsCall_viiiiiiiid_67", "jsCall_viiiiiiiid_68", "jsCall_viiiiiiiid_69", "jsCall_viiiiiiiid_70", "jsCall_viiiiiiiid_71", "jsCall_viiiiiiiid_72", "jsCall_viiiiiiiid_73", "jsCall_viiiiiiiid_74", "jsCall_viiiiiiiid_75", "jsCall_viiiiiiiid_76", "jsCall_viiiiiiiid_77", "jsCall_viiiiiiiid_78", "jsCall_viiiiiiiid_79", "jsCall_viiiiiiiid_80", "jsCall_viiiiiiiid_81", "jsCall_viiiiiiiid_82", "jsCall_viiiiiiiid_83", "jsCall_viiiiiiiid_84", "jsCall_viiiiiiiid_85", "jsCall_viiiiiiiid_86", "jsCall_viiiiiiiid_87", "jsCall_viiiiiiiid_88", "jsCall_viiiiiiiid_89", "jsCall_viiiiiiiid_90", "jsCall_viiiiiiiid_91", "jsCall_viiiiiiiid_92", "jsCall_viiiiiiiid_93", "jsCall_viiiiiiiid_94", "jsCall_viiiiiiiid_95", "jsCall_viiiiiiiid_96", "jsCall_viiiiiiiid_97", "jsCall_viiiiiiiid_98", "jsCall_viiiiiiiid_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", "jsCall_viiiiiiiidi_35", "jsCall_viiiiiiiidi_36", "jsCall_viiiiiiiidi_37", "jsCall_viiiiiiiidi_38", "jsCall_viiiiiiiidi_39", "jsCall_viiiiiiiidi_40", "jsCall_viiiiiiiidi_41", "jsCall_viiiiiiiidi_42", "jsCall_viiiiiiiidi_43", "jsCall_viiiiiiiidi_44", "jsCall_viiiiiiiidi_45", "jsCall_viiiiiiiidi_46", "jsCall_viiiiiiiidi_47", "jsCall_viiiiiiiidi_48", "jsCall_viiiiiiiidi_49", "jsCall_viiiiiiiidi_50", "jsCall_viiiiiiiidi_51", "jsCall_viiiiiiiidi_52", "jsCall_viiiiiiiidi_53", "jsCall_viiiiiiiidi_54", "jsCall_viiiiiiiidi_55", "jsCall_viiiiiiiidi_56", "jsCall_viiiiiiiidi_57", "jsCall_viiiiiiiidi_58", "jsCall_viiiiiiiidi_59", "jsCall_viiiiiiiidi_60", "jsCall_viiiiiiiidi_61", "jsCall_viiiiiiiidi_62", "jsCall_viiiiiiiidi_63", "jsCall_viiiiiiiidi_64", "jsCall_viiiiiiiidi_65", "jsCall_viiiiiiiidi_66", "jsCall_viiiiiiiidi_67", "jsCall_viiiiiiiidi_68", "jsCall_viiiiiiiidi_69", "jsCall_viiiiiiiidi_70", "jsCall_viiiiiiiidi_71", "jsCall_viiiiiiiidi_72", "jsCall_viiiiiiiidi_73", "jsCall_viiiiiiiidi_74", "jsCall_viiiiiiiidi_75", "jsCall_viiiiiiiidi_76", "jsCall_viiiiiiiidi_77", "jsCall_viiiiiiiidi_78", "jsCall_viiiiiiiidi_79", "jsCall_viiiiiiiidi_80", "jsCall_viiiiiiiidi_81", "jsCall_viiiiiiiidi_82", "jsCall_viiiiiiiidi_83", "jsCall_viiiiiiiidi_84", "jsCall_viiiiiiiidi_85", "jsCall_viiiiiiiidi_86", "jsCall_viiiiiiiidi_87", "jsCall_viiiiiiiidi_88", "jsCall_viiiiiiiidi_89", "jsCall_viiiiiiiidi_90", "jsCall_viiiiiiiidi_91", "jsCall_viiiiiiiidi_92", "jsCall_viiiiiiiidi_93", "jsCall_viiiiiiiidi_94", "jsCall_viiiiiiiidi_95", "jsCall_viiiiiiiidi_96", "jsCall_viiiiiiiidi_97", "jsCall_viiiiiiiidi_98", "jsCall_viiiiiiiidi_99", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "jsCall_viiiiiiiii_35", "jsCall_viiiiiiiii_36", "jsCall_viiiiiiiii_37", "jsCall_viiiiiiiii_38", "jsCall_viiiiiiiii_39", "jsCall_viiiiiiiii_40", "jsCall_viiiiiiiii_41", "jsCall_viiiiiiiii_42", "jsCall_viiiiiiiii_43", "jsCall_viiiiiiiii_44", "jsCall_viiiiiiiii_45", "jsCall_viiiiiiiii_46", "jsCall_viiiiiiiii_47", "jsCall_viiiiiiiii_48", "jsCall_viiiiiiiii_49", "jsCall_viiiiiiiii_50", "jsCall_viiiiiiiii_51", "jsCall_viiiiiiiii_52", "jsCall_viiiiiiiii_53", "jsCall_viiiiiiiii_54", "jsCall_viiiiiiiii_55", "jsCall_viiiiiiiii_56", "jsCall_viiiiiiiii_57", "jsCall_viiiiiiiii_58", "jsCall_viiiiiiiii_59", "jsCall_viiiiiiiii_60", "jsCall_viiiiiiiii_61", "jsCall_viiiiiiiii_62", "jsCall_viiiiiiiii_63", "jsCall_viiiiiiiii_64", "jsCall_viiiiiiiii_65", "jsCall_viiiiiiiii_66", "jsCall_viiiiiiiii_67", "jsCall_viiiiiiiii_68", "jsCall_viiiiiiiii_69", "jsCall_viiiiiiiii_70", "jsCall_viiiiiiiii_71", "jsCall_viiiiiiiii_72", "jsCall_viiiiiiiii_73", "jsCall_viiiiiiiii_74", "jsCall_viiiiiiiii_75", "jsCall_viiiiiiiii_76", "jsCall_viiiiiiiii_77", "jsCall_viiiiiiiii_78", "jsCall_viiiiiiiii_79", "jsCall_viiiiiiiii_80", "jsCall_viiiiiiiii_81", "jsCall_viiiiiiiii_82", "jsCall_viiiiiiiii_83", "jsCall_viiiiiiiii_84", "jsCall_viiiiiiiii_85", "jsCall_viiiiiiiii_86", "jsCall_viiiiiiiii_87", "jsCall_viiiiiiiii_88", "jsCall_viiiiiiiii_89", "jsCall_viiiiiiiii_90", "jsCall_viiiiiiiii_91", "jsCall_viiiiiiiii_92", "jsCall_viiiiiiiii_93", "jsCall_viiiiiiiii_94", "jsCall_viiiiiiiii_95", "jsCall_viiiiiiiii_96", "jsCall_viiiiiiiii_97", "jsCall_viiiiiiiii_98", "jsCall_viiiiiiiii_99", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "jsCall_viiiiiiiiii_35", "jsCall_viiiiiiiiii_36", "jsCall_viiiiiiiiii_37", "jsCall_viiiiiiiiii_38", "jsCall_viiiiiiiiii_39", "jsCall_viiiiiiiiii_40", "jsCall_viiiiiiiiii_41", "jsCall_viiiiiiiiii_42", "jsCall_viiiiiiiiii_43", "jsCall_viiiiiiiiii_44", "jsCall_viiiiiiiiii_45", "jsCall_viiiiiiiiii_46", "jsCall_viiiiiiiiii_47", "jsCall_viiiiiiiiii_48", "jsCall_viiiiiiiiii_49", "jsCall_viiiiiiiiii_50", "jsCall_viiiiiiiiii_51", "jsCall_viiiiiiiiii_52", "jsCall_viiiiiiiiii_53", "jsCall_viiiiiiiiii_54", "jsCall_viiiiiiiiii_55", "jsCall_viiiiiiiiii_56", "jsCall_viiiiiiiiii_57", "jsCall_viiiiiiiiii_58", "jsCall_viiiiiiiiii_59", "jsCall_viiiiiiiiii_60", "jsCall_viiiiiiiiii_61", "jsCall_viiiiiiiiii_62", "jsCall_viiiiiiiiii_63", "jsCall_viiiiiiiiii_64", "jsCall_viiiiiiiiii_65", "jsCall_viiiiiiiiii_66", "jsCall_viiiiiiiiii_67", "jsCall_viiiiiiiiii_68", "jsCall_viiiiiiiiii_69", "jsCall_viiiiiiiiii_70", "jsCall_viiiiiiiiii_71", "jsCall_viiiiiiiiii_72", "jsCall_viiiiiiiiii_73", "jsCall_viiiiiiiiii_74", "jsCall_viiiiiiiiii_75", "jsCall_viiiiiiiiii_76", "jsCall_viiiiiiiiii_77", "jsCall_viiiiiiiiii_78", "jsCall_viiiiiiiiii_79", "jsCall_viiiiiiiiii_80", "jsCall_viiiiiiiiii_81", "jsCall_viiiiiiiiii_82", "jsCall_viiiiiiiiii_83", "jsCall_viiiiiiiiii_84", "jsCall_viiiiiiiiii_85", "jsCall_viiiiiiiiii_86", "jsCall_viiiiiiiiii_87", "jsCall_viiiiiiiiii_88", "jsCall_viiiiiiiiii_89", "jsCall_viiiiiiiiii_90", "jsCall_viiiiiiiiii_91", "jsCall_viiiiiiiiii_92", "jsCall_viiiiiiiiii_93", "jsCall_viiiiiiiiii_94", "jsCall_viiiiiiiiii_95", "jsCall_viiiiiiiiii_96", "jsCall_viiiiiiiiii_97", "jsCall_viiiiiiiiii_98", "jsCall_viiiiiiiiii_99", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "jsCall_viiiiiiiiiii_35", "jsCall_viiiiiiiiiii_36", "jsCall_viiiiiiiiiii_37", "jsCall_viiiiiiiiiii_38", "jsCall_viiiiiiiiiii_39", "jsCall_viiiiiiiiiii_40", "jsCall_viiiiiiiiiii_41", "jsCall_viiiiiiiiiii_42", "jsCall_viiiiiiiiiii_43", "jsCall_viiiiiiiiiii_44", "jsCall_viiiiiiiiiii_45", "jsCall_viiiiiiiiiii_46", "jsCall_viiiiiiiiiii_47", "jsCall_viiiiiiiiiii_48", "jsCall_viiiiiiiiiii_49", "jsCall_viiiiiiiiiii_50", "jsCall_viiiiiiiiiii_51", "jsCall_viiiiiiiiiii_52", "jsCall_viiiiiiiiiii_53", "jsCall_viiiiiiiiiii_54", "jsCall_viiiiiiiiiii_55", "jsCall_viiiiiiiiiii_56", "jsCall_viiiiiiiiiii_57", "jsCall_viiiiiiiiiii_58", "jsCall_viiiiiiiiiii_59", "jsCall_viiiiiiiiiii_60", "jsCall_viiiiiiiiiii_61", "jsCall_viiiiiiiiiii_62", "jsCall_viiiiiiiiiii_63", "jsCall_viiiiiiiiiii_64", "jsCall_viiiiiiiiiii_65", "jsCall_viiiiiiiiiii_66", "jsCall_viiiiiiiiiii_67", "jsCall_viiiiiiiiiii_68", "jsCall_viiiiiiiiiii_69", "jsCall_viiiiiiiiiii_70", "jsCall_viiiiiiiiiii_71", "jsCall_viiiiiiiiiii_72", "jsCall_viiiiiiiiiii_73", "jsCall_viiiiiiiiiii_74", "jsCall_viiiiiiiiiii_75", "jsCall_viiiiiiiiiii_76", "jsCall_viiiiiiiiiii_77", "jsCall_viiiiiiiiiii_78", "jsCall_viiiiiiiiiii_79", "jsCall_viiiiiiiiiii_80", "jsCall_viiiiiiiiiii_81", "jsCall_viiiiiiiiiii_82", "jsCall_viiiiiiiiiii_83", "jsCall_viiiiiiiiiii_84", "jsCall_viiiiiiiiiii_85", "jsCall_viiiiiiiiiii_86", "jsCall_viiiiiiiiiii_87", "jsCall_viiiiiiiiiii_88", "jsCall_viiiiiiiiiii_89", "jsCall_viiiiiiiiiii_90", "jsCall_viiiiiiiiiii_91", "jsCall_viiiiiiiiiii_92", "jsCall_viiiiiiiiiii_93", "jsCall_viiiiiiiiiii_94", "jsCall_viiiiiiiiiii_95", "jsCall_viiiiiiiiiii_96", "jsCall_viiiiiiiiiii_97", "jsCall_viiiiiiiiiii_98", "jsCall_viiiiiiiiiii_99", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "jsCall_viiiiiiiiiiii_35", "jsCall_viiiiiiiiiiii_36", "jsCall_viiiiiiiiiiii_37", "jsCall_viiiiiiiiiiii_38", "jsCall_viiiiiiiiiiii_39", "jsCall_viiiiiiiiiiii_40", "jsCall_viiiiiiiiiiii_41", "jsCall_viiiiiiiiiiii_42", "jsCall_viiiiiiiiiiii_43", "jsCall_viiiiiiiiiiii_44", "jsCall_viiiiiiiiiiii_45", "jsCall_viiiiiiiiiiii_46", "jsCall_viiiiiiiiiiii_47", "jsCall_viiiiiiiiiiii_48", "jsCall_viiiiiiiiiiii_49", "jsCall_viiiiiiiiiiii_50", "jsCall_viiiiiiiiiiii_51", "jsCall_viiiiiiiiiiii_52", "jsCall_viiiiiiiiiiii_53", "jsCall_viiiiiiiiiiii_54", "jsCall_viiiiiiiiiiii_55", "jsCall_viiiiiiiiiiii_56", "jsCall_viiiiiiiiiiii_57", "jsCall_viiiiiiiiiiii_58", "jsCall_viiiiiiiiiiii_59", "jsCall_viiiiiiiiiiii_60", "jsCall_viiiiiiiiiiii_61", "jsCall_viiiiiiiiiiii_62", "jsCall_viiiiiiiiiiii_63", "jsCall_viiiiiiiiiiii_64", "jsCall_viiiiiiiiiiii_65", "jsCall_viiiiiiiiiiii_66", "jsCall_viiiiiiiiiiii_67", "jsCall_viiiiiiiiiiii_68", "jsCall_viiiiiiiiiiii_69", "jsCall_viiiiiiiiiiii_70", "jsCall_viiiiiiiiiiii_71", "jsCall_viiiiiiiiiiii_72", "jsCall_viiiiiiiiiiii_73", "jsCall_viiiiiiiiiiii_74", "jsCall_viiiiiiiiiiii_75", "jsCall_viiiiiiiiiiii_76", "jsCall_viiiiiiiiiiii_77", "jsCall_viiiiiiiiiiii_78", "jsCall_viiiiiiiiiiii_79", "jsCall_viiiiiiiiiiii_80", "jsCall_viiiiiiiiiiii_81", "jsCall_viiiiiiiiiiii_82", "jsCall_viiiiiiiiiiii_83", "jsCall_viiiiiiiiiiii_84", "jsCall_viiiiiiiiiiii_85", "jsCall_viiiiiiiiiiii_86", "jsCall_viiiiiiiiiiii_87", "jsCall_viiiiiiiiiiii_88", "jsCall_viiiiiiiiiiii_89", "jsCall_viiiiiiiiiiii_90", "jsCall_viiiiiiiiiiii_91", "jsCall_viiiiiiiiiiii_92", "jsCall_viiiiiiiiiiii_93", "jsCall_viiiiiiiiiiii_94", "jsCall_viiiiiiiiiiii_95", "jsCall_viiiiiiiiiiii_96", "jsCall_viiiiiiiiiiii_97", "jsCall_viiiiiiiiiiii_98", "jsCall_viiiiiiiiiiii_99", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "jsCall_viiiiiiiiiiiiii_35", "jsCall_viiiiiiiiiiiiii_36", "jsCall_viiiiiiiiiiiiii_37", "jsCall_viiiiiiiiiiiiii_38", "jsCall_viiiiiiiiiiiiii_39", "jsCall_viiiiiiiiiiiiii_40", "jsCall_viiiiiiiiiiiiii_41", "jsCall_viiiiiiiiiiiiii_42", "jsCall_viiiiiiiiiiiiii_43", "jsCall_viiiiiiiiiiiiii_44", "jsCall_viiiiiiiiiiiiii_45", "jsCall_viiiiiiiiiiiiii_46", "jsCall_viiiiiiiiiiiiii_47", "jsCall_viiiiiiiiiiiiii_48", "jsCall_viiiiiiiiiiiiii_49", "jsCall_viiiiiiiiiiiiii_50", "jsCall_viiiiiiiiiiiiii_51", "jsCall_viiiiiiiiiiiiii_52", "jsCall_viiiiiiiiiiiiii_53", "jsCall_viiiiiiiiiiiiii_54", "jsCall_viiiiiiiiiiiiii_55", "jsCall_viiiiiiiiiiiiii_56", "jsCall_viiiiiiiiiiiiii_57", "jsCall_viiiiiiiiiiiiii_58", "jsCall_viiiiiiiiiiiiii_59", "jsCall_viiiiiiiiiiiiii_60", "jsCall_viiiiiiiiiiiiii_61", "jsCall_viiiiiiiiiiiiii_62", "jsCall_viiiiiiiiiiiiii_63", "jsCall_viiiiiiiiiiiiii_64", "jsCall_viiiiiiiiiiiiii_65", "jsCall_viiiiiiiiiiiiii_66", "jsCall_viiiiiiiiiiiiii_67", "jsCall_viiiiiiiiiiiiii_68", "jsCall_viiiiiiiiiiiiii_69", "jsCall_viiiiiiiiiiiiii_70", "jsCall_viiiiiiiiiiiiii_71", "jsCall_viiiiiiiiiiiiii_72", "jsCall_viiiiiiiiiiiiii_73", "jsCall_viiiiiiiiiiiiii_74", "jsCall_viiiiiiiiiiiiii_75", "jsCall_viiiiiiiiiiiiii_76", "jsCall_viiiiiiiiiiiiii_77", "jsCall_viiiiiiiiiiiiii_78", "jsCall_viiiiiiiiiiiiii_79", "jsCall_viiiiiiiiiiiiii_80", "jsCall_viiiiiiiiiiiiii_81", "jsCall_viiiiiiiiiiiiii_82", "jsCall_viiiiiiiiiiiiii_83", "jsCall_viiiiiiiiiiiiii_84", "jsCall_viiiiiiiiiiiiii_85", "jsCall_viiiiiiiiiiiiii_86", "jsCall_viiiiiiiiiiiiii_87", "jsCall_viiiiiiiiiiiiii_88", "jsCall_viiiiiiiiiiiiii_89", "jsCall_viiiiiiiiiiiiii_90", "jsCall_viiiiiiiiiiiiii_91", "jsCall_viiiiiiiiiiiiii_92", "jsCall_viiiiiiiiiiiiii_93", "jsCall_viiiiiiiiiiiiii_94", "jsCall_viiiiiiiiiiiiii_95", "jsCall_viiiiiiiiiiiiii_96", "jsCall_viiiiiiiiiiiiii_97", "jsCall_viiiiiiiiiiiiii_98", "jsCall_viiiiiiiiiiiiii_99", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "jsCall_viiijj_35", "jsCall_viiijj_36", "jsCall_viiijj_37", "jsCall_viiijj_38", "jsCall_viiijj_39", "jsCall_viiijj_40", "jsCall_viiijj_41", "jsCall_viiijj_42", "jsCall_viiijj_43", "jsCall_viiijj_44", "jsCall_viiijj_45", "jsCall_viiijj_46", "jsCall_viiijj_47", "jsCall_viiijj_48", "jsCall_viiijj_49", "jsCall_viiijj_50", "jsCall_viiijj_51", "jsCall_viiijj_52", "jsCall_viiijj_53", "jsCall_viiijj_54", "jsCall_viiijj_55", "jsCall_viiijj_56", "jsCall_viiijj_57", "jsCall_viiijj_58", "jsCall_viiijj_59", "jsCall_viiijj_60", "jsCall_viiijj_61", "jsCall_viiijj_62", "jsCall_viiijj_63", "jsCall_viiijj_64", "jsCall_viiijj_65", "jsCall_viiijj_66", "jsCall_viiijj_67", "jsCall_viiijj_68", "jsCall_viiijj_69", "jsCall_viiijj_70", "jsCall_viiijj_71", "jsCall_viiijj_72", "jsCall_viiijj_73", "jsCall_viiijj_74", "jsCall_viiijj_75", "jsCall_viiijj_76", "jsCall_viiijj_77", "jsCall_viiijj_78", "jsCall_viiijj_79", "jsCall_viiijj_80", "jsCall_viiijj_81", "jsCall_viiijj_82", "jsCall_viiijj_83", "jsCall_viiijj_84", "jsCall_viiijj_85", "jsCall_viiijj_86", "jsCall_viiijj_87", "jsCall_viiijj_88", "jsCall_viiijj_89", "jsCall_viiijj_90", "jsCall_viiijj_91", "jsCall_viiijj_92", "jsCall_viiijj_93", "jsCall_viiijj_94", "jsCall_viiijj_95", "jsCall_viiijj_96", "jsCall_viiijj_97", "jsCall_viiijj_98", "jsCall_viiijj_99", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb-v20221120.js b/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb-v20221120.js new file mode 100644 index 0000000..fb8f13d --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb-v20221120.js @@ -0,0 +1,7062 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret : ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 4928, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 268435456; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-256mb-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare"]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb-v20221120.wasm b/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb-v20221120.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ee7d92a105bdb1d54148d2f438b3b8ef016dd726 GIT binary patch literal 2108889 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 z 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%0D&5z^PC!s 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 literal 0 HcmV?d00001 diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb.js b/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb.js new file mode 100644 index 0000000..fb8f13d --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/missile-256mb.js @@ -0,0 +1,7062 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret : ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 4928, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 268435456; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-256mb-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare"]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb-v20221120.js b/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb-v20221120.js new file mode 100644 index 0000000..49ec3b6 --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb-v20221120.js @@ -0,0 +1,7062 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret : ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 4928, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 536870912; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-512mb-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare"]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb-v20221120.wasm b/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb-v20221120.wasm new file mode 100644 index 0000000000000000000000000000000000000000..71432e42b8ae0175ac00ecd00b1fc32b6d7c7636 GIT binary patch literal 2108889 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⁣yPWw*zPWn#xj{A=Jj{1)H4*L%I4*Du` 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

Z9W$v?C8Rd0YKkkK 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 literal 0 HcmV?d00001 diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb.js b/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb.js new file mode 100644 index 0000000..49ec3b6 --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/missile-512mb.js @@ -0,0 +1,7062 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret : ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 4928, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 536870912; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-512mb-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare"]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-format.js b/localwebsite/htdocs/assets/h265webjs-dist/missile-format.js new file mode 100644 index 0000000..8f7eddf --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/missile-format.js @@ -0,0 +1,8300 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module: {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var ENVIRONMENT_IS_PTHREAD = Module.ENVIRONMENT_IS_PTHREAD || false; +if (!ENVIRONMENT_IS_PTHREAD) { + var PthreadWorkerInit = {} +} +var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src: undefined; +var scriptDirectory = ""; +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret: ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", + function(ex) { + if (! (ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr: print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +assert(ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER, "Pthreads do not work in non-browser environments yet (need Web Workers, or an alternative to them)"); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + assert(!ENVIRONMENT_IS_PTHREAD); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: + { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var setTempRet0 = function(value) { + tempRet0 = value +}; +var getTempRet0 = function() { + return tempRet0 +}; +var GLOBAL_BASE = 1024; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min( + Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~ + Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], + HEAP32[ptr >> 2] = tempI64[0], + HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 5312, + "element": "anyfunc" +}); +var wasmModule; +var ABORT = false; +var EXITSTATUS = 0; +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_DYNAMIC = 2; +var ALLOC_NONE = 3; +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types: null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++>>0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var str = ""; + while (! (idx >= endIdx)) { + var u0 = u8Array[idx++]; + if (!u0) return str; + if (! (u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + return str +} +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (! (maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127)++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++>>0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +if (!ENVIRONMENT_IS_PTHREAD) { + var STACK_BASE = 1389264, + STACK_MAX = 6632144, + DYNAMIC_BASE = 6632144, + DYNAMICTOP_PTR = 1388240; + assert(STACK_BASE % 16 === 0, "stack must start aligned"); + assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned") +} +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 1073741824; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (ENVIRONMENT_IS_PTHREAD) {} else { + if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] + } else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "shared": true + }); + assert(wasmMemory.buffer instanceof SharedArrayBuffer, "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") + } +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +if (!ENVIRONMENT_IS_PTHREAD) { + HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE +} +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +} (function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null: callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATEXIT__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; +function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} +function preMain() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} +function exitRuntime() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; + runtimeExited = true +} +function postRun() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} +function addRunDependency(id) { + assert(!ENVIRONMENT_IS_PTHREAD, "addRunDependency cannot be used in a pthread worker"); + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, + 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + if (ENVIRONMENT_IS_PTHREAD) console.error("Pthread aborting at " + (new Error).stack); + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var memoryInitializer = null; +if (!ENVIRONMENT_IS_PTHREAD) addOnPreRun(function() { + if (typeof SharedArrayBuffer !== "undefined") { + addRunDependency("pthreads"); + PThread.allocateUnusedWorkers(10, + function() { + removeRunDependency("pthreads") + }) + } +}); +var dataURIPrefix = "data:application/octet-stream;base64,"; +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-v20220507.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch(err) { + abort(err) + } +} +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }). + catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + wasmModule = module; + if (!ENVIRONMENT_IS_PTHREAD) removeRunDependency("wasm-instantiate") + } + if (!ENVIRONMENT_IS_PTHREAD) { + addRunDependency("wasm-instantiate") + } + var trueModule = Module; + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"], output["module"]) + } + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, + function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, + function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch(e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}, +function() { + alert("myThread111") +}, +function($0) { + console.log("myThread111", $0) +}, +function() { + postMessage({ + cmd: "go", + data: "myThread go" + }) +}, +function() { + console.error("fetch: emscripten_fetch_wait failed: main thread cannot block to wait for long periods of time! Migrate the application to run in a worker to perform synchronous file IO, or switch to using asynchronous IO.") +}, +function() { + postMessage({ + cmd: "processQueuedMainThreadWork" + }) +}, +function($0) { + if (!ENVIRONMENT_IS_PTHREAD) { + if (!PThread.pthreads[$0] || !PThread.pthreads[$0].worker) { + return 0 + } + PThread.pthreads[$0].worker.postMessage({ + cmd: "processThreadQueue" + }) + } else { + postMessage({ + targetThread: $0, + cmd: "processThreadQueue" + }) + } + return 1 +}, +function() { + return !! Module["canvas"] +}, +function() { + noExitRuntime = true +}, +function() { + throw "Canceled!" +}]; +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +function _emscripten_asm_const_ii(code, a0) { + return ASM_CONSTS[code](a0) +} +function _initPthreadsJS() { + PThread.initRuntime() +} +if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ + func: function() { + globalCtors() + } +}); +if (!ENVIRONMENT_IS_PTHREAD) { + memoryInitializer = "missile-v20220507.html.mem" +} +var tempDoublePtr; +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = 1389248; +assert(tempDoublePtr % 8 == 0); +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x: y + " [" + x + "]" + }) +} +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch(e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +function ___assert_fail(condition, filename, line, func) { + abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]) +} +var ENV = {}; +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} +var PROCINFO = { + ppid: 1, + pid: 42, + sid: 42, + pgid: 42 +}; +var ERRNO_CODES = { + 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 +}; +var __main_thread_futex_wait_address; +if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; +else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = 1389232; +function _emscripten_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr & 3 != 0 || count < 0) return - 28; + if (count == 0) return 0; + if (count >= 2147483647) count = Infinity; + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) {--count; + mainThreadWoken = 1; + if (count <= 0) return 1 + } + } + var ret = Atomics.notify(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw "Atomics.notify returned an unexpected value " + ret +} +var PThread = { + MAIN_THREAD_ID: 1, + mainThreadInfo: { + schedPolicy: 0, + schedPrio: 0 + }, + preallocatedWorkers: [], + unusedWorkers: [], + runningWorkers: [], + initRuntime: function() { + __register_pthread_ptr(PThread.mainThreadBlock, !ENVIRONMENT_IS_WORKER, 1); + _emscripten_register_main_browser_thread_id(PThread.mainThreadBlock) + }, + initMainThreadBlock: function() { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + var requestedPoolSize = 10; + PThread.preallocatedWorkers = PThread.createNewWorkers(requestedPoolSize); + PThread.mainThreadBlock = 1388448; + for (var i = 0; i < 244 / 4; ++i) HEAPU32[PThread.mainThreadBlock / 4 + i] = 0; + HEAP32[PThread.mainThreadBlock + 24 >> 2] = PThread.mainThreadBlock; + var headPtr = PThread.mainThreadBlock + 168; + HEAP32[headPtr >> 2] = headPtr; + var tlsMemory = 1388704; + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory / 4 + i] = 0; + Atomics.store(HEAPU32, PThread.mainThreadBlock + 116 >> 2, tlsMemory); + Atomics.store(HEAPU32, PThread.mainThreadBlock + 52 >> 2, PThread.mainThreadBlock); + Atomics.store(HEAPU32, PThread.mainThreadBlock + 56 >> 2, PROCINFO.pid) + }, + pthreads: {}, + exitHandlers: null, + setThreadStatus: function() {}, + runExitHandlers: function() { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()() + } + PThread.exitHandlers = null + } + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors() + }, + threadExit: function(exitCode) { + var tb = _pthread_self(); + if (tb) { + Atomics.store(HEAPU32, tb + 4 >> 2, exitCode); + Atomics.store(HEAPU32, tb + 0 >> 2, 1); + Atomics.store(HEAPU32, tb + 72 >> 2, 1); + Atomics.store(HEAPU32, tb + 76 >> 2, 0); + PThread.runExitHandlers(); + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + postMessage({ + cmd: "exit" + }) + } + } + }, + threadCancel: function() { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, threadInfoStruct + 4 >> 2, -1); + Atomics.store(HEAPU32, threadInfoStruct + 0 >> 2, 1); + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); + threadInfoStruct = selfThreadId = 0; + __register_pthread_ptr(0, 0, 0); + postMessage({ + cmd: "cancelDone" + }) + }, + terminateAllThreads: function() { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate() + } + } + PThread.pthreads = {}; + for (var i = 0; i < PThread.preallocatedWorkers.length; ++i) { + var worker = PThread.preallocatedWorkers[i]; + assert(!worker.pthread); + worker.terminate() + } + PThread.preallocatedWorkers = []; + for (var i = 0; i < PThread.unusedWorkers.length; ++i) { + var worker = PThread.unusedWorkers[i]; + assert(!worker.pthread); + worker.terminate() + } + PThread.unusedWorkers = []; + for (var i = 0; i < PThread.runningWorkers.length; ++i) { + var worker = PThread.runningWorkers[i]; + var pthread = worker.pthread; + assert(pthread, "This Worker should have a pthread it is executing"); + PThread.freeThreadData(pthread); + worker.terminate() + } + PThread.runningWorkers = [] + }, + freeThreadData: function(pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[pthread.threadInfoStruct + 116 >> 2]; + HEAP32[pthread.threadInfoStruct + 116 >> 2] = 0; + _free(tlsMemory); + _free(pthread.threadInfoStruct) + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null + }, + returnWorkerToPool: function(worker) { + delete PThread.pthreads[worker.pthread.thread]; + PThread.unusedWorkers.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1); + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined + }, + receiveObjectTransfer: function(data) {}, + allocateUnusedWorkers: function(numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === "undefined") return; + var workers = []; + var numWorkersToCreate = numWorkers; + if (PThread.preallocatedWorkers.length > 0) { + var workersUsed = Math.min(PThread.preallocatedWorkers.length, numWorkers); + workers = workers.concat(PThread.preallocatedWorkers.splice(0, workersUsed)); + numWorkersToCreate -= workersUsed + } + if (numWorkersToCreate > 0) { + workers = workers.concat(PThread.createNewWorkers(numWorkersToCreate)) + } + PThread.attachListenerToWorkers(workers, onFinishedLoading); + for (var i = 0; i < numWorkers; ++i) { + var worker = workers[i]; + var tempDoublePtr = getMemory(8); + worker.postMessage({ + cmd: "load", + urlOrBlob: Module["mainScriptUrlOrBlob"] || _scriptDir, + wasmMemory: wasmMemory, + wasmModule: wasmModule, + tempDoublePtr: tempDoublePtr, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkers.push(worker) + } + }, + attachListenerToWorkers: function(workers, onFinishedLoading) { + var numWorkersLoaded = 0; + var numWorkers = workers.length; + for (var i = 0; i < numWorkers; ++i) { + var worker = workers[i]; (function(worker) { + worker.onmessage = function(e) { + var d = e.data; + if (worker.pthread) PThread.currentProxiedOperationCallerThread = worker.pthread.threadInfoStruct; + if (d.targetThread && d.targetThread != _pthread_self()) { + var thread = PThread.pthreads[d.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, d.transferList) + } else { + console.error('Internal error! Worker sent a message "' + d.cmd + '" to target pthread ' + d.targetThread + ", but that thread no longer exists!") + } + PThread.currentProxiedOperationCallerThread = undefined; + return + } + if (d.cmd === "processQueuedMainThreadWork") { + _emscripten_main_thread_process_queued_calls() + } else if (d.cmd === "spawnThread") { + __spawn_thread(e.data) + } else if (d.cmd === "cleanupThread") { + __cleanup_thread(d.thread) + } else if (d.cmd === "killThread") { + __kill_thread(d.thread) + } else if (d.cmd === "cancelThread") { + __cancel_thread(d.thread) + } else if (d.cmd === "loaded") { + worker.loaded = true; + if (worker.runPthread) { + worker.runPthread(); + delete worker.runPthread + }++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading() + } + } else if (d.cmd === "print") { + out("Thread " + d.threadId + ": " + d.text) + } else if (d.cmd === "printErr") { + err("Thread " + d.threadId + ": " + d.text) + } else if (d.cmd === "alert") { + alert("Thread " + d.threadId + ": " + d.text) + } else if (d.cmd === "exit") { + var detached = worker.pthread && Atomics.load(HEAPU32, worker.pthread.thread + 80 >> 2); + if (detached) { + PThread.returnWorkerToPool(worker) + } + } else if (d.cmd === "exitProcess") { + noExitRuntime = false; + try { + exit(d.returnCode) + } catch(e) { + if (e instanceof ExitStatus) return; + throw e + } + } else if (d.cmd === "cancelDone") { + PThread.returnWorkerToPool(worker) + } else if (d.cmd === "objectTransfer") { + PThread.receiveObjectTransfer(e.data) + } else if (e.data.target === "setimmediate") { + worker.postMessage(e.data) + } else if (d.cmd === "go") { + console.log("ecmd go ", + window.postMessage(e.data)); + } else { + err("worker sent an unknown command " + d.cmd) + } + PThread.currentProxiedOperationCallerThread = undefined + }; + worker.onerror = function(e) { + err("pthread sent an error! " + e.filename + ":" + e.lineno + ": " + e.message) + } + })(worker) + } + }, + createNewWorkers: function(numWorkers) { + if (typeof SharedArrayBuffer === "undefined") return []; + var pthreadMainJs = "missile-v20220507.worker.js"; + pthreadMainJs = locateFile(pthreadMainJs); + var newWorkers = []; + for (var i = 0; i < numWorkers; ++i) { + newWorkers.push(new Worker(pthreadMainJs)) + } + return newWorkers + }, + getNewWorker: function() { + if (PThread.unusedWorkers.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkers.length > 0) return PThread.unusedWorkers.pop(); + else return null + }, + busySpinWait: function(msecs) { + var t = performance.now() + msecs; + while (performance.now() < t) {} + } +}; +function ___call_main(argc, argv) { + var returnCode = _main(argc, argv); + if (!noExitRuntime) postMessage({ + cmd: "exitProcess", + returnCode: returnCode + }); + return returnCode +} +function _emscripten_get_now() { + abort() +} +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return - 1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} +function ___lock() {} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr( - 1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !! p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/": "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !! p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/": "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch(e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch(e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch(e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length: 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id: 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch(e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (! (flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + } (fromHeap ? HEAP8: buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, + function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, + function(err, remote) { + if (err) return callback(err); + var src = populate ? remote: local; + var dst = populate ? local: remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch(e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + function isRealDir(p) { + return p !== "." && p !== ".." + } + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch(e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, + function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor. + continue () + } + } catch(e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch(e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch(e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch(e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db: dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, + function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, + function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024 : flags["O_APPEND"], + 64 : flags["O_CREAT"], + 128 : flags["O_EXCL"], + 0 : flags["O_RDONLY"], + 2 : flags["O_RDWR"], + 4096 : flags["O_SYNC"], + 512 : flags["O_TRUNC"], + 1 : flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch(e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch(e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch(e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch(e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], + function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0 : "Success", + 1 : "Arg list too long", + 2 : "Permission denied", + 3 : "Address already in use", + 4 : "Address not available", + 5 : "Address family not supported by protocol family", + 6 : "No more processes", + 7 : "Socket already connected", + 8 : "Bad file number", + 9 : "Trying to read unreadable message", + 10 : "Mount device busy", + 11 : "Operation canceled", + 12 : "No children", + 13 : "Connection aborted", + 14 : "Connection refused", + 15 : "Connection reset by peer", + 16 : "File locking deadlock error", + 17 : "Destination address required", + 18 : "Math arg out of domain of func", + 19 : "Quota exceeded", + 20 : "File exists", + 21 : "Bad address", + 22 : "File too large", + 23 : "Host is unreachable", + 24 : "Identifier removed", + 25 : "Illegal byte sequence", + 26 : "Connection already in progress", + 27 : "Interrupted system call", + 28 : "Invalid argument", + 29 : "I/O error", + 30 : "Socket is already connected", + 31 : "Is a directory", + 32 : "Too many symbolic links", + 33 : "Too many open files", + 34 : "Too many links", + 35 : "Message too long", + 36 : "Multihop attempted", + 37 : "File or path name too long", + 38 : "Network interface is not configured", + 39 : "Connection reset by network", + 40 : "Network is unreachable", + 41 : "Too many open files in system", + 42 : "No buffer space available", + 43 : "No such device", + 44 : "No such file or directory", + 45 : "Exec format error", + 46 : "No record locks available", + 47 : "The link has been severed", + 48 : "Not enough core", + 49 : "No message of desired type", + 50 : "Protocol not available", + 51 : "No space left on device", + 52 : "Function not implemented", + 53 : "Socket is not connected", + 54 : "Not a directory", + 55 : "Directory not empty", + 56 : "State not recoverable", + 57 : "Socket operation on non-socket", + 59 : "Not a typewriter", + 60 : "No such device or address", + 61 : "Value too large for defined data type", + 62 : "Previous owner died", + 63 : "Not super-user", + 64 : "Broken pipe", + 65 : "Protocol error", + 66 : "Unknown protocol", + 67 : "Protocol wrong type for socket", + 68 : "Math result not representable", + 69 : "Read only file system", + 70 : "Illegal seek", + 71 : "No such process", + 72 : "Stale file handle", + 73 : "Connection timed out", + 74 : "Text file busy", + 75 : "Cross-device link", + 100 : "Device not a stream", + 101 : "Bad font file fmt", + 102 : "Invalid slot", + 103 : "Invalid request code", + 104 : "No anode", + 105 : "Block device required", + 106 : "Channel number out of range", + 107 : "Level 3 halted", + 108 : "Level 3 reset", + 109 : "Link number out of range", + 110 : "Protocol driver not attached", + 111 : "No CSI structure available", + 112 : "Level 2 halted", + 113 : "Invalid exchange", + 114 : "Invalid request descriptor", + 115 : "Exchange full", + 116 : "No data (for no delay io)", + 117 : "Timer expired", + 118 : "Out of streams resources", + 119 : "Machine is not on the network", + 120 : "Package not installed", + 121 : "The object is remote", + 122 : "Advertise error", + 123 : "Srmount error", + 124 : "Communication error on send", + 125 : "Cross mount point (not really error)", + 126 : "Given log. name not unique", + 127 : "f.d. invalid for this operation", + 128 : "Remote address changed", + 129 : "Can access a needed shared lib", + 130 : "Accessing a corrupted shared lib", + 131 : ".lib section in a.out corrupted", + 132 : "Attempting to link in too many libs", + 133 : "Attempting to exec a shared library", + 135 : "Streams pipe error", + 136 : "Too many users", + 137 : "Socket type not supported", + 138 : "Not supported", + 139 : "Protocol family not supported", + 140 : "Can't send after socket shutdown", + 141 : "Too many references", + 142 : "Host is down", + 148 : "No medium (in tape drive)", + 156 : "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (! (e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !! p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++>40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path: mount + path + } + path = path ? node.name + "/" + path: node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode: this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode: this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !! node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch(e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch(e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode: 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode: 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch(e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch(e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch(e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch(e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch(e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch(e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch(e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~ (128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, + fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (! (path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch(e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch(e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, + {}, + "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, + "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch(e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch(e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent: FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent: FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch(e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent: FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent: FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, + len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent: FS.getPath(parent), name); + var mode = FS.getMode( !! input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch(e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch(e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent: FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch(e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (! (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (! (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, + function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, + function(byteArray) { + processData(byteArray) + }, + onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || + function() {}; + onerror = onerror || + function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch(e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || + function() {}; + onerror = onerror || + function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch(e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch(e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch(e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return - 54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min( + Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~ + Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], + HEAP32[buf + 40 >> 2] = tempI64[0], + HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min( + Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~ + Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], + HEAP32[buf + 80 >> 2] = tempI64[0], + HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return - 28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return - 28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return - 28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return - 44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return - 2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return - 1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return - 1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; +function ___syscall221(which, varargs) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(1, 1, which, varargs); + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return - 28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: + { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return - 28; + case 9: + ___setErrNo(28); + return - 1; + default: + { + return - 28 + } + } + } catch(e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return - e.errno + } +} +function ___syscall3(which, varargs) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(2, 1, which, varargs); + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch(e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return - e.errno + } +} +function ___syscall5(which, varargs) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(3, 1, which, varargs); + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch(e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return - e.errno + } +} +function ___unlock() {} +function _fd_close(fd) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(4, 1, fd); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch(e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} +function _fd_fdstat_get(fd, pbuf) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(5, 1, fd, pbuf); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch(e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(6, 1, fd, offset_low, offset_high, whence, newOffset); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return - 61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min( + Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~ + Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], + HEAP32[newOffset >> 2] = tempI64[0], + HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch(e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} +function _fd_write(fd, iov, iovcnt, pnum) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(7, 1, fd, iov, iovcnt, pnum); + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch(e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} +var _fetch_work_queue; +if (ENVIRONMENT_IS_PTHREAD) _fetch_work_queue = PthreadWorkerInit._fetch_work_queue; +else PthreadWorkerInit._fetch_work_queue = _fetch_work_queue = 1388432; +function __emscripten_get_fetch_work_queue() { + return _fetch_work_queue +} +function _abort() { + abort() +} +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} +function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr & 3 != 0) return - 28; + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + if (ret === "timed-out") return - 73; + if (ret === "not-equal") return - 6; + if (ret === "ok") return 0; + throw "Atomics.wait returned an unexpected value " + ret + } else { + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return - 6; + var tNow = performance.now(); + var tEnd = tNow + timeout; + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return - 73 + } + _emscripten_main_thread_process_queued_calls(); + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2) + } + return 0 + } +} +function _emscripten_get_heap_size() { + return HEAP8.length +} +function _emscripten_has_threading_support() { + return typeof SharedArrayBuffer !== "undefined" +} +function _emscripten_proxy_to_main_thread_js(index, sync) { + var numCallArgs = arguments.length - 2; + if (numCallArgs > 20 - 1) throw "emscripten_proxy_to_main_thread_js: Too many arguments " + numCallArgs + " to proxied function idx=" + index + ", maximum supported is " + (20 - 1) + "!"; + var stack = stackSave(); + var args = stackAlloc(numCallArgs * 8); + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + HEAPF64[b + i] = arguments[2 + i] + } + var ret = _emscripten_run_in_main_runtime_thread_js(index, numCallArgs, args, sync); + stackRestore(stack); + return ret +} +var _emscripten_receive_on_main_thread_js_callArgs = []; +function _emscripten_receive_on_main_thread_js(index, numCallArgs, args) { + _emscripten_receive_on_main_thread_js_callArgs.length = numCallArgs; + var b = args >> 3; + for (var i = 0; i < numCallArgs; i++) { + _emscripten_receive_on_main_thread_js_callArgs[i] = HEAPF64[b + i] + } + var isEmAsmConst = index < 0; + var func = !isEmAsmConst ? proxiedFunctionTable[index] : ASM_CONSTS[ - index - 1]; + assert(func.length == numCallArgs, "Call args mismatch in emscripten_receive_on_main_thread_js"); + return func.apply(null, _emscripten_receive_on_main_thread_js_callArgs) +} +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var JSEvents = { + keyEvent: 0, + mouseEvent: 0, + wheelEvent: 0, + uiEvent: 0, + focusEvent: 0, + deviceOrientationEvent: 0, + deviceMotionEvent: 0, + fullscreenChangeEvent: 0, + pointerlockChangeEvent: 0, + visibilityChangeEvent: 0, + touchEvent: 0, + previousFullscreenElement: null, + previousScreenX: null, + previousScreenY: null, + removeEventListenersRegistered: false, + removeAllEventListeners: function() { + for (var i = JSEvents.eventHandlers.length - 1; i >= 0; --i) { + JSEvents._removeHandler(i) + } + JSEvents.eventHandlers = []; + JSEvents.deferredCalls = [] + }, + registerRemoveEventListeners: function() { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(JSEvents.removeAllEventListeners); + JSEvents.removeEventListenersRegistered = true + } + }, + deferredCalls: [], + deferCall: function(targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + for (var i in arrA) { + if (arrA[i] != arrB[i]) return false + } + return true + } + for (var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + JSEvents.deferredCalls.sort(function(x, y) { + return x.precedence < y.precedence + }) + }, + removeDeferredCalls: function(targetFunction) { + for (var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); --i + } + } + }, + canPerformEventHandlerRequests: function() { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls + }, + runDeferredCalls: function() { + if (!JSEvents.canPerformEventHandlerRequests()) { + return + } + for (var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); --i; + call.targetFunction.apply(this, call.argsList) + } + }, + inEventHandler: 0, + currentEventHandler: null, + eventHandlers: [], + isInternetExplorer: function() { + return navigator.userAgent.indexOf("MSIE") !== -1 || navigator.appVersion.indexOf("Trident/") > 0 + }, + removeAllHandlersOnTarget: function(target, eventTypeString) { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--) + } + } + }, + _removeHandler: function(i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1) + }, + registerOrRemoveHandler: function(eventHandler) { + var jsEventHandler = function jsEventHandler(event) {++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + JSEvents.runDeferredCalls(); + eventHandler.handlerFunc(event); + JSEvents.runDeferredCalls(); --JSEvents.inEventHandler + }; + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners() + } else { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--) + } + } + } + }, + queueEventHandlerOnThread_iiii: function(targetThread, eventHandlerFunc, eventTypeId, eventData, userData) { + var stackTop = stackSave(); + var varargs = stackAlloc(12); + HEAP32[varargs >> 2] = eventTypeId; + HEAP32[varargs + 4 >> 2] = eventData; + HEAP32[varargs + 8 >> 2] = userData; + _emscripten_async_queue_on_thread_(targetThread, 637534208, eventHandlerFunc, eventData, varargs); + stackRestore(stackTop) + }, + getTargetThreadForEventCallback: function(targetThread) { + switch (targetThread) { + case 1: + return 0; + case 2: + return PThread.currentProxiedOperationCallerThread; + default: + return targetThread + } + }, + getBoundingClientRectOrZeros: function(target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { + left: 0, + top: 0 + } + }, + pageScrollPos: function() { + if (pageXOffset > 0 || pageYOffset > 0) { + return [pageXOffset, pageYOffset] + } + if (typeof document.documentElement.scrollLeft !== "undefined" || typeof document.documentElement.scrollTop !== "undefined") { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop] + } + return [document.body.scrollLeft | 0, document.body.scrollTop | 0] + }, + getNodeNameForTarget: function(target) { + if (!target) return ""; + if (target == window) return "#window"; + if (target == screen) return "#screen"; + return target && target.nodeName ? target.nodeName: "" + }, + tick: function() { + if (window["performance"] && window["performance"]["now"]) return window["performance"]["now"](); + else return Date.now() + }, + fullscreenEnabled: function() { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled + } +}; +function stringToNewUTF8(jsString) { + var length = lengthBytesUTF8(jsString) + 1; + var cString = _malloc(length); + stringToUTF8(jsString, cString, length); + return cString +} +function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height) { + var stackTop = stackSave(); + var varargs = stackAlloc(12); + var targetCanvasPtr = 0; + if (targetCanvas) { + targetCanvasPtr = stringToNewUTF8(targetCanvas) + } + HEAP32[varargs >> 2] = targetCanvasPtr; + HEAP32[varargs + 4 >> 2] = width; + HEAP32[varargs + 8 >> 2] = height; + _emscripten_async_queue_on_thread_(targetThread, 657457152, 0, targetCanvasPtr, varargs); + stackRestore(stackTop) +} +function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, targetCanvas, width, height) { + targetCanvas = targetCanvas ? UTF8ToString(targetCanvas) : ""; + _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread, targetCanvas, width, height) +} +var __specialEventTargets = [0, typeof document !== "undefined" ? document: 0, typeof window !== "undefined" ? window: 0]; +function __findEventTarget(target) { + warnOnce("Rules for selecting event targets in HTML5 API are changing: instead of using document.getElementById() that only can refer to elements by their DOM ID, new event target selection mechanism uses the more flexible function document.querySelector() that can look up element names, classes, and complex CSS selectors. Build with -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 to change to the new lookup rules. See https://github.com/emscripten-core/emscripten/pull/7977 for more details."); + try { + if (!target) return window; + if (typeof target === "number") target = __specialEventTargets[target] || UTF8ToString(target); + if (target === "#window") return window; + else if (target === "#document") return document; + else if (target === "#screen") return screen; + else if (target === "#canvas") return Module["canvas"]; + return typeof target === "string" ? document.getElementById(target) : target + } catch(e) { + return null + } +} +function __findCanvasEventTarget(target) { + if (typeof target === "number") target = UTF8ToString(target); + if (!target || target === "#canvas") { + if (typeof GL !== "undefined" && GL.offscreenCanvases["canvas"]) return GL.offscreenCanvases["canvas"]; + return Module["canvas"] + } + if (typeof GL !== "undefined" && GL.offscreenCanvases[target]) return GL.offscreenCanvases[target]; + return __findEventTarget(target) +} +function _emscripten_set_canvas_element_size_calling_thread(target, width, height) { + var canvas = __findCanvasEventTarget(target); + if (!canvas) return - 4; + if (canvas.canvasSharedPtr) { + HEAP32[canvas.canvasSharedPtr >> 2] = width; + HEAP32[canvas.canvasSharedPtr + 4 >> 2] = height + } + if (canvas.offscreenCanvas || !canvas.controlTransferredOffscreen) { + if (canvas.offscreenCanvas) canvas = canvas.offscreenCanvas; + var autoResizeViewport = false; + if (canvas.GLctxObject && canvas.GLctxObject.GLctx) { + var prevViewport = canvas.GLctxObject.GLctx.getParameter(canvas.GLctxObject.GLctx.VIEWPORT); + autoResizeViewport = prevViewport[0] === 0 && prevViewport[1] === 0 && prevViewport[2] === canvas.width && prevViewport[3] === canvas.height + } + canvas.width = width; + canvas.height = height; + if (autoResizeViewport) { + canvas.GLctxObject.GLctx.viewport(0, 0, width, height) + } + } else if (canvas.canvasSharedPtr) { + var targetThread = HEAP32[canvas.canvasSharedPtr + 8 >> 2]; + _emscripten_set_offscreencanvas_size_on_target_thread(targetThread, target, width, height); + return 1 + } else { + return - 4 + } + return 0 +} +function _emscripten_set_canvas_element_size_main_thread(target, width, height) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(8, 1, target, width, height); + return _emscripten_set_canvas_element_size_calling_thread(target, width, height) +} +function _emscripten_set_canvas_element_size(target, width, height) { + var canvas = __findCanvasEventTarget(target); + if (canvas) { + return _emscripten_set_canvas_element_size_calling_thread(target, width, height) + } else { + return _emscripten_set_canvas_element_size_main_thread(target, width, height) + } +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch(e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + initFetchWorker: function() { + var stackSize = 128 * 1024; + var stack = allocate(stackSize >> 2, "i32*", ALLOC_DYNAMIC); + Fetch.worker.postMessage({ + cmd: "init", + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + STACKTOP: stack, + STACK_MAX: stack + stackSize, + queuePtr: _fetch_work_queue, + buffer: HEAPU8.buffer + }) + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" && !ENVIRONMENT_IS_PTHREAD; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + Fetch.initFetchWorker(); + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + Fetch.initFetchWorker(); + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (isMainThread) { + addRunDependency("library_fetch_init"); + var fetchJs = locateFile("missile-v20220507.fetch.js"); + Fetch.worker = new Worker(fetchJs); + Fetch.worker.onmessage = function(e) { + out("fetch-worker sent a message: " + e.filename + ":" + e.lineno + ": " + e.message) + }; + Fetch.worker.onerror = function(e) { + err("fetch-worker sent an error! " + e.filename + ":" + e.lineno + ": " + e.message) + } + } + } +}; +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength: 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength: 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch(e) { + if (onerror) onerror(fetch, xhr, e) + } +} +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch(e) { + onerror(fetch, 0, e) + } +} +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch(e) { + onerror(fetch, 0, e) + } +} +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch(e) { + onerror(fetch, 0, e) + } +} +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError: fetchAttrPersistFile ? performCachedXhr: performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess: reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +function _emscripten_syscall(which, varargs) { + switch (which) { + case 221: + return ___syscall221(which, varargs); + case 3: + return ___syscall3(which, varargs); + case 5: + return ___syscall5(which, varargs); + default: + throw "surprising proxied syscall: " + which + } +} +var GL = { + counter: 1, + lastError: 0, + buffers: [], + mappedBuffers: {}, + programs: [], + framebuffers: [], + renderbuffers: [], + textures: [], + uniforms: [], + shaders: [], + vaos: [], + contexts: {}, + currentContext: null, + offscreenCanvases: {}, + timerQueriesEXT: [], + programInfos: {}, + stringCache: {}, + unpackAlignment: 4, + init: function() { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i + 1) + } + }, + recordError: function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode + } + }, + getNewId: function(table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null + } + return ret + }, + MINI_TEMP_BUFFER_SIZE: 256, + miniTempBuffer: null, + miniTempBufferViews: [0], + getSource: function(shader, count, string, length) { + var source = ""; + for (var i = 0; i < count; ++i) { + var len = length ? HEAP32[length + i * 4 >> 2] : -1; + source += UTF8ToString(HEAP32[string + i * 4 >> 2], len < 0 ? undefined: len) + } + return source + }, + createContext: function(canvas, webGLContextAttributes) { + var ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + if (!ctx) return 0; + var handle = GL.registerContext(ctx, webGLContextAttributes); + return handle + }, + registerContext: function(ctx, webGLContextAttributes) { + var handle = _malloc(8); + HEAP32[handle + 4 >> 2] = _pthread_self(); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes.majorVersion, + GLctx: ctx + }; + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) { + GL.initExtensions(context) + } + return handle + }, + makeContextCurrent: function(contextHandle) { + GL.currentContext = GL.contexts[contextHandle]; + Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; + return ! (contextHandle && !GLctx) + }, + getContext: function(contextHandle) { + return GL.contexts[contextHandle] + }, + deleteContext: function(contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; + _free(GL.contexts[contextHandle]); + GL.contexts[contextHandle] = null + }, + acquireInstancedArraysExtension: function(ctx) { + var ext = ctx.getExtension("ANGLE_instanced_arrays"); + if (ext) { + ctx["vertexAttribDivisor"] = function(index, divisor) { + ext["vertexAttribDivisorANGLE"](index, divisor) + }; + ctx["drawArraysInstanced"] = function(mode, first, count, primcount) { + ext["drawArraysInstancedANGLE"](mode, first, count, primcount) + }; + ctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) { + ext["drawElementsInstancedANGLE"](mode, count, type, indices, primcount) + } + } + }, + acquireVertexArrayObjectExtension: function(ctx) { + var ext = ctx.getExtension("OES_vertex_array_object"); + if (ext) { + ctx["createVertexArray"] = function() { + return ext["createVertexArrayOES"]() + }; + ctx["deleteVertexArray"] = function(vao) { + ext["deleteVertexArrayOES"](vao) + }; + ctx["bindVertexArray"] = function(vao) { + ext["bindVertexArrayOES"](vao) + }; + ctx["isVertexArray"] = function(vao) { + return ext["isVertexArrayOES"](vao) + } + } + }, + acquireDrawBuffersExtension: function(ctx) { + var ext = ctx.getExtension("WEBGL_draw_buffers"); + if (ext) { + ctx["drawBuffers"] = function(n, bufs) { + ext["drawBuffersWEBGL"](n, bufs) + } + } + }, + initExtensions: function(context) { + if (!context) context = GL.currentContext; + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + var GLctx = context.GLctx; + if (context.version < 2) { + GL.acquireInstancedArraysExtension(GLctx); + GL.acquireVertexArrayObjectExtension(GLctx); + GL.acquireDrawBuffersExtension(GLctx) + } + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + var automaticallyEnabledExtensions = ["OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2"]; + var exts = GLctx.getSupportedExtensions() || []; + exts.forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext) + } + }) + }, + populateUniformTable: function(program) { + var p = GL.programs[program]; + var ptable = GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, + maxAttributeLength: -1, + maxUniformBlockNameLength: -1 + }; + var utable = ptable.uniforms; + var numUniforms = GLctx.getProgramParameter(p, 35718); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1); + if (name.slice( - 1) == "]") { + name = name.slice(0, name.lastIndexOf("[")) + } + var loc = GLctx.getUniformLocation(p, name); + if (loc) { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + for (var j = 1; j < u.size; ++j) { + var n = name + "[" + j + "]"; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + GL.uniforms[id] = loc + } + } + } + } +}; +var __emscripten_webgl_power_preferences = ["default", "low-power", "high-performance"]; +function _emscripten_webgl_do_create_context(target, attributes) { + assert(attributes); + var contextAttributes = {}; + var a = attributes >> 2; + contextAttributes["alpha"] = !!HEAP32[a + (0 >> 2)]; + contextAttributes["depth"] = !!HEAP32[a + (4 >> 2)]; + contextAttributes["stencil"] = !!HEAP32[a + (8 >> 2)]; + contextAttributes["antialias"] = !!HEAP32[a + (12 >> 2)]; + contextAttributes["premultipliedAlpha"] = !!HEAP32[a + (16 >> 2)]; + contextAttributes["preserveDrawingBuffer"] = !!HEAP32[a + (20 >> 2)]; + var powerPreference = HEAP32[a + (24 >> 2)]; + contextAttributes["powerPreference"] = __emscripten_webgl_power_preferences[powerPreference]; + contextAttributes["failIfMajorPerformanceCaveat"] = !!HEAP32[a + (28 >> 2)]; + contextAttributes.majorVersion = HEAP32[a + (32 >> 2)]; + contextAttributes.minorVersion = HEAP32[a + (36 >> 2)]; + contextAttributes.enableExtensionsByDefault = HEAP32[a + (40 >> 2)]; + contextAttributes.explicitSwapControl = HEAP32[a + (44 >> 2)]; + contextAttributes.proxyContextToMainThread = HEAP32[a + (48 >> 2)]; + contextAttributes.renderViaOffscreenBackBuffer = HEAP32[a + (52 >> 2)]; + var canvas = __findCanvasEventTarget(target); + if (!canvas) { + return 0 + } + if (contextAttributes.explicitSwapControl) { + return 0 + } + var contextHandle = GL.createContext(canvas, contextAttributes); + return contextHandle +} +function _emscripten_webgl_create_context(a0, a1) { + return _emscripten_webgl_do_create_context(a0, a1) +} +var _fabs = Math_abs; +function _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(9, 1, name); + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone; +if (ENVIRONMENT_IS_PTHREAD) ___tm_timezone = PthreadWorkerInit.___tm_timezone; +else PthreadWorkerInit.___tm_timezone = ___tm_timezone = (stringToUTF8("GMT", 1388336, 4), 1388336); +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; +function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(10, 1); + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} +function _pthread_cleanup_pop(execute) { + var routine = PThread.exitHandlers.pop(); + if (execute) routine() +} +function _pthread_cleanup_push(routine, arg) { + if (PThread.exitHandlers === null) { + PThread.exitHandlers = []; + if (!ENVIRONMENT_IS_PTHREAD) { + __ATEXIT__.push(function() { + PThread.runExitHandlers() + }) + } + } + PThread.exitHandlers.push(function() { + dynCall_vi(routine, arg) + }) +} +function __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw "Internal Error! _spawn_thread() can only ever be called from main application thread!"; + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw "Internal error!"; + if (!threadParams.pthread_ptr) throw "Internal error, no pthread ptr!"; + PThread.runningWorkers.push(worker); + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[tlsMemory + i * 4 >> 2] = 0 + } + var stackHigh = threadParams.stackBase + threadParams.stackSize; + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr + }; + Atomics.store(HEAPU32, pthread.threadInfoStruct + 0 >> 2, 0); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 4 >> 2, 0); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 20 >> 2, 0); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 80 >> 2, threadParams.detached); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 116 >> 2, tlsMemory); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 60 >> 2, 0); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 52 >> 2, pthread.threadInfoStruct); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 56 >> 2, PROCINFO.pid); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 120 >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 96 >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 92 >> 2, stackHigh); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 120 + 8 >> 2, stackHigh); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 120 + 12 >> 2, threadParams.detached); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 120 + 20 >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, pthread.threadInfoStruct + 120 + 24 >> 2, threadParams.schedPrio); + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, pthread.threadInfoStruct + 188 >> 2, global_locale); + worker.pthread = pthread; + var msg = { + cmd: "run", + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize + }; + worker.runPthread = function() { + msg.time = performance.now(); + worker.postMessage(msg, threadParams.transferList) + }; + if (worker.loaded) { + worker.runPthread(); + delete worker.runPthread + } +} +function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + if (!thread) { + err("pthread_getschedparam called with a null thread pointer!"); + return ERRNO_CODES.ESRCH + } + var self = HEAP32[thread + 24 >> 2]; + if (self !== thread) { + err("pthread_getschedparam attempted on thread " + thread + ", which does not point to a valid thread, or does not exist anymore!"); + return ERRNO_CODES.ESRCH + } + var schedPolicy = Atomics.load(HEAPU32, thread + 120 + 20 >> 2); + var schedPrio = Atomics.load(HEAPU32, thread + 120 + 24 >> 2); + if (policy) HEAP32[policy >> 2] = schedPolicy; + if (schedparam) HEAP32[schedparam >> 2] = schedPrio; + return 0 +} +function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === "undefined") { + err("Current environment does not support SharedArrayBuffer, pthreads are not available!"); + return 6 + } + if (!pthread_ptr) { + err("pthread_create called with a null thread pointer!"); + return 28 + } + var transferList = []; + var error = 0; + if (ENVIRONMENT_IS_PTHREAD && (transferList.length === 0 || error)) { + return _emscripten_sync_run_in_main_thread_4(687865856, pthread_ptr, attr, start_routine, arg) + } + if (error) return error; + var stackSize = 0; + var stackBase = 0; + var detached = 0; + var schedPolicy = 0; + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[attr >> 2]; + stackSize += 81920; + stackBase = HEAP32[attr + 8 >> 2]; + detached = HEAP32[attr + 12 >> 2] !== 0; + var inheritSched = HEAP32[attr + 16 >> 2] === 0; + if (inheritSched) { + var prevSchedPolicy = HEAP32[attr + 20 >> 2]; + var prevSchedPrio = HEAP32[attr + 24 >> 2]; + var parentThreadPtr = PThread.currentProxiedOperationCallerThread ? PThread.currentProxiedOperationCallerThread: _pthread_self(); + _pthread_getschedparam(parentThreadPtr, attr + 20, attr + 24); + schedPolicy = HEAP32[attr + 20 >> 2]; + schedPrio = HEAP32[attr + 24 >> 2]; + HEAP32[attr + 20 >> 2] = prevSchedPolicy; + HEAP32[attr + 24 >> 2] = prevSchedPrio + } else { + schedPolicy = HEAP32[attr + 20 >> 2]; + schedPrio = HEAP32[attr + 24 >> 2] + } + } else { + stackSize = 2097152 + } + var allocatedOwnStack = stackBase == 0; + if (allocatedOwnStack) { + stackBase = _memalign(16, stackSize) + } else { + stackBase -= stackSize; + assert(stackBase > 0) + } + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct >> 2) + i] = 0; + HEAP32[pthread_ptr >> 2] = threadInfoStruct; + HEAP32[threadInfoStruct + 24 >> 2] = threadInfoStruct; + var headPtr = threadInfoStruct + 168; + HEAP32[headPtr >> 2] = headPtr; + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + if (ENVIRONMENT_IS_PTHREAD) { + threadParams.cmd = "spawnThread"; + postMessage(threadParams, transferList) + } else { + __spawn_thread(threadParams) + } + return 0 +} +function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw "Internal Error! _cleanup_thread() can only ever be called from main application thread!"; + if (!pthread_ptr) throw "Internal Error! Null pthread_ptr in _cleanup_thread!"; + HEAP32[pthread_ptr + 24 >> 2] = 0; + var pthread = PThread.pthreads[pthread_ptr]; + if (pthread) { + var worker = pthread.worker; + PThread.returnWorkerToPool(worker) + } +} +function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, threadInfoStruct + 72 >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, threadInfoStruct + 0 >> 2); + if (canceled == 2) throw "Canceled!" +} +function _pthread_join(thread, status) { + if (!thread) { + err("pthread_join attempted on a null thread pointer!"); + return ERRNO_CODES.ESRCH + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + err("PThread " + thread + " is attempting to join to itself!"); + return ERRNO_CODES.EDEADLK + } else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + err("Main thread " + thread + " is attempting to join to itself!"); + return ERRNO_CODES.EDEADLK + } + var self = HEAP32[thread + 24 >> 2]; + if (self !== thread) { + err("pthread_join attempted on thread " + thread + ", which does not point to a valid thread, or does not exist anymore!"); + return ERRNO_CODES.ESRCH + } + var detached = Atomics.load(HEAPU32, thread + 80 >> 2); + if (detached) { + err("Attempted to join thread " + thread + ", which was already detached!"); + return ERRNO_CODES.EINVAL + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, thread + 0 >> 2); + if (threadStatus == 1) { + var threadExitCode = Atomics.load(HEAPU32, thread + 4 >> 2); + if (status) HEAP32[status >> 2] = threadExitCode; + Atomics.store(HEAPU32, thread + 80 >> 2, 1); + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ + cmd: "cleanupThread", + thread: thread + }); + return 0 + } + __pthread_testcancel_js(); + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1) + } +} +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP: __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP: __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst: __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP: __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01": "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst: __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP: __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01": "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+": "-") + String("0000" + off).slice( - 4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} +function _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_proxy_to_main_thread_js(11, 1, name); + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: + { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return - 1 +} +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (ENVIRONMENT_IS_PTHREAD) { + _emscripten_get_now = function() { + return performance["now"]() - __performance_now_clock_drift + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (!ENVIRONMENT_IS_PTHREAD) Fetch.staticInit(); +var GLctx; +GL.init(); +var proxiedFunctionTable = [null, ___syscall221, ___syscall3, ___syscall5, _fd_close, _fd_fdstat_get, _fd_seek, _fd_write, _emscripten_set_canvas_element_size_main_thread, _getenv, _tzset, _sysconf]; +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length: lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_i = [0, "jsCall_i_0", "jsCall_i_1", "jsCall_i_2", "jsCall_i_3", "jsCall_i_4", "jsCall_i_5", "jsCall_i_6", "jsCall_i_7", "jsCall_i_8", "jsCall_i_9", "jsCall_i_10", "jsCall_i_11", "jsCall_i_12", "jsCall_i_13", "jsCall_i_14", "jsCall_i_15", "jsCall_i_16", "jsCall_i_17", "jsCall_i_18", "jsCall_i_19", "jsCall_i_20", "jsCall_i_21", "jsCall_i_22", "jsCall_i_23", "jsCall_i_24", "jsCall_i_25", "jsCall_i_26", "jsCall_i_27", "jsCall_i_28", "jsCall_i_29", "jsCall_i_30", "jsCall_i_31", "jsCall_i_32", "jsCall_i_33", "jsCall_i_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2837", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "___stdio_close", "___emscripten_stdout_close", "_myThread", "_releaseSniffStreamFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", "___emscripten_thread_main", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare", 0]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiii = [0, "jsCall_iiiiiiiii_0", "jsCall_iiiiiiiii_1", "jsCall_iiiiiiiii_2", "jsCall_iiiiiiiii_3", "jsCall_iiiiiiiii_4", "jsCall_iiiiiiiii_5", "jsCall_iiiiiiiii_6", "jsCall_iiiiiiiii_7", "jsCall_iiiiiiiii_8", "jsCall_iiiiiiiii_9", "jsCall_iiiiiiiii_10", "jsCall_iiiiiiiii_11", "jsCall_iiiiiiiii_12", "jsCall_iiiiiiiii_13", "jsCall_iiiiiiiii_14", "jsCall_iiiiiiiii_15", "jsCall_iiiiiiiii_16", "jsCall_iiiiiiiii_17", "jsCall_iiiiiiiii_18", "jsCall_iiiiiiiii_19", "jsCall_iiiiiiiii_20", "jsCall_iiiiiiiii_21", "jsCall_iiiiiiiii_22", "jsCall_iiiiiiiii_23", "jsCall_iiiiiiiii_24", "jsCall_iiiiiiiii_25", "jsCall_iiiiiiiii_26", "jsCall_iiiiiiiii_27", "jsCall_iiiiiiiii_28", "jsCall_iiiiiiiii_29", "jsCall_iiiiiiiii_30", "jsCall_iiiiiiiii_31", "jsCall_iiiiiiiii_32", "jsCall_iiiiiiiii_33", "jsCall_iiiiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiiii = [0, "jsCall_iiiiiiiiii_0", "jsCall_iiiiiiiiii_1", "jsCall_iiiiiiiiii_2", "jsCall_iiiiiiiiii_3", "jsCall_iiiiiiiiii_4", "jsCall_iiiiiiiiii_5", "jsCall_iiiiiiiiii_6", "jsCall_iiiiiiiiii_7", "jsCall_iiiiiiiiii_8", "jsCall_iiiiiiiiii_9", "jsCall_iiiiiiiiii_10", "jsCall_iiiiiiiiii_11", "jsCall_iiiiiiiiii_12", "jsCall_iiiiiiiiii_13", "jsCall_iiiiiiiiii_14", "jsCall_iiiiiiiiii_15", "jsCall_iiiiiiiiii_16", "jsCall_iiiiiiiiii_17", "jsCall_iiiiiiiiii_18", "jsCall_iiiiiiiiii_19", "jsCall_iiiiiiiiii_20", "jsCall_iiiiiiiiii_21", "jsCall_iiiiiiiiii_22", "jsCall_iiiiiiiiii_23", "jsCall_iiiiiiiiii_24", "jsCall_iiiiiiiiii_25", "jsCall_iiiiiiiiii_26", "jsCall_iiiiiiiiii_27", "jsCall_iiiiiiiiii_28", "jsCall_iiiiiiiiii_29", "jsCall_iiiiiiiiii_30", "jsCall_iiiiiiiiii_31", "jsCall_iiiiiiiiii_32", "jsCall_iiiiiiiiii_33", "jsCall_iiiiiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vf = [0, "jsCall_vf_0", "jsCall_vf_1", "jsCall_vf_2", "jsCall_vf_3", "jsCall_vf_4", "jsCall_vf_5", "jsCall_vf_6", "jsCall_vf_7", "jsCall_vf_8", "jsCall_vf_9", "jsCall_vf_10", "jsCall_vf_11", "jsCall_vf_12", "jsCall_vf_13", "jsCall_vf_14", "jsCall_vf_15", "jsCall_vf_16", "jsCall_vf_17", "jsCall_vf_18", "jsCall_vf_19", "jsCall_vf_20", "jsCall_vf_21", "jsCall_vf_22", "jsCall_vf_23", "jsCall_vf_24", "jsCall_vf_25", "jsCall_vf_26", "jsCall_vf_27", "jsCall_vf_28", "jsCall_vf_29", "jsCall_vf_30", "jsCall_vf_31", "jsCall_vf_32", "jsCall_vf_33", "jsCall_vf_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vff = [0, "jsCall_vff_0", "jsCall_vff_1", "jsCall_vff_2", "jsCall_vff_3", "jsCall_vff_4", "jsCall_vff_5", "jsCall_vff_6", "jsCall_vff_7", "jsCall_vff_8", "jsCall_vff_9", "jsCall_vff_10", "jsCall_vff_11", "jsCall_vff_12", "jsCall_vff_13", "jsCall_vff_14", "jsCall_vff_15", "jsCall_vff_16", "jsCall_vff_17", "jsCall_vff_18", "jsCall_vff_19", "jsCall_vff_20", "jsCall_vff_21", "jsCall_vff_22", "jsCall_vff_23", "jsCall_vff_24", "jsCall_vff_25", "jsCall_vff_26", "jsCall_vff_27", "jsCall_vff_28", "jsCall_vff_29", "jsCall_vff_30", "jsCall_vff_31", "jsCall_vff_32", "jsCall_vff_33", "jsCall_vff_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vfff = [0, "jsCall_vfff_0", "jsCall_vfff_1", "jsCall_vfff_2", "jsCall_vfff_3", "jsCall_vfff_4", "jsCall_vfff_5", "jsCall_vfff_6", "jsCall_vfff_7", "jsCall_vfff_8", "jsCall_vfff_9", "jsCall_vfff_10", "jsCall_vfff_11", "jsCall_vfff_12", "jsCall_vfff_13", "jsCall_vfff_14", "jsCall_vfff_15", "jsCall_vfff_16", "jsCall_vfff_17", "jsCall_vfff_18", "jsCall_vfff_19", "jsCall_vfff_20", "jsCall_vfff_21", "jsCall_vfff_22", "jsCall_vfff_23", "jsCall_vfff_24", "jsCall_vfff_25", "jsCall_vfff_26", "jsCall_vfff_27", "jsCall_vfff_28", "jsCall_vfff_29", "jsCall_vfff_30", "jsCall_vfff_31", "jsCall_vfff_32", "jsCall_vfff_33", "jsCall_vfff_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vffff = [0, "jsCall_vffff_0", "jsCall_vffff_1", "jsCall_vffff_2", "jsCall_vffff_3", "jsCall_vffff_4", "jsCall_vffff_5", "jsCall_vffff_6", "jsCall_vffff_7", "jsCall_vffff_8", "jsCall_vffff_9", "jsCall_vffff_10", "jsCall_vffff_11", "jsCall_vffff_12", "jsCall_vffff_13", "jsCall_vffff_14", "jsCall_vffff_15", "jsCall_vffff_16", "jsCall_vffff_17", "jsCall_vffff_18", "jsCall_vffff_19", "jsCall_vffff_20", "jsCall_vffff_21", "jsCall_vffff_22", "jsCall_vffff_23", "jsCall_vffff_24", "jsCall_vffff_25", "jsCall_vffff_26", "jsCall_vffff_27", "jsCall_vffff_28", "jsCall_vffff_29", "jsCall_vffff_30", "jsCall_vffff_31", "jsCall_vffff_32", "jsCall_vffff_33", "jsCall_vffff_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3837", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", "_undo", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vif = [0, "jsCall_vif_0", "jsCall_vif_1", "jsCall_vif_2", "jsCall_vif_3", "jsCall_vif_4", "jsCall_vif_5", "jsCall_vif_6", "jsCall_vif_7", "jsCall_vif_8", "jsCall_vif_9", "jsCall_vif_10", "jsCall_vif_11", "jsCall_vif_12", "jsCall_vif_13", "jsCall_vif_14", "jsCall_vif_15", "jsCall_vif_16", "jsCall_vif_17", "jsCall_vif_18", "jsCall_vif_19", "jsCall_vif_20", "jsCall_vif_21", "jsCall_vif_22", "jsCall_vif_23", "jsCall_vif_24", "jsCall_vif_25", "jsCall_vif_26", "jsCall_vif_27", "jsCall_vif_28", "jsCall_vif_29", "jsCall_vif_30", "jsCall_vif_31", "jsCall_vif_32", "jsCall_vif_33", "jsCall_vif_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viff = [0, "jsCall_viff_0", "jsCall_viff_1", "jsCall_viff_2", "jsCall_viff_3", "jsCall_viff_4", "jsCall_viff_5", "jsCall_viff_6", "jsCall_viff_7", "jsCall_viff_8", "jsCall_viff_9", "jsCall_viff_10", "jsCall_viff_11", "jsCall_viff_12", "jsCall_viff_13", "jsCall_viff_14", "jsCall_viff_15", "jsCall_viff_16", "jsCall_viff_17", "jsCall_viff_18", "jsCall_viff_19", "jsCall_viff_20", "jsCall_viff_21", "jsCall_viff_22", "jsCall_viff_23", "jsCall_viff_24", "jsCall_viff_25", "jsCall_viff_26", "jsCall_viff_27", "jsCall_viff_28", "jsCall_viff_29", "jsCall_viff_30", "jsCall_viff_31", "jsCall_viff_32", "jsCall_viff_33", "jsCall_viff_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vifff = [0, "jsCall_vifff_0", "jsCall_vifff_1", "jsCall_vifff_2", "jsCall_vifff_3", "jsCall_vifff_4", "jsCall_vifff_5", "jsCall_vifff_6", "jsCall_vifff_7", "jsCall_vifff_8", "jsCall_vifff_9", "jsCall_vifff_10", "jsCall_vifff_11", "jsCall_vifff_12", "jsCall_vifff_13", "jsCall_vifff_14", "jsCall_vifff_15", "jsCall_vifff_16", "jsCall_vifff_17", "jsCall_vifff_18", "jsCall_vifff_19", "jsCall_vifff_20", "jsCall_vifff_21", "jsCall_vifff_22", "jsCall_vifff_23", "jsCall_vifff_24", "jsCall_vifff_25", "jsCall_vifff_26", "jsCall_vifff_27", "jsCall_vifff_28", "jsCall_vifff_29", "jsCall_vifff_30", "jsCall_vifff_31", "jsCall_vifff_32", "jsCall_vifff_33", "jsCall_vifff_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viffff = [0, "jsCall_viffff_0", "jsCall_viffff_1", "jsCall_viffff_2", "jsCall_viffff_3", "jsCall_viffff_4", "jsCall_viffff_5", "jsCall_viffff_6", "jsCall_viffff_7", "jsCall_viffff_8", "jsCall_viffff_9", "jsCall_viffff_10", "jsCall_viffff_11", "jsCall_viffff_12", "jsCall_viffff_13", "jsCall_viffff_14", "jsCall_viffff_15", "jsCall_viffff_16", "jsCall_viffff_17", "jsCall_viffff_18", "jsCall_viffff_19", "jsCall_viffff_20", "jsCall_viffff_21", "jsCall_viffff_22", "jsCall_viffff_23", "jsCall_viffff_24", "jsCall_viffff_25", "jsCall_viffff_26", "jsCall_viffff_27", "jsCall_viffff_28", "jsCall_viffff_29", "jsCall_viffff_30", "jsCall_viffff_31", "jsCall_viffff_32", "jsCall_viffff_33", "jsCall_viffff_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viif = [0, "jsCall_viif_0", "jsCall_viif_1", "jsCall_viif_2", "jsCall_viif_3", "jsCall_viif_4", "jsCall_viif_5", "jsCall_viif_6", "jsCall_viif_7", "jsCall_viif_8", "jsCall_viif_9", "jsCall_viif_10", "jsCall_viif_11", "jsCall_viif_12", "jsCall_viif_13", "jsCall_viif_14", "jsCall_viif_15", "jsCall_viif_16", "jsCall_viif_17", "jsCall_viif_18", "jsCall_viif_19", "jsCall_viif_20", "jsCall_viif_21", "jsCall_viif_22", "jsCall_viif_23", "jsCall_viif_24", "jsCall_viif_25", "jsCall_viif_26", "jsCall_viif_27", "jsCall_viif_28", "jsCall_viif_29", "jsCall_viif_30", "jsCall_viif_31", "jsCall_viif_32", "jsCall_viif_33", "jsCall_viif_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiid = [0, "jsCall_viiiid_0", "jsCall_viiiid_1", "jsCall_viiiid_2", "jsCall_viiiid_3", "jsCall_viiiid_4", "jsCall_viiiid_5", "jsCall_viiiid_6", "jsCall_viiiid_7", "jsCall_viiiid_8", "jsCall_viiiid_9", "jsCall_viiiid_10", "jsCall_viiiid_11", "jsCall_viiiid_12", "jsCall_viiiid_13", "jsCall_viiiid_14", "jsCall_viiiid_15", "jsCall_viiiid_16", "jsCall_viiiid_17", "jsCall_viiiid_18", "jsCall_viiiid_19", "jsCall_viiiid_20", "jsCall_viiiid_21", "jsCall_viiiid_22", "jsCall_viiiid_23", "jsCall_viiiid_24", "jsCall_viiiid_25", "jsCall_viiiid_26", "jsCall_viiiid_27", "jsCall_viiiid_28", "jsCall_viiiid_29", "jsCall_viiiid_30", "jsCall_viiiid_31", "jsCall_viiiid_32", "jsCall_viiiid_33", "jsCall_viiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "i": debug_table_i, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiiiiii": debug_table_iiiiiiiii, + "iiiiiiiiii": debug_table_iiiiiiiiii, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vf": debug_table_vf, + "vff": debug_table_vff, + "vfff": debug_table_vfff, + "vffff": debug_table_vffff, + "vi": debug_table_vi, + "vif": debug_table_vif, + "viff": debug_table_viff, + "vifff": debug_table_vifff, + "viffff": debug_table_viffff, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viif": debug_table_viif, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiii": debug_table_viiii, + "viiiid": debug_table_viiiid, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii +}; +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} +function nullFunc_i(x) { + abortFnPtrError(x, "i") +} +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} +function nullFunc_iiiiiiiii(x) { + abortFnPtrError(x, "iiiiiiiii") +} +function nullFunc_iiiiiiiiii(x) { + abortFnPtrError(x, "iiiiiiiiii") +} +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} +function nullFunc_vf(x) { + abortFnPtrError(x, "vf") +} +function nullFunc_vff(x) { + abortFnPtrError(x, "vff") +} +function nullFunc_vfff(x) { + abortFnPtrError(x, "vfff") +} +function nullFunc_vffff(x) { + abortFnPtrError(x, "vffff") +} +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} +function nullFunc_vif(x) { + abortFnPtrError(x, "vif") +} +function nullFunc_viff(x) { + abortFnPtrError(x, "viff") +} +function nullFunc_vifff(x) { + abortFnPtrError(x, "vifff") +} +function nullFunc_viffff(x) { + abortFnPtrError(x, "viffff") +} +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} +function nullFunc_viif(x) { + abortFnPtrError(x, "viif") +} +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} +function nullFunc_viiiid(x) { + abortFnPtrError(x, "viiiid") +} +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} +function jsCall_i(index) { + return functionPointers[index]() +} +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} +function jsCall_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} +function jsCall_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} +function jsCall_v(index) { + functionPointers[index]() +} +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} +function jsCall_vf(index, a1) { + functionPointers[index](a1) +} +function jsCall_vff(index, a1, a2) { + functionPointers[index](a1, a2) +} +function jsCall_vfff(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} +function jsCall_vffff(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} +function jsCall_vif(index, a1, a2) { + functionPointers[index](a1, a2) +} +function jsCall_viff(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} +function jsCall_vifff(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} +function jsCall_viffff(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} +function jsCall_viif(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} +function jsCall_viiiid(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___assert_fail": ___assert_fail, + "___buildEnvironment": ___buildEnvironment, + "___call_main": ___call_main, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__emscripten_get_fetch_work_queue": __emscripten_get_fetch_work_queue, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_asm_const_ii": _emscripten_asm_const_ii, + "_emscripten_futex_wait": _emscripten_futex_wait, + "_emscripten_futex_wake": _emscripten_futex_wake, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_get_now": _emscripten_get_now, + "_emscripten_has_threading_support": _emscripten_has_threading_support, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_receive_on_main_thread_js": _emscripten_receive_on_main_thread_js, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_set_canvas_element_size": _emscripten_set_canvas_element_size, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_emscripten_syscall": _emscripten_syscall, + "_emscripten_webgl_create_context": _emscripten_webgl_create_context, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_initPthreadsJS": _initPthreadsJS, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_pthread_cleanup_pop": _pthread_cleanup_pop, + "_pthread_cleanup_push": _pthread_cleanup_push, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_i": jsCall_i, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiiiiii": jsCall_iiiiiiiii, + "jsCall_iiiiiiiiii": jsCall_iiiiiiiiii, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vf": jsCall_vf, + "jsCall_vff": jsCall_vff, + "jsCall_vfff": jsCall_vfff, + "jsCall_vffff": jsCall_vffff, + "jsCall_vi": jsCall_vi, + "jsCall_vif": jsCall_vif, + "jsCall_viff": jsCall_viff, + "jsCall_vifff": jsCall_vifff, + "jsCall_viffff": jsCall_viffff, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viif": jsCall_viif, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiid": jsCall_viiiid, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_i": nullFunc_i, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiiiiii": nullFunc_iiiiiiiii, + "nullFunc_iiiiiiiiii": nullFunc_iiiiiiiiii, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vf": nullFunc_vf, + "nullFunc_vff": nullFunc_vff, + "nullFunc_vfff": nullFunc_vfff, + "nullFunc_vffff": nullFunc_vffff, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vif": nullFunc_vif, + "nullFunc_viff": nullFunc_viff, + "nullFunc_vifff": nullFunc_vifff, + "nullFunc_viffff": nullFunc_viffff, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viif": nullFunc_viif, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiid": nullFunc_viiiid, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "setTempRet0": setTempRet0, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___em_js__initPthreadsJS = Module["___em_js__initPthreadsJS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___em_js__initPthreadsJS"].apply(null, arguments) +}; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_pthread_data_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___pthread_tsd_run_dtors"].apply(null, arguments) +}; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__emscripten_atomic_fetch_and_add_u64"].apply(null, arguments) +}; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__emscripten_atomic_fetch_and_and_u64"].apply(null, arguments) +}; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__emscripten_atomic_fetch_and_or_u64"].apply(null, arguments) +}; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__emscripten_atomic_fetch_and_sub_u64"].apply(null, arguments) +}; +var __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__emscripten_atomic_fetch_and_xor_u64"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var __register_pthread_ptr = Module["__register_pthread_ptr"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__register_pthread_ptr"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _emscripten_async_queue_call_on_thread = Module["_emscripten_async_queue_call_on_thread"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_async_queue_call_on_thread"].apply(null, arguments) +}; +var _emscripten_async_queue_on_thread_ = Module["_emscripten_async_queue_on_thread_"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_async_queue_on_thread_"].apply(null, arguments) +}; +var _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_async_run_in_main_thread"].apply(null, arguments) +}; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_add_u64"].apply(null, arguments) +}; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_and_u64"].apply(null, arguments) +}; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_cas_u64"].apply(null, arguments) +}; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_exchange_u64"].apply(null, arguments) +}; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_load_f32"].apply(null, arguments) +}; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_load_f64"].apply(null, arguments) +}; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_load_u64"].apply(null, arguments) +}; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_or_u64"].apply(null, arguments) +}; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_store_f32"].apply(null, arguments) +}; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_store_f64"].apply(null, arguments) +}; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_store_u64"].apply(null, arguments) +}; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_sub_u64"].apply(null, arguments) +}; +var _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_atomic_xor_u64"].apply(null, arguments) +}; +var _emscripten_current_thread_process_queued_calls = Module["_emscripten_current_thread_process_queued_calls"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_current_thread_process_queued_calls"].apply(null, arguments) +}; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_get_global_libc"].apply(null, arguments) +}; +var _emscripten_main_browser_thread_id = Module["_emscripten_main_browser_thread_id"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_main_browser_thread_id"].apply(null, arguments) +}; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_main_thread_process_queued_calls"].apply(null, arguments) +}; +var _emscripten_register_main_browser_thread_id = Module["_emscripten_register_main_browser_thread_id"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_register_main_browser_thread_id"].apply(null, arguments) +}; +var _emscripten_run_in_main_runtime_thread_js = Module["_emscripten_run_in_main_runtime_thread_js"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_run_in_main_runtime_thread_js"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_0"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_1"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_2"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_3"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_4"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_5"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_6"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_7"].apply(null, arguments) +}; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_emscripten_sync_run_in_main_thread_xprintf_varargs"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initMissile = Module["_initMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initMissile"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _memalign = Module["_memalign"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_memalign"].apply(null, arguments) +}; +var _proxy_main = Module["_proxy_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_proxy_main"].apply(null, arguments) +}; +var _pthread_self = Module["_pthread_self"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pthread_self"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var globalCtors = Module["globalCtors"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["globalCtors"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_ii = Module["dynCall_ii"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_ii"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["establishStackSpace"] = establishStackSpace; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["dynCall_ii"] = dynCall_ii; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +if (memoryInitializer && !ENVIRONMENT_IS_PTHREAD) { + if (!isDataURI(memoryInitializer)) { + memoryInitializer = locateFile(memoryInitializer) + } + if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { + var data = readBinary(memoryInitializer); + HEAPU8.set(data, GLOBAL_BASE) + } else { + addRunDependency("memory initializer"); + var applyMemoryInitializer = function(data) { + if (data.byteLength) data = new Uint8Array(data); + for (var i = 0; i < data.length; i++) { + assert(HEAPU8[GLOBAL_BASE + i] === 0, "area for memory initializer should not have been touched before it's loaded") + } + HEAPU8.set(data, GLOBAL_BASE); + if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response; + removeRunDependency("memory initializer") + }; + var doBrowserLoad = function() { + readAsync(memoryInitializer, applyMemoryInitializer, + function() { + throw "could not load memory initializer " + memoryInitializer + }) + }; + if (Module["memoryInitializerRequest"]) { + var useRequest = function() { + var request = Module["memoryInitializerRequest"]; + var response = request.response; + if (request.status !== 200 && request.status !== 0) { + console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer); + doBrowserLoad(); + return + } + applyMemoryInitializer(response) + }; + if (Module["memoryInitializerRequest"].response) { + setTimeout(useRequest, 0) + } else { + Module["memoryInitializerRequest"].addEventListener("load", useRequest) + } + } else { + doBrowserLoad() + } + } +} +var calledRun; +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch(e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, + 1); + doRun() + }, + 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch(e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + PThread.terminateAllThreads(); + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +if (!ENVIRONMENT_IS_PTHREAD) noExitRuntime = true; +if (!ENVIRONMENT_IS_PTHREAD) run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-v20221120.js b/localwebsite/htdocs/assets/h265webjs-dist/missile-v20221120.js new file mode 100644 index 0000000..c498b84 --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/missile-v20221120.js @@ -0,0 +1,7062 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret : ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 4928, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 2147483648; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare"]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile-v20221120.wasm b/localwebsite/htdocs/assets/h265webjs-dist/missile-v20221120.wasm new file mode 100644 index 0000000000000000000000000000000000000000..629ce9886fee875d03044f46ed2fe199ea03f129 GIT binary patch literal 2108891 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

EkHHh1zJArh~3 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 z zp+9*Wj2*!pUjk3ff(KI^3kRNje1i>~+`!YVw)+8oJy;+O&bYIMg zp({yybG*eJ`3oOHfL1fU)GB~fqnH$=X3$FQ0gQ5nsV&cGOP=ua6b)ABg{mh~(d}jR zuVGVvTG@fvoX|q+e8*xX&Yn=0TW_c%6r@7ujVLkgPi({{>3Wm+Sw2LOnfKR}NY8ty zI)k?`?)(~QqSs)zoM{)7^L^%RxBqBKyiA0pgQ)N;>$%)LXmK-I?g8YbQTNDMA}ze7 zK(t!R$v;L~Er%N&%v+?z(GQ^R-gkIfsgjo5;-r|Fmy0-EkF-8Zas}Dpm1eD$Iki!O z_MUN$m7Lm^aKWir8^0rff)=7t=`=%{4gH4>kb0ekvTnc2V*uZnkoK7_gl>LzKp5T)#-JZP7YRM(gL) z%>QJ)?OklRW10hvX?tDUFb!95&vZWk4}(!HAZ|ZYWXbIv1?shQ0WGT6wOIfRiCIC~ z-cn?2MqZ-(e@BAiiD78dYZSzvji>>aux0*jt2Wx)jesj+V>TLC1AuoM2`senZ?G4ZGKSpe&Y2M zzgPzLJqV`7k|TBGZT8R{p@&H@j|1Q{$9A3n%~gH6Th;vG3(c0p*LN^JpGQd@aN#@J zNcsUpl(OG1N*)xaptJ8zMWkawz8|0e2$9NlPCIsLt{gtySxG9Oy2ulRwfk72tn%sF1Uc<9ObSCRf1}kC(>8|NdIZKafme%BD5r-tN&8A&ZZPvuP_0ytBNpqU# z)p%oS3GU=iNI4?UrHg%zyPr2L_BrW(zH+h85*K{ouUPDJt^4^ki+!$lKfi9V&yDWq zpIPj4v-|n=i+yf&KfhtI&ja1hZ(Qv2VE6Nu#Xh&YpWnRL=b`RrA}K8F5|#l1*50z% z=aKH`orRs!N8lRYr!XNT_)+@~F^VcsLo_M^acD?CIXA8!V3QdgdAQH-2<%rxq4;_7xF? zdAW{d!X|`NE>YFb;IKzj$?PBM zs7|QUVy%R);%8(t2pj4Mf3U4MUuIT-A;H*DgqShC9?O?vcQaoxBv5yBk0+GAZ7svO zb@y-{&S=ftKafm2Ba|#37)1(dTak5tpsnqLkzQEyCR#uc%x)gQh@DD#TKmbAv;2ba zzJTgrj-Rg4wr_f+3Hg}g63kquGbsl}Ioj9}cS&9cI;@5YxGXEOQpy*jY$3IY0%hhK z1|qhy1Wj!0Djt!Rhw`zj#7BkkprxsUhk4XlFyLH|LmYx7m!E8;fQTQ9 zfy=SdcuT1p2HdToih--PU~b{`EDE~{-=!^tJ}Cyy^(Tt5sRib)xsYK+bwk--6DAB2 zX`LHKFQ#qWO~$Q@VkJP*vQB63Om>`Z2O>s0{UB?p+Tmg<07N!f%>yw3L=PI@Or9&j zs{tN}30WbRS{KN)3nU_97f8BPK*rw_$QU4{`~c#T_BT_VEI`$JV#T^zg3!c7^f-HJ zu$Q>mbY{wZ=I=(eNrRFxL1+Whm<}x_)iL(CPIE#6f+ydmXVi@%EF`sU2(h1eYE)Y| zE{>M)E{5tq^A#(okU!VsN{B5uZ_G?9^bYLhn9|6QDiX2HcE0bZ;W3TA{NQ7X#jQd3{8s(}y!oRwT2SWaEp+qCnP z(2ZAd*IpR`LTgGJ+7uGhUx)PEK2c8^?4lFmUJrm=E)|NR>?=0LHt~?yPe5%D@vwW) z38dCccy4;Lw)C&#xZ1&~u_cg{PK)E?8FpeYH$J(o&AQq8)R@Rl+6<}|K-ypjT0-KQ zibH{ud2(ncn`^nfJtjsAjTsRP=&-$ekw-3ZkvnooFu@uN$TUynUx4O@PrgiJQwh3gZdA~$wHtjr zqv%U+OSmPP(-O^TiDuAML38}?f@Vqu&4SI#zF>cny@0aSgBtEZN(zIp+1C?<_6k}r z)GPv*HLOPPSnWM0!;8$j0TK~9MJiZy+QVwUzFMB{7y48wGI|-FC8v18yiCInY?Tpp z1F~zkZ(kmtb_yFQwj-_TU^^l%mn18#5n;Vz!#4^XMiJ?}7^9f$JUb*fm`3aw+5(-r zXFfv3S`4`MqpT$>o!?-ynQi=Em_E2aF z{lDeMqz^ly`+UeBZHUc)m86Q=>3vBk2-fZkg0Jx7b$$meZilDWBq|!7YsgRN;*tuN z5wg;~?NMfUL=cOjqW9Pd#2_Fi8YY84D1%q}#T3Jr$JU}201!%t)7zzPsUEpFVhgM4)vcmfS;X1I zL__$dBsS|q`LYZPXpk(M1H{AHvhYyvBu@N_^{?+6w_%SQT(M^X@Wu+d!Xm$_Ppe%) zZD7clN*A31&Bz9@v#o~F%F2zts3)gw8aFaxGk*n13wCRYpawva1(}h-hlLey`w{=% zy-mw?zP={zF&yvC6gI7DMeNXPshWE`a;(tKoWuR7$pgM-Z8J2gW?Q?cdch_`m*b%nw3qE z1jIn9q7DwOgmuJ7Zry_ysZviVi&H1-X5%A$V^PBaCZk%dSU;qF(--Y}jY7@k^Sd6h zWQeP{c|*uZ*E*#-WUMl4idDQAo(II`dkPd-L=^<1tXZH;{TbLL7 zrM51cDrpL(LP448W%n02Ojzsv!b1$7f(2746cV~Hu5=;PN|!-(Wfzitsds3j#SYS< z`&DlRmm-6z!Ow8nH{9cVX>iO7BioN;D2f1qZ3P~(P0P^W@bnJJ9w!;kr|ReuA4car z#N();!y@_1pP2TSrpS6Lg3^C1JFDe z$poLd&%w!MjF9c_bVG*s{yS4FngI!eREPC=j*)dg{nf(2H2O1+6FO+1!sjsS8DSjYeNtgI zzM5lx=Fvsd{yuFH11_;zFlrh0vF2CMcuNUo z!~Mx>%-!?{o!9Y>FOQnB&esB*%rWt14j>WZLhyEPm*i$MipGSVU@nzP)eVs(3wNDT z4p}S5F!9gM+S0T(+Oh0|9*B-XEcj_^lB|{hr4Q8Wqy$mz?kNGG)L6fOVn^BTATR3i z@uyigmmK*7H)hJd+#h790nYl8E@kD!w5K$VLjXEWoiK)Jv>Ai@cfMdQLaGNWYz z@Uj?iGJ~}=g)!oA%B{f3PU8UGOh&u8v{1cqJ9TPPHb9g1kP zN*E$_Y)qKb@n z#WJvHa9ImI&gn z%ezDiw(zc{`HFo+&>3qRz7n9wR}v_A$-W!!p|T{@cw?~yN`pxV@+ED|iK_06>-H&W zzVfDGnNPoSMk8p{!17;D+m|oP`6`IlRTB+c8w5S$mEqnNIOo&dC*0e#v?C$Nl+V1R>Vk zC6SRoJ^ug}yJ3I)@YYXzZdQVlwnd~fczvtN95KetneY~8@0H9W&Sz^iAS-b<{IQ+X zL0O5L<(>(@=02F1t4QL0g*WA~8;^4j43wbYXr^ph%?Mb6O=`TLv$fG6r+9~pRZ`J4 z(ZDyf{A$iSehE5px2gu)aT4|!FtD2l3XI6bR+&$ezOAy@#_6AlOpOSF?nzT`xJhQ3|Bt%20kgBJ?!NDj^EGqM%-oX? zGGqeW=MXUw)L1ErN+EkpLip&@_<`E%>UF)ouRK?K&5V6bp1|W}Lox`jVnvCRDk^G7 zu%Mk-Y*g~y;`=|&NTtR+d}q)Ag{o=Lm4 zj!O;&U-9uj_Y#wS6hh>M?EBf#K3&mVD$3yxI!Pi>Fo79lrLO7%dn*{O#R|3;Y;AcV z85MeF(Z+5NEH-w)H!zEANhJS(ae`S?InV~m5hEq*@E(kh!!SxzX%Gtxqws$OHpo~| z4X}_Ep0QUne519OvlIxWn`Ua_r64{+_ zRV$*|0t;p64ojmdaeLPV>mAM95z{lcqdx#U;VaCwnEyEB)6@B#T=C8VC@_Q<4E@`2 zy3tHoxyumQA-i5YvrvFcQv z*>sB5Q;9?+*d$JyHYEXA%I4DuM51}7EJR&OX0-s#rdj}S>X@ro>&YvbLGw@WaAb`EgwauxMu( z8a5w(Xe8m$@I=5$*J0gAnUa^ushft~I((|>p)>_#MrYU^bfBFOIKrXR$wLfa!G32%7 z6&R4iW$%)QV^|Q8a8Txfzb`KmcGj7E#K&m(vZXAeqhqe;i0<_M(=Sw)) zl+{4RUH>mt%pG17X=nG2f6?XTx>iYVI6`-Ec1z+7D>2&BQXaXZzra~RdsGYC0LZi@ z?3^_>AEXah?Ya92hY1h)K5cH-!iokB-?3RFZHsL^#hm>-di0@QkLKu69Ep43s_WzQ zNY)vw&Avwu8sJ3KtaI8Yqjn5Suy1znSHm$g+G=q#LYhQbmc>yfJ$@K3mu|tQFND!y zeRc$Gm78aR+ejYL0s9x2P7vl@=yIAOF&r``#aLTMx2c_WQa*ksDx|7?}PkK=hYz zs7Xh4;0Fb|sod052H4Z1(6a$dR-XB)@81wXUf@!#En?V>dm2w>LSU7hv=!kDlUV#CUC51NW8(DJN##?f3Z9K3H2i4Y2htgXGd^V zO&>H?iRc#?lAdsu$4)%U<0qcwrzf6e4h1pjMZceR_pdqeEZ3fRmg`PD%ia^ua^s0- zx#`5S+i)ay*5Fx1yyEyOqLw%hfLK1U3 zse6&OQ5sI2>(pk%PSjl{oKV_|_sIdx^}VrO%Ur-G*8SAJyGBG>oF&PK3lHGh7Q0!%Q)7K3GZmij><3e;r-}6uUIFx!ua9#7v}S#T^iki|t&ea-ucr;`qYZ{> z)U$CWlxpp{|95?RBoz?H#3l$j3xl7i~6dAlY(iAay|AEF5v` z36eon6DXf#91MGPmMLAm91N`&E~Rz%>+H0vUZJ*7&kjgB!U(~pTaKhT-NfA@Wa`uXS}G#>UoRs4UoQed zQsQz6u8`gVAKpArFh&W@4g<%cY##vF5ErEQE_LG?y||&lxGsQ(Ou#A_ck^YveB*=p zmi6M655`UO;!YlnTh)s@r7upiA=eQ%%uz%KB(P)x$Skis0g})dU0G>+h1RIGMcyl{y0B7tv+d2 zf*#%XePypqe0=oBP4?nEXiM$vPH}EyX>f7w17+iaVnh=RsSFduA`rgSHg6 zrWfZyTZ&uTi}Ro@#d!oWSbNZx;yeOboCj?w&Lfb;dC(SdQgj%B_CilMwGnm`-%OGU zn+XToj^7cOztgtZSs*>e)0ek(ptRk94zPw73%ETdHu)RqHCU%L$z`$1B+tD~8Ru)} zr>>g2W^V7?LbMy&GX$>%y0dNNq_itsc~6t8)6jH?n7*&z%qR0aUGmQ28ai$!Kk*lg<$+fz@U zWd~-LS9`z=(M3x-%XZHOMiAm7n_Mf)GgiaAV)SO;UCrQ7^FtnP=A(0Ai8cj7^X+k5 z+oP&Nd${~h?eQZh9gW(ff%5I?4wS04q(=J5tr24|^8WTTtUZhm-vf7trMGy5UVH4- zTr#1g`-_zAAnj4TXpDU4DVK|Dd<#2PbA1-ltMgQxjkbCN9AtM)Z5g#ytoIaA;Fe{? z!5JojDv;vr0h>X!c`%z_fi#KKQ(O}j*-}!IpA%q@o*Og47R%OKG1W-$zsRQ4)CPyWST?`f6^$(N)O{XY{V$fsuY%+;*ri2P z95^^OHTy?H{jXPT2Pn|8ztoRrs^%ifP<_xd!!O%doej$Z$fT7lLB9ap$zy!Bu)3JS0}>+1O!FB+dDe&N?1M4Hh*20Qv z_qfoF@Cmtx)}_Ob#kv^~k=C`iT1qzN3HntU$A_&1$e5Ux?sIYW0ZYV@LZ2Y}XM4ZZ zzta}&p<;K_Np!*83#nBCn;RIt0vVfiM1-77Eyu|L6XRo!eux8Hv?}BaaT6h* zb$1{x4{_#IWFT%$h_eG|199s@oH-I3h}#h241@!5k~OLib}_|3+#zhKEt1$BRf4%l1dYsotIR za6J1*O_{@0JM;@~#(Dr%BSTd#z66h$(>e+qyF1ITER;evnROvf*BzSK*Sb0RAT*B* z%{xiF{f|C%4_zmh1n-@A$^@4dKsfY<2MYxVf)(UG zSmT3rKG@*vN@!;&iSFc-CV9EpcOcK_gT&e0%0M|p_zSTi-r6);pN6N#`m~|BxHiq! zrxH)|G_gKK=BuaN%cpr-W5;v#ZQc5GosZqHKBX~q5y&7gEtR@;eF{PBJ72Ay>7;}G z?NJTNG{qA&(OG2(6iIKn|LD6;g_dMP^I#HJ_qZeP{i?d|zJ1rX-eVS^KO7xzU`xYi z|Bdc8-P}iqv9>fcNhCvyQw$#*wLu~=n3OT&%ezmnl2<>zTqc`$$*_exZtt5@Z%6j@ zsxI>|9Opjp_ZxcyrT!|bCtRg=0oXBx`lv2$ zKCnCNW(#`iVhu|EE}cjc6OeLTe+nZV-vyCsx6)R_8mL0&TtR=5tG7= z<7bK<+OF>pmcQ4xgRrT6KivC{ynj2}2};5Y^CADe>b~b67*0$U72nvtW3uoMaJuhN z$M@)5-=i0)M;izKqko;5(a9)^7ylzdRD%-h1e7S-P)d|tBP9;2JViWJ8Se9u?>Sz1 zeD`U%L1$!WrTa5xC(!@^KWB<24ckruZ?ZLHy3)|lIIi+n;V7DjV>q}x<^G=iz z6^)U`24X51EZ~uP2x)#j4KmjdmHr(GtTr8i%GQ_Ko+pv`+$c+U;SU zEdCc^`GjxDNCrW8MJMQEfPf+oc>ozui3tE2_M?SikjiZ4M zrwdRPp}=j=eRY>hQHuWer}IW0>o!!k81Lzd?@!SS`e*Z0ffcD~TdDN-Tkj{@Z;I1s zSE2FEyyY^K%dy*sR8UG|J)JAd=I|dMuA4h|W^{yFQUf|+k~ZC6My&>OBv9IV)7={$ zb(w_@{l@NkU#5$EsWaS>;O+^j1atitlFf_`2Ydz_nS1y53R~#rpj_-~)xyJ}t=Idf zP{TrGRovapP^#i^#KDKiiWZ`~FR6`1fqUoXw0Z0%*Za)qP|+ggI@D{>SISwhCn?|x zEua?NcJXBziuH^2jgs`~fsnt#Qf{+M*jCJ*B8*gH#9x?3eunEq@9%_X7+H%+R$$xE z%;;-M<^0E03V>7DBwCL(wZl{?g4jQVpy;Hgck!%{xBd_1$m2Ydf#DTp!8UT`v6wCy zuwl9$_RgK#Kl~tk-{^nMhJ3y|hSo0|UgnB%h0Kz5Gb1Sj%^K)O{#<+is?=<%VnN0r zB@_c&`zv|SD!F};N;EZnEi~Cmz1gQKsuJc?_g}##sxm)8e9sOKRI7>5*S9-Dg-nNA z7pYrQt*ARxb5noil&H$@^j|}7pK?O|we@!2A~kA46*Y#kZ|tv8bBY?jPIs}1kn6aI zR*KW+=wfcx?S^kFXGYTq)IqOest!3)%SW5PpO}f0tf>;$Gs{{H+`? zd+4R1!zEAF%MDM_%S)cRmoO%wbqFx-XV_@!w&stPB`5DmcAHdh0;%3HZvH34+#A5p z?xZjjg@=2l!GgJG(YAQlz3C1^iedLwJ;=%E2m4$(^qh=>5(&|`!eV2&Hf>C0S5HMR zfiiHKLgazF6@wFf9(z?(iYh8a6&3gXzACzir$TdIXdXX1;@F)CPb{L!2tP?TlA?~J zs3UQI+E+(XAh+rmwmLRC@Y4Nv=Kh7Dwu^RbhKz9-Mu!+h$?$*f4j)K_mDUhmkMzHO zumANi|0<~i*=2F}aDRfMy#yG^(5naH_HxOd+_i7y{ITwWX`k%nt^z ztLJ1xj*=P$r3MI`Y`sXp% zFE218=42QA(HdedhDfgddbe+!9D7=&p=5$4h@T+SFa*XxvafjiOpKB+cqO=q51l-V5_2AV%*B(4YX(!SHRO?J-a7mNnZ2hpp zK)3Z1W?zYt$Rm+rAZh$E5BYs4&OTqWiB{Rus%j21noUn&9)q&v8F>;cDzTFFxtJJ6 zi#QAZ+2>eJ9e`A+#3&`{+;z6FNMEXn)#k^Fg*Xfph5I7WqEYLIX`S|3R?65{Jlqi; zn98FZ8Tg=1{-47W(xg)E@t7<8b z@olZx`3AT5*1!xH;S-&|v1smT1(Hf_hthnwT#X4+-3h8Di3ihHn& z9gMM^f;L~*5V0uZx_G`o_;0LpE?V@KO@RceT49GLIXtb+6cB4Dt|Hw6fm{pecm>YX z72pnm)epXix0d*y?(SiN(UP;)4vdUE+Tu-lXe*$rT!dbMbii&E0aRN5woXdFo(qaP zNT8a{3M){L%TR1@|VE{8t;7_fCjk6qn?~v@sW2Chh=l^bb5u+m~_Tgk6xLg z_}Z!*TWsMmbg4ufNSY@*Sekic;tT~}unD$7UDs(?$1qq59YdRK`Zrc{Rx>(=n)+-( zHMFHt?$`!!!1i3nbgW?pfZdLr-Rs!d*i4iPqcIH(*jN@r$0!qq?l{HPZC@>?NL<9{ zyA)P|7+EC{+_YGSHrYrO9ioR@*~t}c;H*ur@=Hn`!oW&fzc5m@{tj_TMln)bOC91q zAK#&_Nr-qVApTSx;+`QcSq)?Katb%RdsU}4)2Y+iGTyza5AQ(4Ut{70;}pZ=q}QKU zm->_R^{1l#Xng7d8y9P6z=e3fW?O7;DWh2dqlt^u?h-^|3Wb~Lj!=KO0rjr0$K%XO zyLZ9dk&1OUa(q!|Eck4b?M#Q06+0l1GNfVaJ>408b_9J9g36(g!{EmySC~@f|lTuyQ&}hjouM{c;5e)tH6|aO2N3 zM1WOjC;OK%5h~HgJ=3#twyfkTa+Zw>73CPiy0|@@ZUk^Z2(OZA7#_s1An3K4Ee8km z6r<=;gt&di6{8jTfe_NbvJEB~M-HJ_a~07mw9dVqv_Otu=*F-h$58=6U?^OH8Osw4 z9nD8=S5|8LvTmQ2{~Wpjrb#}LXe5_1lIkr8!^V+D2`Hm#K8)>jXQaP#vf1yjwPirr zn<Zm&f8!;Gvzu6}f}9m=Pc@sWHh@M_GY99)PPnA$2IjMBY{{so*t$EugtDAktYd zrocdz%^z1~*Ng;Si+=?%FL)WX}4@Nivi(UO9q5dY`17f1MOUQK*o6K4v1P92Be{-(#QD$ zDa8$|06Cf|4M?b>J0Qaa)K$C<$Z#5!FA2aMC9ST#*{L)dl_F1P z)N)!>xH4C%Os3<9i0N(PGtw>MDYJ-pz~R`iHQ%FqW^Bk=oy82YsW%pFOhJV?ptH%E z1A1E`-oPe_o6GaM&Q%e@qd@j4Rg(r0RoK^q2Z@GY$i|S%UFt>)kvrLJpuxu5>wx4y zGJ7v26Yp*lKr|sA4>%#-PVY;)<=NaQFxpfbngYd#Vq`4S*gzp!e<8~Nt3WT`IVSDK zrAHW>A_|d28dBK<%ZWx=-~9E)et;wvhZ4Ys5E`ocN1xih+Q|CUM(1#ittr*KrmBl! zY&6(}Xc$JINOPG~&BZu$;V!&Sz<6da&tI&)q!M@=mHAjhDxyW z1g!+da-L$^KQ$nWlur|oc87L>gijZcEknZQb*IKlrNtULJ#|OR=Ez55of;o0F3Sm+;y z3jM>7dsmioL z=x>@u#m#|=bwMZ4%`QqI-$ITBk6Yw~YJ(Sj943swxY zU`6P<4AwAI%ZH!3>vFe}pH!55Qc?0r10|o-1uB-JUxU@?D_M*C4tEfr=3-O+NdS|s zP>o(*6urDCdb!)%2ZiOK=wWph9g!}QkUkVJHr&TBMoA*9P#B*dnZ7c1-?sAc_m#NE z!>7aciBz%s8~c>FA1kynR?LikIF1U77H?SczwIyW)Ip4Yvknzr%mX-93PKpL)S|eO zRMLv3)UmTB)rc-Dz`m>i`?7%%UDm~we}=-b^7W1Aq9x06I>yq1a}xsy(83qj(xS?x zMU_hjs?;s&Ob{%Y7A@WyzN9E+Nm0s@fl_qsqvm(Q=?wSi2{iock^Ado8eXm9%RS8O z@uJG{fhu(os~V2&*Kr}96{Xfl{(=!+#LD$4;Q(-@wS@n1)w4ie6MXR#Z7Q zP~})?c=99-A1z85ElL?3D5bb#AaOs8+`pbc!@n81ZynR{w3?3;RgM%@jto?(yBGy= z#<}Ibb1U~WMm#(svkIK-xsNX`n^Wi>YZA+TG|ZHqRm?&ZtYV6|Cl8rVSf_n3ZVW9e z|7FWY$Cr&QTNX!YV&7ZC<>=D$NVD{^Y>EDsE-ioRf38;QHNG4tjdJ&=@4i`-b~0We zz|5?<)q+yh2Ner+$H6oFR|_ik)@&^u$a#iOV?o6!P|j!iuNGA7t=YnDdtaSvd>RWX zPJwc+^z&M?5)|t@leg3?ISFx*jr075BH1yy9E_{YYprBIsUr^6?>B@d(Ex)-z})v z8%C>qM++h(v7lmsE*z`57x?cMRO}5~QNClir1Tb;8Iz3H`2HgQ-GYj}$wIZ}&h_6d zsMwqI<2Cn7{<{Sgdy^;cx;u~Wn&x$PK2M}%{{S1I3+zVv*T3V>Tt91Phnt!e-M_JH zod1_B8EOnQ>|-@*wMIttubXDcD1S@pwcdxP@q`s!x}=GzYdeDNMU=!(!klsok^7V+ z1%6I$?j)0>IM1D*^AHyg33JGOI&z;mCZ*4AX}gaJ^M)f}9CR2g*B4=_yN?NT#c>Sb zbH}9iMOfuD@Sj2DX3t40RB;viktuJJa^`oOuDs^(2~t%^dK}5h4i8h>H!} z`4HzeKR=Y#_oTbiUF?W;K=)X?PE_F-RU#z*^aI1$`_Tri#__q95v~q3*VFE3FXBof zVrS|$;&-C6H)n*t0q%FcI?UnTn|&F(bQ5Zd@zduMZxq19q39#KoOJ1b@;86??^kY_ zEb2j$w+7KHW$xlO0n|7c0Zz23i^GOGezrD!JnjrnMK5Fep+Z62%D?5gWEEVtZb*)1?rmmUr5T|!NmzLN+9pZdlV%#Zf>q|P6Rh-N7%JBsUXNEf!j6hPnxUINL2Ia%=B=KyqNIe7^5?F<74}=Y8%N% zFPq#H+25~j-2dM0f<+Fzj6PE5&RB+Y=7y4gVD_Xx`MsCx|rh4 z&j#)I9mH~$9=13K6E(40?)5KK|B`P1hV5<*8MT+b zgj=_|=KLjSgLpWX90w2Qn23wvp&2HCXZg3kFrrFW56sJvdqI5VPadh~ z71Q$Gj&hq15bmblvB=;tMPtkS=Bc{VoyJX}SV_2DFN|sgsQaiT*UxI30ZblQJR=nG zm8+ZQ%4==t4SQ}Tg1-8Rw|sgWWXvUwk^{(Q(|s?hG6sx@j56s)w$I2(KGghdEvfH` zMab$9vip;gr-AzuiT31K)E)k&QL%cM@$qIRbi7puNZ3InOm-EX9lcRYOExRo z7FsUVLVLNl*gg0a)Id;RLu1M=7x;mrR^Ya7VMv>`Y(TSB*s$BCf&fHO(6BE^@;(0_ zt-Wk!^pxUcm`KMIO;8*Qi0B#jax_z*qg``dO`?H7c=7lxl0!-}qP$Z?rVqLerie zA41~l5Gi|VZ8p2s2D#&4CTKxLi2^K=s+%wFG4BEcZ-N2_hp7b&yMwbqV8D3W14y33 zn6+cWRA!I31}2p1V^ZXC^S5x5;`VXF6#hx%WXt^3HrxXr8CJ=S?0TtoIb$RA9GfrEUv-y0`bpGqZg#V;h!2WNMFb8Blo173@^~> z=M%zNpFA`A_BcXldIois}7u4b>Z9PLjtDCOTIvtr*tJ8Fq7P^5dEDUUZ>$E1kb?a37 zJ*Da161P^_@1&i&)aMsuAbXk-gKw7xJLU_ZNtvf4(m|l zcTU<7ou`csAK2X78)-wcz)nz`Ft*n0Uf7W63%n~|IN8Y;xYp;2QGK3x)8}gZ%EM3m^Tq>M^?fw4382^gAC@Vz&>p%s zHz&6_IjDUj^6CL>5Y|SHg9#svtF>A!N>YAHf7NQOQhM!wRE`t=qr~I?#mA4T>2y8O zMSeo<^2B<(SX(acM)J?Hxzw#5`p%{bmuCK%T@;Sx{4-FNt%qZm^nrv^Wvp_^=_%Tz zo;#hKHO>i&-J>w!w2g_87dxi%RxLm*KaqRnz&PxX7bC~6c>$Bu#NTtK_uFHEN#!&(A%oDJn zx1inGof_8LUEo%|O3qGf#6_p^Tkb{OvHK~b*aNQj5|0~Rb+vl!ZQMG^nqvomb_i^$ z6Khr--_W6iG3ms0Sy|$xm8l8-v`UbYK^(oS4&p0))3ITyn`!BR!5B9B5nywrpIGAF*MWsTWM*;P@YR> zrsp&(V(N`G)d%{PX&aW{1Ba328E#JAe`wgpN`nPs)kEjK#5NtvoFO6%V_Q1Ct7QwNZT@Q`g)>8CfHSp z*I2V@Bf}k01!c^|7fxn>Pee@0xtK>V?o7(*MAj+t+4>9DCtq%^qSH0D*xLM}FIp%Q zW&qt)9<@28_X1ATsb%jH7i*)-HE_Tf_hIkCfef=8D@1uA$2hy!r*~TK))wY#{r22$U6m*n(B)Xw(rA#ot>dx1LcNQbe#uQcsUyRT&SCx4MfeHuY@)}LgITk0* zt(x5;Q%`9|XcB0yIx%XeJoLmgj)}_2ABHinT&Q?mO{`T3rpv&=F|HXQ0RzQP(dNNC z;90HNhE(e&D+DmoL01v743^AzYdGm3rGmZkz+aRK2x3qcA0Tvwma&fnHrd-m??v+v zD)$$sKC3)R5n5YAt(6xEvXl@a!?3DGtInd0*YdUaDw?;1xt1_z0*b9E!^tv#{H_5n%G(ipYeNFSH;98bZxOZ|2?gWy(J-!YA)^JyI%))? z$-Q}$K&lq|UIOl{7e=WVSO_fkONEgV0^^H`g}Bf(EP|RE0kI72y4ZILw4;-4WcL{2 zGCkjsa)p3u@vJGRq%6yCyUjdoL6|yKHN_rI@ENw8X99g2sGZbNW;R2V`is<$Rt zpnDmEm11I`bJJFBiq;m>Ao&~=|028zzPs$nJc8Mic?7d3^9W{7<`K-E%p;gRnMW{t zGLK+dL#!|5Qq3cn=QV(W4ob4y$JU1Js@dRR+s*|sv`DV0Y~=vAY5gj2A@TA^65Jhk zxOB3D{U~2&F3203Ie;t4hgLz`CX$GuY8i3WF#G@Ps!A?Ii{<($JsR|!ko~JUA=Br6CuDLQV2g@oPTpV! z*y-mAxFa`YeEl^|7Q$JXnh;XQH4VFIy@EKH3pLpSKmGc+EhdzAE(BHkPg*bG3vfF6 zqfz&#-^cDOdk_8xB6p4NC<`BvfA_92K3SBeBj-i4wo zGGaRVEd+|>vWA0JI5ZP=Qqzm?Hi1m2*Kn!WJ7OQ^iUQpkX)6QbdgCmGPy#K^rtwMSkyG(!)x z4!%JTO|~VP;S{%88HebrWF+dU`K<8MUT8f~20~F^26Lh^BHaYphgrbW?BH`4P(h7K zhqK?ajn5t(F!J^Ikqm=n>5Sis19(KNA5Lv-%_W=ahFJ-cm1u`pgO+d|B-1zory)6o z6j_U!?_Zvtw5Q^=8`>^mqSqsBMU8h0Ewr`>Byzcdv9MbsE5Ahcddmpd^sqzf zjF@#_g%3D+Y{&Vq8C|k)t}^3i?H9BT+|6j(Jw`m+xOc$bZS(CF8X#fvCG(w$slSbO z=PO>BPfS$_FWn*XB)R859{$ot>nwUcC3p4CjLye#bezBAMjR*o;-7y$rTDUA$VAoM z!@@i)5@?TRjxQi&Zp;psu?^~QfjIpI5(=~V&dF1crMvfZR!+q^|1O=pRKx1#;UCCo z;M8=*3^Sj|SL7$}o-)U^*?qY5(fq(%4mMj=*rw9wT<&uM%fX>I-Y^&{bjJavxo;f2 z6jPGSfxqKM45WMV*Pl-*zK+NUwLpvgsUY26y6Lx;edL0_dBZj5w^uRan1DjxKr|3Z zuIa3hR}J-;!?IYIYFqFK4&5KAL#f%>r?6jyZ%Gx!U97fateDXu>=ov;;!&{G+l76q z4vzqQcjTMVtW*LMVi00?s^pTf%phd$j*r?F0X}6j0x0n^vj50ux7|1L`e+uJ6s2qx zgJ-C6mv!f^1Nn-e@LKq-&mO#0E$DXA2v3#;zyNn8(`6QiNl@CpJ2K!bcY8AKQ+GRqJMQJBECYKMfdf8HG zGYj1j+V3u!lFBBUxkBkqC=`LE`2pC6fYT^Q(cnNM!ExrK%GK$G6PSmZcw|A(#wB6K ze9h|dlr|T<^$*kde{=&l{b<%tv&Tn=@qToWd8$VTSQw!L!HJ{8Ad)_PP}ff!)O8Q) zdJoj#3rN+6lcSn-PchCXFvfY4bFGZCw=tV-V&JRo?`qvmwKZ?J>r>oz z`c)V#ZM0Jse{tv=^QHVtLaA4L4%z?GyYiFnIsKEDI3v8Ax~&I1NuVqNC^2FJ-Du5hy1ENZ$at?)UkZTH3(+rXr=at_wZJkyh1lxh0x(+t6a=5_JIS%P1FH z6aTm8rTD37mfyEax|rn6D?2R%qPV0dqL;I*BlH3?Y?KL>F)QF(^Nx1X?(ladc3}Gv zYLedhb&LIQ^RB!O{1WaC(%-_|+@4)jl@#^-?1|{oPGj<8``crw_Ap)Q z-;uJfW9BOP|FJKb5_#9HZHqG*$6e%t5gFnhopX@Pae(Epvp|960Cr+Is-ESjdX}T= zS&ph_Ic)P+Vma)DYhXE=ckTBGA(ZW8d6s=O{@5+-0<@IC+jQbQ)JAkRu z=>A&*ZMyaR%ji>Yne7-{$WrR);@O0$b-@OtSTZFz#^twyxD=h1*0@=8S-AG!=uBm+ zDNyJydkTyjZb*&XDF92D#AI`^7D z&3242MT zCQv(e*N6>}HcQq7C{e&51JUU#!n}!iPK%MxUvbezI^#}0%EdB6@)j17tTSBdwN@0| z&ItajHpxb2iqK)$4>UL5NVU=#GLrmC>KXEBIl-@pys3=nFC=QIwIzrWO3H7VNjE35 zf2?RS^66 zLqOmb^}*x0(JPE(00K3WmV2KA;pye*G)iq0@JrQo(3(ba$Cf8ol8zC%GH*=nxpZ0Y3jOowUgkTHUG9ZW`bwcDe~}%F|#-k!8(x|K>#mQpZM9@tgf%)t;>!azHZB zcn#A)>*xX!IdV4-4J9jB!C`=fV;pI8t?3{s1t~=1FmBa|u|>r*mGMs!pE5eY6H-}%O6f8CDV8A-$}%Qt_E5~DlpRRY z@Ib(bRm|4N&eQ4uI2Xd$-iLUx1gj-?i#x*@!f>yW~ z-B*z%f`~-IS4l6Iau+tL_KnIX_e^QN4ATRdPT`3_AC@UNo0${_1p;zMtU*DDxHjET zor<76+&&$oklu2(=rVq`5;V<)KcqX7c{ZiE<2fhUC#OItB5#$&Y<(^7>uE545Y{G{ zo>I23*q6E_`-^HQ|7Z+T8yZ5Jz+910lsO=_o>1mY;M<6&eYX6jlG~moIGxp*aFy*l z|DHqT%sjJ=ADy$2m2x>0LSM1 zWW@Bw8g%1mtngOG!jt(*u++RlqQ4B+UP%E&Bsic+Vox+iT07aLs$ceGDlB`-HP`Hk zUa#>_royssrou`c52o@=Q= z$qtug<%dmHUIS1PUx*Et32aT49!U8$LoqxI)2eM73+)}S6Vg|*wyoF zD!=wN6tu{|5nte)jP=i)bmd%TbqS~0!A03G^8Mvv@u_8PvQ-!eiC>#UdcuYkUD{vD z9TI#vDbd=aZ=?RZJp#?P0&_&BTLu9ku0*}GqFmOTHD6MZexLpA;aUaX~ z`53JuEr3apy#umUO=c^@NAoD9onEp|V}9!4`ffchn-{AOT6B{xQ%bZh0>*qNvxM52 z&UeONiOz^Tfhl--$4oGr?h_9oe2rve_*EWcIQup1(Rvn3;qX4SB#_DRygpwNxaU>s zN4>b(a|T88ZOMq{v2&h^ckR{$jpmKds7p$ZLdku{*E&?xI^@3DS8MQ9;JaKj*(J=D z9drX)sWy8!O95#860f&R%pX9q>6G1lW*dqX`s^M|5c(A?~<5QBR0NQ8b-OisL2 zX`>GO%2uvWqQ`z1&5TueQ!~Dk-{zqt_=}IQEifC7*zIHe!ZKhDq|*qiSSO03u`RCS zLqd=^_#gw#t+Dx_VBX65$<|bn`h*E-`n}g_R5iJn(n6;NoDu?MmKCJ}v9s@|0y`f- zWveYPQoPH58B2Ng5y%Qjm>Q~uPKgQYX7UY4+*uZD30L*S0cze&?Ih>i8wU->)D_4-|%u}fhCqnD}qet(sU4oee&=n76( zMTD4R>C%K<>qe^Dm&Vz< zrK&7J5V+-d9=}wkC&vA;P2p}b;4|Sq_Z4q=<)W%r)i+mq>);7@m?*hQ5y4l|AMq~2 zDT*kYtvA!4hTdsX7!zpM*Bai&XVGJRvAg4bY&o!GxJNE(WB1wKD;op%Q12D{8uw`L zl`3d46c69pJjCwWFSRhy%$b@oTQEr*fq9huQw%nk5tdO}Vg=PyyR_$+v4ozs$rg9` zLL`!VzsLpxQp(zubJH?Ah^iZYEtmwa>q{;Y6T#irOD@*7WT;)G)68_62(N41Lnf^`O)jkooAzke_g?ht0T6)s*J>m)lI%4D`H@U5oNv&BH#@P)NX&u0}&B9K)gL*FJExnk< zPH9!$R3fTQir+Q$2|;*a0qDIzLhU6Atz+)cE+`jGEVoXLp@LsVh^z{%mu(zc3rqo2 z9!M2$fau zzb@XMiiFxO)=1ZkXKRT!YIKsBT*tdhk`mw-yLRxIp0SXS4vQ!#Z+gWvcKF%bVxH^U zbx#GR&@uyzv@*I^Pm4uHLXaoislhgwwF0~CJf67%c7Z%N&mD+gq*PdE<$!JQrLvre zLmVtOyCTOsU~LCVE$y`j+XlAm+V0CxwE&9$?AjWdB~wD$+v^UeT(|FZ*%jLM5HTw}$+0zp;sYJ){14A+4HtX$n z6%xrh2zdBGP?3lr2;dW-XBc36Y_q&d#ePTvEm%;ZC$J-IVJS!}e*5=5W2H8#I@<(D z6xGlSy0q-gdtsbJ%@_mn@M0t`C^5p2XvH%RPRZ-?G~A3Z_*!2P3H{h@naNb4r4@Z90jk%r?b0c^%(#Eu)3SxPuonQ_lq4+y z0nOOTKdU~^*o>#!-3NY_ZsCprVs`9+v%r~w)^Z82VZk(ZxYI50FE$0UK84Ix$`(lImj(hM zMkjny$2Zeq&AqxeQi<0@HCW(-Q}LVHqJZ(UvE(85Frf4^^k9+Uii7#YHBP>&Sz#6cY*6c)N-nNW|8DD>sb$kwEr_&U})ETv%mMV!l#cQ6f?FL& zRg6+mofSa4G)m$WmPyTrR)F`*T>M}B)9bM6@lQMLU}DVd;o53up^Uq(l_0&h1Zc2$$4<8fzwgkPjP` zRD&B`z$hSHlCaMoK-SwUb^cd4_s$P_-q`n!DX0GJ-VVYQ9ipRRPsBC=92%CrF~y?ny?}18-uQpIUbqY?3y|UcD&11G z6i=6mrnom?;tdfdhVSKmtxvZ}lAI^aKd5o&&dgng!K1|#27A-Cm5QSx^e!|wNg zYW(@I``qVvkTapb!Z@=>bBdc@Z5_pO;y%2iF|GJ_(d5A^F$jsYL)^;%XlHjLYYk5V zYrG?SSJFvPteDE4^frc=1wxKN&+2V%ViwtkYy+!Pdvn zj9WE=w22uI)VbOorI=E#d{o7Z-Nx`0CBJkeX3Xr3!Dg~kR6QS4!DFJ(qrUX9wiFb` z--5)@0~&Ox5eU247PmSAR^mSDft3`%O5CG;z$zSd3`^01b-vGa&oQ}vuxKvqr_`_^ zAJoxacd!|u_fu@7`8S&G&KrD1FGXvH1e#qQy824Ty@eZy&sy~ok~H!$lJv?{IZRVJ z4YaWUP$p?>up!p*dDB{@nrK!Y(7Y7GlFG{r5Y;kR1$DEggYeAn%ClD*bV^{By*Ug9 z<3a64z0DqvUifxd1%A}kJm1YysT?JoKFCijoLn|9o|=A9`bpW}&A5_iZSn>8ydkzUj{-~1MY5DF{4-`(}yfBNBX zQ2|wD|FlM83Ob?@SEK~AW`t1(ZSEb0Op1Osh-C?40YM9NE2zmwv96)`A5gs1RpN!B zYys(*2q}`?UTqNMq6$f1O^yp0B0Xy&EH%q~1NRpopT22I!uIo|`im` zg(N_^b-a8tX0ZXrgmXp<$!1||)|6sZLI zKm2BCWbgR*{a@9{*4@uA(2p}wF{g_XEHYQO`=FE`Eyz^kTZAStZTJ8VGp z@=_F~%r8p}3&l*600k9REF5V=RNEEcPC4tiYf*9)_E>P(0wvd3u+YM~DL@j-o+7Vb zJjv>weId4UvTmEr7^XcM0XUztqRiU}(iGN4nTu+kt8rTBVV8!v^h=c(D|})0lZq_R zqE(6)&osb}v_B(S9eLtJxZ zJQre64n~Nn5-$^+GI_L?e)-$K?Ke{lgP2fI*&iEcFVh3#C}b;QGekOj;6P$s48=xD>jEOo%zfh!?}kKu1HcL^8wU1? zY;3h;?u%_+sR6!vuB=He+D?CJv;w`OeSRQ@%R_So;QY73Ha^B=+wj z%vu&atflh+^ma<3;>9Wq4VS;s(?`Gci33QznAjx)aT!4ZhJaD_WQLIp1QX}oFkrpG z$1+;zkzueADl{jQd>yjyftU&Ka-{Oc&&z00lNY$h%|DCfjL7Um!1LcWUV6eNFJ+4I z`-vl?N{hDM`&8O;QMJ2fh<#;&yw_r9LKh9@Kn$u>l#rwHQU##|G!64JPl$xB(^0^Rw&50~>6sqDL@vSk18uV4I5 zNcPB~H~o2dw2F%y_Ptx~50AY4--=YqTcon@zFa(+&=u6KthcfbLKq}`mzYy*00Sq+ z(DXFVrPSmKredYr8ss+no1Sxg_WULQij96hKx6t&n0b1u%%x}w8Lhrk~(FkY^cCr}yOIBAX6QegdGNO4T1)LKk%V|uaIaB5|K^y2|@twL>N zHQPj8Xc*ZNWz#$`YT#eB(W6!dPmvn3`w-Vt6D$6GX;SlxgHB5h+TLmUJ(hsrOfXKM z&?x3Hn_b?5qc-=%{C6s1v^WXY<*aFY5OZmz%%(VFG9)8q&qd`!w*|2mrBC4btOL=L z;W?5?GcQMKmbo8%G^`#fSdQ3WIII#|*mNbT4qupGOd_=Hta*RPy5W-{)k{kPT(ZL} zv-L>D9fv8(3S-K90Z!7e`!EpwE=LN)4#D%nk$LR{npq^I*_YRdzu7{AslS{$PF5$#rBCWh;y3ICS+ zV2uyf`2a7rnu}sTOqQ==qvofcm2BKIR46m z%0_PAAIF^ew8UMxn(<548XbpixCbR}C%m6<72zSmm~escbVAvkt|r81N&6XuI_h!; z;XcA=65d3(hL972@E17GC0s!`M~Dvtx!QudHO#G*yza{U{v^VEh<}$7vM!AYOA_#) zI3mFf97W4HIU&|4a)(V~DXouxf3PWzL)+v%I8GwL{r*Ftq?z0E64^#XZmuQeN9R;B zcGhZMyKC)>g!S!b@%lY0xqT*&N3D$Z1w8I+8Ar1@�!oi7$`)NVH=PnCt5lk2m?p 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

&T!s4L;(?U)4s+|$1Dau%DfuVgnyOj>>ySu` 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 z z`N!ikd|aG=y!VXhIhW)gCs~XKyRtO@_`nPwp^d(uJDxK==jr*!hi3Trto-B7=T6W0 z?EK>+GkjbYK8mSoxv#$8I}jL}&yJ8lKTq2%78)r+ts*qH2+b)%!$oMQ2x*htm(nak zjUt5mw(zx9gsMdd%}DqPXA(lCB9s)NI1hOSv^&kA!JS6y%P)W+$j%}s?GW0IHgl%V z6}#tll-9Stgaw4iL9o#BO8_KWyxbF&)@Nt>3?2BR`8{|T!JR9@0hbs6tYqYA|4o-um&RoY4<<2#kxs6E30_6-XylzcFfD6 zmV6R>|%i9$}dTC&b5#`R-X0Sv$hVfofq4r>xyM7=Plda48>@@14a(hk)zjgDKO05Pmx;AY9f zZiKN}VRf5zm92U1D>!i+c;jES zN$39K2Dl|uf?_qyl(mP|2x$veBfJ+t2=6_tMu;g`jqqN;BfR&p8X=~K)d(>?tVW0_ zSdH-B!)m}K!REz*(Y%8FT9`57glR9^+=+j?Q=Vu?wwfZu=#(T6WDs`${M3b8G_wGr zwJ9OC3xvS2qNQ0kN^a05AyQy^9k-xgJUX6!qsqIDJkpMT*28lsJX_&8KRg$QCthL1 zue0#`=b7O-7M{z)b47Tb6Q1XV=gY!#<%G}wKolYl<$;Itz~MZA&wHQvNFI1B4;;+{ zc;@$MAPqk7?L2TS4}3ol9M1z!<$+0TC#+xF^8l_Seay9a0QXfsW>+5Aod@t(=|Ans z1GnUX+w#Cv9>7hOPkdJ%xH}Krn+Fc&fd}#cPPcrnhw{MTJn%>!z)_b^^H?4@ng^c9 z15f6GZ|8wydEonb06R=y&Qp0{5;tWYK6wD=VLs;CJb;q}AG0eDU^?n!Zp;IF^1v;5 z0H*~$%~T%15rU7oD-YbA2ky-S2lK!Kd4S{ZKG#EefOGCX=8-&bBo9262ae`}C-ML% z)_tyT=K;>A`9b5p`&y!HM*s;NCnQyG-89ZMWGvXM94JBBoaLKmYOQ(+A=~Y_-rCR} zMqOBUJHs3I?@EiTCK!zEQAgd>g;32PWO{-CAvX8@PJMupxGU*|Yx&Mn0U?=xEF(1# zl0}0-hzlYW212;TH3(JuA*355$p?fgK&V2ui{hs@jI$L|1Cu^ulbPh!5^Q9^1rQ7f zl?C((g#{rga*^N3vp^ou#5y%yRr{^5C|Yx2umtCplyBPE^w2xj2fh8_ZQ=jE&|4_z z>0b+@%(T#4E+L#Ym6BL#BJXqHxT7CQ< z6M7k*`f)=Y#X61{qyM>Pr+2c<_Kv;Z#JluCvf9-5Pw;MMM-gZ62PE~mq8}$(QVy5G z$seCkX|a3L@5@u+wNf{Vf_iwGIg(ZnZ`Rc9UYx}SzqLAOBda_e(kQiIZf%dE#=w`r z9Mj2_*2q(lkt=iFQ*L9pi}k1IS4VbazD7lx7P%HCSY&7OCLp@*A3V(OZ-BnJVf#{8y_z~Ov6ANL;i-+PI`*0CmV4vD+ zbqG{tKn1nX8FcJdjNc&8O{_(kHG6F)%VVWucS}2XGT;r#dtsp!3LSVC79xgb+(9gV zOc0OA`3n?bmM;Q+o=4W90(x&;|BKCzywF)+=zx|wxyp{bRk+=w(XgY-Qj;f40OKXh zY^4X1d2ekp%DTi5O%qr~mVO3`B@-}UiRAGOyM+KE%M>%+Gj*5rN~sxBq%4Zp;4sYv zz>vC9G}5=6DFdY4@?Y*0ew(fTluFmamU(p$b8fs7ee`+uqZ zJ3+Tt2yGm(&VXiNnB8)3x-NLs=S%vYigyeyGv8@i@0uuoQ`{KabzlJ$jdM&I<8IHpG%h*h&gs$zYwOvq)9pPixcbg8>= zdpgKa2omt-1AMeB)Tl?WyhI%}>eQe{*+;Noo1M1!s{J6A`Rvn%iuefD{+#FfbH2&_ zxNWxZjTx)ew&nhS55;bbGWp$@>(lOT%rw@;c4LOEscmL)+ei&9yLMz8>*B-~Hr=w` zk&4t0Ng+TYj(P!7#)vW?)_9o!iKkbiK@Fopb8H*XEE_~pL{R({7ZNgb2n?_YUGV|w zregM>x!s-Ggt?R$EFpqbZa6;*CnIo}FJzWoI{(JE7mng}ngexLHZ(zTy1}%K3mnSN zo6F*57>=lGbr@5vR*6Bwb0*i$Fcx-VR3+a-$>uE{GRIbF(Zr5+!u^(6Vn?>Y85%83 ztkB%^7h!7Q8zR{-vA(S{6G)n7>S=~A6roNANl|mr#KgeJ!5l*7J*U{6Pw1PF5}1x! z7P6)^^wWwFU)i5kYl6z&nl)KHm?Sh8R@ZDjm`v(SFf;Z&+&u!G2Fnf{u~)J*?J%xF zYXcPmDdM{JqDe*!3w$VKCGgiJ;{wAn0TcYnk@sNfLHG_W0$hMekvd481*uUD~mj0}V?rqH*lLw=jsDyXAFMWSd>K_x&G z=S}m-+_S<-dNM-KI#iBCqm|7pI>4k9F(ZD(aG8-*OS-k$r3|!JRK=>X;|6xhL~WIC zV6v*M+D))-7k%p}t(pW|;=g#?R5gL}NRQ+#fy|pW)g@90dYV&8uP4A!LO7esMmJZm z7Y6?bpzDS+8+6Sz6AQG44l6{s%LYm45k`><2Mx*t`JKtg8lX;E#N1 zE$yP;j65EM0Wf{Z$W%qT#_ZjNvFm%=f*ckSRbY-{LV^e2Q&VsW3Z& zxms*J@0~EG*y2#kOzq~7kEh==G`i11tk*2e+xUDw@z|6>Qg5PV9ABBp`Cd{{% zu6Zn#n3?vC$qkB8e$v{{%~RS7tZLd0d}PV_Q21=VX$C&G?hGGwQgR?KV~!j+6%v@= z-liuNbvNeT&+#U$b2ce81=KCgLMbR3t*^nxVyQs8pg;8uqv>r6`RCc?D)eTnkCOJ~KGn6%V%LeY2 zXi`2Q7G5R^$t)_dD89uC=o4or_;{&YrJ1i>cvs0eDVAmpEwXd7(^Ko6j@-=NyO0|{ zmJ7ra&qFqEH+7^m8|JhgP-k2gb6%kzN<#*vp)GJF1)MsgjwNlgxQm*5AYPx1jLZJ6 zhJxBa8O9>-Rc{)u8ndoSBQY;ePbrFxMVFlfp%ia_z;?4_BSx@Wg-#8fY870`(o+Sa z(yhX@X^Uw>(dAyy&DiCIKh-Xa3snttnO6N%d)yDyz8-r!V64@sBr;UY5hdLsEZ@TD zff4w_o8r9j(vZrgXn|6B%4ToMGy{&aB?qdfSg@t+FIX533Cc>|#i=2>yhhLAFpQ@i zjiPB9vXKldEpU{CBTSFOe!^)k&*e3r%R^h3%R~9xRZc1@-W$bS9@1PkC3$x)&qsNt zqVu`jU@k8tj`DlwvZBxw5k&wR8s_r+S?2P>Y(#T;C|law#iD}^Iygij-45o{d11qN~P#`d#}2rTqOz(aO^UI;YCXttIBXf_WW z0Gpo^ZR#90&<{f(h6~_#=7SNv1fmfLL`X6tf$(X13B(*U^fucI0%2w)fkdc|J`&*z zXy%ztp%RgZZYBAI36&U;Sju$#CxK)L!2Gj{$`Hi-oXUZ&jRthjV^pQ2%X@zCB zK|%9O?=A*H$3Zd(?WSy@018Plpym^=1LX|lb55YkofLGPJze1Wk%s7W%w zYS4s(kmdCp*-!&%UNG0@2ZL%W0?ui{cs9r9r$`K}6Hc`w>B<)r`{5VDmEJQ?vMtrY zYeYa7flqQE2QU{vK;W@IDhoS1qDf&3&=}AdG(4~qh;#V|)j?Ahn4WUhZ|U1Aatczi zi{s46n3sC#jVU7G_}h(=m?~6l*m#@m9C|gsPcnq;0E(~+BGpaQ`Y_0VeoR8Tba*H~ zkVoVt5G9KVcJf+PK3n_zDCa;4384DUCQP0?C^m;uX)b5V%fb3QI~VD=$-`G^dvX#F z)0$AoN!HA5_}IJ(jo?pSeqK1eAa{Sqg0_#2g@TbM>6p4zqFZX3dR5+-BE&XbQ;sva zJQq=%*NyIJc}>o$z>f~IGXNCyWRuRH6>d<>KC^$WvAPV=xbTZ6OdbQ%ItbVykA(H2o>81i8n+n zrC&2=l=-PDE$eIn!6bAFmu&2@*(m{z4!kf%Y<*#j=9d|>`z(`HB>vI^$Sc_zt-r;! zp_g>&fNfSHVr%5c$E?!aoFOw`mPd8V>`R7h;wblE43Z&7%WW1cM`Y@|8XnZ7HIbwd zq=+nC2eYaQWn$4pMg<|fY}8a^RMz&ANTCe$tRxxa)BtYXZBM!gJ`erU*6Y4+4ro;8RqSBAAsd)h= zny}4m5jXSp6Y4*m*5PDZmZD~23zKJO*o-cuSM|9!>gZcYpt0IE&Z|!pxx4zR>oCe% zDJUeH<1@9HOJoKy(I2lvlaa3J%moZhVS_nWVLvcG$`ure;F^vd0wtW;=h(6SOPzNZo6rF;K&794Ol# zFJpq4ax=7vvGd!CruwsTY0E&C(3IJ;r0M6(?GU<_fL^siwzBo;5Z2L)Coq$fv%8vm z!i!-5vF3J!FyuhGA)Q(JyfCV|0Ymfp#x)zYM9J09RI=uLeTv*uHbcOCIV6&Y8TKEx z2$l4}Sf3GMyABm^8J9i`;07y1UM$>^pEGJD4L4k@mNV8^_y(3P?XU&mTCHGIE+FqK8ra>}VNFH011w*ot@!lzdctyJ3m@Rocz2!_;o9&lWabh z8i+JkTpO6!o8=DTD8F+ z2o>6(>1G4VeOM@0dwMAV#d&i&vG1kqIM7VfOI=3i+gJ1ws8}zJ)1a3;`+BMJru93BarsQNtx}tbOck4SI)l!H6tAxd$nUw@kZWc4q&E9e(S;$w?wy zmRd-|*{ot(h=iD*p>jJhGl~Dc##bjyXrRqf$wyYA?{Aw*wRypU;F}$53o*3CPxPWK z9K}-3xVJ5Xlr0A&OKlgBJ=BZg@t})EauZS8&|#MIiA|7ZBP&6UW9D;2=%}Y~P-OsP zsW~eX&gBYJBBmMX7}r4(ls5-zm^TNS(>t!j`*D@WJ=)}J$x0j86DfwG)NNQSb`jPE?)n4LtFw#8Wl(yIT%%t6xUZ;;Q>xD=6;FQfB`Ey;Tv9{DKUPG{Yp7I zaQL3DhJC=Xl~3fyR&~(SYRMp+GLi$X8Vu01+q48krG)^FEl4=8y1Nx}ni=CvO!|j* zakR%+aatde#ewJ|Yz47TF!kt7KU={xVwOVdjIAKm(YRC7I?Kq(J^@R+4HLdON(rzw z7&`->#9)fmfV0RMDpl$YfvvWJv$C?7>z?z7)R?2-O^$UO$p`jgDoujoE0YHP!00(o zwYp%i$TutN!I%ixQl$8zl7Nj_DSfgY?llnaK^eN7*4-)yRRy7(6PXo4WkCpj(I8}u zm*KX&&ITq*w1;M<)6yMtaErDWJco?QYP2KGR ziWX?EoSl)tXeg1+DyK$Zw9tujwCTeLNn)E$U~HaK8&ZxJ-HgD%$DEA7$UMJ?#tbgZ zIoh0v#uzE}G^QvmU%NBKq{n03bmLJcIy*X}0M2xb(d2;q8}+qRc%}r!2pvDSo)pYSjg-}I5^(}FSj4gR$O1;>hQ{UMz z29?e9RVl3Fu--YLp|UQafpxTP7u&Cp<+Hi$MnsYMtFDy5&|ZM-&N=HotWzTUKOiX{ zq!2I)-mTn*cN2Jx1trf61QJz@?_qD-@{u%En?XuYmkFY3lBI0U1i^x`viSzb>76kr z<#U7&D?g_{Vl-jQVe(#!>j^B%QGG+?_>*06{)yeqQ4w#Pq9pDp!V$S25_?y_(!xhL zpTw~X&Qo03dNjY=K!cU6qqakYQ^62>*Pj{_1W@N7C`)^v^v=g34 z=Z!Uu_RLu8BKJ^8in^AnCBwNxro>-EImv|^b%4b5`ev0cDcm|uL76$hE4iN~-_LR{ zngGE6XwS8DJjgwfJAa>}s#-HSH@4MP*1LZ@zTTC$sGiM^t4dJSZ+2h18orE0GAnK3 ziHG>7qKyI(&vm0Reonj=;X(6+?Q7TG=!2lFxI2Xp^@Kmy6aHi5PwsFTmJWT`;tv6_ z7sy!A-X18s;0FgkA&T@4|9apej)xZX!3CfSF4|0Bze9IQYK;qUVH`CmppC9E7hDqH z!vDZUgWCs}q#rKS(+?Nadf2~hqKE(&wIzp(AsYPDKM5{qOlYO|@Wc7z(0Bm4TP12= z4gsF{L6j;@N2!vb6nJODA+oYOdZ&k^U$OP8b)DX`w_~_&#{JeU=79F&?SmK?;3Zj2 zM}&*x(#aYSf(gVl-~)#r^DiiEd*_@@MAh@tnt7)>WuzPuYS2DYToqGB2N=NenWhYq z_x~JIM&o!0%`dDKqt9f4F;HB0vi!EEIMPmta2b0G?4OX7!)!*0j6y-jH{iS^c6*x* z=?w$pRQ60P$i#M_^m$ZK@UKF#9(GVlp?+n#rAN`2vk~GSb3O)4o*DZzb3iii(r_$) z^C)L>O&`j|LOBTYsi9n~j?7H#!zUy5G#p|NDjT84`(rPmk8?r~MH9e~>1|qe!EUp4 zhM77*%Kuj-S)xa<#IKC;@MI_|L#KGulJx`kCk_f3vv@zhl>E{)0Li5%yJBCU%Y_5bTPqj5$DZuQ*rwQv068|J1m zMIk9y8e&YQ8&|?fTwd{}W;Y+|SQOuLi?falsVoaFuyigZ%lVK*S9+TD1+CH9P0b&E zB}nkTmfKtmPAl}TvotG;QWd4%hgQ)jyD5paLeDt;X2b5&f)FrqVW3ef=+KoN>@oqm zYWF8~>PF@fFGT&tGzhF55E_UsDVnYFnWAOsVYWeR9>H3OCZQyVaGm?>KJ6EwnFfRJA_O)|BbroEVdZJMOZ zF#I;o{|Yrf4gM9^u%m&imR2In(WalH+Q?zDvI!zREs9<2GClb~SpyAfrslK6RF!?- zb&nR`jVQCnM0Tvipf=1zQJ?VH+qz`%+x--U(tvCZcsqoW5<2w2>w_G@(OyZKot_Uz?5x5OA7NWNO&cQb9N@+0YT?GCk|tOQ7; zK%U_uAlzy3@AaD`p70TnUt*#fq!%05**+IESVmi&A&s!k1Nw!66VU1$R<(A~89Ou` znPb*5`R#Ve+TIs!UBX0jAhksgQI@(itS$i?s7ui$of%h`WQ;o6X|i9^(|`ZSrRgYap$B%$Xb+xpl1mCI%dnE4Pjq&=r2P!J$k5j2a~KVKr;s?;4GhQ0y1nR7(1EKOGLm7L4%e_KcqAPR%vzPSyq%NX&fA-!#%C4)r^St-IpY?uJz4{@kq>`=so&}Ua#sVD6O=!?jkSxn4IKO6? zS?X^WKJQk`?}J-^RB`|Q2XK6}&YWHE&;rgdTe zGq-l=aFc!1XIV#7KXDCa{bU65e!^g?M9n^vuH8Ctb0&rxVpTn3UuDQ68O=(8F6{yg{$501lphL-ZDCd3;g;5E>D zNrBFFxa5GCTjJ!3FkaO;-9iDr#W=hP1a8RE_X=`Ty=r;v*-*#&*mDdpV9UZl1<1QC zti*06LsNy&n3EK(Gy` zw%6m7r5<8x&UQVt8S@@;$HIC@3VO)#p6m$^^-wQD520kmm0dKEku>bqc13~_!8s{_b9lvz;wte1!WI`zR9wl{Lm_4^%}BWC*D`iu zw3fl_imcss+kNiEZ>#9@w!!Lsp3Nr++p;aaQQxI%sE!-|LdP-cmUmqIi#pE14IPJn zx#-#zXJA|meHg+5df~A^&dZcvC@;h5sLj}mJs0u2>+rdVsEZ9=W&{Ja_8h_w;0CAV z&+1GTvcaVq(t4?I_?HAP^P#}YfDpyY5DfD&V7#hZD)2HB>@SxBFSEl~ne<|uOfgAu zQ@jND7@7_n6M8qAizy~C(snct!vt3}!8s3uSMW=MhoOIPC;0@A;$VtNiW7VZ@GmqS z_9gUgH1|?WViUZEciEWRmn3gmoH*$9QJiTpiOuaW&%)G}ZP~hsOO9uubA9ABnqw&@ zDX!d0mtQH)=sMgANnlp|n$LNaGCSY8C{20Aql*S zU-Qk^Ni&NZWARewy=a{gtuGg!Is;F$%cRQr8?MiD$`lTso{wIcuDx&YH>Ucwp;yL1 zVNeJizUQ;S-)!(VmlS^kLKJ^PFwEb8@ucYv!5j3-P#L%+_#5meqE=SE7=KetQrtu@ z0se-jLn4IUjplEPNsL4q&EGJ=x(d+eZ%~c6B={Tp2Y-`K@F@PKn4~ztmjHi5)8TJI z??&@C#UwVtYxtXuxqV6UH^qrthrcN%vAG@QZWL8v!)9f~R61-YcUuJl{fq z-TuzWxcQrJh*Q}yC|^->XX1sO*fY4IEcNg+aYq(xW$GFi6R6$EMu0Aw$`b>B>TLUc zkIm+c9)Nr1nP=W4f2rJ>CGVDHUadS;)h&PNbvJZR@5VW~3+DaP_P)Ehl304_Il2zc za0yVHzp+;fu37NH(s#`gys?rtu5o;9MS{Jw>Tm%E$gErjz=%p{0u?6|w%>wO}pO)MIG^2>km zjUUzZ+@`x9O95Nl-JfrCzLS5slE<9+yWPF4<;t@&}B~nCw5>d|=$f>|Hfnb8);B#Zjy)!Xfcj zNm}bX6T36t{OA{dl%$&5;KZ6pZRu#iO*FuV1#&Y_V@=mwTr_$0pzhmcJ*C6ekdS3Q ziaI|9`c)-#qQ5vAS{nJ7SqX!qmXDbn{%{~j8E;}BSstvRe0gZ8;G`(?TvX1T6%8$q zGRuR@061P@c?``@ZE%5X62MjPC`j`j6s$Aiy7WC377FcQd1w@UB36(tt?Le)T;^xi(`HlH)DXb?I=IrjJGi#!fDdV#En)@1>3EoH^E(bM>i3tUZuOUyogqRw`9Z%T zLr?(`s=qbe%29uH2gZ=#Sio`1eDnUPYJ;;(0-VMR3D%0U49eoy@paf7_xn4kIaUWi zCboW1&(0?p$F!Qz86^+`5SFxF)(fk@ZV;WJd(EmKeh}TSKdbdos9rM+EQ9O5g@vzP zeXy5(R9~l;=F>;0eqdJXg5-WLCknILNA%4mXiOcPrC&Gzm;w18@&45{)xXG8Pvsc} z=0ZT;0q`ImWJ{yVee8jhkP>aII=uo4!P)zE8=Ya?dHJ#qi6{d#@}V_}uKl%1y3Sgv z6<|yKV$=bR47P?!;>$`+mhA-DI1eB_(4}27+hU&&4kGO)+@8M}#~ zIECa~)2lJeYLSWWx=9u+*242SUi&f}Q=}rE$LhHzTRo%m3~azGo9os~PW3ELOYZ3sd_TT{ zU2N}SZ%RZle1>}%GPR83)l=9nsa~0w(|Gb+nbh~tRf~1xI^JTldkl&2HQmE%wRiJ- zm|ctQ-jnS1vFrBGsIolWRryma_28c5pigu2p5$g9d)uDmZL~zhWu2C+G!}4hAd1Wg z3&X_RQ2AcyroGADbOuVv{dTlCz9owDe*;nZkv(npJ3&@#(6O6$p90H`gXN6U)kZ+e zSj!qX_!!$0Hx|Y3X|Dp zhQV*6Y&%Qbl!p-K2CGM4vdy~N132PQ1Ne4nn>LnR-m?YQ7m3TzG}h7Nv(X6JvU`^( zGMq_P-Rs0)RozWcPmUeAw3lIJ{_%YYB0U!!cISVxwm_u@ziK?BlI|EX=yTrh7Zbsj zChHa6^=0rJ>8pzJs>-TL_vT;$v>AjNBWe`vKfR_#sDFHSXn4&G4vV~BBbGGe1e1}{ zaaY+o8#YV%!^T{`Sm-|ru4 zX?mD%E5H)pjOM_;CIe05H0VCJ`zo_w`F<C+^wrIYJ?z5C^uP)IxL zd_7OzYC65n*9%!AemgW`EZwwD(iN*_cAc*$`8t+vUFYi))`4y7eEqsLac-Tj@1x{e zx_zCm_gJegTj%SOR`TWRe0@rtPj{^I^@Nq&UFYk)*56+CH7tqo>+waTWoVWSy_3i! zUxBttgrBtN&a)<2@4Wj1c0$ATGDWRV+8W0RA0wQwMTZx%oj zDvS0R1!Do*hn`?>*ze1t9kde#)GTMH1=Os}z>83`0mH`=!_8-6L(VxmrW(i;5`uTS z5cUB%>z&6%HMbg##?E=MprlYNP(Ts3|7B&W&L8*55Zv$BQsl!o6r`N!;_0}Dx%9fs`O6NKY_fWk_8TA6Gm{S-zb@|C2-_fzyl zKAPici1z_=^jcc^JSEy%`m}CoXMk?iQ{rTy#1QY72qYHXU2HkMPqna7y2t+49F03f6V}l%}Tf3xydx1F>p2%zd$e1lD>zQbltWH}~<3Nco&o3&i zvHmlg*ub;an0?LH6`t<>x`N#9*xI45Oco0WdT`Z{rw^fs>{(>1-nT+1vAmuUt5`T2 z!tEhUL%1`9^C8?7LWoDpcTEVd3!xYoA?=q&OSBcdG+LrfN4X`CTDA z7Qz*If>6TuWswtE1o5r^bTW(FlSMFH?myj^MNVar`?JUcS>$vUIg>>`kwqTNA`fMe z)hzOG7I`F#Jeoz$W)YdNx5l5#B9CX0^I7DHEb?R)`DzxqkVU?pML5Fr1wI{v`q(<5 zI*hJm8!!f2zNmp78FWVx2_yOyv=HZ$Raj$*JxBy`;Z}aEZj zTBN4v*fQc^QzXqyc6Qcr-}r}#bS4*wH@jD)Ta=H~=@rd?DB%W&!{Zu<$7_t>n0-f7jMh{`lc#_+K;m^quyll8JOc_%m_mD zi3bsz3-ghk@s+GYbIZV#5C`;|tjK`A=m?X9qfK{D8>W|Htj*6i^Sv)7^L@{rS)gFe zMwq0|dx=*fFG1c8b>dDEwE@={N6n918&7KTt4uye(0$E;^N}47Jt24 zP4<@dCVNR7yu0V;;N!kI&BDAlHSd@(?w|KHF%8C?0PSLdd66m}=tBWvcUuW`a7%qAxz%7+@*RcK_^E z+ev@6#ad;vJsW1bY!l3vlo%7N_g$R~qCR7@5VntR^8~m31Wyzuc)})lyfDEN3?~yj z-k)GP%5NfDLHPu?Vaa!pnhDmN*#u97`QufX;PJr;Ccy;xnBZ|Hc$`_wi-+6quVrgk zI=+k!c0~F#Rni<5G{Nn{1QUP06P!Nl1fz;noM5R#{?Hq772@Q8Q)|>AJ^WAus`EK;*TS*%>2n`Q;FLJ(jzu5U^zHHg< zX1*T`@$15T*RwAvF&4DmgQ};bY&JuB^wAol=9$S~Z=RnA;zm{@#N93|pSG>*PGMcQ z!HCRrr@yY-R(0EtF7LB>o@Qz7AT{e6B_O}9+jBj|nP(E(Ja-1?nFMX}v93GJbBD>x zi(lKYw6n}96Ltz+nkp$PjbG5*nJ%nr;?H+o?_GR0#62^(uKT3E5O+iC(q>bNirGB- zZMvb=yjvT%#jXoGGdsO>3r&6KKM&$wcY=!xxlMZq7jixWLkrnY@Zdsb{w}_d`xBfk zU}M#I!R#-`33Dq)22zF$&*}13MUJFnmmzR`iv$|j3$R- zcBe9$obPD@(JY!=N&zMa?-S*CZ!7NN5(@Npal{lSvejO34}>^U5qBoUk(;;&L!9Gp zw;JLp@kc@&rQYHmIBy6!9iGg&J1G zd%kL(z)fDf4*CZhme!V0X^@+k6lJ>tGz#~@b7Pd=gBWq!Ql16Gasbnu$6%Zn2WBw( z1_Z0pG=4HXJfepS;o+Pn zRtqSwI)nmIObRH_Vuk`OW+>2Nh5{{SD9~bt0xf1J&|(=1+zhzswnveyULVk25SSTy zt*=Ej%x_;FG71N3a@XQOq}tye92kmU+c4ok8ePDFN*Xr&Rsqb28xDLPV78Kg1D^%X z5Nj6UtTD9JW;k#~e$X=&sswwF5LZo#pCzt}6hB8?^(cOxxT;b7N#d$S@e9ONiQ-QYw>nVMn6g_(|0UqB zc-4aI0NR5KS1nlWefZ;jM&^0=TXWR{&P!w-35~6*4zhLqs}^?O%=X~*;jh|e;J-zVPDG;-3dKp#NJ6gWYpfhdRPq`@+m!J^xgw{$OyhOddMig z2eUoci*Qv_km0HxMZtKgMNv?m>QEG%ry3Lm>8X50!FnoPQP7^1&Bi)qx891h-?tg> znMQLRiBO-!Y8dS|R=|6@9tGTu_1OznKffTX;e7^o;;DC#8umiBc8tA1$Za=xcopDo zY!L29VC?9TbPREV?r`PBuWeX5wv6;t{CbMZ9+8QK6~Nt|e0wGSeDU7ubHID8LA*E2 zVq|!46(o}5y+`zr;k~nZ$nf4dJ>;~X9x}Z5q#iQ7cR>#s-g~Nm_g0cUk*X5DIze1D zDSnc;DpLGj;;KjSQ^e1Q_yfdMi{76hu1XYtkhs;+jf~gb+)O9AeZ?)*BWZM`$2nRW z%{BkyTjKB0@mNzAYfFXWu`?wdk2T$C)ReZlPh6$jqjs!T5%Zkg9_6gL%-(wDDq#*N zJUfrHYon%2#;wo9-|{?1I74w~2{#iyLYNXVSKTh*gM>Z8GlW+VK0vsW@D$<82=67- zh0v3PFDE=f_zJ=m!g<1{;)U*&gy#u4K67UYb?fvI!dDW)4|HEe_#ojfLM{<^uOfVa z@YRH;2(Ko*mvA@XNy66*p2yKTdHT6Khyq53+;T)lEx4w>0w_C3v)a};ogu31O zU4)`{E+d4#zLo$EP^U4-8ukz%fx3<$UFiNZ0_4oEC$RGbPRmb?qsxgV2h3c+ z)q&)0_ZWxWO*U$60I7EGl~f1Rh#6qAInwN3jIG#PKQ(oZru*2z9|X@XcXzM|OVq|e zFksU^2i%=S!CM?mxu$~3 zfW8@m(ziGA4TXk-DLQ#*0O;FPR_2@dHl=SBgM{Uno062bhSuNso+-s_|g<@VO4m3b;I_IDe`y z<%7$ak4myPbt-Y%N@Q>=oIP5ynog+Qta8-S9a5&K>AFjbdaI>PmR-7(zKJnVTT08W zvy{G((b7|S+0~cQf6ln-sj}?KOX+trJ9?@ugDTTEFdurVF1uvui2nJCSg%~*^tbQf z>>IjxU30oM)aDZ5`BLW|Gzw}u?e3wrYIz)zmlfDJ)1KYoW{;gRd?Xu8*?-Dn3UyJN$B?Be2s?(#2bVW3{4s4EGsI+;?-Pdz=sb>7d!98+t#9pIZ3f&IE8l25-$ zD76f9oij}N1HhKFPt!8lbYt|Rl=gaHl*>8!kYuNz`Ts#W>Hv1E1-40(sv zbjNpwbqS)ONyDZQI?pDcCV?GM96<^Tj?gV=oh=LvT4V6W>^~FglQes`0c;?`*bVd*C7nWFOX@3lHj};Pt z>g#p%)pv`|P8)_V<-Ow-vk7@wbN5T>#jv<0om*p4FpJ&inDspYhVZQ@3l5yeDv1S1 zAOMZOB#~XS1JE>{HntwLnb`qIV~;n4tHt22+M!!v);wrKbV1_f8`(8V|?wd8b6 zX@)p zD=Y6hKt3Ni643GgM`NxDjnQJtG|7y99h+N^ML6jD|j4AQe+%7|+ z8P2jx8lq0Lnukp{0R2K?$P>VECQm4>$JdoIBt2zFdZ122TzgHCN)~KhN9S1GX14*Y z&w#_K5JaJEkUGJpjo~Bu7r&(qj^N6u5QApyUw>;Nozoyy*|Y5KkM!TFLB?Fur6gYK z7L83%NfX4MY=ZoK7CL29(3YAdVpcX|kjufgzg4VizCbmv_0<^03AD7J!S?)C!UE=r z%S%;Zv016Q`WF5jS!b11sPn}vULaB1)NVrtD6qMNx#T98DUf4dr?3+v6cv`3he1){&~irx=;`5X2@DDgpRa0) zNUHW)l4^(=-t}y~9D|+qyNW4ikLqPn{RZU^^|GKxH`GhM4EAzR0SC=jQ=nR=TEBI+ z2e;0?YHXXW6K%Moran1TOM8%TeATn{vVo#z-b;iiBj&PF;B3VC&`U^=jI+t>7nQ^N z!9G^R)v%;JSM#F#s5*vv_)2=1VXaEBGnM4Hp@;7GD0l;yE(R}w1lYt;w%LmUx-oNh z+e8;q8Yz!D#>!wnr;!_?1Q&Ka;M+Z1hF6zlsyI%R4Kj%YjJ$RB{#r1 zCU)O=k+1Oq8C5qf_!%T@Xw`zGP?Z*j0zDY`@S*g>`at7vJOX7=M#Pm?kEX4+@_-#O z_*x98C{`i%b}XdME;p>4h%v*( z3~=+}s5|+Q+QOA3#_%13bc7KXx)IWGzs-1G323!M2WrSQ$hZ379T13t1k?aAJXzxy zw|tnExN9PCIJiWQZ0XUvbvNhX4eD^15Dm#%@+*wsdK0WR^|!{`3$3#m%xnv4o{BT9 z;gNaHIu{|yvu1WRw}`_0+|o0CxkW`_``YAP>*dNJVofe8JhomgZ8io+c`gm3U9d7( z-11gWj>yH4JO4?$#nTjNfn|Fd)6@kTE&XF)!)cZ$CQy`e^}(T($MTdbV*DohNl$*t zC)LvSvQieVktufm5v)&UtHtgpi8PU{TH`NRkgV1&d1%S#{>mDL|5*tRBe*hd?^!7C z)?Dx6YJnuMyF5qI+-RLH;Ybt#RAsdcnXQ{2-lVMi9WD_DQ+;6Pe3LS6`B70BK zr=IXG?o(M4B-Yf*74Q#B8SBqxT8RWU0!LC=m_*<3=s@>WHj^TF$l2FdH*7%1M~xwEIJVT?Z-ZmVG8;8p@%w@0k-0#yZ(b+Qh>7x* zw4O%>${$-N`J0v;W!0DAtod=+a$2UAmKk{7|r&l zVP6J?$;la_3jMLx~U^aeN?DtSq)~ z`IekOoNPmHz^v-hvi9jR!sZH)%ZO>MhQf;WB@M4rRBmn-F^!J@d~tQ*;zA)5TTC0u z47`^W3vl!WU($}wu)|tww3S5DAq%vFdeJWc0fHa$9mYrg$-3#-ORlGm228s*3 z-rAJ{*M4yopZS}#<+b=O!Ne^nGGrAhl&u2g+wvQ{4pu|~5MV(syXNo;4eCQ#{WjW=D=YI763 z)q*i^A)T$X8ckP)yK=Qw9sQS9t?9-X2G^hquE}wZYawTMZRjR9&KBe-2-fX=|DvYL z`f3ltU8DwwZxhMRUN>=2S2GzXu9(bFxIj<7@Ej*H&}3Gk-b)df(~Dxs5_ z?g?>Pbpq%_tZQhi?GPX^m?6+ z>!4x6K+FhxW{HbGpO%t>&80~N}@xiGMYL`*ERS=ok{V>@6G*X^d3$`US zxy(yV1oJ<`soG_#uGufi*pcSX)Z;Cgn%ig-AX;f?h~TO(1TsjZ7dE}H43oky%A_N<5J2BcZneBHSq3kFs3gUr89?tr8X*!5 z0__I1!^%^}T~Rci#1Yc4va7t4M93^)hY+-AP050p<*MGm+5M#I+idlb4WNcc`LR@SjoQI*PlAXa3=tXKFX}*e^PMw_*WFzx3Er%8NvdQ)l@Ih3TAu zrDoD&jDMph<0YwGDc(bs>RfV2&s2%@!Rwh;@KB+1y*i6Y+GS}cvvp$HQ`FmVTMzOP z-3qA&a!k4`E93q_qRxg}S~$vISSQiP{Q|s>&DCjRarsCS=Tey7h?f8K)ay z0{98D`iGq3=n-aI15StA;v}o`vjFrlX;9d}9vedK(2+JfCesTTR%{M6jbXm&(vBtf zBj}!)CYRKV%2txKbU&Ztcbd7~{cVg-SZ)Is%N8$=SK>H|V!E9}2a1U(8HTgeLsPK)YNeqVwJFrQ*`;LdYw%NyR&AV!GODJJ%lvSXT+ItPi zCO)LA`&yML^p#c+(;#E`-HPO41`K6qJ|!gcV_hf>3s92;zC(7X;TB(lHawq%OF}9g z>f3y@u|%R7W5F(@@%Oe9jp6jcQmm{V@YZK6mZISjWz)>vaA87*|U%(d*bdv_z z2aqaWGsgnt(~NJGF)O7BBd$M4DU8Jv$EH#!=g?d)&TV+dzWJhO5~060=;BW7%^Vw+ zf<&;M^lEgghqVy;f(jcts@SgKi;b3$gEvcLufibct#WZCL)CQAm{)%_ewGXDdtArv z{b5U+`;SPr2XK`tVBga9ZK;gcF*&Wmtd#LkQx5~z_EzHwP&TyOwC6zo%_r9g=FQ3^ zR@HPAi6-ey_R-E~Sg)9);uYo7Usvw@In&{b*bj@Z61p|fOFBE?sB%FYEd<&)bLbZy zy*Fz!nsT9Rf+k%I@KDW`4D&hWe*7ud18T^;2O$sd19@O6WxDVYRM6iDd*_Ez&-$S{fAA z`Oa|ysV(3DLQhYYFGZ)X;=l$$N4@6&FjlYO5p zl(j7{Yi?v&+w-z6A5qr%Z)|lds}Th^AF9Mv+N*;MkhY zAfQq>KTdH+DJYl}A`sGuk9K}BmN+l-qFAENQ?G>F7mX&) zs8=yW61yGOb1A;WK^tij>zZhA>6C*_fqXU3fugjhbv~P5#D0k(1F_P`_$V6Agik+H zQh@E;7=>r~sa1P=GzwD_PJdvcw)=9VgI}P^C*`2^&!7XM+Z? z=6ejKwCMWJujUD}h4A2AX$h*%N;<`YqkFYtN4Uv5*b$834YpYwkprQDgz5;S zHtjx&-7Z36pzfpWn3&QK4r?nthBKit3;|i&bUwHspqTV+4bM?;(-DIbx;=S-Ioot# zX^zJC^Q3JJOX0bp{zAHleGsXS@r?-~D^QIA4Hhv(89)lM8anQQFT==-l&u5)#>67- zh}@@mJ%dKKy*5{ItOQ{wAcvH;FcelGe(6b6+Uwg8g?ew1xx0-!VT9rBoLj+>$Z~hPTVZswx0kt9 z4vCh#m%CNH?d=GuQ)|w0x9e7rg)aAc;r$hERo&?BgkdHOZ(qg|)cvsz1Jz`p4C5n5 z5t6|!U^;0Rsm8mUpHN#mu^0$uWvBmR>9lRBb+RH3I0|XQP|$TL1-&wf?!FEj-~W(` zTwKUrI7VtwFWl3QM%sgg&VzZvG_&5h3x3sLCNEu}zdF4zImrt2#$dJVI3v*}J-INs zErK+ZEK4VvE0k>YsYM}8XJK-)A?J&h&7$?+JK!NHX%uUnH7*)@aNr9_iC*vt)iGoR z9QatamCXy2U3O;)*7VJ0A7vS_DOsA;*@eluLK=ez(rmg&8k=#_Y`I7pn|;!3y-1pE znoQEnT_nx+kmjHhkuDflq=Z~t}*q!tMyK`Hj%@pS%grUZ@%+b!0*aceR9{prv0Vqejm9W}$JV8Y_^~%1`Gk?eBJ&}?k`&R9-MG9D_<}Cb1a^4(B4Le) zRqAGAH=!&?3;9F2hi1`UX{j@ZVhDOo^(IF3ywsaw(chsGp*$K)0VbowN0*37R-iy4 z2P)SNl^p8Db5P3-un`gXHSy_*5;S;9*v~Si)3#ISc!nP;5aLCpLl9R(kq{&HQB19+ z>2@fo3$;~s$3(J}4j}bwq)pOm3fWZ@lo&Zmsc1+O2#yM^p%G+MlrGXp4m9Y3GJ4jN zNLu+`HY9Q75V*-({5Ch3lub5G)Ht?7kyU)vSS6?(!{Wm>NODhQp*_^6_86n@lXk^f zgwoSk#1Khk!mmb1``BL#9l;?2+wPqUY2yH28V4k^LnLA|Wy4QK01k2uw=qXu=MLZc zidr~vh|WOWNMWoJW&vs|hT0;F8c{va7W0f8f05Fs7Db;0fbhP^vIk@0&>Rw&L+50# z^+qt4JsZWGc&UL25r8C&!x%GFgcU$RBUhMw(Gz9udySLk(Zd!qUlw@=N8t;VNXf5H-hni5Yz6A4fAv-r zF^8$H>8+{3hV>#f08cDGKM~Mo$zBKX4!}Su35C!;&v#kc&e3dpz01|pu=#+XX;rLL;ZTJhx$O}Da=Dr8U;06!x2sxVC zY~2%oz6HSoM6x^OW6l4ynzW9W?hHtq%i?`@>}(W}c8ivRQaim;=Su?bQs-x5?V$<~ zu5>;ULxNZU74bph!al2;*goF`~wV38QAJiam$MGTl zKo`Q-x#apK zl0}zzIzO<4xPZnYbP=M~ZF)U%jb8T>0&I`(d)G1J-AIIHu=@mDVq3~nfJVIUcz2=% zI6<+ip}qRYk1=c(HH*pc=!`Ag$DUF|fZz%Wj4}Fb*1}Tf(=lDC?^naVPe=qFnZeek zh&~f9zhA0MsAyw@p_H*Y zasa#uA?9D84ifh!ZoIBO>QRh_$Xu-mrWF=L86nL<|uns>zOxAd&#eP!gMf_i|ZOtZGw|icqD!+!BM1zrjX(1uN@0m=X9^oI=9BFa=JES=Ld150es+vKL!uWA5ZfA zXDfL#DwzO3{BJgB;D`9AJaM^GU#kdSU`sg_U+m5@l9Hp38cCF%w^}17G?LiS?khdh z)Gcc2YJ#sq%&SENCNfC3Qc1c+RcI`zRy3DdGAIMkglb3AsB3@)VimuWvfBi?fq+@E z0tg`1SlaLq%@F`txr|>&Ox>yyh&kc^ZP*lXUpb2kfQb{l;97aY%9@Th>l{ogYj6U9t-|pL$BmKBpctsrsWg4j2`f8A zq*;w59S~r8O=xSmFvY(KrcKn7`Q%}V?tmAa{s$R|s4cCZ9-mD-s1n%-t#+$;%|dke zuvR00ZY@L!u52L+B>fTCewNRc>+N!G8t;l)ua8)6>W&u)Wb4uVi3hKC#Onm2EggPvu; z^I^@4)KIF(0od@RRy6yxW5FSVCe5xWveIdsRz^Y#r9b0h6!nwqdT_8}+oM`S!dzsKe~|LC9utd@_m$ z|LK4~YwKTDVHF^@tdTvmvV1e2IX~h4`aI;Dxm50L7P;PU^Xiu-+;4ozzS0*pee-_I zUW3-$XTJC+-*`84T`3$twaD@@wVNF0J?#PtxgpyyNEe{{~cqrFNCK18|~2edyK5=XWv$84US6t&b6o zx!43={SC}|GF*bT7?qH3F}7*UGkZ`6qK~v$Axe^nhSl&k4$cD^2ia@unUi`{j%*@O zjDoln42;VpdKncd!0!G>y}=$oZ5%0i`md`Jz2b|ssiNjXTa(>hG8~Vh?P3uWmyrd6 z;#C9?6uStZJ+4aQ?iHB|Fc=J4ueV9?W@sxJ{1+!p_uD$=cfVs$lHpf)v4=Q4 zBVJ!rzv zpd2NJo0b?3HjoF1v+Q}|AmGg@kW9Cz?KkHu}dGTSvc$Rnh_kPRsD3mH^*MGtAwyqpxUIDny0d443@ zOkW8`x$k#PwGogJC2L7zl48S?4+749dMfi(AklRX!+3=sSYOe+=K|h}KaVTN4Wr{f6SwLU;n%tYt3tcmA_wk!HkJecL)e_o`-kb=xRX|B_2pKAn+dNlw;f z6pa)WV50KAiPoxk!cJB!JznEGHF0tPp65S=iRWNRX@s3LBh(Of49GgnfP4BVf0?LE z+m0-yNlKk5+P;EZlHN|HO?9N9KbWsqesr6muUPMHrS1m+BQ1j=;nNP%!$RnyYm4zOiEn_m6iI{-eW>Uu=#9`QPC`7b&_WFO=|q zEeo1X9J%(UQJP#}%dPWQDgwGpRCPBmxW)}Vtf0a2RXI7;Y3YJ{LR_VNngfI)(Haoc z(T!>S!4CR$|Gl#&6V$k0QCbfkt&a=~h> z0RWNLs89!O3J=gGzAn+4*Bn@qOu+qxz2uW#>Kpfd$Y2G1(Y}4&fBT%isr9gSrL& z@bf`;zQV9fL<1}+9H{RLO&AM#bW+!*f2c%r`it1h(tMebDy9M6+?Pp1s5B6aKDDt1 ztR|M?!9cJjsLqGddoAhnFxuODGq4bTaqB#y1<%75Zf%HVkKC;L?B6y}BfOjG@0K*i zun_3CFuz>qEB83;X;GCRe{4Tp_!EYeI3+!36rY*aBauCc(n7+Hb9eXUM=Z_>g=7<$ z3Hg)gh%{JvvCGc6$GAMpf}jCEO#|%QCjkaqAT3=o^@`%%Fv*{9T9vVL5zLFQX6JRH4ETb38jeVjEDwZm}#mXWLM zyUyM+kG32oD?z5h%3Ls361oq8Pw|uG3>S)YoKKt3p+;5*`{28YWGe1y#5D`z1a(e{Y;&IB)Qt;)N*k(L7mQ+e z^&zPUpd@o>3GYu#e>nJ0q>ccZ?CI`r%xLTIKlX?JsF@-H#|l+i*Wo|t-;asx?+qq-&p?2KX`C%IwQ(8Db zOm%)}H?E`(#9=3NUI%8|+o|OQ7gZLG1UhA|FRb-x} z;nGr;-4@4CcXrQ+Oqqh z*60Sk2rB}afleoNjwt;(p$5v7x;6&^QelfCbmmy`bfiK{xzT)>YxAaxVC_|EuWF)3 z7Y_}zU<5a6qt0ffl+nl=?H8L>hJJp((cZ-bjV2?t0Ur(PdhiK^(&OtREuKV;W}!+B z=G$&Eks9r+(N2znMzk~Y_Cdk@!PTmez^vF#yDq60VZr)#j$DK4=HMF4yK0MkbUVjr z=NRq8??>KFdXo>2#}hBSTHN@J8Xhi(7_;CDj^%2RZ3Ku_U%_l#212gM9tB1L=Nz1a zgc>^tpKl;PL8D_R>xlv&jIpz607O(B@Aa+Pgp3I)KjcSUB*n ziD(N&=!8P3j35J0TA*TRgj&qpgXp;VU|Y6*V4vi$dXbW84}5^J^BvMB%E~uYAe(^d zQ4?C9QwB>D0Y?3%$)6+_)R&ZcL^)O(<7KTx&B|N1F)c>PU)=x~d|xCUSKo-tqz=>Lu<;Lbxv93gj_ z%>@#ht+_xlRS&gPJMN_0B8H*v-o4<;C~rgh0WBJIv7Wd#=z%SmC~P8;xs{5Jd{*u_mKq?)`sMOM=l=XRz;EyueS4Lg>?J?a z*TwNyl=&AG{tZ0j?_=g_%H8)EXWGB?MP?gdgeZ~o?I2Q2O3S^H%}aAXA6E~Fc4Q7SvMlJmjN`#{WQ z(p|Zv__^6@1;y^mjM-*dsTV>%gbK9_i@Y$`tD@jOK%XY^+=8cp zwuB~t)uo2$o4`4u97(UN$XOOBVtT3tUWT&IHOUG6jUm=C+l--n7d2={DYJY;(n)0m z3tgJv zLhJ$gQNaDB#0dKc301p_5hWXv4pT2s7QJ8ZA+E{QAvoRw)k1Gd%`y_b3Gu@Z`&kCk z`_a+lPLHqsJ;2v=AHLMZ8Gnwd0r+KFCL2?J065{5;K4LZY-vGFYBA}8<%q?EIw*@D zN*dVitE=xa{m`&}>1OQykKg5{t(L9z+C6rS=g=f~VBMmV<(IEe7u$|d7DNOEaCB?+ zcVz~oUsc_KW6;Fq$F@Yj`_0qp(sCD#>orz+fDr+yWeZaDGMNu@fMkshh^i`?L|ptQ zEfI-LSp9irmZND|T67I2Qn1nru+r+oN-KwzRt_tGw}%y!ZFEf*7987M7z-%@Py?`H zOpu2aL=H`^zj^JXFkxHs3F~5@Ms1`oc^hroHGEPL7IghWl|=<)nIzEK&LamYNJU zW(RDbdivT?y*Bah)R5ZNbg`uhMYVUaPf)G)@3pif zJnQthZ{TIMcq>ZbA+9WO_~ox501#DsAvuUHVEp#qfXRgfW8H25{1rgZN!}!2Lq%5S z0LTU!2ywYvrXoZ6Y4UN6<NJrdqypU&OIk>Cw zww9nSH4vgh85Zac1*nk{d>lcXJ<6Po*_wgD6G7BSu`>uioNm&6Abi7S_kq5^PzP0U ze+fu3ZKy@GCy>!fAfsMnB2ev0UM&WZrd#rCWaJ$edkWV43Oi3mbpii%{F?+@6xZf%7d|WteSKy7^ddQ@T|G zWX`d*ELhsq!FAz}+vOY19Q`F4Bm?rE7%w5oN;iE>iig<^9J?39`1kxRoG}x`gwHGBpvg&a5{3wIDQ1iep7cVIA%f%6B~R|-A~6Q^3{mQWE``SFdIB>2Xex|uxjox zogov#vF90eiXalZSmcwvhOpFYK|O{0s$7GiFl1W+Rt2B}diQ(xedzB^3xU^bR~XzfzWX(i^gtB@wfDlVIY9#b^PP zub$X^70mh|^#PQ$Uheh*cX_}9g{%kt`m?%9`^iiVpigqRs#d~D@M{n<@cjnl_p3akofl^Ku!S? ziR`0;QkZ5}WBEmzWUXhGGGaLJg(P-B)&g4)eekCTIxX;rNAwjvu#mL*2lvHsh0b;U zv?Ou1iw^bLl3Ayv+j^KaML|`bilajucCFNPNewi12;MVMAX6*Rp(R;4Vnhxu@n|8) zX6*F7(vQ>4#^KY)Kh~AO+w4cv?mcDOTIB9pmB}anh4(9`%8TQ7rExv{i?T=vlcDF0 z$Bhx#7=euu*cgG05!e`kjS<)wfsGN^7=euu*cgG05!e`kOLhb*xK>HAP(iTDO*=VR zS&0d&IvrR!RpCS`k-UTG;`nr>T8*j$|4KMyS!rb%?mBPI1Weel*sjPlJMr^n;>}zv z!7GFki{sy%s4#4`dNmU@l&q5Df^>L$uoVdna^_U!fEkE!=Q*l!A3YuaFb6eCsna`m z*D0*eN7x6aRzCmMZ=x&8H&f~=)cmiEE{X^4AL$`VymCg#y?k-J9To0r#dOFzh6B3` zzJu9u4U`rR1);OzNNSGym-wJuBDLj$-a4sV_`o}*Vd4FG4WqdX8rRXY``PTsX9dcO zGdIqWW`3C5hb>v4!+bimte+Zch3 z5!e`kjS<)wfsGN^7=euu*cgG05!e`kjS<)wfsGOPP8xxDtX9hVQ%^#)mcQDFY>dFh z2yBeN#t3YTz{UuCM~y%{ae29!4z70P^94@qU(ttb0cVRYK2MAnAv*+8xGj30? zbFhp}3(U1BK`5X?0k~5~e?^)m?^*HsD)}WBUM!A(DviFQhHs-Y8zZnW0vjW+F#;PS zurUG~Bd{?78zZnW0vjW+F#;PSurUG`8G$%EWysU?PayJF#Yibg8RDahUg}_C3R#TJ zWfax$U;+wR`Ut{_$el1XN2C(yJ1&kV=8Qw8BPTMeos1{YsqFChKyMoed z8S6-9S01MgN|+`n#mbaxD4}VF)65EeTKZw{7Ir{`^DcBh$KT(H;-p$F4_pV@c-R<$ zjS<)wfsGN^7=euu_>LcelJ&3x5mIq?V&NEHHdslkV{|wzd8!1nWICfM9d+@Mv@D7R zf(GNHI_$ZH9JiTywA=InbMPUPCqx|nTr3Cn5Xn)basuU}cmLyI?Ei}L!Ir5{4*io? z5U4X5f;E>9`N`0~)Qyw6-OKUz`tU7s5E7{5t-aA4Y8}HOx;o&Jf3t;)_Dh18q(Z%(!yk7Zv~Ua`)U3l{6o zlx49VBYTfjyI4?9u~mopXD74qrObg+7!MNF$1Bitr84)5e)gLkT`&4+0&W-m1OZo; z?jqm{*55qc;RY6l`sDXPMq3lJ*qwC#D3POGxxln5T1*Wl|C}7LocJ`pMr5ir>HJyT z3x+SvqfXNKd|3sUk=}~?_@^<=Tyg*UgOg2}a>deNrB`zwIexv>q#Cf92jyyZXJ;wN zB3Ps+4Ti&={M%xj4-YWc(~^=5jhn$~|D9pvK01AnKMme94VmjBjQ5qztbP^9skmSL zdt7{(t#}MW$~q*}dE!1pH_DxRF_9Ui(XJ@M_@F#2(9D*16({SVfI#Peim4ql+%cWN zDY-W)nJiESRK5Ew#Z*-cttgvKe_R}78OSalLR5h5WM!!M42fkRy?g=K(9{JN=RPI3 zaPAdyCqO$+GeB!fO5Eo@9jxFBwCEQ7>6iZdG{={2?KvgjP`hyc;%#EutXgkq9CkbD zvIXAcXXH(OMwtAhSKm~ZX~>Lu4>6mM_#hdo@d*P54FL75P*0oisgj)dl)1{Ldduz{ zq1thl5Nq@95ki^WUM0kit$UCVXK(Hd;S}Kmgjkn%rwB0)I+$H@C5C~Q-S+UI#cIf zpkGJ&tNzzz1vDuM5wQYRlFmIqP1(&0UgTMZHzyL{NH9{u9yeKT$6BQUG0-nO@>}s+ z4WfzO8y|M7|F$M;lTBRhsECpQM`_VL@fiM)4Jaw&{))|iR+?V~Ojlk4(N#QX%qOV~ zRnDqj88!7-!F`Rs%yv$3!_i|6@Aw&O(5{rX1uyDPe5zqh$@4u;zAegUKCLP9VRE|U zfQo-eYc|1)nRzN()obgPlmD}%Spk>mLMKo!PSk*Bl_Y!Rb;{Lm%!Yt!FMP(2z(BQ| zsg`A}OPPtAD7NzCr_38Sh$I0q3IQ9Se%!Ey^6{|trq(L2C>1c2Wvb1>dE)0f4nhx&^q!{gT)IH!ba^4TgS;=o#ho#BMP zM#61YqTOxoV<7UKD{LA`ic4Jsh<+zOMcygPJ6x=4eH>_ziQ&#C3@pxTRow(2D7?8>Gl0OfunY$a5P>Vf1Rj-yWeg^ONe>e_5g?c- zS=qY&&g$t^M9qa!=EW@l736}N#7;Z}QBRWFZ}RL=clLKFD849)SZ^|U4GJ3E#h~rH zmEftwoQ?+1qe&@=$zvFtpk#>Ll?jB%v2DySF@IL1kPnS}Jh9H7BPgA|^Uh{(I~MFS zAi-^Ux_#f1wc}>mAD>ZRn>1c@?^%`4Hb0!!!Us#r_g`n-#+jStTN%pt0rIt#FD;uX zbN)8J5v)q%Y>H8bVzU;SDRXa%JW^0kEx-!9o@OVS5Rg7|TUOqkiQq_XN&5;D{H+SCgvvi>O^QE|!IkUo(W#9M0nYvhmNZ0e9scBcp z9X7~1x14?OCt6G+S@kb|tH`4QL@oXm@SzjQN9*yOiP4;K0ydQ_Jg*mFPog+<+ zO;vr-nOn8u{Ky-nhO7Q+%@2OM^5Lra`4LI{%rm7Wg3eLbxg#wbzcJ?iXJ)E4JbZJCEcr zV{NL9Xww?#(Q!)E&E_-8u$o5`_}W=NqZ(+!>ZoqDfCNg!XZ%bLFz@^;7$+?`@uEa zi`FqcRX%-}y9{LwarxP$A40@5%lfA=>5Un7Nqo-%4Zdq+l;|;-Z5sj{gHmN(^@nHb zp#J|3{*xw%va7Rw8Vlb~@mLU4u)3d#mK^NhWE_cQ&ysXLt$EWJ*A~PTcK%(CpKXxS zp|(j>Wo>IMbp9JrGRg|c_lCj8uY&iBpYh$-Ii-?Aa`;id6NKl-@H}7!U2v|z#)vnQ z$i}@S5N6BJ3-=&}d?03f)(%}rvb~?=@#;e7q#S`%eDSu?cxVy(KuKk%EseHms@;sT zCI*qSqGckzmb+_W%-$}AN#`l85QZ2RvbGiXADUMOCkqii7+|$l{(VJ6ox}(JP%>eK zQB=UsN%NPJxU}xtN>oXt=Jqx{~l8-fA3 zukcQ$04vE(C}l=3js643Rf#}O=$ar^f?4yZOxgnY;An*ucrZC1dkW)8LJoxSba8ER zp%DLiA#OuRp0mKSM@1CE*z51V1Tchnv>_M*`qRzvWf~-j0(Tb>&~6h1ny?8<%B@TT zG%T8myLF*AlQwT4c1*)h_^uF|3m=|uw`W}W=;L8M9ML}ztogB<>57Gy6F79@YDN#=@0+(Z>qi^ zJlk!8Ey6v~QR<;S^NKu>q_S{&-;e*rzxW`Yrc^a<7&pty4IZil$z_V2SnRP&AvBY> zD0QZunxjt2^DY0#pZ(My*FuGha;$?u&2u7_md42+I&nFa0&c;!Y2~zo2ZUQ)bY*7p zNDp_Xh`CPv@n<8_Gg|QLw8ysnNL#_|X(m-k9<(ImS&}yd%)7kty{kvox!gW^9%C)tX*;)Lw!55G!I*v*(}W)g&eG`Q&v_dOLxZ7ZOzhISwc{hHJ_z<#L`@z zrFo-3+R8d(WzA&iK4Iy0Wa+Fd;9F(w%F;Y)X|#dZIJ_}AX>9a%JZ}Tf^S!EMq9)wA zrq?q0sosnBCg}9008e-)pSr$ut~fk|5v;|z!wz&i5D0ZBfUPp9jF zashlhJ`0dX7NB=Mh%G>A>aze~WC2Lm1Iz+2?)F)LBeDRC!|(^+ZSYrsxzHEDg-?Lo zx?q-#${X=@1$(DD)jed*1jxeo)IUkE0(@*mJr}6Dg)NND3m~*y>?CV} z3;Bm$gC+~Gg@Z6<1RO0R%VRBwr9LA#u>fH!Hh09f1MUzL!5-vyZf(2sHk812A{2^)319TZ*r5&tKnO ze7yp(8%kNx2<6Q`+5f;CT8~cgibRoGaw@z#qjx4cx;A0lE#0c#5mUO=@b0YMv9Iaf z+3@bX-iaRL-TCnDg5FjAy9?pn3dc4pHUEyftdSb{lZE#u6FN4U4~C{4LKd13maSmAhGZLw+S( z+rv^wptOUt5xn5Z>v}(5$?|Pm=A4wyx$2sH<4xo}U1^zm>T6W??aOS@%8rlUyjoSt zj;vj^W*)q4zwU~9v(~R|MLjD98kJ*Oep&136dl&6X%ti-+}+8aD~ofGV@sk8*Eli#XVE&Y3U4hMYAx7oEn&13CLHh2I-4!wNEq_Q9aoLW ztu#r!>U%Q8>Q}kVc)T{MuYu zpt-6R=ZbSc7&Z}Kg2>@Q0bgGz;M*^hDbjEVe948!=e#M^40r|fRRJ%wfbWrfLu!5{ zM>V&cPD&cSa$4Xvb7DNQG@wOos0x;$U-)sh-D7Z78il5AGt-3&f`p*j1+F*^wgWI> z4RNLf+wqy(Kz4^VLB;LVx?@DC)t05o6kxM7MEunjfon-U`~8x8aHJP^;@|dHe*GuP z5_8FCI8eR_7|-fIKIUugR{5A$F?Jqetj`mGfx!Y;d2r&liOoki&0^Ber+)!(B z&ZffvA)(18&d0qq7rHO!#hr(HTT|k%NH6CowL7l>M!2_ap?f8z@#U2) zz0w`sEeX!lhRVF+dJKri!-?iH5l*x}yJh3+nkQ~t{qx>vDIQc|NtqCLHZ zSSelD6-DSzRYPnG1H!Dnnzy}abJaV}n;lBkYufYGJa1j-?be%)y#Zd2E+QcSO*9rY zB8TRBuQ5ftp1B$aMxu0^6=5eoJ-h&?Ed1>%V#?4&J}aIx(RpOPYWy_;m9k9^ol(A?=FP1ZNGt_k2Z^?y@40N)$6uY_u=I8GJni8{_}UPm)=m4nGbC&A2Ehz#e9QjsCJs{>hi;<;$)y%U zecF6=fpvSH)R7#0owyVeY4HGJ>UoofIINK(d-nc#eVAst_UcB`k83%zN{Yyh?8 zbaJsbh3ZM`&>Vlq*bt;B*8o6Bs*KYd09r;wILj$A=25A4kR+s5HLM1*FQi+tN|=c0 zblNIG$mA;#rfx`sumNb%HG?eBiA@fa@+Rv_-HH{fmrgGrPqo%J^VTD(6+x@klQOh^ zigao^dJ<$&Mm4=ND(N__@=2*cNv-Leh5Nxl?#0r#;u(#s-E9C38k6G;9h@V&YWVfV zylCK96wHLiUa{%4p#Tz*l#2NdD~4Rm17vri6-CmG#qR<@u-LT#Snf3z0f8<15g@-d z{jP=dii1lOIED}y^F5H;OzzAgC@qbL6 zVWhGVYaWEaTBLCuK9XA)c;#L1bUW@)B4F#rIf278U$;|Nn+A{3`E-s65a^gFj+#l` zuqkLWMl@t(F*+J$_v8Ej&)&O$TXt1-zU#5~+54P*9{W_CdY!5yYwuK&s#GPZBt=!_ zfo8>2C4>k8>2CVFeBb5!uJ>#1Ipt@ntg24m4yl8n21N}TC2gYwnv~IjO+bdeiW{!Y{qKgY* zU&EBapjHezSknv$#(JYvQwhOZ*$hSRVSi2-*32&I;n>_FO8-TxXaZ$Jw|VCP>Z#jF;dv4kHPp zJEzs%xTn^NL=Ko|cqY`))UuFm@NCF{Nr^_T5VVHBvK+_ErfpCVd;&9@4$N$|Wbdi| zd0=jXc!c4n511PY%mhab-5h2b>cO1d+-H--Rz*9;({)(73}&7IEe>NQi^X*%%tXE^ zFmo1xhY8!wBNd4pW(FX%vJJwiIm66pN9Jwh5iutAh=iH#Qe{Mi$`I;c7hC;=gglM> zWTh}6wbsDkBt<~zyQC@4C`E???C8Zm4ghRauCsaxez-Qb|Eda`nne><)jPcJcY_COIY1K3#^fLxWpHc zbSgWy_{h#Hyd!d6VuCS!Qnq%svq+nrUwB7kyL6$;v~{Li?@Z^9a3X`%&Rn*=$dqkC z#w|;M=eQ{K#2*f1{j!b}>lVTC-lAuVc3aEg*_;Hc-Mx}o$MnTt(2HW;E=T#L&y)o2 z^6HKvvx}8WOP{^oLnY&G=`)?zk8y;Bd0_oPWZVSpY}}b<3B)c%Cr(+`*iaDc#us(q zvCrZ8(FWCmE2I#c!-KTUewE*_Kch5TDc{g{mfPZ9!G2 z$6Q@>({Phb5S<|rYD!{uo~CgMoxxV|+E3tciNsX(g=YD_Fl0j&(4>aXMK2o4sI^gJ zR8lJLRiLES1%w&emv6a&-7EE9PM^id&kQ(d(BnJ^xvg{JKSQ28kOhj^+#WHkHcBzY- z%k*ShC8BK!O+}#)M&+z97Ma!&j)yob>=sKh&oa0(;8JkT!mnIX8k0<p!?J1lGgK zDUD10xyqSOVIOI3qi&7>JmGh!>gBih)2;!vMtm6Fov&3_!Bji4DFaCT+2Zw1ME;4}?H+ z5dao=4I~#DNX}T4ZX4lTg$g9G1Mf0LY2r3Ga1JXL+e!oe>jQ)e_`+xCmdDKQBw-Al zr!Gt2u`Z#r361G>R$LG0^G}^ktg|Q@5|2zo40M+7QfIZ)HeAy9!#@~*c3dW`vno`b zOy3!%wr6hhI%KQDxy??w(D zf@e_b9S}mfUHEM!gQm~RpwG*o&qM~@@tq-pHcSL z(D<7vg0g9U+Vr5jsPeoBx)u?XYw+JzA}H&b=hdJ=;r6^5boFY`x$g`SG&K>lwz3FX zPWWs^(EhTXod`-?6!9%ZA+pvm2v`A+v2GX z_;QFvC-{@Ah#X&J^Q_L!4JQW=a$=AB=kl`o&@^*a-09^gg!Te;G#Bq;7U^sRm$I@c zcYu!T_u8$u3q5R&NQcj%NwoEBTwJ$RTgSy7hoZv41Pbtn_Sj%(_6oya)Ty%=s?#bM zBSvQ%wTsWCT`IunnkpD8RX|ixL2-WWTfTydQ$;#drv64fi1d$wPGn56x26%9!OV`0 z1Y=VI4|fW5gBvRVrA+=(D}ct136+avdnJI26q9I*l84)|MvMQDpVkL)~zU1l{lp>sIwr3OyH zzNPMn)B~sBepZ=NO!n0KFpF041;5Z9B7@Zn@>tmB2qBa!)Jfcb z))g+ZXDT)$n5-~_Y-W4VHw1}(epA4*#Ba*Yy-=Ds5+rKwcQ}Ywsb*T_M@H!+d|Xvt--cX9m2M}emUUrbIC=h5VlpW@Hu8%&wYghh(m>i z%Kn?fwx|&?#KRQJz9mtqpKX<4@y%pg0}ZTZTjhk`Otw|77q0NXx`D%Niv|`*wJh5z zCp_(J3vK_m2HRq}3ET2IiEjqmqC(hKxx(j|Z9VrD4zMjMEYv*T9JWP`uq_YM<=9pk z7T-*^HPFCnu24?+&175UdY5He<%G{&1Bclb^%h9AEZZt4T!wA^pJu<4JDvGSS?ZLL zn^-n#ldCfB;$!obm1iOgm7H_M7z5{8u_)y%g<^okna7OHf~Dd&vr6wc^EwKoKz?)O zicjW~?RUmqyAB^^=Ab-MCQJgg-iz5!?6(l`;781ybdWtSgrZeH%RImwn#B!t_=@8+KX3keX^!(1na9tB6>|Re^Zy?s3?Er%P;Wd z{Y_mdB3BH-sx$VD{~9;Yc^^QvD;S$6_`jCQj|p~|NY2YT|9h0*`#~<^x8El_#4;P2 z-}(1kiTB?z-w*s$FCGi5`8yw&D&nyaoPX%S8T;m4j+1#k|Iy!d$+z;xQLFX0XW{ zX#O?a7^665z?Zsp3n{u*rj#*ngimiiB>7Wyy|C~kzwy0UdN1!?EG^aa;Dz)&JoHf4 z4Qw+-W)Gea^jMvO+=D05v!fO^FlfRpHQkwGpiFlI_q!CrW#D6-c_m4@Tp!_RJxMTZPLhpBI8ICmrWKBHIfEp%?wJ`G z&&tTd<-rT%v2K=;tdo&qBLn=%8*5T{(l)f6LRv0hV7_wVF!+bb0ld7UvLo5sU4Lvr zzs`-42f2WQ88AAs{utNp7P-(RpDcr6y@|^?`kAD^)WOd*cNd*O?4`38 zX3yd#3AgZEF)}=6Et*k_+P+1+;LvLkmLYmAn!*$lgGYTfbm}%>k~KKryh+Nv>;H>* zt45k6VA!oKEYhy2Qp>QxfyIQ-GA_Mfs@t~=I#$b60PC zg~zcYP-He=`T*!Fpz{C+HV4l@;m6GytjsT+xiGse$~vTHV9t_L&o)C66w7@$S8Qr! zLixtuM7ZkPU2z%7>5aM|i**0APPd5g+=Wqz=I)3IR9R)*!0ss#^SFx{@506hV&*1@BVO4c+w{ApbC<<0zM`|AMgH9S;r@960lhMf-*mMg-t&cupVav%8OO6?6 z5lBrJ(TraB)C_`ABT)%I4ZRvTrXOCO(H2$@D*=J5zPrLi<8|RCMplGR7+<-TDREQF z@apbevIHV@B@@3g&gSVh28YyT=I;C-*NLZ~?}uJwJcZPZ_0sl**|Tk|Z#%!DmfALI%jyF*70LgHfw!AY)M>2WwNBgu59b)++v zQkmuzHopF9Qe*fPe$#`x+70Tabcdd~Eez0=sr`^%9}vuUM?W2R$7G^pE?dugR{N5} z*({AFneO&6#=c$oPsNx#2A1vrwo_ciG6^td8f7>gx7dI;upTSmoMFV6PA*tcz_}=5 za=0dY;fog!N3_6~EZcd01hW=}4wWqVUpu6dFG4TqyO4645gZ7L+JB0CBSU^}9DGU_ zjMc$W!HDwY;@w6Egn=~bzfhxuZQUut4hJ~6DhL@-FMPI?ls&+Zm?zJMT2q-AqvdQi zRTVX<;hP)+g)MmoI_y>~{T);occtqCN!_^H?C}s!6FM3zMksV+RG$rDR?0Z4|EtPq zuvk^fNie57af_fbB0u=s69r~ASYNQ-mH`E=2T^XB8 z2)aklW@Zj67Ck8Qwm@zrG)O- z6}*mZj53jp(U72wrv#7Zk={m7Vye^g2kw!r_AzA-nSkNwYHG@PY(zB$+V<6PY^aW7 zE7#Ff9Vbi{bluT|I;ECbe-D^&ZJl8PpdVxz?9YjEuF?IOR9!c(P}h~ib=^Ez*Uh{H zUB+?AX@;fJBCsN4y^woWf|=)}wpH(~HN27crA9mvdNQBS5Sf<5EDGh?OEpDWKs^@QVwW+Iafq@6D8Csi`P*dnA ziNBton$$O*CD(E+KB(P|<33-=-Z+LyR9aHB5j?{5m=0>GAwiobsmcyQaF|T5QllrU z<)1>+#R)wVZS4IY^i|w>S|DuR<_K4;oB$=txDMyv z)CDEvkeu(GMkhYnRh{;BAo|y2pi0?4_Q2^?NngBZCYy1+s+;A4o4#OIv6A&yT=VfD zAO;_$#KmB;T8kDD#g>+*MK#g`tFc8M4Gb+sLT=#L3$YkNz@#s4-zod$EVR@Y*-Nhp zq3;)raX;wY5253wkWw98wLw7ReN|r)#VDWJht9!A7kD#zG?dbg(g0)i*$oFJQL~O1 z^2EJEV;bWdu|kO`dPbC}+^vr_;%O}>|5~dwhVdab2IM{nc&NqR$8u`rZc7-88O;1P zM>5^?xb@1gvOB3*3{)%ZFbne72G~{{_#YEN>w%WTQtjkl3-pcuN%{3a%VE})QGVZf z;__gb3KA7Z`3DH%ylgp03u-E3Rn)#mLr$vOHfjcJ@-5@pkzTEc4zg&qr?$}BU~N`I z{)DQ75wV2NzaYOJdTGDg7xEQsbXuej9a+@Zd{JK^yDR9F^A*LMA_YfgdFafw?MaFi z!3$pMDlTbd)0|0(Z{ZluK^EM;xldUgX;A_!kkv0+1w|c?QYKn;m4k*H-r@_vQB^om z{usHC7WlL&xq#K<)Ij&P)Q8Aq_!ETf zAm$)TeV-+6f5dG|$b`IJJ$dLnP>)xT+V9xS*OTGvEf-p7P+4}<{Hx%c2K4bL|8th@ zIcEhO=#RO-_1BQ;sC0y!Dh_dmp3fz0F{Wd?+w9;oYZpi=* zBuN;1Hf>Tnc7+BdBcq6pDu*|DM28~5@aGA&M6LOat#8!hwziHMXODWgj*Z0M--W71 z{nii1%GtL&Y_o7Mi47x@t$cJmJP^8o%BR6Rg5_$di+L4;P3?T!0?Hq~?TJEXET7Xm z5h#_ITN1Q1d2&4}B%q683BWc|h0cn5bWl$)3o%_ypw83V!oRc2T7edj#x%RwR#!Y6 z*R>FHTy^93BtWh(EB6srjX(yKCY8YiooIhjGdp=Gc^$h>9~+}4i*XjVC{GW{Cs#4X zY2H1YKmO%ZM;EC`R-ZI6ry7Vf|A**B?zKW>DNFevDTUq;X{V|BkQ{}I=qMRwi{WKn z<{GO`F=^h&|KAUwAk)LiRLq%tnpn?oq`f?wAVHjOw0vG+t9JGN*-KO1_0v;PeJpJ@ zYW1Yq7>~!Llr)VHHo|SYHs7588I??8kUx(miI>8WYcc#s&o3Fn*dYR#;dqrpo$ftS&l$ot&EZnnfs~sxTF@QAZEo^9wy*FHaKa2|! z@EQ@6nC1sWpdxWulFE085>t_CAzMZm)TurP6boe%o`Ko>(=e3kf{JP8;u>LUlrKW@Jja*)~UN3$rzCtDc0I zc@jit5dc-(15Iq8>DKfFJmgAthc|ojf4XNnTL*N-0j}?2GCa8o3QBC`7&4Owv-r>y z<1UmyMh87uaww5)1Rk0~azV|sBe|tJb`aFjeA?Bksw8Pp4mk-C#XF?Z=#2>zbj*T9 zKZs6&4me86N-s~2s3a89i0JY$q0;E>t|9jBm+wG3|I>Rh>aIsJXb$41w7oRv)L6Hn z8Z95vI;`#xeV-}yy`A6xJ}hS|YYJkI<&#IKX}T}PPrP4rB7>%H(_=AQ>)P&f$RseZpR3Ji_u>pfNUaltD2COJRrn0{ zNQ28@r=`moz;UOyU?aqyaTNlni=PCe=V-Sl1a>)ky=v!g2VG`;EK`e!E7c5N#_v^!WZ!{l7kCuw@?lN*!lWO^&iTTgx?!fl6%pIv(i<=z+jN58jm?t#8M zDNdE-?-g?f&vMVDll+I78hcziJpG;Icfs_v61@|55|^m~-kBI@oxv4nmC;-{D^H_{ zv%(?8SQhmBEh;vr9N&99#E9A9V`i@Nei)a8Tu46-p^S%qaHReT1{K%jGJH(qOG}M~*;HGZsz$TmF`l7SwJ0@qrknSt=!gh4DS#yI;dZ^obk*X{G}@m& zEJ;F)3NEW$JCawq+|f=B2JKH?Wm3a6K8)CX$u$;qT@mzZklcc9v^j^Gsfd^MZZw({ zA$O(>w1vdwVbYvVqL})r^ll7SiZC1$Bn(YydWv_ZujzCXfSBCMFP}Ge&o0ry%XlLE zWY#T*_(gx#716*3fLs>sOz(tVc8ZM7{@3^3vfn;rw{Vb8+r+hMRqf`%H8>< zfBv1)h?NKXaTb_20*IaIsn`iy;K0uG$z(qPHolLWY-gD97>OTuqyB_x11$|h2`u`b^+BuC5pLRiLtRp-cx=>YN!*a~!EWUx5(%ts&NdxT zx*PP^2O@SZO6$d+tXC^n4RRivHcq+SSsWVCV%01H0h@FBe~TYM9c5#Y=>F0 z(!DKa!9ooH2fnT1Lm_wki#PCj75f?%$(1;dn(aj3s^c#Oae7Diead)^eAcsdHi4ysEYs&DX6 zT^fXH%n6_R;=LZU>ZGO*_3`sG{fu%SIsc*FaV{wI?k(?Tomc8zUA;0!TS6^$$#+d1 ziu3V&qP+wj@Bt)jvOs7#un%Ig@A|%ob(Uf}mq(zqeDjw_T)~FaJjCR;83vox*CJ{^;M5TJ%+O?8;jfzR1s`B|LFhb;Hi(ZSU74K3+t z1eKe31YY{mn?Ri@<&-G;DL}DRpm4?HzxhX>`-j)ME?K5maTG|0fT`>{)Gq2Uk4D#S zI7)sA9|W09VaYN+h-C1$8^=V!Nxh7Lg)~YN;{LRq^?&o;=0JS^H%HhtJX8x=JQ*LH zg5}VttiH9SGhS*RaW%v!zAVXG;}utC3)-+8ymhBHAnoXP)+qZ&QgQ0pvK@R}QW z&PxEA0E^tGNl%NQ4{wqHZ7(DtvN^J&zT4C8#KCS2W{mQwna`oT^J4<$NRXkt>HJ-; z4b!0w)A{Xv@~KvGZGeh^$V{M9@id(RwLTanHR|Cp^;_7QC9D!AW^Ca*LAE%*Jzdah z+`?P0EG-@oT#YqvcbgZ9))=-f*v=vJs1v2g($olspzmzI56lE}x{=^&@;VxpB1h{} zXuqV=FwsMT5XkcJqGpOHGPi9!p z$f5N0d7FzbMxjHzglKRC*?>(*?WT~e`C=QfvG)B5Ei@`N9HJ-&8toA2MbcmcK3iC` zNoVr-So@dAqi&!Yid`oIA6M>(^g(94hQVzWX{>)oITDtphgI-#ow<9YMAj$9%*>EwCy7zaa6 zxK|uP2vN=BM|HHsa!y&!VT zqwL!OCizJXN`E&|U59S!2`6=vVV_{wC;YIdYaVvX$*_}ijl*s^8Fq56dDs~+<_e7< zbBFf+umttLwm00WlP;^TQ|zBR`r+x50s09cprNOqqBo4pxTZYB8LbsPk+NDGCQ@y| zt%4#iikStMCtQ)=MKLEUmQN;HyC`P%s7%(wI4%W@AgphdehkuwT02Z1=^%Y94{;lP z5ySEjFOXyu3|=cZAE2wZO4DzOz=!DB00iD7K55?>znT;hcY`w zOW_feeWGCmb;Rwug%~7Z#u0K6)MJxHP>&@lsK@>|qcH-hPG`M?xS<+{af3x*{}kWr zWq}C2UKXS7$lvvH^boJD;K9M`l~0vJBc&I;O%O$#)objG1*(}1^0l-VW$!xG*(&4; zFS*$Smk_{WZ_?HznJuhX?Xa#Q5VgT%>+OlV65brORO6hd*4NGLoQhy|pCBlud`gmE zxG=KgpWSgO);NrEITe|MR#9Iv0vD0!@+g*%3j*D7`$ROc2##cWIl!JRH#u4p;gaAdnu2P4xw$>}fWESRI)cgGn=G#5Io z($pmw8o)wuVl|;t9Fqic3V2Mrit2jn01F$E3KTOf`mbXT0DwN(ZDD<-+LaWHRR;P1 zXYc9;=}SguWXQU8-3u&oQyj{*qZYRL*wLZF76uA~WYhu*;`E&>$X~q36y<|d;%+wx z<3E<$Grr13HMT5?jCgZ;%dA21-Lqhvkw;y#(o_3 zhY#SO5V#D79pTG!Tdp5KQ5Oz7z|nLHsB?vj;$rqt)Rjb~i=FSnsV#QC8;t*o8h90+ zJKjN0UKp0XYjaZ+JJJ(0JJZUDG81LY(~Tq3wK$662-P1I@<=jCUU7V}GtHrmfpk$E zM@%@9=Pas+2XCk}mj^Td372&<+c;Q)QoMW;SS{uScJWMVoV`J}3Cp zVX7Cge~P;7D#Ef&M-R#(!KOSt)ZzLm+O>_S1C$c28hScYAnER?Z7}PEO0x(;$t6p= zt$YWqr$q<4TqKD7;jD3Y0%@Ez*SvJiS^jSq@;dsYe3whTcXaCdK{OCH{6?2&lv5fR6iWwa>QD;28 z3STp2qSD038?5Gz>n=YRMf{v2d%32&G4VuPyO~YfY`H}n84KOnLsJ+$*1U@4Ltbj` zj5}3GEC2ZN-4pE(+CkT0tMqyw6x z78nB5I0QcE$iRm?Zs%@((lmI$vj7*Us8h?G@4;iEadp-M;6!#cDmX##duT)tgrU;z z99g?u|374TIk?z3#1Rf|N*sauM9zR7+H?n_$FnVmr8eb=Y5vE{L#P3XBq$6-f^DJZ zW6Oi7jK*M7d`ufJ)0n~LsN5AQBtFC@5xe(7G~|fREa)Xcre!+;Co^@Vb1=Z*ni33} z*)<*p2jL?Noc1-18oMi300wLxh>+*9D~k_y)wL~~?_HKmVHtDz%{qAWLaIIp+oNsQ z(?r80qZvS`>j>2hNuRKi~s5 zmILqifg8$!AM}B9<-ia5KrxX~xU(4>H76Kl*zbwO9vby9XsZ&S)Hg&}&oZY-C!Fe~ z+g6!Q2-ZtCUztwW)=S5Ao{D;fdcAZTD$@xMd+FvX(+Mei=~yvW)N2@emN2xdeb{9% zbO0ro<{C$Y11fp|*26e_ZPtNr4CC;%BXPLyxX5=F{%#I}1KcmbQ?MO@zX5Z%a-_v@ zx0kLDe?z)$!|D3)H>8^%PS=OOA>GE|bba_6(rp+{*N49$9d=R%`_YHLAsq^d!E`I& zZxzxm59?w4y{-a(Ik9O1#{dtGIAwC0=EBipWFKCXrpFah56qY=q#l?=S4cfDuda}K zV5(gq^}y`ALh6ADd4<%go1<4Kq$i;k)AoxhrtKGvMw!vm_IfvMbFx~iOk}9cP1~K} zY5T0v({{H!afWHTZ!QnhcHdkcrtQADJWShtb9tDy`{wd6ZTHRPVcN#7)zGwE0pIS3 z+2tszJd*`0^4RQ;gsRmPGki%10R5NG>g0k^S)qmHvpP{>R8|OM`K(TQ7?l+&Sw5>1 zC`M(4WR}nBWQqt(O&=>(9Cpsr9l#bNyLYBDG#tXs$o&N~G4y z3eELrU5V6sS)sZ9tSgaPFDo?HpLGRNTUHCjU{{giU^OFVwij2B+KWe$S}Woo+5R0ph8vJJnXI)mT${o@Q zsy_`MhqRtq^{Xk0qbgoypmo*_PEpqM>cwo!OVG>QVC3v1){=&dyApFcKI}(_uSHh& z(`d3yi4&KVI2uY|$~euF;?^T*btXET>9-+czb=0xTar#yT`^?k0Ykr^>+bh5W8CC= zNyg%+7-d~2F@>9{`nTp|i|zsx$u@Ax+HR{$q2z>wfC8Ev#*S&93p*SdeN)TK>GZVA zm@JdAF)AZkd2SeL(cEd~KVS5^(L>aRQ_yqmbZlPt$eNv(5*d2CTtdU=mqYzh7fg^NJ2t;be_FZJpYK>V#j{P`0{S5uNFhUFSGjQ5qP zOO+4i(z(~=yRRKx5t{VvP@LDgKTC*=F0|CnXAPv$HPGxq2viN)=mJVj94rWKQDzt4 zYwW@)XxxT`;~3xT1pqdxJTDEW7xVvIpnS!iRM>xcdH&G?=|?8jhEze`)HEmd(jHVb zzr0nDfOgCJ7uaG(D4RE$%2eGb)XrWi9HD&P*i$}-X~OXg>7UytuHctGdqrBm3Od9F zb<613pkx^x8&oT!V}n9vbZk(gjE)V;lhLszILwb!N-qP3V!~uwqS&$;bEiRULa}L~ zx9ied&&nP*8waL_E`)4t-e{N#g|z>!QcKTdTHj6^@~!-_Dl5?MNRwoS@>XIV8RwoVU z>XNc(uTI(%dWY22!@wTE7Kk}$tcS*+0=wCXllaJvVn@CLyZ!Rv4c`dN zF5&dnfYrUEeVAQJx@|aVA7+=5&JQQ;!|YPhjl)U%FuRm=!*J3*%q}IJ8&2AX*`=gh z-{fB(uvW(GDs*-evk?#TeWSnF-a@CJZ&zVKp-q zR-Yr_(du&qbXt9mfK{u{5s+*3Io3GySA(z$tL$v(^U{FHB5RcfmVtKPUT%eiP@O$c zh?`z3q=xG3fm~en3Q3|md!QYcy+XRE&K?NKWv`GpsEy-%vC&fZ6jrR;r@PIdM^ zYAj{%lYXkR_fcahd!Iy9oxP75OWFIRr0VQ_)L6>iCplGT@1w?2_C9HeexYzT7JjVP9^YMCi-C5)t<0)?tLc+$#}bUv8a8=*ztl z5%%TQk%Ye7D-)q#?~JB3kf4f42WzUD4XcRoIaX_p?hlx}jEFe2uk;KGS%U~x-I6tk zWz~hOK~$?QWDVk5bs=jI>8cA^gP2!c$g>yys>`k-fak@*-p<`=5C@kTfEDJKtU^Sr zE^(z9t4eIFE^(z!3=cDLsJXGo(|H`}Ik|9* z)_L$^MZ=v=l!>C_M>+P!75VEqYSJo>!l4fqbWp|VV6D3b&fz@0`jItspwFMwbCv|? zF!#MFjjl~(TV!1Tvx-&u$5)eIhXgsSO@W*88gEMFU%(P;KD#*m*(92ukLTx;`GLQ5 ze!ez8U!NZ%yfF~B*3ags4CC|j6GeDyezNdad8X#4tD>Ik@R|Af_WbJ`$O9OA?^NwwEJD! z4XtcnNV_kj-8ay;eJ<@>D|)1fxhi^Y1g%~OGDaA zL)uFR(q8J)&bG2kLfT70+Dit~UgFZWTiL}S?ZqMO#RF+Cc4;wfwI`(A6VmP(NV~_S zoo;0pg|ruiv=(aLs(w7WvuT?1)%xwJg?c78~Een@-%KpW0?X?X~4XGpsfbk@G^@^FrG52GXAA((;zdxgqVjA?>*XZ8+DZ z#kTS}A?-OK?KuN!&v9unF1kIW-5%0zAAs3*mlo5GXNRlV;<&-hcMohH86aFxgiWV;Wc~F^`^`KDblM90DHZl)iaEEl(@yQ|5w^)AAV3qa zs)kVzy{%PG2vAT&|8!Rc?{4~u9h@w~w6qLo^HR$_vfWM;2ISlSBjJIp?>CeB`HjwT zw*M)SQNVa@{<*JCw0|kiU&|LJ$m9IR#a`UoPFdW)R~*t>FwaG*?_ZogBTh&CMHZM) z^2c4tx4L>>@5;Kx%2MSjEtTCaYb!rl`>!a-CkaSF#&rs-5b4Z@$gb z;TX$wWHn3kiGyY0-c49Ux&!(E4i5~mW-kQfA322u@%CGlNxjuwAjXhrd;IL(v8>T8 zkCdE%H#{xy(gH@J=Fjj_uDu+BQ7t1I@OV=F5dDp*NuHk66yZviVr49Xl6W4HXFMhM z(r1y8y4uAEpC_Kv+|ZwX&Ki0dO&5*xQ_~Oczm!NmhNuM$=-D_1Kcs5^2T|cO%J~b* z`SCce$q1c_gw6H9oK5g}_i?0l8-RvmJ52_}w+S8tGgEuH9p=os%hZ&kJVu2vDxUB= zKZ(94icWsd9qkXtkcVEYyZMLmvyL-}vN-wTt+D~)M@`jr8{oUW@f3BK6B-QoxNcO+ z-V=GuBxkBYhX4CP{-rqPPMmmSAF^PHo=(^siM(b?`{+;rs%+M~4#))67;WZ&3cgsa zS9K`>&!3#78&t{dO2UF+O5fO~+KEL_4U@I1;qp;1Ch+wFLTKMJ8lj(m#$)>y<$NS% zY~jr#jgbQ9y`AxX3O2KSHl&3ye+~ZuIB;`u`qDT__>aFhf%cu(zAJyCq~N#-;LVf8 z>8)vPY}8*IB@vd$_H`OENVXrR?wndHKfo8zRN9NE(h)v z=e&05o`37TcFF*@I*C1rIZki=dzb_9v8GYGVW|mA?@zSzzqxlRYa)@zw5hQzPeI`m z1kz49)YRdQSf>tdfpm_LvCoz-ZCse`824sw7eWe!GqLJ^8NkYGeQhircUTT1)l)Os z#3Bn~WD+m;C>Um)we(`Nf@Ms$fyly(#1zcc!N{JmLO{YN>BwF@d1ZI}cvs7FHYlCY zG(j`Rj~~`zyg~a@5k`Z?d!tLvZJH6lnQ$F(CR|6<^#~H`HQ-63WZS7W>NV591`*ys zRgx(YFf>HJF^oE@Qx;s^sanw~#Go~GiY`rkQ#!_t+)*8~;OdUS2K{Im>srHTeRDbn z*TcB)55QeDRm(RfB%6f8J0zRb)26(RCoDq__LvqO=iwMI4Qt5R*dmTYQ~H_(0UOJO zT*nml3L8WIF;FscD9JQWC1T%_0Pw}Bcs9tIXwt!r3^ny`h>#L);cvPB!fj)~^3e}Z+s<1boaMs)_U8#@*3=Z`v7a z-;;t9w|_eNLFPdo_%*Mp#eB0pv6TPnS0u9iKEe;8^RK4uKa81Sf9$U(lqk`=zz7d| zE7%M<>lK+a|24Ak-h2#KO4~n@=8ylvA4Qq0FXwOmYst>EQ!Qf6$5e2glPRYcW}EOU z%$Z8i(v+?Acm4GQoq1~n)c-7^>}{1ke2_;_Ib|Ut!&{FWC)1 z9y18-_K2ZZwccjS3d0k7MI3xN*?OuLPgK70WRtQz!3x-Ij_4u}BCtVlVG(#35|jaR zg8Jm`^2L*yzXpzSAvY+{62fvYCM1BUNgTwp5G60!zcKsSKr4?JJ8C! zP&UCev|_%E@>Bnr8D|EXU&`^^+N;UKHoO0d2h;M?H zNA)Bcle4TrTV;5eT0gnBR zKEA3Cu-zZb`T*OW)W`qO$LjFyhezUD>=yxy zqm2osF*YyEZe_A@C>C&vhtY%*bwe?aPm}%l#109i*z|z(7RoV9GC9ibpLr$_%JFDp z($)~#NKOP-pd=m?9cW&_kO740YeUf&OWgXWF_djghpn?msC-KNs5=R&*kZXro+(0X zRT~&ocZ`r?vC+dGH+38UPFgZV@u(HUSd!N2s5k`~B^J2MFFD$=M0_z!DE&=hq-9(A7S_80x6(dWcrvNqCi_wM^)7#!Rg`H=fD5mhL zp|houMvT!yxGRraTpl+*dgI22!H3CQW7Icpk;cu?aD{P$2UImm=mX~)Y7~Q3(I^IO z6^&YP(6W~2>gKk7v7R(eCVHHq0R{5jLGN*fMl5= zQYoCpfMs$|rf{}hsW7ak1Ze7s%ONy}LIHCaIX%bFos>bL>EtSx;s8iCm_nQC1dm^r zO^~)bbM>CrU%lt$dI^^&Ucnm(lq8a6@qveK$u0!cl3o11kw1*=&x3sL&RHc)^Ls2$ zjvVbYd#uQsmvoD?pjtVh zsJ0@Z0MRQEx~r=p1iNDd7$l(-X`2xCAIKccb(Fkf3myY zp(jBsKQl|!$jB)4R9ry5u^#e`IrN+pdTt8nxwku z18FuJ0$U3X(jJOU!BkK*V5-dZA>|BuRzZm}aU5X?Jr5XBL{WwI4;A5B{-THsZsIY9 zLcgXEePv|7oo#SpOZ)f7G;3&ba%uF~^@ube?rI=BfVg+GcsUiWIyp+N5f^2Sw|Nm> z0(v2G;7n?!QQVZZh$mI~YGRdM%&#+%TxF1gN&Ria;U8FAF`M?-8QodsY&z*?Q(j*! zGqXvLEt7f*Ea`Es;By>If>azWBS?iU&{+pOCxC+1h*grUkf=CIWTGiD8#0#3Qs@q{ zI^PlBaY}E+gu=^7`e=p+lT4gKIwow~h3UB@L?&K+7iiK>1j@sbB~+PVILTJy*^Jbu zelj<0IblCNHZu-GAp5M)RNs=wnl-AazAvMj>Klg*J0}KO!~2@b0wwMwT7Up9 zEj{#wqc7GTk3QNoPSBI2(jZBpB#PZTIEEg){p-da;k7*WiN-!D0J7cz#NKY!gS`wK z=f*M)ksu5Li#BRuHbEdCARf81QwhTsBiXd6LTSoFSuYQz2Uc7L7SoEvEjO+nSZNs7 zR(V`U0t`?)cSe#=6_{6QR|O@PNw_rp%Yu2e?Ly}8;)J=aKbeRpD_5H%xUy%*_CR&yxUxx+ zfe(M;bns!5f<~`un0t7M?{x6tnKF`f$NTuOw97`Ufe#C_#ES zA%1MrsD_HiuqyfS&~WA_O)UZSc`#M8h(S)gHZTpb;Gw4U+AuhE65}iHv0yd4;8tsE zN}22W*}fl`JU(9_*8nif+-;}_Jz)CgRs(a8ul4m{MG`S!F58qI$VLFOpwGZ)tAV*< zQ(#SfnuHIfD1Dtw>yAkHZDJ8CQb)H1hO%;$cRXwH?j5+QJ!377SnS&=Iuu@n`Zu3w zfgNdUNZleCj`!Y*6WcbsBj9DFKl4+>O*0%QhkU}69_J9%IfND(jcqTwowWN z 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%0D!L&FXqHo~S7`@033wgl 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 ^DD!;)kmF%$-s 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 z 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

y1%|XN6y>c^YiA;(1%)T{OP~HU}d=8-!n_ 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 z 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

-bC9OQMv$$ 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

{Eg-5V(T47xXPV?HVXIYUN0xMvQrL*VD7= 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 literal 0 HcmV?d00001 diff --git a/localwebsite/htdocs/assets/h265webjs-dist/missile.js b/localwebsite/htdocs/assets/h265webjs-dist/missile.js new file mode 100644 index 0000000..c498b84 --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/missile.js @@ -0,0 +1,7062 @@ +var ENVIRONMENT_IS_PTHREAD = true; +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key] + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow +}; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === "object"; +ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; +ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)") +} +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory) + } + return scriptDirectory + path +} +var read_, readAsync, readBinary, setWindowTitle; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + var nodeFS; + var nodePath; + read_ = function shell_read(filename, binary) { + var ret; + if (!nodeFS) nodeFS = require("fs"); + if (!nodePath) nodePath = require("path"); + filename = nodePath["normalize"](filename); + ret = nodeFS["readFileSync"](filename); + return binary ? ret : ret.toString() + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret) + } + assert(ret.buffer); + return ret + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/") + } + arguments_ = process["argv"].slice(2); + if (typeof module !== "undefined") { + module["exports"] = Module + } + process["on"]("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex + } + }); + process["on"]("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status) + }; + Module["inspect"] = function() { + return "[Emscripten Module object]" + } +} else if (ENVIRONMENT_IS_SHELL) { + if (typeof read != "undefined") { + read_ = function shell_read(f) { + return read(f) + } + } + readBinary = function readBinary(f) { + var data; + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)) + } + data = read(f, "binary"); + assert(typeof data === "object"); + return data + }; + if (typeof scriptArgs != "undefined") { + arguments_ = scriptArgs + } else if (typeof arguments != "undefined") { + arguments_ = arguments + } + if (typeof quit === "function") { + quit_ = function(status) { + quit(status) + } + } + if (typeof print !== "undefined") { + if (typeof console === "undefined") console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== "undefined" ? printErr : print + } +} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href + } else if (document.currentScript) { + scriptDirectory = document.currentScript.src + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + } else { + scriptDirectory = "" + } + read_ = function shell_read(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response) + } + } + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest; + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return + } + onerror() + }; + xhr.onerror = onerror; + xhr.send(null) + }; + setWindowTitle = function(title) { + document.title = title + } +} else { + throw new Error("environment detection error") +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key] + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { + configurable: true, + get: function() { + abort("Module.arguments has been replaced with plain arguments_") + } +}); +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { + configurable: true, + get: function() { + abort("Module.thisProgram has been replaced with plain thisProgram") + } +}); +if (Module["quit"]) quit_ = Module["quit"]; +if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { + configurable: true, + get: function() { + abort("Module.quit has been replaced with plain quit_") + } +}); +assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); +assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); +assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); +assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { + configurable: true, + get: function() { + abort("Module.read has been replaced with plain read_") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { + configurable: true, + get: function() { + abort("Module.readAsync has been replaced with plain readAsync") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { + configurable: true, + get: function() { + abort("Module.readBinary has been replaced with plain readBinary") + } +}); +stackSave = stackRestore = stackAlloc = function() { + abort("cannot use the stack before compiled code is ready to run, and has provided stack access") +}; + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = ret + size + 15 & -16; + if (end > _emscripten_get_heap_size()) { + abort("failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly") + } + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret +} + +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4 + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); + return bits / 8 + } else { + return 0 + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text) + } +} +var asm2wasmImports = { + "f64-rem": function(x, y) { + return x % y + }, + "debugger": function() { + debugger + } +}; +var jsCallStartIndex = 1; +var functionPointers = new Array(35); + +function addFunction(func, sig) { + assert(typeof func !== "undefined"); + var base = 0; + for (var i = base; i < base + 35; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i + } + } + throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." +} + +function removeFunction(index) { + functionPointers[index - jsCallStartIndex] = null +} +var tempRet0 = 0; +var getTempRet0 = function() { + return tempRet0 +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { + configurable: true, + get: function() { + abort("Module.wasmBinary has been replaced with plain wasmBinary") + } +}); +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { + configurable: true, + get: function() { + abort("Module.noExitRuntime has been replaced with plain noExitRuntime") + } +}); +if (typeof WebAssembly !== "object") { + abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.") +} + +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + default: + abort("invalid type for setValue: " + type) + } +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + "initial": 4928, + "element": "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text) + } +} + +function getCFunc(ident) { + var func = Module["_" + ident]; + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func +} + +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + "string": function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len) + } + return ret + }, + "array": function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret + } + }; + + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]) + } else { + cArgs[i] = args[i] + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts) + } +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; + +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab + } else { + zeroinit = false; + size = slab.length + } + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)) + } + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0 + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0 + } + return ret + } + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret) + } else { + HEAPU8.set(new Uint8Array(slab), ret) + } + return ret + } + var i = 0, + type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue + } + assert(type, "Must know what type to store in allocate!"); + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type + } + i += typeSize + } + return ret +} + +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size) +} +var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; + +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + } + return str +} + +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" +} + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | u >> 6; + outU8Array[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | u >> 12; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); + outU8Array[outIdx++] = 240 | u >> 18; + outU8Array[outIdx++] = 128 | u >> 12 & 63; + outU8Array[outIdx++] = 128 | u >> 6 & 63; + outU8Array[outIdx++] = 128 | u & 63 + } + } + outU8Array[outIdx] = 0; + return outIdx - startIdx +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4 + } + return len +} +var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret +} + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer) +} + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i) & 255); + HEAP8[buffer++ >> 0] = str.charCodeAt(i) + } + if (!dontAddNull) HEAP8[buffer >> 0] = 0 +} +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) +} +var STACK_BASE = 1398224, + STACK_MAX = 6641104, + DYNAMIC_BASE = 6641104, + DYNAMICTOP_PTR = 1398e3; +assert(STACK_BASE % 16 === 0, "stack must start aligned"); +assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); +var TOTAL_STACK = 5242880; +if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 2147483648; +if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { + configurable: true, + get: function() { + abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY") + } +}); +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); +assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"] +} else { + wasmMemory = new WebAssembly.Memory({ + "initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, + "maximum": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }) +} +if (wasmMemory) { + buffer = wasmMemory.buffer +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; + +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; + HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; + HEAP32[0] = 1668509029 +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)) + } + if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!") +} + +function abortStackOverflow(allocSize) { + abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!") +}(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!" +})(); + +function abortFnPtrError(ptr, sig) { + var possibleSig = ""; + for (var x in debug_tables) { + var tbl = debug_tables[x]; + if (tbl[ptr]) { + possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", " + } + } + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig) +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func) + } else { + Module["dynCall_vi"](func, callback.arg) + } + } else { + func(callback.arg === undefined ? null : callback.arg) + } + } +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +var runtimeExited = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()) + } + } + callRuntimeCallbacks(__ATPRERUN__) +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__) +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__) +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()) + } + } + callRuntimeCallbacks(__ATPOSTRUN__) +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb) +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb) +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var Math_trunc = Math.trunc; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random() + } + return id +} + +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== "undefined") { + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:") + } + err("dependency: " + dep) + } + if (shown) { + err("(end of list)") + } + }, 1e4) + } + } else { + err("warning: run dependency added without ID") + } +} + +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies) + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id] + } else { + err("warning: run dependency removed without ID") + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback() + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what) + } + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + var extra = ""; + var output = "abort(" + what + ") at " + stackTrace() + extra; + throw output +} +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0 +} +var wasmBinaryFile = "missile-v20221120.wasm"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile) +} + +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary) + } + if (readBinary) { + return readBinary(wasmBinaryFile) + } else { + throw "both async and sync fetching of the wasm failed" + } + } catch (err) { + abort(err) + } +} + +function getBinaryPromise() { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") { + return fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + } + return response["arrayBuffer"]() + }).catch(function() { + return getBinary() + }) + } + return new Promise(function(resolve, reject) { + resolve(getBinary()) + }) +} + +function createWasm() { + var info = { + "env": asmLibraryArg, + "wasi_unstable": asmLibraryArg, + "global": { + "NaN": NaN, + Infinity: Infinity + }, + "global.Math": Math, + "asm2wasm": asm2wasmImports + }; + + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate") + } + addRunDependency("wasm-instantiate"); + var trueModule = Module; + + function receiveInstantiatedSource(output) { + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + receiveInstance(output["instance"]) + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info) + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) + }) + } + + function instantiateAsync() { + if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") { + fetch(wasmBinaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, info); + return result.then(receiveInstantiatedSource, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + instantiateArrayBuffer(receiveInstantiatedSource) + }) + }) + } else { + return instantiateArrayBuffer(receiveInstantiatedSource) + } + } + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false + } + } + instantiateAsync(); + return {} +} +Module["asm"] = createWasm; +var tempDouble; +var tempI64; +var ASM_CONSTS = [function() { + if (typeof window != "undefined") { + window.dispatchEvent(new CustomEvent("wasmLoaded")) + } else {} +}]; + +function _emscripten_asm_const_i(code) { + return ASM_CONSTS[code]() +} +__ATINIT__.push({ + func: function() { + ___emscripten_environ_constructor() + } +}); +var tempDoublePtr = 1398208; +assert(tempDoublePtr % 8 == 0); + +function demangle(func) { + warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return func +} + +function demangleAll(text) { + var regex = /\b__Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]" + }) +} + +function jsStackTrace() { + var err = new Error; + if (!err.stack) { + try { + throw new Error(0) + } catch (e) { + err = e + } + if (!err.stack) { + return "(no stack trace available)" + } + } + return err.stack.toString() +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js) +} +var ENV = {}; + +function ___buildEnvironment(environ) { + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + ENV["USER"] = "web_user"; + ENV["LOGNAME"] = "web_user"; + ENV["PATH"] = "/"; + ENV["PWD"] = "/"; + ENV["HOME"] = "/home/web_user"; + ENV["LANG"] = (typeof navigator === "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + ENV["_"] = thisProgram; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr + } else { + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2] + } + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === "string") { + var line = key + "=" + ENV[key]; + strings.push(line); + totalSize += line.length + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error("Environment size exceeded TOTAL_ENV_SIZE!") + } + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; + poolPtr += line.length + 1 + } + HEAP32[envPtr + strings.length * ptrSize >> 2] = 0 +} + +function ___lock() {} + +function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; + else err("failed to set errno from JS"); + return value +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1) + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1) + } else if (last === "..") { + parts.splice(i, 1); + up++ + } else if (up) { + parts.splice(i, 1); + up-- + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift("..") + } + } + return parts + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "." + } + if (path && trailingSlash) { + path += "/" + } + return (isAbsolute ? "/" : "") + path + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "." + } + if (dir) { + dir = dir.substr(0, dir.length - 1) + } + return root + dir + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1) + }, + extname: function(path) { + return PATH.splitPath(path)[3] + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")) + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r) + } +}; +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings") + } else if (!path) { + return "" + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/" + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { + return !!p + }), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "." + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break + } + if (start > end) return []; + return arr.slice(start, end - start + 1) + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push("..") + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/") + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops: ops + }; + FS.registerDevice(dev, TTY.stream_ops) + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43) + } + stream.tty = tty; + stream.seekable = false + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty) + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60) + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty) + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60) + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + } + } catch (e) { + throw new FS.ErrnoError(29) + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, null) + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8") + } else { + result = null + } + } else if (typeof window != "undefined" && typeof window.prompt == "function") { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n" + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n" + } + } + if (!result) { + return null + } + tty.input = intArrayFromString(result, true) + } + return tty.input.shift() + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } else { + if (val != 0) tty.output.push(val) + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = [] + } + } + } +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0) + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63) + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + } + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {} + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node + } + return node + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr + } + return node.contents + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents) + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return + } + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + } + node.usedBytes = newSize; + return + } + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else + while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096 + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length + } else { + attr.size = 0 + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size) + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44] + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev) + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55) + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir + }, + unlink: function(parent, name) { + delete parent.contents[name] + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55) + } + delete parent.contents[name] + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28) + } + return node.link + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset) + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + } + return size + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i] + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { + allocated = false; + ptr = contents.byteOffset + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length) + } else { + contents = Array.prototype.slice.call(contents, position, position + length) + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48) + }(fromHeap ? HEAP8 : buffer).set(contents, ptr) + } + return { + ptr: ptr, + allocated: allocated + } + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (mmapFlags & 2) { + return 0 + } + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0 + } + } +}; +var IDBFS = { + dbs: {}, + indexedDB: function() { + if (typeof indexedDB !== "undefined") return indexedDB; + var ret = null; + if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, "IDBFS used, but indexedDB not supported"); + return ret + }, + DB_VERSION: 21, + DB_STORE_NAME: "FILE_DATA", + mount: function(mount) { + return MEMFS.mount.apply(null, arguments) + }, + syncfs: function(mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback) + }) + }) + }, + getDB: function(name, callback) { + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db) + } + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + } catch (e) { + return callback(e) + } + if (!req) { + return callback("Unable to connect to IndexedDB") + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + } + if (!fileStore.indexNames.contains("timestamp")) { + fileStore.createIndex("timestamp", "timestamp", { + unique: false + }) + } + }; + req.onsuccess = function() { + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + getLocalSet: function(mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== "." && p !== ".." + } + + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p) + } + } + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + while (check.length) { + var path = check.pop(); + var stat; + try { + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))) + } + entries[path] = { + timestamp: stat.mtime + } + } + return callback(null, { + type: "local", + entries: entries + }) + }, + getRemoteSet: function(mount, callback) { + var entries = {}; + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + try { + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readonly"); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault() + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index("timestamp"); + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + if (!cursor) { + return callback(null, { + type: "remote", + db: db, + entries: entries + }) + } + entries[cursor.primaryKey] = { + timestamp: cursor.key + }; + cursor.continue() + } + } catch (e) { + return callback(e) + } + }) + }, + loadLocalEntry: function(path, callback) { + var stat, node; + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path) + } catch (e) { + return callback(e) + } + if (FS.isDir(stat.mode)) { + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode + }) + } else if (FS.isFile(stat.mode)) { + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { + timestamp: stat.mtime, + mode: stat.mode, + contents: node.contents + }) + } else { + return callback(new Error("node type not supported")) + } + }, + storeLocalEntry: function(path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode) + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { + canOwn: true + }) + } else { + return callback(new Error("node type not supported")) + } + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp) + } catch (e) { + return callback(e) + } + callback(null) + }, + removeLocalEntry: function(path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + if (FS.isDir(stat.mode)) { + FS.rmdir(path) + } else if (FS.isFile(stat.mode)) { + FS.unlink(path) + } + } catch (e) { + return callback(e) + } + callback(null) + }, + loadRemoteEntry: function(store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { + callback(null, event.target.result) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + storeRemoteEntry: function(store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + removeRemoteEntry: function(store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { + callback(null) + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault() + } + }, + reconcile: function(src, dst, callback) { + var total = 0; + var create = []; + Object.keys(src.entries).forEach(function(key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++ + } + }); + var remove = []; + Object.keys(dst.entries).forEach(function(key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++ + } + }); + if (!total) { + return callback(null) + } + var errored = false; + var db = src.type === "remote" ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], "readwrite"); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err && !errored) { + errored = true; + return callback(err) + } + } + transaction.onerror = function(e) { + done(this.error); + e.preventDefault() + }; + transaction.oncomplete = function(e) { + if (!errored) { + callback(null) + } + }; + create.sort().forEach(function(path) { + if (dst.type === "local") { + IDBFS.loadRemoteEntry(store, path, function(err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done) + }) + } else { + IDBFS.loadLocalEntry(path, function(err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done) + }) + } + }); + remove.sort().reverse().forEach(function(path) { + if (dst.type === "local") { + IDBFS.removeLocalEntry(path, done) + } else { + IDBFS.removeRemoteEntry(store, path, done) + } + }) + } +}; +var ERRNO_CODES = { + 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 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process["binding"]("constants"); + if (flags["fs"]) { + flags = flags["fs"] + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + } + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code] + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0) + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28) + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2 + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return stat.mode + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts) + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k + } + } + if (!flags) { + return newFlags + } else { + throw new FS.ErrnoError(28) + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096 + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0 + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + } + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date) + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode) + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode) + } else { + fs.writeFileSync(path, "", { + mode: node.mode + }) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + return node + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath) + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd) + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position) + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)) + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var WORKERFS = { + DIR_MODE: 16895, + FILE_MODE: 33279, + reader: null, + mount: function(mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync; + var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); + var createdParents = {}; + + function ensureParent(path) { + var parts = path.split("/"); + var parent = root; + for (var i = 0; i < parts.length - 1; i++) { + var curr = parts.slice(0, i + 1).join("/"); + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0) + } + parent = createdParents[curr] + } + return parent + } + + function base(path) { + var parts = path.split("/"); + return parts[parts.length - 1] + } + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate) + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]) + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack["metadata"].files.forEach(function(file) { + var name = file.filename.substr(1); + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)) + }) + }); + return root + }, + createNode: function(parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents + } else { + node.size = 4096; + node.contents = {} + } + if (parent) { + parent.contents[name] = node + } + return node + }, + node_ops: { + getattr: function(node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096) + } + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp + } + }, + lookup: function(parent, name) { + throw new FS.ErrnoError(44) + }, + mknod: function(parent, name, mode, dev) { + throw new FS.ErrnoError(63) + }, + rename: function(oldNode, newDir, newName) { + throw new FS.ErrnoError(63) + }, + unlink: function(parent, name) { + throw new FS.ErrnoError(63) + }, + rmdir: function(parent, name) { + throw new FS.ErrnoError(63) + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue + } + entries.push(key) + } + return entries + }, + symlink: function(parent, newName, oldPath) { + throw new FS.ErrnoError(63) + }, + readlink: function(node) { + throw new FS.ErrnoError(63) + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size + }, + write: function(stream, buffer, offset, length, position) { + throw new FS.ErrnoError(29) + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.size + } + } + if (position < 0) { + throw new FS.ErrnoError(28) + } + return position + } + } +}; +var ERRNO_MESSAGES = { + 0: "Success", + 1: "Arg list too long", + 2: "Permission denied", + 3: "Address already in use", + 4: "Address not available", + 5: "Address family not supported by protocol family", + 6: "No more processes", + 7: "Socket already connected", + 8: "Bad file number", + 9: "Trying to read unreadable message", + 10: "Mount device busy", + 11: "Operation canceled", + 12: "No children", + 13: "Connection aborted", + 14: "Connection refused", + 15: "Connection reset by peer", + 16: "File locking deadlock error", + 17: "Destination address required", + 18: "Math arg out of domain of func", + 19: "Quota exceeded", + 20: "File exists", + 21: "Bad address", + 22: "File too large", + 23: "Host is unreachable", + 24: "Identifier removed", + 25: "Illegal byte sequence", + 26: "Connection already in progress", + 27: "Interrupted system call", + 28: "Invalid argument", + 29: "I/O error", + 30: "Socket is already connected", + 31: "Is a directory", + 32: "Too many symbolic links", + 33: "Too many open files", + 34: "Too many links", + 35: "Message too long", + 36: "Multihop attempted", + 37: "File or path name too long", + 38: "Network interface is not configured", + 39: "Connection reset by network", + 40: "Network is unreachable", + 41: "Too many open files in system", + 42: "No buffer space available", + 43: "No such device", + 44: "No such file or directory", + 45: "Exec format error", + 46: "No record locks available", + 47: "The link has been severed", + 48: "Not enough core", + 49: "No message of desired type", + 50: "Protocol not available", + 51: "No space left on device", + 52: "Function not implemented", + 53: "Socket is not connected", + 54: "Not a directory", + 55: "Directory not empty", + 56: "State not recoverable", + 57: "Socket operation on non-socket", + 59: "Not a typewriter", + 60: "No such device or address", + 61: "Value too large for defined data type", + 62: "Previous owner died", + 63: "Not super-user", + 64: "Broken pipe", + 65: "Protocol error", + 66: "Unknown protocol", + 67: "Protocol wrong type for socket", + 68: "Math result not representable", + 69: "Read only file system", + 70: "Illegal seek", + 71: "No such process", + 72: "Stale file handle", + 73: "Connection timed out", + 74: "Text file busy", + 75: "Cross-device link", + 100: "Device not a stream", + 101: "Bad font file fmt", + 102: "Invalid slot", + 103: "Invalid request code", + 104: "No anode", + 105: "Block device required", + 106: "Channel number out of range", + 107: "Level 3 halted", + 108: "Level 3 reset", + 109: "Link number out of range", + 110: "Protocol driver not attached", + 111: "No CSI structure available", + 112: "Level 2 halted", + 113: "Invalid exchange", + 114: "Invalid request descriptor", + 115: "Exchange full", + 116: "No data (for no delay io)", + 117: "Timer expired", + 118: "Out of streams resources", + 119: "Machine is not on the network", + 120: "Package not installed", + 121: "The object is remote", + 122: "Advertise error", + 123: "Srmount error", + 124: "Communication error on send", + 125: "Cross mount point (not really error)", + 126: "Given log. name not unique", + 127: "f.d. invalid for this operation", + 128: "Remote address changed", + 129: "Can access a needed shared lib", + 130: "Accessing a corrupted shared lib", + 131: ".lib section in a.out corrupted", + 132: "Attempting to link in too many libs", + 133: "Attempting to exec a shared library", + 135: "Streams pipe error", + 136: "Too many users", + 137: "Socket type not supported", + 138: "Not supported", + 139: "Protocol family not supported", + 140: "Can't send after socket shutdown", + 141: "Too many references", + 142: "Host is down", + 148: "No medium (in tape drive)", + 156: "Level 2 not synchronized" +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { + openFlags: { + READ: 1, + WRITE: 2 + } + }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno) + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key] + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32) + } + var parts = PATH.normalizeArray(path.split("/").filter(function(p) { + return !!p + }), false); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32) + } + } + } + } + return { + path: current_path, + node: current + } + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path + } + path = path ? node.name + "/" + path : node.name; + node = node.parent + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0 + } + return (parentid + hash >>> 0) % FS.nameTable.length + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break + } + current = current.name_next + } + } + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent) + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node + } + } + return FS.lookup(parent, name) + }, + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode) + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode) + } + } + }) + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node + }, + destroyNode: function(node) { + FS.hashRemoveNode(node) + }, + isRoot: function(node) { + return node === node.parent + }, + isMountpoint: function(node) { + return !!node.mounted + }, + isFile: function(mode) { + return (mode & 61440) === 32768 + }, + isDir: function(mode) { + return (mode & 61440) === 16384 + }, + isLink: function(mode) { + return (mode & 61440) === 40960 + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192 + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576 + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096 + }, + isSocket: function(mode) { + return (mode & 49152) === 49152 + }, + flagModes: { + "r": 0, + "rs": 1052672, + "r+": 2, + "w": 577, + "wx": 705, + "xw": 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + "a": 1089, + "ax": 1217, + "xa": 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 + }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str) + } + return flags + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w" + } + return perms + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0 + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2 + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2 + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2 + } + return 0 + }, + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0 + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20 + } catch (e) {} + return FS.nodePermissions(dir, "wx") + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name) + } catch (e) { + return e.errno + } + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54 + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10 + } + } else { + if (FS.isDir(node.mode)) { + return 31 + } + } + return 0 + }, + mayOpen: function(node, flags) { + if (!node) { + return 44 + } + if (FS.isLink(node.mode)) { + return 32 + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31 + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd + } + } + throw new FS.ErrnoError(33) + }, + getStream: function(fd) { + return FS.streams[fd] + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node + }, + set: function(val) { + this.node = val + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1 + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0 + } + }, + isAppend: { + get: function() { + return this.flags & 1024 + } + } + }) + } + var newStream = new FS.FSStream; + for (var p in stream) { + newStream[p] = stream[p] + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream + }, + closeStream: function(fd) { + FS.streams[fd] = null + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + }, + llseek: function() { + throw new FS.ErrnoError(70) + } + }, + major: function(dev) { + return dev >> 8 + }, + minor: function(dev) { + return dev & 255 + }, + makedev: function(ma, mi) { + return ma << 8 | mi + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + } + }, + getDevice: function(dev) { + return FS.devices[dev] + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts) + } + return mounts + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work") + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err) + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err) + } + return + } + if (++completed >= mounts.length) { + doCallback(null) + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null) + } + mount.type.syncfs(mount, populate, done) + }) + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10) + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount) + } + } + return mountRoot + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28) + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current) + } + current = next + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1) + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name) + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28) + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.mknod(parent, name, mode, dev) + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0) + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0) + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode) + } catch (e) { + if (e.errno != 20) throw e + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438 + } + mode |= 8192; + return FS.mknod(path, mode, dev) + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44) + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44) + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63) + } + return parent.node_ops.symlink(parent, newname, oldpath) + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node + } catch (e) { + throw new FS.ErrnoError(10) + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75) + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28) + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55) + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name) + } catch (e) {} + if (old_node === new_node) { + return + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err) + } + err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err) + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10) + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path) + } + } catch (e) { + console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name) + } catch (e) { + throw e + } finally { + FS.hashAddNode(old_node) + } + try { + if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path) + } catch (e) { + console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message) + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54) + } + return node.node_ops.readdir(node) + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err) + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63) + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10) + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path) + } + } catch (e) { + console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message) + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path) + } catch (e) { + console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message) + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44) + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28) + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44) + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63) + } + return node.node_ops.getattr(node) + }, + lstat: function(path) { + return FS.stat(path, true) + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }) + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true) + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chmod(stream.node, mode) + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }) + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true) + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + FS.chown(stream.node, uid, gid) + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28) + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node + } else { + node = path + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63) + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31) + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28) + } + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err) + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }) + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28) + } + FS.truncate(stream.node, len) + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }) + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44) + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768 + } else { + mode = 0 + } + var node; + if (typeof path === "object") { + node = path + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20) + } + } else { + node = FS.mknod(path, mode, 0); + created = true + } + } + if (!node) { + throw new FS.ErrnoError(44) + } + if (FS.isChrdev(node.mode)) { + flags &= ~512 + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54) + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err) + } + } + if (flags & 512) { + FS.truncate(node, 0) + } + flags &= ~(128 | 512); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, fd_start, fd_end); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream) + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path) + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags) + } + } catch (e) { + console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message) + } + return stream + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream) + } + } catch (e) { + throw e + } finally { + FS.closeStream(stream.fd) + } + stream.fd = null + }, + isClosed: function(stream) { + return stream.fd === null + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70) + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28) + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28) + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31) + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28) + } + if (stream.flags & 1024) { + FS.llseek(stream, 0, 2) + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position + } else if (!stream.seekable) { + throw new FS.ErrnoError(70) + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path) + } catch (e) { + console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message) + } + return bytesWritten + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8) + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28) + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8) + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43) + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138) + } + stream.stream_ops.allocate(stream, offset, length) + }, + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2) + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2) + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43) + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags) + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0 + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + }, + munmap: function(stream) { + return 0 + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59) + } + return stream.stream_ops.ioctl(stream, cmd, arg) + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"') + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0) + } else if (opts.encoding === "binary") { + ret = buf + } + FS.close(stream); + return ret + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + } else { + throw new Error("Unsupported data type") + } + FS.close(stream) + }, + cwd: function() { + return FS.currentPath + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44) + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54) + } + var err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err) + } + FS.currentPath = lookup.path + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user") + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0 + }, + write: function(stream, buffer, offset, length, pos) { + return length + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0] + } + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = require("crypto"); + random_device = function() { + return crypto_module["randomBytes"](1)[0] + } + } catch (e) {} + } else {} + if (!random_device) { + random_device = function() { + abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };") + } + } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp") + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: function() { + return stream.path + } + } + }; + ret.parent = ret; + return ret + } + }; + return node + } + }, {}, "/proc/self/fd") + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]) + } else { + FS.symlink("/dev/tty", "/dev/stdin") + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]) + } else { + FS.symlink("/dev/tty", "/dev/stdout") + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]) + } else { + FS.symlink("/dev/tty1", "/dev/stderr") + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); + assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); + assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); + assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")") + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) { + Object.defineProperty(this, "stack", { + value: (new Error).stack, + writable: true + }); + this.stack = demangleAll(this.stack) + } + }; + FS.ErrnoError.prototype = new Error; + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = "" + }) + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS, + "IDBFS": IDBFS, + "NODEFS": NODEFS, + "WORKERFS": WORKERFS + } + }, + init: function(input, output, error) { + assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams() + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue + } + FS.close(stream) + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode + }, + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path + }, + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative) + }, + standardizePath: function(path) { + return PATH.normalize(path) + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object + } else { + ___setErrNo(ret.error); + return null + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/" + } catch (e) { + ret.error = e.errno + } + return ret + }, + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode) + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current) + } catch (e) {} + parent = current + } + return current + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode) + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode) + } + return node + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10) + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input() + } catch (e) { + throw new FS.ErrnoError(29) + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6) + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result + } + if (bytesRead) { + stream.node.timestamp = Date.now() + } + return bytesRead + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]) + } catch (e) { + throw new FS.ErrnoError(29) + } + } + if (length) { + stream.node.timestamp = Date.now() + } + return i + } + }); + return FS.mkdev(path, mode, dev) + }, + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); + return FS.symlink(target, path) + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + 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.") + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length + } catch (e) { + success = false + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest.") + } + if (!success) ___setErrNo(29); + return success + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = [] + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = idx / this.chunkSize | 0; + return this.getter(chunkNum)[chunkOffset] + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined") + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []) + } else { + return intArrayFromString(xhr.responseText || "", true) + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end) + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum] + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed") + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._length + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength() + } + return this._chunkSize + } + } + }); + var properties = { + isDevice: false, + contents: lazyArray + } + } else { + var properties = { + isDevice: false, + url: url + } + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents + } else if (properties.url) { + node.contents = null; + node.url = properties.url + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + return fn.apply(null, arguments) + } + }); + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29) + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i] + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i) + } + } + return size + }; + node.stream_ops = stream_ops; + return node + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + } + if (onload) onload(); + removeRunDependency(dep) + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep) + }); + handled = true + } + }); + if (!handled) finish(byteArray) + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray) + }, onerror) + } else { + processData(url) + } + }, + 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(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME) + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish() + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly") + } catch (e) { + onerror(e); + return + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + + function finish() { + if (fail == 0) onload(); + else onerror() + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path) + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish() + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish() + } + }); + transaction.onerror = onerror + }; + openRequest.onerror = onerror + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd() + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path + } + path = PATH.join2(dir, path) + } + return path + }, + doStat: function(func, path, buf) { + try { + var stat = func(path) + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54 + } + throw e + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0 + }, + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags) + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0 + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28 + } + FS.mknod(path, mode, dev); + return 0 + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28 + } + var node; + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + if (!node) { + return -44 + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2 + } + return 0 + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break + } + return ret + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr + } + return ret + }, + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret + }, + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret + }, + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream + }, + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low + }, + getZero: function() { + assert(SYSCALLS.get() === 0) + } +}; + +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28 + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0 + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0 + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28 + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count) + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno + } +} + +function ___unlock() {} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) +} + +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_fdstat_get() { + return _fd_fdstat_get.apply(null, arguments) +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61 + } + FS.llseek(stream, offset, whence); + tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0 + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno + } +} + +function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) +} + +function __emscripten_fetch_free(id) { + delete Fetch.xhrs[id - 1] +} + +function _abort() { + abort() +} + +function _clock() { + if (_clock.start === undefined) _clock.start = Date.now(); + return (Date.now() - _clock.start) * (1e6 / 1e3) | 0 +} + +function _emscripten_get_now() { + abort() +} + +function _emscripten_get_now_is_monotonic() { + return 0 || ENVIRONMENT_IS_NODE || typeof dateNow !== "undefined" || typeof performance === "object" && performance && typeof performance["now"] === "function" +} + +function _clock_gettime(clk_id, tp) { + var now; + if (clk_id === 0) { + now = Date.now() + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now() + } else { + ___setErrNo(28); + return -1 + } + HEAP32[tp >> 2] = now / 1e3 | 0; + HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; + return 0 +} + +function _emscripten_get_heap_size() { + return HEAP8.length +} + +function _emscripten_is_main_browser_thread() { + return !ENVIRONMENT_IS_WORKER +} + +function abortOnCannotGrowMemory(requestedSize) { + abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + HEAP8.length + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ") +} + +function _emscripten_resize_heap(requestedSize) { + abortOnCannotGrowMemory(requestedSize) +} +var Fetch = { + xhrs: [], + setu64: function(addr, val) { + HEAPU32[addr >> 2] = val; + HEAPU32[addr + 4 >> 2] = val / 4294967296 | 0 + }, + openDatabase: function(dbname, dbversion, onsuccess, onerror) { + try { + var openRequest = indexedDB.open(dbname, dbversion) + } catch (e) { + return onerror(e) + } + openRequest.onupgradeneeded = function(event) { + var db = event.target.result; + if (db.objectStoreNames.contains("FILES")) { + db.deleteObjectStore("FILES") + } + db.createObjectStore("FILES") + }; + openRequest.onsuccess = function(event) { + onsuccess(event.target.result) + }; + openRequest.onerror = function(error) { + onerror(error) + } + }, + staticInit: function() { + var isMainThread = typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined"; + var onsuccess = function(db) { + Fetch.dbInstance = db; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + var onerror = function() { + Fetch.dbInstance = false; + if (isMainThread) { + removeRunDependency("library_fetch_init") + } + }; + Fetch.openDatabase("emscripten_filesystem", 1, onsuccess, onerror); + if (typeof ENVIRONMENT_IS_FETCH_WORKER === "undefined" || !ENVIRONMENT_IS_FETCH_WORKER) addRunDependency("library_fetch_init") + } +}; + +function __emscripten_fetch_xhr(fetch, onsuccess, onerror, onprogress, onreadystatechange) { + var url = HEAPU32[fetch + 8 >> 2]; + if (!url) { + onerror(fetch, 0, "no url specified!"); + return + } + var url_ = UTF8ToString(url); + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + if (!requestMethod) requestMethod = "GET"; + var userData = HEAPU32[fetch_attr + 32 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var timeoutMsecs = HEAPU32[fetch_attr + 56 >> 2]; + var withCredentials = !!HEAPU32[fetch_attr + 60 >> 2]; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + var userName = HEAPU32[fetch_attr + 68 >> 2]; + var password = HEAPU32[fetch_attr + 72 >> 2]; + var requestHeaders = HEAPU32[fetch_attr + 76 >> 2]; + var overriddenMimeType = HEAPU32[fetch_attr + 80 >> 2]; + var dataPtr = HEAPU32[fetch_attr + 84 >> 2]; + var dataLength = HEAPU32[fetch_attr + 88 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var fetchAttrSynchronous = !!(fetchAttributes & 64); + var fetchAttrWaitable = !!(fetchAttributes & 128); + var userNameStr = userName ? UTF8ToString(userName) : undefined; + var passwordStr = password ? UTF8ToString(password) : undefined; + var overriddenMimeTypeStr = overriddenMimeType ? UTF8ToString(overriddenMimeType) : undefined; + var xhr = new XMLHttpRequest; + xhr.withCredentials = withCredentials; + xhr.open(requestMethod, url_, !fetchAttrSynchronous, userNameStr, passwordStr); + if (!fetchAttrSynchronous) xhr.timeout = timeoutMsecs; + xhr.url_ = url_; + assert(!fetchAttrStreamData, "streaming uses moz-chunked-arraybuffer which is no longer supported; TODO: rewrite using fetch()"); + xhr.responseType = "arraybuffer"; + if (overriddenMimeType) { + xhr.overrideMimeType(overriddenMimeTypeStr) + } + if (requestHeaders) { + for (;;) { + var key = HEAPU32[requestHeaders >> 2]; + if (!key) break; + var value = HEAPU32[requestHeaders + 4 >> 2]; + if (!value) break; + requestHeaders += 8; + var keyStr = UTF8ToString(key); + var valueStr = UTF8ToString(value); + xhr.setRequestHeader(keyStr, valueStr) + } + } + Fetch.xhrs.push(xhr); + var id = Fetch.xhrs.length; + HEAPU32[fetch + 0 >> 2] = id; + var data = dataPtr && dataLength ? HEAPU8.slice(dataPtr, dataPtr + dataLength) : null; + xhr.onload = function(e) { + var len = xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + var ptrLen = 0; + if (fetchAttrLoadToMemory && !fetchAttrStreamData) { + ptrLen = len; + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, 0); + if (len) { + Fetch.setu64(fetch + 32, len) + } + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState === 4 && xhr.status === 0) { + if (len > 0) xhr.status = 200; + else xhr.status = 404 + } + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (xhr.status >= 200 && xhr.status < 300) { + if (onsuccess) onsuccess(fetch, xhr, e) + } else { + if (onerror) onerror(fetch, xhr, e) + } + }; + xhr.onerror = function(e) { + var status = xhr.status; + if (xhr.readyState === 4 && status === 0) status = 404; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + HEAPU16[fetch + 42 >> 1] = status; + if (onerror) onerror(fetch, xhr, e) + }; + xhr.ontimeout = function(e) { + if (onerror) onerror(fetch, xhr, e) + }; + xhr.onprogress = function(e) { + var ptrLen = fetchAttrLoadToMemory && fetchAttrStreamData && xhr.response ? xhr.response.byteLength : 0; + var ptr = 0; + if (fetchAttrLoadToMemory && fetchAttrStreamData) { + ptr = _malloc(ptrLen); + HEAPU8.set(new Uint8Array(xhr.response), ptr) + } + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, ptrLen); + Fetch.setu64(fetch + 24, e.loaded - ptrLen); + Fetch.setu64(fetch + 32, e.total); + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 3 && xhr.status === 0 && e.loaded > 0) xhr.status = 200; + HEAPU16[fetch + 42 >> 1] = xhr.status; + if (xhr.statusText) stringToUTF8(xhr.statusText, fetch + 44, 64); + if (onprogress) onprogress(fetch, xhr, e) + }; + xhr.onreadystatechange = function(e) { + HEAPU16[fetch + 40 >> 1] = xhr.readyState; + if (xhr.readyState >= 2) { + HEAPU16[fetch + 42 >> 1] = xhr.status + } + if (onreadystatechange) onreadystatechange(fetch, xhr, e) + }; + try { + xhr.send(data) + } catch (e) { + if (onerror) onerror(fetch, xhr, e) + } +} + +function __emscripten_fetch_cache_data(db, fetch, data, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var destinationPath = HEAPU32[fetch_attr + 64 >> 2]; + if (!destinationPath) destinationPath = HEAPU32[fetch + 8 >> 2]; + var destinationPathStr = UTF8ToString(destinationPath); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var putRequest = packages.put(data, destinationPathStr); + putRequest.onsuccess = function(event) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, destinationPathStr) + }; + putRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 413; + stringToUTF8("Payload Too Large", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_load_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readonly"); + var packages = transaction.objectStore("FILES"); + var getRequest = packages.get(pathStr); + getRequest.onsuccess = function(event) { + if (event.target.result) { + var value = event.target.result; + var len = value.byteLength || value.length; + var ptr = _malloc(len); + HEAPU8.set(new Uint8Array(value), ptr); + HEAPU32[fetch + 12 >> 2] = ptr; + Fetch.setu64(fetch + 16, len); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, len); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + } else { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, "no data") + } + }; + getRequest.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function __emscripten_fetch_delete_cached_data(db, fetch, onsuccess, onerror) { + if (!db) { + onerror(fetch, 0, "IndexedDB not available!"); + return + } + var fetch_attr = fetch + 112; + var path = HEAPU32[fetch_attr + 64 >> 2]; + if (!path) path = HEAPU32[fetch + 8 >> 2]; + var pathStr = UTF8ToString(path); + try { + var transaction = db.transaction(["FILES"], "readwrite"); + var packages = transaction.objectStore("FILES"); + var request = packages.delete(pathStr); + request.onsuccess = function(event) { + var value = event.target.result; + HEAPU32[fetch + 12 >> 2] = 0; + Fetch.setu64(fetch + 16, 0); + Fetch.setu64(fetch + 24, 0); + Fetch.setu64(fetch + 32, 0); + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 200; + stringToUTF8("OK", fetch + 44, 64); + onsuccess(fetch, 0, value) + }; + request.onerror = function(error) { + HEAPU16[fetch + 40 >> 1] = 4; + HEAPU16[fetch + 42 >> 1] = 404; + stringToUTF8("Not Found", fetch + 44, 64); + onerror(fetch, 0, error) + } + } catch (e) { + onerror(fetch, 0, e) + } +} + +function _emscripten_start_fetch(fetch, successcb, errorcb, progresscb, readystatechangecb) { + if (typeof noExitRuntime !== "undefined") noExitRuntime = true; + var fetch_attr = fetch + 112; + var requestMethod = UTF8ToString(fetch_attr); + var onsuccess = HEAPU32[fetch_attr + 36 >> 2]; + var onerror = HEAPU32[fetch_attr + 40 >> 2]; + var onprogress = HEAPU32[fetch_attr + 44 >> 2]; + var onreadystatechange = HEAPU32[fetch_attr + 48 >> 2]; + var fetchAttributes = HEAPU32[fetch_attr + 52 >> 2]; + var fetchAttrLoadToMemory = !!(fetchAttributes & 1); + var fetchAttrStreamData = !!(fetchAttributes & 2); + var fetchAttrPersistFile = !!(fetchAttributes & 4); + var fetchAttrNoDownload = !!(fetchAttributes & 32); + var fetchAttrAppend = !!(fetchAttributes & 8); + var fetchAttrReplace = !!(fetchAttributes & 16); + var reportSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var reportProgress = function(fetch, xhr, e) { + if (onprogress) dynCall_vi(onprogress, fetch); + else if (progresscb) progresscb(fetch) + }; + var reportError = function(fetch, xhr, e) { + if (onerror) dynCall_vi(onerror, fetch); + else if (errorcb) errorcb(fetch) + }; + var reportReadyStateChange = function(fetch, xhr, e) { + if (onreadystatechange) dynCall_vi(onreadystatechange, fetch); + else if (readystatechangecb) readystatechangecb(fetch) + }; + var performUncachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, reportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + var cacheResultAndReportSuccess = function(fetch, xhr, e) { + var storeSuccess = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + var storeError = function(fetch, xhr, e) { + if (onsuccess) dynCall_vi(onsuccess, fetch); + else if (successcb) successcb(fetch) + }; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, xhr.response, storeSuccess, storeError) + }; + var performCachedXhr = function(fetch, xhr, e) { + __emscripten_fetch_xhr(fetch, cacheResultAndReportSuccess, reportError, reportProgress, reportReadyStateChange) + }; + if (requestMethod === "EM_IDB_STORE") { + var ptr = HEAPU32[fetch_attr + 84 >> 2]; + __emscripten_fetch_cache_data(Fetch.dbInstance, fetch, HEAPU8.slice(ptr, ptr + HEAPU32[fetch_attr + 88 >> 2]), reportSuccess, reportError) + } else if (requestMethod === "EM_IDB_DELETE") { + __emscripten_fetch_delete_cached_data(Fetch.dbInstance, fetch, reportSuccess, reportError) + } else if (!fetchAttrReplace) { + __emscripten_fetch_load_cached_data(Fetch.dbInstance, fetch, reportSuccess, fetchAttrNoDownload ? reportError : fetchAttrPersistFile ? performCachedXhr : performUncachedXhr) + } else if (!fetchAttrNoDownload) { + __emscripten_fetch_xhr(fetch, fetchAttrPersistFile ? cacheResultAndReportSuccess : reportSuccess, reportError, reportProgress, reportReadyStateChange) + } else { + return 0 + } + return fetch +} +var _fabs = Math_abs; + +function _getenv(name) { + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret +} + +function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[ptr >> 2] = now / 1e3 | 0; + HEAP32[ptr + 4 >> 2] = now % 1e3 * 1e3 | 0; + return 0 +} +var ___tm_timezone = (stringToUTF8("GMT", 1398096, 4), 1398096); + +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; + return tmPtr +} + +function _llvm_exp2_f32(x) { + return Math.pow(2, x) +} + +function _llvm_exp2_f64(a0) { + return _llvm_exp2_f32(a0) +} + +function _llvm_log2_f32(x) { + return Math.log(x) / Math.LN2 +} + +function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret) +} + +function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = [] + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length - 1 +} +var _llvm_trunc_f64 = Math_trunc; + +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = (new Date).getTimezoneOffset() * 60; + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT" + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr + } +} + +function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getHours(); + HEAP32[tmPtr + 12 >> 2] = date.getDate(); + HEAP32[tmPtr + 16 >> 2] = date.getMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; + var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; + HEAP32[tmPtr + 40 >> 2] = zonePtr; + return tmPtr +} + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest) +} + +function _usleep(useconds) { + var msec = useconds / 1e3; + if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self["performance"] && self["performance"]["now"]) { + var start = self["performance"]["now"](); + while (self["performance"]["now"]() - start < msec) {} + } else { + var start = Date.now(); + while (Date.now() - start < msec) {} + } + return 0 +} +Module["_usleep"] = _usleep; + +function _nanosleep(rqtp, rmtp) { + if (rqtp === 0) { + ___setErrNo(28); + return -1 + } + var seconds = HEAP32[rqtp >> 2]; + var nanoseconds = HEAP32[rqtp + 4 >> 2]; + if (nanoseconds < 0 || nanoseconds > 999999999 || seconds < 0) { + ___setErrNo(28); + return -1 + } + if (rmtp !== 0) { + HEAP32[rmtp >> 2] = 0; + HEAP32[rmtp + 4 >> 2] = 0 + } + return _usleep(seconds * 1e6 + nanoseconds / 1e3) +} + +function _pthread_cond_destroy() { + return 0 +} + +function _pthread_cond_init() { + return 0 +} + +function _pthread_create() { + return 6 +} + +function _pthread_join() {} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum +} +var __MONTH_DAYS_LEAP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var __MONTH_DAYS_REGULAR = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1) + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate + } + } + return newDate +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]) + } + var WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; + var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; + + function leadingSomething(value, digits, character) { + var str = typeof value === "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str + } + return str + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0") + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0 + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()) + } + } + return compare + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + case 1: + return janFourth; + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30) + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1 + } else { + return thisDate.getFullYear() + } + } else { + return thisDate.getFullYear() - 1 + } + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3) + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday] + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3) + }, + "%B": function(date) { + return MONTHS[date.tm_mon] + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2) + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2) + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " ") + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2) + }, + "%G": function(date) { + return getWeekBasedYear(date) + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2) + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2) + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3) + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2) + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2) + }, + "%n": function() { + return "\n" + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM" + } else { + return "PM" + } + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2) + }, + "%t": function() { + return "\t" + }, + "%u": function(date) { + return date.tm_wday || 7 + }, + "%U": function(date) { + var janFirst = new Date(date.tm_year + 1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstSunday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); + var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00" + }, + "%V": function(date) { + var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + return "53" + } + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + return "01" + } + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { + daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate() + } else { + daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate() + } + return leadingNulls(Math.ceil(daysDifference / 7), 2) + }, + "%w": function(date) { + return date.tm_wday + }, + "%W": function(date) { + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); + var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; + var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); + var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); + return leadingNulls(Math.ceil(days / 7), 2) + } + return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00" + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2) + }, + "%Y": function(date) { + return date.tm_year + 1900 + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4) + }, + "%Z": function(date) { + return date.tm_zone + }, + "%%": function() { + return "%" + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)) + } + } + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0 + } + writeArrayToMemory(bytes, s); + return bytes.length - 1 +} + +function _sysconf(name) { + switch (name) { + case 30: + return PAGE_SIZE; + case 85: + var maxHeapSize = 2 * 1024 * 1024 * 1024 - 65536; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + 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 80: + case 81: + 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 79: + return 0; + 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: + 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: { + if (typeof navigator === "object") return navigator["hardwareConcurrency"] || 1; + return 1 + } + } + ___setErrNo(28); + return -1 +} + +function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret + } + return ret +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = require("fs"); + var NODEJS_PATH = require("path"); + NODEFS.staticInit() +} +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6 + } +} else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow +} else if (typeof performance === "object" && performance && typeof performance["now"] === "function") { + _emscripten_get_now = function() { + return performance["now"]() + } +} else { + _emscripten_get_now = Date.now +} +Fetch.staticInit(); + +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array +} +var debug_table_dd = [0, "jsCall_dd_0", "jsCall_dd_1", "jsCall_dd_2", "jsCall_dd_3", "jsCall_dd_4", "jsCall_dd_5", "jsCall_dd_6", "jsCall_dd_7", "jsCall_dd_8", "jsCall_dd_9", "jsCall_dd_10", "jsCall_dd_11", "jsCall_dd_12", "jsCall_dd_13", "jsCall_dd_14", "jsCall_dd_15", "jsCall_dd_16", "jsCall_dd_17", "jsCall_dd_18", "jsCall_dd_19", "jsCall_dd_20", "jsCall_dd_21", "jsCall_dd_22", "jsCall_dd_23", "jsCall_dd_24", "jsCall_dd_25", "jsCall_dd_26", "jsCall_dd_27", "jsCall_dd_28", "jsCall_dd_29", "jsCall_dd_30", "jsCall_dd_31", "jsCall_dd_32", "jsCall_dd_33", "jsCall_dd_34", "_sinh", "_cosh", "_tanh", "_sin", "_cos", "_tan", "_atan", "_asin", "_acos", "_exp", "_log", "_fabs", "_etime", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_did = [0, "jsCall_did_0", "jsCall_did_1", "jsCall_did_2", "jsCall_did_3", "jsCall_did_4", "jsCall_did_5", "jsCall_did_6", "jsCall_did_7", "jsCall_did_8", "jsCall_did_9", "jsCall_did_10", "jsCall_did_11", "jsCall_did_12", "jsCall_did_13", "jsCall_did_14", "jsCall_did_15", "jsCall_did_16", "jsCall_did_17", "jsCall_did_18", "jsCall_did_19", "jsCall_did_20", "jsCall_did_21", "jsCall_did_22", "jsCall_did_23", "jsCall_did_24", "jsCall_did_25", "jsCall_did_26", "jsCall_did_27", "jsCall_did_28", "jsCall_did_29", "jsCall_did_30", "jsCall_did_31", "jsCall_did_32", "jsCall_did_33", "jsCall_did_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_didd = [0, "jsCall_didd_0", "jsCall_didd_1", "jsCall_didd_2", "jsCall_didd_3", "jsCall_didd_4", "jsCall_didd_5", "jsCall_didd_6", "jsCall_didd_7", "jsCall_didd_8", "jsCall_didd_9", "jsCall_didd_10", "jsCall_didd_11", "jsCall_didd_12", "jsCall_didd_13", "jsCall_didd_14", "jsCall_didd_15", "jsCall_didd_16", "jsCall_didd_17", "jsCall_didd_18", "jsCall_didd_19", "jsCall_didd_20", "jsCall_didd_21", "jsCall_didd_22", "jsCall_didd_23", "jsCall_didd_24", "jsCall_didd_25", "jsCall_didd_26", "jsCall_didd_27", "jsCall_didd_28", "jsCall_didd_29", "jsCall_didd_30", "jsCall_didd_31", "jsCall_didd_32", "jsCall_didd_33", "jsCall_didd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fii = [0, "jsCall_fii_0", "jsCall_fii_1", "jsCall_fii_2", "jsCall_fii_3", "jsCall_fii_4", "jsCall_fii_5", "jsCall_fii_6", "jsCall_fii_7", "jsCall_fii_8", "jsCall_fii_9", "jsCall_fii_10", "jsCall_fii_11", "jsCall_fii_12", "jsCall_fii_13", "jsCall_fii_14", "jsCall_fii_15", "jsCall_fii_16", "jsCall_fii_17", "jsCall_fii_18", "jsCall_fii_19", "jsCall_fii_20", "jsCall_fii_21", "jsCall_fii_22", "jsCall_fii_23", "jsCall_fii_24", "jsCall_fii_25", "jsCall_fii_26", "jsCall_fii_27", "jsCall_fii_28", "jsCall_fii_29", "jsCall_fii_30", "jsCall_fii_31", "jsCall_fii_32", "jsCall_fii_33", "jsCall_fii_34", "_sbr_sum_square_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_fiii = [0, "jsCall_fiii_0", "jsCall_fiii_1", "jsCall_fiii_2", "jsCall_fiii_3", "jsCall_fiii_4", "jsCall_fiii_5", "jsCall_fiii_6", "jsCall_fiii_7", "jsCall_fiii_8", "jsCall_fiii_9", "jsCall_fiii_10", "jsCall_fiii_11", "jsCall_fiii_12", "jsCall_fiii_13", "jsCall_fiii_14", "jsCall_fiii_15", "jsCall_fiii_16", "jsCall_fiii_17", "jsCall_fiii_18", "jsCall_fiii_19", "jsCall_fiii_20", "jsCall_fiii_21", "jsCall_fiii_22", "jsCall_fiii_23", "jsCall_fiii_24", "jsCall_fiii_25", "jsCall_fiii_26", "jsCall_fiii_27", "jsCall_fiii_28", "jsCall_fiii_29", "jsCall_fiii_30", "jsCall_fiii_31", "jsCall_fiii_32", "jsCall_fiii_33", "jsCall_fiii_34", "_avpriv_scalarproduct_float_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_ii = [0, "jsCall_ii_0", "jsCall_ii_1", "jsCall_ii_2", "jsCall_ii_3", "jsCall_ii_4", "jsCall_ii_5", "jsCall_ii_6", "jsCall_ii_7", "jsCall_ii_8", "jsCall_ii_9", "jsCall_ii_10", "jsCall_ii_11", "jsCall_ii_12", "jsCall_ii_13", "jsCall_ii_14", "jsCall_ii_15", "jsCall_ii_16", "jsCall_ii_17", "jsCall_ii_18", "jsCall_ii_19", "jsCall_ii_20", "jsCall_ii_21", "jsCall_ii_22", "jsCall_ii_23", "jsCall_ii_24", "jsCall_ii_25", "jsCall_ii_26", "jsCall_ii_27", "jsCall_ii_28", "jsCall_ii_29", "jsCall_ii_30", "jsCall_ii_31", "jsCall_ii_32", "jsCall_ii_33", "jsCall_ii_34", "_avi_probe", "_avi_read_header", "_avi_read_close", "_av_default_item_name", "_ff_avio_child_class_next", "_flv_probe", "_flv_read_header", "_flv_read_close", "_live_flv_probe", "_h264_probe", "_ff_raw_video_read_header", "_hevc_probe", "_mpeg4video_probe", "_matroska_probe", "_matroska_read_header", "_matroska_read_close", "_mov_probe", "_mov_read_header", "_mov_read_close", "_mp3_read_probe", "_mp3_read_header", "_mpegps_probe", "_mpegps_read_header", "_mpegts_probe", "_mpegts_read_header", "_mpegts_read_close", "_mpegvideo_probe", "_format_to_name", "_format_child_class_next", "_get_category", "_pcm_read_header", "_urlcontext_to_name", "_ff_urlcontext_child_class_next", "_sws_context_to_name", "_ff_bsf_child_class_next", "_hevc_mp4toannexb_init", "_hevc_init_thread_copy", "_hevc_decode_init", "_hevc_decode_free", "_decode_init", "_context_to_name", "_codec_child_class_next", "_get_category_2911", "_pcm_decode_init", "_pcm_decode_close", "_aac_decode_init", "_aac_decode_close", "_init", "_context_to_name_6198", "_resample_flush", "___stdio_close", "___emscripten_stdout_close", "_releaseSniffStreamFunc", "_naluLListLengthFunc", "_hflv_releaseFunc", "_hflv_getBufferLength", "_g711_releaseFunc", "_g711_decodeVideoFrameFunc", "_g711_getBufferLength", "_initializeDecoderFunc", "__getFrame", "_closeVideoFunc", "_releaseFunc", "_initializeDemuxerFunc", "_getPacketFunc", "_releaseDemuxerFunc", "_io_short_seek", "_avio_rb16", "_avio_rl16", "_av_buffer_allocz", "_frame_worker_thread", "_av_buffer_alloc", "_thread_worker", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iid = [0, "jsCall_iid_0", "jsCall_iid_1", "jsCall_iid_2", "jsCall_iid_3", "jsCall_iid_4", "jsCall_iid_5", "jsCall_iid_6", "jsCall_iid_7", "jsCall_iid_8", "jsCall_iid_9", "jsCall_iid_10", "jsCall_iid_11", "jsCall_iid_12", "jsCall_iid_13", "jsCall_iid_14", "jsCall_iid_15", "jsCall_iid_16", "jsCall_iid_17", "jsCall_iid_18", "jsCall_iid_19", "jsCall_iid_20", "jsCall_iid_21", "jsCall_iid_22", "jsCall_iid_23", "jsCall_iid_24", "jsCall_iid_25", "jsCall_iid_26", "jsCall_iid_27", "jsCall_iid_28", "jsCall_iid_29", "jsCall_iid_30", "jsCall_iid_31", "jsCall_iid_32", "jsCall_iid_33", "jsCall_iid_34", "_seekBufferFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iidiiii = [0, "jsCall_iidiiii_0", "jsCall_iidiiii_1", "jsCall_iidiiii_2", "jsCall_iidiiii_3", "jsCall_iidiiii_4", "jsCall_iidiiii_5", "jsCall_iidiiii_6", "jsCall_iidiiii_7", "jsCall_iidiiii_8", "jsCall_iidiiii_9", "jsCall_iidiiii_10", "jsCall_iidiiii_11", "jsCall_iidiiii_12", "jsCall_iidiiii_13", "jsCall_iidiiii_14", "jsCall_iidiiii_15", "jsCall_iidiiii_16", "jsCall_iidiiii_17", "jsCall_iidiiii_18", "jsCall_iidiiii_19", "jsCall_iidiiii_20", "jsCall_iidiiii_21", "jsCall_iidiiii_22", "jsCall_iidiiii_23", "jsCall_iidiiii_24", "jsCall_iidiiii_25", "jsCall_iidiiii_26", "jsCall_iidiiii_27", "jsCall_iidiiii_28", "jsCall_iidiiii_29", "jsCall_iidiiii_30", "jsCall_iidiiii_31", "jsCall_iidiiii_32", "jsCall_iidiiii_33", "jsCall_iidiiii_34", "_fmt_fp", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iii = [0, "jsCall_iii_0", "jsCall_iii_1", "jsCall_iii_2", "jsCall_iii_3", "jsCall_iii_4", "jsCall_iii_5", "jsCall_iii_6", "jsCall_iii_7", "jsCall_iii_8", "jsCall_iii_9", "jsCall_iii_10", "jsCall_iii_11", "jsCall_iii_12", "jsCall_iii_13", "jsCall_iii_14", "jsCall_iii_15", "jsCall_iii_16", "jsCall_iii_17", "jsCall_iii_18", "jsCall_iii_19", "jsCall_iii_20", "jsCall_iii_21", "jsCall_iii_22", "jsCall_iii_23", "jsCall_iii_24", "jsCall_iii_25", "jsCall_iii_26", "jsCall_iii_27", "jsCall_iii_28", "jsCall_iii_29", "jsCall_iii_30", "jsCall_iii_31", "jsCall_iii_32", "jsCall_iii_33", "jsCall_iii_34", "_avi_read_packet", "_ff_avio_child_next", "_flv_read_packet", "_ff_raw_read_partial_packet", "_matroska_read_packet", "_mov_read_packet", "_mp3_read_packet", "_mpegps_read_packet", "_mpegts_read_packet", "_mpegts_raw_read_packet", "_format_child_next", "_ff_pcm_read_packet", "_urlcontext_child_next", "_bsf_child_next", "_hevc_mp4toannexb_filter", "_hevc_update_thread_context", "_null_filter", "_codec_child_next", "_initSniffStreamFunc", "_hflv_initFunc", "_hflv_getPacketFunc", "_g711_initFunc", "_io_read_pause", "_descriptor_compare", "_hls_decode_entry", "_avcodec_default_get_format", "_ff_startcode_find_candidate_c", "_color_table_compare"]; +var debug_table_iiii = [0, "jsCall_iiii_0", "jsCall_iiii_1", "jsCall_iiii_2", "jsCall_iiii_3", "jsCall_iiii_4", "jsCall_iiii_5", "jsCall_iiii_6", "jsCall_iiii_7", "jsCall_iiii_8", "jsCall_iiii_9", "jsCall_iiii_10", "jsCall_iiii_11", "jsCall_iiii_12", "jsCall_iiii_13", "jsCall_iiii_14", "jsCall_iiii_15", "jsCall_iiii_16", "jsCall_iiii_17", "jsCall_iiii_18", "jsCall_iiii_19", "jsCall_iiii_20", "jsCall_iiii_21", "jsCall_iiii_22", "jsCall_iiii_23", "jsCall_iiii_24", "jsCall_iiii_25", "jsCall_iiii_26", "jsCall_iiii_27", "jsCall_iiii_28", "jsCall_iiii_29", "jsCall_iiii_30", "jsCall_iiii_31", "jsCall_iiii_32", "jsCall_iiii_33", "jsCall_iiii_34", "_mov_read_aclr", "_mov_read_avid", "_mov_read_ares", "_mov_read_avss", "_mov_read_av1c", "_mov_read_chpl", "_mov_read_stco", "_mov_read_colr", "_mov_read_ctts", "_mov_read_default", "_mov_read_dpxe", "_mov_read_dref", "_mov_read_elst", "_mov_read_enda", "_mov_read_fiel", "_mov_read_adrm", "_mov_read_ftyp", "_mov_read_glbl", "_mov_read_hdlr", "_mov_read_ilst", "_mov_read_jp2h", "_mov_read_mdat", "_mov_read_mdhd", "_mov_read_meta", "_mov_read_moof", "_mov_read_moov", "_mov_read_mvhd", "_mov_read_svq3", "_mov_read_alac", "_mov_read_pasp", "_mov_read_sidx", "_mov_read_stps", "_mov_read_strf", "_mov_read_stsc", "_mov_read_stsd", "_mov_read_stss", "_mov_read_stsz", "_mov_read_stts", "_mov_read_tkhd", "_mov_read_tfdt", "_mov_read_tfhd", "_mov_read_trak", "_mov_read_tmcd", "_mov_read_chap", "_mov_read_trex", "_mov_read_trun", "_mov_read_wave", "_mov_read_esds", "_mov_read_dac3", "_mov_read_dec3", "_mov_read_ddts", "_mov_read_wide", "_mov_read_wfex", "_mov_read_cmov", "_mov_read_chan", "_mov_read_dvc1", "_mov_read_sbgp", "_mov_read_uuid", "_mov_read_targa_y216", "_mov_read_free", "_mov_read_custom", "_mov_read_frma", "_mov_read_senc", "_mov_read_saiz", "_mov_read_saio", "_mov_read_pssh", "_mov_read_schm", "_mov_read_tenc", "_mov_read_dfla", "_mov_read_st3d", "_mov_read_sv3d", "_mov_read_dops", "_mov_read_smdm", "_mov_read_coll", "_mov_read_vpcc", "_mov_read_mdcv", "_mov_read_clli", "_h264_split", "_hevc_split", "_set_compensation", "___stdio_write", "_sn_write", "_read_stream_live", "_read_stream_vod", "_getSniffStreamPacketFunc", "_hflv_read_stream_live", "_g711_read_stream_live", "_setCodecTypeFunc", "_read_packet", "_io_write_packet", "_io_read_packet", "_dyn_buf_write", "_mov_read_keys", "_mov_read_udta_string", "_ff_crcA001_update", "_avcodec_default_get_buffer2", "_do_read", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiii = [0, "jsCall_iiiii_0", "jsCall_iiiii_1", "jsCall_iiiii_2", "jsCall_iiiii_3", "jsCall_iiiii_4", "jsCall_iiiii_5", "jsCall_iiiii_6", "jsCall_iiiii_7", "jsCall_iiiii_8", "jsCall_iiiii_9", "jsCall_iiiii_10", "jsCall_iiiii_11", "jsCall_iiiii_12", "jsCall_iiiii_13", "jsCall_iiiii_14", "jsCall_iiiii_15", "jsCall_iiiii_16", "jsCall_iiiii_17", "jsCall_iiiii_18", "jsCall_iiiii_19", "jsCall_iiiii_20", "jsCall_iiiii_21", "jsCall_iiiii_22", "jsCall_iiiii_23", "jsCall_iiiii_24", "jsCall_iiiii_25", "jsCall_iiiii_26", "jsCall_iiiii_27", "jsCall_iiiii_28", "jsCall_iiiii_29", "jsCall_iiiii_30", "jsCall_iiiii_31", "jsCall_iiiii_32", "jsCall_iiiii_33", "jsCall_iiiii_34", "_hevc_decode_frame", "_decode_frame", "_pcm_decode_frame", "_aac_decode_frame", "_hflv_pushBufferFunc", "_g711_pushBufferFunc", "_demuxBoxFunc", "_mov_metadata_int8_no_padding", "_mov_metadata_track_or_disc_number", "_mov_metadata_gnre", "_mov_metadata_int8_bypass_padding", "_lum_planar_vscale", "_chr_planar_vscale", "_any_vscale", "_packed_vscale", "_gamma_convert", "_lum_convert", "_lum_h_scale", "_chr_convert", "_chr_h_scale", "_no_chr_scale", "_hls_decode_entry_wpp", 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiii = [0, "jsCall_iiiiii_0", "jsCall_iiiiii_1", "jsCall_iiiiii_2", "jsCall_iiiiii_3", "jsCall_iiiiii_4", "jsCall_iiiiii_5", "jsCall_iiiiii_6", "jsCall_iiiiii_7", "jsCall_iiiiii_8", "jsCall_iiiiii_9", "jsCall_iiiiii_10", "jsCall_iiiiii_11", "jsCall_iiiiii_12", "jsCall_iiiiii_13", "jsCall_iiiiii_14", "jsCall_iiiiii_15", "jsCall_iiiiii_16", "jsCall_iiiiii_17", "jsCall_iiiiii_18", "jsCall_iiiiii_19", "jsCall_iiiiii_20", "jsCall_iiiiii_21", "jsCall_iiiiii_22", "jsCall_iiiiii_23", "jsCall_iiiiii_24", "jsCall_iiiiii_25", "jsCall_iiiiii_26", "jsCall_iiiiii_27", "jsCall_iiiiii_28", "jsCall_iiiiii_29", "jsCall_iiiiii_30", "jsCall_iiiiii_31", "jsCall_iiiiii_32", "jsCall_iiiiii_33", "jsCall_iiiiii_34", "_pushBufferFunc", "_g711_setSniffStreamCodecTypeFunc", "_decodeCodecContextFunc", "_io_open_default", "_avcodec_default_execute2", "_thread_execute2", "_sbr_lf_gen", "_resample_common_int16", "_resample_linear_int16", "_resample_common_int32", "_resample_linear_int32", "_resample_common_float", "_resample_linear_float", "_resample_common_double", "_resample_linear_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiii = [0, "jsCall_iiiiiii_0", "jsCall_iiiiiii_1", "jsCall_iiiiiii_2", "jsCall_iiiiiii_3", "jsCall_iiiiiii_4", "jsCall_iiiiiii_5", "jsCall_iiiiiii_6", "jsCall_iiiiiii_7", "jsCall_iiiiiii_8", "jsCall_iiiiiii_9", "jsCall_iiiiiii_10", "jsCall_iiiiiii_11", "jsCall_iiiiiii_12", "jsCall_iiiiiii_13", "jsCall_iiiiiii_14", "jsCall_iiiiiii_15", "jsCall_iiiiiii_16", "jsCall_iiiiiii_17", "jsCall_iiiiiii_18", "jsCall_iiiiiii_19", "jsCall_iiiiiii_20", "jsCall_iiiiiii_21", "jsCall_iiiiiii_22", "jsCall_iiiiiii_23", "jsCall_iiiiiii_24", "jsCall_iiiiiii_25", "jsCall_iiiiiii_26", "jsCall_iiiiiii_27", "jsCall_iiiiiii_28", "jsCall_iiiiiii_29", "jsCall_iiiiiii_30", "jsCall_iiiiiii_31", "jsCall_iiiiiii_32", "jsCall_iiiiiii_33", "jsCall_iiiiiii_34", "_h264_parse", "_hevc_parse", "_mpegaudio_parse", "_multiple_resample", "_invert_initial_buffer", "_hflv_decodeVideoFrameFunc", "_avcodec_default_execute", "_thread_execute", "_sbr_x_gen", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiidiiddii = [0, "jsCall_iiiiiiidiiddii_0", "jsCall_iiiiiiidiiddii_1", "jsCall_iiiiiiidiiddii_2", "jsCall_iiiiiiidiiddii_3", "jsCall_iiiiiiidiiddii_4", "jsCall_iiiiiiidiiddii_5", "jsCall_iiiiiiidiiddii_6", "jsCall_iiiiiiidiiddii_7", "jsCall_iiiiiiidiiddii_8", "jsCall_iiiiiiidiiddii_9", "jsCall_iiiiiiidiiddii_10", "jsCall_iiiiiiidiiddii_11", "jsCall_iiiiiiidiiddii_12", "jsCall_iiiiiiidiiddii_13", "jsCall_iiiiiiidiiddii_14", "jsCall_iiiiiiidiiddii_15", "jsCall_iiiiiiidiiddii_16", "jsCall_iiiiiiidiiddii_17", "jsCall_iiiiiiidiiddii_18", "jsCall_iiiiiiidiiddii_19", "jsCall_iiiiiiidiiddii_20", "jsCall_iiiiiiidiiddii_21", "jsCall_iiiiiiidiiddii_22", "jsCall_iiiiiiidiiddii_23", "jsCall_iiiiiiidiiddii_24", "jsCall_iiiiiiidiiddii_25", "jsCall_iiiiiiidiiddii_26", "jsCall_iiiiiiidiiddii_27", "jsCall_iiiiiiidiiddii_28", "jsCall_iiiiiiidiiddii_29", "jsCall_iiiiiiidiiddii_30", "jsCall_iiiiiiidiiddii_31", "jsCall_iiiiiiidiiddii_32", "jsCall_iiiiiiidiiddii_33", "jsCall_iiiiiiidiiddii_34", "_resample_init", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiii = [0, "jsCall_iiiiiiii_0", "jsCall_iiiiiiii_1", "jsCall_iiiiiiii_2", "jsCall_iiiiiiii_3", "jsCall_iiiiiiii_4", "jsCall_iiiiiiii_5", "jsCall_iiiiiiii_6", "jsCall_iiiiiiii_7", "jsCall_iiiiiiii_8", "jsCall_iiiiiiii_9", "jsCall_iiiiiiii_10", "jsCall_iiiiiiii_11", "jsCall_iiiiiiii_12", "jsCall_iiiiiiii_13", "jsCall_iiiiiiii_14", "jsCall_iiiiiiii_15", "jsCall_iiiiiiii_16", "jsCall_iiiiiiii_17", "jsCall_iiiiiiii_18", "jsCall_iiiiiiii_19", "jsCall_iiiiiiii_20", "jsCall_iiiiiiii_21", "jsCall_iiiiiiii_22", "jsCall_iiiiiiii_23", "jsCall_iiiiiiii_24", "jsCall_iiiiiiii_25", "jsCall_iiiiiiii_26", "jsCall_iiiiiiii_27", "jsCall_iiiiiiii_28", "jsCall_iiiiiiii_29", "jsCall_iiiiiiii_30", "jsCall_iiiiiiii_31", "jsCall_iiiiiiii_32", "jsCall_iiiiiiii_33", "jsCall_iiiiiiii_34", "_decodeVideoFrameFunc", "_hflv_setSniffStreamCodecTypeFunc", "_swscale", "_ff_sws_alphablendaway", "_yuv2rgb_c_32", "_yuva2rgba_c", "_yuv2rgb_c_bgr48", "_yuv2rgb_c_48", "_yuva2argb_c", "_yuv2rgb_c_24_rgb", "_yuv2rgb_c_24_bgr", "_yuv2rgb_c_16_ordered_dither", "_yuv2rgb_c_15_ordered_dither", "_yuv2rgb_c_12_ordered_dither", "_yuv2rgb_c_8_ordered_dither", "_yuv2rgb_c_4_ordered_dither", "_yuv2rgb_c_4b_ordered_dither", "_yuv2rgb_c_1_ordered_dither", "_planarToP01xWrapper", "_planar8ToP01xleWrapper", "_yvu9ToYv12Wrapper", "_bgr24ToYv12Wrapper", "_rgbToRgbWrapper", "_planarRgbToplanarRgbWrapper", "_planarRgbToRgbWrapper", "_planarRgbaToRgbWrapper", "_Rgb16ToPlanarRgb16Wrapper", "_planarRgb16ToRgb16Wrapper", "_rgbToPlanarRgbWrapper", "_bayer_to_rgb24_wrapper", "_bayer_to_yv12_wrapper", "_bswap_16bpc", "_palToRgbWrapper", "_yuv422pToYuy2Wrapper", "_yuv422pToUyvyWrapper", "_uint_y_to_float_y_wrapper", "_float_y_to_uint_y_wrapper", "_planarToYuy2Wrapper", "_planarToUyvyWrapper", "_yuyvToYuv420Wrapper", "_uyvyToYuv420Wrapper", "_yuyvToYuv422Wrapper", "_uyvyToYuv422Wrapper", "_packedCopyWrapper", "_planarCopyWrapper", "_planarToNv12Wrapper", "_planarToNv24Wrapper", "_nv12ToPlanarWrapper", "_nv24ToPlanarWrapper", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiiiiid = [0, "jsCall_iiiiiiiid_0", "jsCall_iiiiiiiid_1", "jsCall_iiiiiiiid_2", "jsCall_iiiiiiiid_3", "jsCall_iiiiiiiid_4", "jsCall_iiiiiiiid_5", "jsCall_iiiiiiiid_6", "jsCall_iiiiiiiid_7", "jsCall_iiiiiiiid_8", "jsCall_iiiiiiiid_9", "jsCall_iiiiiiiid_10", "jsCall_iiiiiiiid_11", "jsCall_iiiiiiiid_12", "jsCall_iiiiiiiid_13", "jsCall_iiiiiiiid_14", "jsCall_iiiiiiiid_15", "jsCall_iiiiiiiid_16", "jsCall_iiiiiiiid_17", "jsCall_iiiiiiiid_18", "jsCall_iiiiiiiid_19", "jsCall_iiiiiiiid_20", "jsCall_iiiiiiiid_21", "jsCall_iiiiiiiid_22", "jsCall_iiiiiiiid_23", "jsCall_iiiiiiiid_24", "jsCall_iiiiiiiid_25", "jsCall_iiiiiiiid_26", "jsCall_iiiiiiiid_27", "jsCall_iiiiiiiid_28", "jsCall_iiiiiiiid_29", "jsCall_iiiiiiiid_30", "jsCall_iiiiiiiid_31", "jsCall_iiiiiiiid_32", "jsCall_iiiiiiiid_33", "jsCall_iiiiiiiid_34", "_setSniffStreamCodecTypeFunc", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiiij = [0, "jsCall_iiiiij_0", "jsCall_iiiiij_1", "jsCall_iiiiij_2", "jsCall_iiiiij_3", "jsCall_iiiiij_4", "jsCall_iiiiij_5", "jsCall_iiiiij_6", "jsCall_iiiiij_7", "jsCall_iiiiij_8", "jsCall_iiiiij_9", "jsCall_iiiiij_10", "jsCall_iiiiij_11", "jsCall_iiiiij_12", "jsCall_iiiiij_13", "jsCall_iiiiij_14", "jsCall_iiiiij_15", "jsCall_iiiiij_16", "jsCall_iiiiij_17", "jsCall_iiiiij_18", "jsCall_iiiiij_19", "jsCall_iiiiij_20", "jsCall_iiiiij_21", "jsCall_iiiiij_22", "jsCall_iiiiij_23", "jsCall_iiiiij_24", "jsCall_iiiiij_25", "jsCall_iiiiij_26", "jsCall_iiiiij_27", "jsCall_iiiiij_28", "jsCall_iiiiij_29", "jsCall_iiiiij_30", "jsCall_iiiiij_31", "jsCall_iiiiij_32", "jsCall_iiiiij_33", "jsCall_iiiiij_34", "_mpegts_push_data", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiiji = [0, "jsCall_iiiji_0", "jsCall_iiiji_1", "jsCall_iiiji_2", "jsCall_iiiji_3", "jsCall_iiiji_4", "jsCall_iiiji_5", "jsCall_iiiji_6", "jsCall_iiiji_7", "jsCall_iiiji_8", "jsCall_iiiji_9", "jsCall_iiiji_10", "jsCall_iiiji_11", "jsCall_iiiji_12", "jsCall_iiiji_13", "jsCall_iiiji_14", "jsCall_iiiji_15", "jsCall_iiiji_16", "jsCall_iiiji_17", "jsCall_iiiji_18", "jsCall_iiiji_19", "jsCall_iiiji_20", "jsCall_iiiji_21", "jsCall_iiiji_22", "jsCall_iiiji_23", "jsCall_iiiji_24", "jsCall_iiiji_25", "jsCall_iiiji_26", "jsCall_iiiji_27", "jsCall_iiiji_28", "jsCall_iiiji_29", "jsCall_iiiji_30", "jsCall_iiiji_31", "jsCall_iiiji_32", "jsCall_iiiji_33", "jsCall_iiiji_34", "_avi_read_seek", "_flv_read_seek", "_matroska_read_seek", "_mov_read_seek", "_mp3_seek", "_ff_pcm_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_iiijjji = [0, "jsCall_iiijjji_0", "jsCall_iiijjji_1", "jsCall_iiijjji_2", "jsCall_iiijjji_3", "jsCall_iiijjji_4", "jsCall_iiijjji_5", "jsCall_iiijjji_6", "jsCall_iiijjji_7", "jsCall_iiijjji_8", "jsCall_iiijjji_9", "jsCall_iiijjji_10", "jsCall_iiijjji_11", "jsCall_iiijjji_12", "jsCall_iiijjji_13", "jsCall_iiijjji_14", "jsCall_iiijjji_15", "jsCall_iiijjji_16", "jsCall_iiijjji_17", "jsCall_iiijjji_18", "jsCall_iiijjji_19", "jsCall_iiijjji_20", "jsCall_iiijjji_21", "jsCall_iiijjji_22", "jsCall_iiijjji_23", "jsCall_iiijjji_24", "jsCall_iiijjji_25", "jsCall_iiijjji_26", "jsCall_iiijjji_27", "jsCall_iiijjji_28", "jsCall_iiijjji_29", "jsCall_iiijjji_30", "jsCall_iiijjji_31", "jsCall_iiijjji_32", "jsCall_iiijjji_33", "jsCall_iiijjji_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jii = [0, "jsCall_jii_0", "jsCall_jii_1", "jsCall_jii_2", "jsCall_jii_3", "jsCall_jii_4", "jsCall_jii_5", "jsCall_jii_6", "jsCall_jii_7", "jsCall_jii_8", "jsCall_jii_9", "jsCall_jii_10", "jsCall_jii_11", "jsCall_jii_12", "jsCall_jii_13", "jsCall_jii_14", "jsCall_jii_15", "jsCall_jii_16", "jsCall_jii_17", "jsCall_jii_18", "jsCall_jii_19", "jsCall_jii_20", "jsCall_jii_21", "jsCall_jii_22", "jsCall_jii_23", "jsCall_jii_24", "jsCall_jii_25", "jsCall_jii_26", "jsCall_jii_27", "jsCall_jii_28", "jsCall_jii_29", "jsCall_jii_30", "jsCall_jii_31", "jsCall_jii_32", "jsCall_jii_33", "jsCall_jii_34", "_get_out_samples", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiij = [0, "jsCall_jiiij_0", "jsCall_jiiij_1", "jsCall_jiiij_2", "jsCall_jiiij_3", "jsCall_jiiij_4", "jsCall_jiiij_5", "jsCall_jiiij_6", "jsCall_jiiij_7", "jsCall_jiiij_8", "jsCall_jiiij_9", "jsCall_jiiij_10", "jsCall_jiiij_11", "jsCall_jiiij_12", "jsCall_jiiij_13", "jsCall_jiiij_14", "jsCall_jiiij_15", "jsCall_jiiij_16", "jsCall_jiiij_17", "jsCall_jiiij_18", "jsCall_jiiij_19", "jsCall_jiiij_20", "jsCall_jiiij_21", "jsCall_jiiij_22", "jsCall_jiiij_23", "jsCall_jiiij_24", "jsCall_jiiij_25", "jsCall_jiiij_26", "jsCall_jiiij_27", "jsCall_jiiij_28", "jsCall_jiiij_29", "jsCall_jiiij_30", "jsCall_jiiij_31", "jsCall_jiiij_32", "jsCall_jiiij_33", "jsCall_jiiij_34", "_mpegps_read_dts", "_mpegts_get_dts", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiiji = [0, "jsCall_jiiji_0", "jsCall_jiiji_1", "jsCall_jiiji_2", "jsCall_jiiji_3", "jsCall_jiiji_4", "jsCall_jiiji_5", "jsCall_jiiji_6", "jsCall_jiiji_7", "jsCall_jiiji_8", "jsCall_jiiji_9", "jsCall_jiiji_10", "jsCall_jiiji_11", "jsCall_jiiji_12", "jsCall_jiiji_13", "jsCall_jiiji_14", "jsCall_jiiji_15", "jsCall_jiiji_16", "jsCall_jiiji_17", "jsCall_jiiji_18", "jsCall_jiiji_19", "jsCall_jiiji_20", "jsCall_jiiji_21", "jsCall_jiiji_22", "jsCall_jiiji_23", "jsCall_jiiji_24", "jsCall_jiiji_25", "jsCall_jiiji_26", "jsCall_jiiji_27", "jsCall_jiiji_28", "jsCall_jiiji_29", "jsCall_jiiji_30", "jsCall_jiiji_31", "jsCall_jiiji_32", "jsCall_jiiji_33", "jsCall_jiiji_34", "_io_read_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jij = [0, "jsCall_jij_0", "jsCall_jij_1", "jsCall_jij_2", "jsCall_jij_3", "jsCall_jij_4", "jsCall_jij_5", "jsCall_jij_6", "jsCall_jij_7", "jsCall_jij_8", "jsCall_jij_9", "jsCall_jij_10", "jsCall_jij_11", "jsCall_jij_12", "jsCall_jij_13", "jsCall_jij_14", "jsCall_jij_15", "jsCall_jij_16", "jsCall_jij_17", "jsCall_jij_18", "jsCall_jij_19", "jsCall_jij_20", "jsCall_jij_21", "jsCall_jij_22", "jsCall_jij_23", "jsCall_jij_24", "jsCall_jij_25", "jsCall_jij_26", "jsCall_jij_27", "jsCall_jij_28", "jsCall_jij_29", "jsCall_jij_30", "jsCall_jij_31", "jsCall_jij_32", "jsCall_jij_33", "jsCall_jij_34", "_get_delay", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_jiji = [0, "jsCall_jiji_0", "jsCall_jiji_1", "jsCall_jiji_2", "jsCall_jiji_3", "jsCall_jiji_4", "jsCall_jiji_5", "jsCall_jiji_6", "jsCall_jiji_7", "jsCall_jiji_8", "jsCall_jiji_9", "jsCall_jiji_10", "jsCall_jiji_11", "jsCall_jiji_12", "jsCall_jiji_13", "jsCall_jiji_14", "jsCall_jiji_15", "jsCall_jiji_16", "jsCall_jiji_17", "jsCall_jiji_18", "jsCall_jiji_19", "jsCall_jiji_20", "jsCall_jiji_21", "jsCall_jiji_22", "jsCall_jiji_23", "jsCall_jiji_24", "jsCall_jiji_25", "jsCall_jiji_26", "jsCall_jiji_27", "jsCall_jiji_28", "jsCall_jiji_29", "jsCall_jiji_30", "jsCall_jiji_31", "jsCall_jiji_32", "jsCall_jiji_33", "jsCall_jiji_34", "___stdio_seek", "___emscripten_stdout_seek", "_seek_in_buffer", "_io_seek", "_dyn_buf_seek", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_v = [0, "jsCall_v_0", "jsCall_v_1", "jsCall_v_2", "jsCall_v_3", "jsCall_v_4", "jsCall_v_5", "jsCall_v_6", "jsCall_v_7", "jsCall_v_8", "jsCall_v_9", "jsCall_v_10", "jsCall_v_11", "jsCall_v_12", "jsCall_v_13", "jsCall_v_14", "jsCall_v_15", "jsCall_v_16", "jsCall_v_17", "jsCall_v_18", "jsCall_v_19", "jsCall_v_20", "jsCall_v_21", "jsCall_v_22", "jsCall_v_23", "jsCall_v_24", "jsCall_v_25", "jsCall_v_26", "jsCall_v_27", "jsCall_v_28", "jsCall_v_29", "jsCall_v_30", "jsCall_v_31", "jsCall_v_32", "jsCall_v_33", "jsCall_v_34", "_init_ff_cos_tabs_16", "_init_ff_cos_tabs_32", "_init_ff_cos_tabs_64", "_init_ff_cos_tabs_128", "_init_ff_cos_tabs_256", "_init_ff_cos_tabs_512", "_init_ff_cos_tabs_1024", "_init_ff_cos_tabs_2048", "_init_ff_cos_tabs_4096", "_init_ff_cos_tabs_8192", "_init_ff_cos_tabs_16384", "_init_ff_cos_tabs_32768", "_init_ff_cos_tabs_65536", "_init_ff_cos_tabs_131072", "_introduce_mine", "_introduceMineFunc", "_av_format_init_next", "_av_codec_init_static", "_av_codec_init_next", "_ff_init_mpadsp_tabs_float", "_ff_init_mpadsp_tabs_fixed", "_aac_static_table_init", "_AV_CRC_8_ATM_init_table_once", "_AV_CRC_8_EBU_init_table_once", "_AV_CRC_16_ANSI_init_table_once", "_AV_CRC_16_CCITT_init_table_once", "_AV_CRC_24_IEEE_init_table_once", "_AV_CRC_32_IEEE_init_table_once", "_AV_CRC_32_IEEE_LE_init_table_once", "_AV_CRC_16_ANSI_LE_init_table_once", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiii = [0, "jsCall_vdiidiiiii_0", "jsCall_vdiidiiiii_1", "jsCall_vdiidiiiii_2", "jsCall_vdiidiiiii_3", "jsCall_vdiidiiiii_4", "jsCall_vdiidiiiii_5", "jsCall_vdiidiiiii_6", "jsCall_vdiidiiiii_7", "jsCall_vdiidiiiii_8", "jsCall_vdiidiiiii_9", "jsCall_vdiidiiiii_10", "jsCall_vdiidiiiii_11", "jsCall_vdiidiiiii_12", "jsCall_vdiidiiiii_13", "jsCall_vdiidiiiii_14", "jsCall_vdiidiiiii_15", "jsCall_vdiidiiiii_16", "jsCall_vdiidiiiii_17", "jsCall_vdiidiiiii_18", "jsCall_vdiidiiiii_19", "jsCall_vdiidiiiii_20", "jsCall_vdiidiiiii_21", "jsCall_vdiidiiiii_22", "jsCall_vdiidiiiii_23", "jsCall_vdiidiiiii_24", "jsCall_vdiidiiiii_25", "jsCall_vdiidiiiii_26", "jsCall_vdiidiiiii_27", "jsCall_vdiidiiiii_28", "jsCall_vdiidiiiii_29", "jsCall_vdiidiiiii_30", "jsCall_vdiidiiiii_31", "jsCall_vdiidiiiii_32", "jsCall_vdiidiiiii_33", "jsCall_vdiidiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vdiidiiiiii = [0, "jsCall_vdiidiiiiii_0", "jsCall_vdiidiiiiii_1", "jsCall_vdiidiiiiii_2", "jsCall_vdiidiiiiii_3", "jsCall_vdiidiiiiii_4", "jsCall_vdiidiiiiii_5", "jsCall_vdiidiiiiii_6", "jsCall_vdiidiiiiii_7", "jsCall_vdiidiiiiii_8", "jsCall_vdiidiiiiii_9", "jsCall_vdiidiiiiii_10", "jsCall_vdiidiiiiii_11", "jsCall_vdiidiiiiii_12", "jsCall_vdiidiiiiii_13", "jsCall_vdiidiiiiii_14", "jsCall_vdiidiiiiii_15", "jsCall_vdiidiiiiii_16", "jsCall_vdiidiiiiii_17", "jsCall_vdiidiiiiii_18", "jsCall_vdiidiiiiii_19", "jsCall_vdiidiiiiii_20", "jsCall_vdiidiiiiii_21", "jsCall_vdiidiiiiii_22", "jsCall_vdiidiiiiii_23", "jsCall_vdiidiiiiii_24", "jsCall_vdiidiiiiii_25", "jsCall_vdiidiiiiii_26", "jsCall_vdiidiiiiii_27", "jsCall_vdiidiiiiii_28", "jsCall_vdiidiiiiii_29", "jsCall_vdiidiiiiii_30", "jsCall_vdiidiiiiii_31", "jsCall_vdiidiiiiii_32", "jsCall_vdiidiiiiii_33", "jsCall_vdiidiiiiii_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vi = [0, "jsCall_vi_0", "jsCall_vi_1", "jsCall_vi_2", "jsCall_vi_3", "jsCall_vi_4", "jsCall_vi_5", "jsCall_vi_6", "jsCall_vi_7", "jsCall_vi_8", "jsCall_vi_9", "jsCall_vi_10", "jsCall_vi_11", "jsCall_vi_12", "jsCall_vi_13", "jsCall_vi_14", "jsCall_vi_15", "jsCall_vi_16", "jsCall_vi_17", "jsCall_vi_18", "jsCall_vi_19", "jsCall_vi_20", "jsCall_vi_21", "jsCall_vi_22", "jsCall_vi_23", "jsCall_vi_24", "jsCall_vi_25", "jsCall_vi_26", "jsCall_vi_27", "jsCall_vi_28", "jsCall_vi_29", "jsCall_vi_30", "jsCall_vi_31", "jsCall_vi_32", "jsCall_vi_33", "jsCall_vi_34", "_free_geobtag", "_free_apic", "_free_chapter", "_free_priv", "_hevc_decode_flush", "_flush", "_flush_3915", "_fft4", "_fft8", "_fft16", "_fft32", "_fft64", "_fft128", "_fft256", "_fft512", "_fft1024", "_fft2048", "_fft4096", "_fft8192", "_fft16384", "_fft32768", "_fft65536", "_fft131072", "_h264_close", "_hevc_parser_close", "_ff_parse_close", "_resample_free", "_logRequest_downloadSucceeded", "_logRequest_downloadFailed", "_downloadSucceeded", "_downloadFailed", "_transform_4x4_luma_9", "_idct_4x4_dc_9", "_idct_8x8_dc_9", "_idct_16x16_dc_9", "_idct_32x32_dc_9", "_transform_4x4_luma_10", "_idct_4x4_dc_10", "_idct_8x8_dc_10", "_idct_16x16_dc_10", "_idct_32x32_dc_10", "_transform_4x4_luma_12", "_idct_4x4_dc_12", "_idct_8x8_dc_12", "_idct_16x16_dc_12", "_idct_32x32_dc_12", "_transform_4x4_luma_8", "_idct_4x4_dc_8", "_idct_8x8_dc_8", "_idct_16x16_dc_8", "_idct_32x32_dc_8", "_main_function", "_sbr_sum64x5_c", "_sbr_neg_odd_64_c", "_sbr_qmf_pre_shuffle_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_vii = [0, "jsCall_vii_0", "jsCall_vii_1", "jsCall_vii_2", "jsCall_vii_3", "jsCall_vii_4", "jsCall_vii_5", "jsCall_vii_6", "jsCall_vii_7", "jsCall_vii_8", "jsCall_vii_9", "jsCall_vii_10", "jsCall_vii_11", "jsCall_vii_12", "jsCall_vii_13", "jsCall_vii_14", "jsCall_vii_15", "jsCall_vii_16", "jsCall_vii_17", "jsCall_vii_18", "jsCall_vii_19", "jsCall_vii_20", "jsCall_vii_21", "jsCall_vii_22", "jsCall_vii_23", "jsCall_vii_24", "jsCall_vii_25", "jsCall_vii_26", "jsCall_vii_27", "jsCall_vii_28", "jsCall_vii_29", "jsCall_vii_30", "jsCall_vii_31", "jsCall_vii_32", "jsCall_vii_33", "jsCall_vii_34", "_io_close_default", "_lumRangeFromJpeg_c", "_lumRangeToJpeg_c", "_lumRangeFromJpeg16_c", "_lumRangeToJpeg16_c", "_decode_data_free", "_dequant_9", "_idct_4x4_9", "_idct_8x8_9", "_idct_16x16_9", "_idct_32x32_9", "_dequant_10", "_idct_4x4_10", "_idct_8x8_10", "_idct_16x16_10", "_idct_32x32_10", "_dequant_12", "_idct_4x4_12", "_idct_8x8_12", "_idct_16x16_12", "_idct_32x32_12", "_dequant_8", "_idct_4x4_8", "_idct_8x8_8", "_idct_16x16_8", "_idct_32x32_8", "_ff_dct32_fixed", "_imdct_and_windowing", "_apply_ltp", "_update_ltp", "_imdct_and_windowing_ld", "_imdct_and_windowing_eld", "_imdct_and_windowing_960", "_ff_dct32_float", "_dct32_func", "_dct_calc_I_c", "_dct_calc_II_c", "_dct_calc_III_c", "_dst_calc_I_c", "_fft_permute_c", "_fft_calc_c", "_ff_h264_chroma_dc_dequant_idct_9_c", "_ff_h264_chroma422_dc_dequant_idct_9_c", "_ff_h264_chroma_dc_dequant_idct_10_c", "_ff_h264_chroma422_dc_dequant_idct_10_c", "_ff_h264_chroma_dc_dequant_idct_12_c", "_ff_h264_chroma422_dc_dequant_idct_12_c", "_ff_h264_chroma_dc_dequant_idct_14_c", "_ff_h264_chroma422_dc_dequant_idct_14_c", "_ff_h264_chroma_dc_dequant_idct_8_c", "_ff_h264_chroma422_dc_dequant_idct_8_c", "_hevc_pps_free", "_rdft_calc_c", "_sbr_qmf_post_shuffle_c", "_sbr_qmf_deint_neg_c", "_sbr_autocorrelate_c", "_av_buffer_default_free", "_pool_release_buffer", "_sha1_transform", "_sha256_transform", "_pop_arg_long_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viidi = [0, "jsCall_viidi_0", "jsCall_viidi_1", "jsCall_viidi_2", "jsCall_viidi_3", "jsCall_viidi_4", "jsCall_viidi_5", "jsCall_viidi_6", "jsCall_viidi_7", "jsCall_viidi_8", "jsCall_viidi_9", "jsCall_viidi_10", "jsCall_viidi_11", "jsCall_viidi_12", "jsCall_viidi_13", "jsCall_viidi_14", "jsCall_viidi_15", "jsCall_viidi_16", "jsCall_viidi_17", "jsCall_viidi_18", "jsCall_viidi_19", "jsCall_viidi_20", "jsCall_viidi_21", "jsCall_viidi_22", "jsCall_viidi_23", "jsCall_viidi_24", "jsCall_viidi_25", "jsCall_viidi_26", "jsCall_viidi_27", "jsCall_viidi_28", "jsCall_viidi_29", "jsCall_viidi_30", "jsCall_viidi_31", "jsCall_viidi_32", "jsCall_viidi_33", "jsCall_viidi_34", "_vector_dmac_scalar_c", "_vector_dmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viifi = [0, "jsCall_viifi_0", "jsCall_viifi_1", "jsCall_viifi_2", "jsCall_viifi_3", "jsCall_viifi_4", "jsCall_viifi_5", "jsCall_viifi_6", "jsCall_viifi_7", "jsCall_viifi_8", "jsCall_viifi_9", "jsCall_viifi_10", "jsCall_viifi_11", "jsCall_viifi_12", "jsCall_viifi_13", "jsCall_viifi_14", "jsCall_viifi_15", "jsCall_viifi_16", "jsCall_viifi_17", "jsCall_viifi_18", "jsCall_viifi_19", "jsCall_viifi_20", "jsCall_viifi_21", "jsCall_viifi_22", "jsCall_viifi_23", "jsCall_viifi_24", "jsCall_viifi_25", "jsCall_viifi_26", "jsCall_viifi_27", "jsCall_viifi_28", "jsCall_viifi_29", "jsCall_viifi_30", "jsCall_viifi_31", "jsCall_viifi_32", "jsCall_viifi_33", "jsCall_viifi_34", "_vector_fmac_scalar_c", "_vector_fmul_scalar_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viii = [0, "jsCall_viii_0", "jsCall_viii_1", "jsCall_viii_2", "jsCall_viii_3", "jsCall_viii_4", "jsCall_viii_5", "jsCall_viii_6", "jsCall_viii_7", "jsCall_viii_8", "jsCall_viii_9", "jsCall_viii_10", "jsCall_viii_11", "jsCall_viii_12", "jsCall_viii_13", "jsCall_viii_14", "jsCall_viii_15", "jsCall_viii_16", "jsCall_viii_17", "jsCall_viii_18", "jsCall_viii_19", "jsCall_viii_20", "jsCall_viii_21", "jsCall_viii_22", "jsCall_viii_23", "jsCall_viii_24", "jsCall_viii_25", "jsCall_viii_26", "jsCall_viii_27", "jsCall_viii_28", "jsCall_viii_29", "jsCall_viii_30", "jsCall_viii_31", "jsCall_viii_32", "jsCall_viii_33", "jsCall_viii_34", "_avcHandleFrame", "_handleFrame", "_sdt_cb", "_pat_cb", "_pmt_cb", "_scte_data_cb", "_m4sl_cb", "_chrRangeFromJpeg_c", "_chrRangeToJpeg_c", "_chrRangeFromJpeg16_c", "_chrRangeToJpeg16_c", "_rgb15to16_c", "_rgb15tobgr24_c", "_rgb15to32_c", "_rgb16tobgr24_c", "_rgb16to32_c", "_rgb16to15_c", "_rgb24tobgr16_c", "_rgb24tobgr15_c", "_rgb24tobgr32_c", "_rgb32to16_c", "_rgb32to15_c", "_rgb32tobgr24_c", "_rgb24to15_c", "_rgb24to16_c", "_rgb24tobgr24_c", "_shuffle_bytes_0321_c", "_shuffle_bytes_2103_c", "_shuffle_bytes_1230_c", "_shuffle_bytes_3012_c", "_shuffle_bytes_3210_c", "_rgb32tobgr16_c", "_rgb32tobgr15_c", "_rgb48tobgr48_bswap", "_rgb48tobgr64_bswap", "_rgb48to64_bswap", "_rgb64to48_bswap", "_rgb48tobgr48_nobswap", "_rgb48tobgr64_nobswap", "_rgb48to64_nobswap", "_rgb64tobgr48_nobswap", "_rgb64tobgr48_bswap", "_rgb64to48_nobswap", "_rgb12to15", "_rgb15to24", "_rgb16to24", "_rgb32to24", "_rgb24to32", "_rgb12tobgr12", "_rgb15tobgr15", "_rgb16tobgr15", "_rgb15tobgr16", "_rgb16tobgr16", "_rgb15tobgr32", "_rgb16tobgr32", "_add_residual4x4_9", "_add_residual8x8_9", "_add_residual16x16_9", "_add_residual32x32_9", "_transform_rdpcm_9", "_add_residual4x4_10", "_add_residual8x8_10", "_add_residual16x16_10", "_add_residual32x32_10", "_transform_rdpcm_10", "_add_residual4x4_12", "_add_residual8x8_12", "_add_residual16x16_12", "_add_residual32x32_12", "_transform_rdpcm_12", "_add_residual4x4_8", "_add_residual8x8_8", "_add_residual16x16_8", "_add_residual32x32_8", "_transform_rdpcm_8", "_just_return", "_bswap_buf", "_bswap16_buf", "_ff_imdct_calc_c", "_ff_imdct_half_c", "_ff_mdct_calc_c", "_ff_h264_add_pixels4_16_c", "_ff_h264_add_pixels4_8_c", "_ff_h264_add_pixels8_16_c", "_ff_h264_add_pixels8_8_c", "_ff_h264_idct_add_9_c", "_ff_h264_idct8_add_9_c", "_ff_h264_idct_dc_add_9_c", "_ff_h264_idct8_dc_add_9_c", "_ff_h264_luma_dc_dequant_idct_9_c", "_ff_h264_idct_add_10_c", "_ff_h264_idct8_add_10_c", "_ff_h264_idct_dc_add_10_c", "_ff_h264_idct8_dc_add_10_c", "_ff_h264_luma_dc_dequant_idct_10_c", "_ff_h264_idct_add_12_c", "_ff_h264_idct8_add_12_c", "_ff_h264_idct_dc_add_12_c", "_ff_h264_idct8_dc_add_12_c", "_ff_h264_luma_dc_dequant_idct_12_c", "_ff_h264_idct_add_14_c", "_ff_h264_idct8_add_14_c", "_ff_h264_idct_dc_add_14_c", "_ff_h264_idct8_dc_add_14_c", "_ff_h264_luma_dc_dequant_idct_14_c", "_ff_h264_idct_add_8_c", "_ff_h264_idct8_add_8_c", "_ff_h264_idct_dc_add_8_c", "_ff_h264_idct8_dc_add_8_c", "_ff_h264_luma_dc_dequant_idct_8_c", "_sbr_qmf_deint_bfly_c", "_ps_add_squares_c", "_butterflies_float_c", "_cpy1", "_cpy2", "_cpy4", "_cpy8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiid = [0, "jsCall_viiid_0", "jsCall_viiid_1", "jsCall_viiid_2", "jsCall_viiid_3", "jsCall_viiid_4", "jsCall_viiid_5", "jsCall_viiid_6", "jsCall_viiid_7", "jsCall_viiid_8", "jsCall_viiid_9", "jsCall_viiid_10", "jsCall_viiid_11", "jsCall_viiid_12", "jsCall_viiid_13", "jsCall_viiid_14", "jsCall_viiid_15", "jsCall_viiid_16", "jsCall_viiid_17", "jsCall_viiid_18", "jsCall_viiid_19", "jsCall_viiid_20", "jsCall_viiid_21", "jsCall_viiid_22", "jsCall_viiid_23", "jsCall_viiid_24", "jsCall_viiid_25", "jsCall_viiid_26", "jsCall_viiid_27", "jsCall_viiid_28", "jsCall_viiid_29", "jsCall_viiid_30", "jsCall_viiid_31", "jsCall_viiid_32", "jsCall_viiid_33", "jsCall_viiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiii = [0, "jsCall_viiii_0", "jsCall_viiii_1", "jsCall_viiii_2", "jsCall_viiii_3", "jsCall_viiii_4", "jsCall_viiii_5", "jsCall_viiii_6", "jsCall_viiii_7", "jsCall_viiii_8", "jsCall_viiii_9", "jsCall_viiii_10", "jsCall_viiii_11", "jsCall_viiii_12", "jsCall_viiii_13", "jsCall_viiii_14", "jsCall_viiii_15", "jsCall_viiii_16", "jsCall_viiii_17", "jsCall_viiii_18", "jsCall_viiii_19", "jsCall_viiii_20", "jsCall_viiii_21", "jsCall_viiii_22", "jsCall_viiii_23", "jsCall_viiii_24", "jsCall_viiii_25", "jsCall_viiii_26", "jsCall_viiii_27", "jsCall_viiii_28", "jsCall_viiii_29", "jsCall_viiii_30", "jsCall_viiii_31", "jsCall_viiii_32", "jsCall_viiii_33", "jsCall_viiii_34", "_planar_rgb9le_to_y", "_planar_rgb10le_to_a", "_planar_rgb10le_to_y", "_planar_rgb12le_to_a", "_planar_rgb12le_to_y", "_planar_rgb14le_to_y", "_planar_rgb16le_to_a", "_planar_rgb16le_to_y", "_planar_rgb9be_to_y", "_planar_rgb10be_to_a", "_planar_rgb10be_to_y", "_planar_rgb12be_to_a", "_planar_rgb12be_to_y", "_planar_rgb14be_to_y", "_planar_rgb16be_to_a", "_planar_rgb16be_to_y", "_planar_rgb_to_a", "_planar_rgb_to_y", "_gray8aToPacked32", "_gray8aToPacked32_1", "_gray8aToPacked24", "_sws_convertPalette8ToPacked32", "_sws_convertPalette8ToPacked24", "_intra_pred_2_9", "_intra_pred_3_9", "_intra_pred_4_9", "_intra_pred_5_9", "_pred_planar_0_9", "_pred_planar_1_9", "_pred_planar_2_9", "_pred_planar_3_9", "_intra_pred_2_10", "_intra_pred_3_10", "_intra_pred_4_10", "_intra_pred_5_10", "_pred_planar_0_10", "_pred_planar_1_10", "_pred_planar_2_10", "_pred_planar_3_10", "_intra_pred_2_12", "_intra_pred_3_12", "_intra_pred_4_12", "_intra_pred_5_12", "_pred_planar_0_12", "_pred_planar_1_12", "_pred_planar_2_12", "_pred_planar_3_12", "_intra_pred_2_8", "_intra_pred_3_8", "_intra_pred_4_8", "_intra_pred_5_8", "_pred_planar_0_8", "_pred_planar_1_8", "_pred_planar_2_8", "_pred_planar_3_8", "_apply_tns", "_windowing_and_mdct_ltp", "_h264_v_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_intra_9_c", "_h264_h_loop_filter_luma_mbaff_intra_9_c", "_h264_v_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma_intra_9_c", "_h264_h_loop_filter_chroma422_intra_9_c", "_h264_h_loop_filter_chroma_mbaff_intra_9_c", "_h264_h_loop_filter_chroma422_mbaff_intra_9_c", "_h264_v_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_intra_10_c", "_h264_h_loop_filter_luma_mbaff_intra_10_c", "_h264_v_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma_intra_10_c", "_h264_h_loop_filter_chroma422_intra_10_c", "_h264_h_loop_filter_chroma_mbaff_intra_10_c", "_h264_h_loop_filter_chroma422_mbaff_intra_10_c", "_h264_v_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_intra_12_c", "_h264_h_loop_filter_luma_mbaff_intra_12_c", "_h264_v_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma_intra_12_c", "_h264_h_loop_filter_chroma422_intra_12_c", "_h264_h_loop_filter_chroma_mbaff_intra_12_c", "_h264_h_loop_filter_chroma422_mbaff_intra_12_c", "_h264_v_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_intra_14_c", "_h264_h_loop_filter_luma_mbaff_intra_14_c", "_h264_v_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma_intra_14_c", "_h264_h_loop_filter_chroma422_intra_14_c", "_h264_h_loop_filter_chroma_mbaff_intra_14_c", "_h264_h_loop_filter_chroma422_mbaff_intra_14_c", "_h264_v_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_intra_8_c", "_h264_h_loop_filter_luma_mbaff_intra_8_c", "_h264_v_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma_intra_8_c", "_h264_h_loop_filter_chroma422_intra_8_c", "_h264_h_loop_filter_chroma_mbaff_intra_8_c", "_h264_h_loop_filter_chroma422_mbaff_intra_8_c", "_fft15_c", "_mdct15", "_imdct15_half", "_ps_mul_pair_single_c", "_ps_hybrid_analysis_ileave_c", "_ps_hybrid_synthesis_deint_c", "_vector_fmul_c", "_vector_dmul_c", "_vector_fmul_reverse_c", "_av_log_default_callback", "_mix6to2_s16", "_mix8to2_s16", "_mix6to2_clip_s16", "_mix8to2_clip_s16", "_mix6to2_float", "_mix8to2_float", "_mix6to2_double", "_mix8to2_double", "_mix6to2_s32", "_mix8to2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiifii = [0, "jsCall_viiiifii_0", "jsCall_viiiifii_1", "jsCall_viiiifii_2", "jsCall_viiiifii_3", "jsCall_viiiifii_4", "jsCall_viiiifii_5", "jsCall_viiiifii_6", "jsCall_viiiifii_7", "jsCall_viiiifii_8", "jsCall_viiiifii_9", "jsCall_viiiifii_10", "jsCall_viiiifii_11", "jsCall_viiiifii_12", "jsCall_viiiifii_13", "jsCall_viiiifii_14", "jsCall_viiiifii_15", "jsCall_viiiifii_16", "jsCall_viiiifii_17", "jsCall_viiiifii_18", "jsCall_viiiifii_19", "jsCall_viiiifii_20", "jsCall_viiiifii_21", "jsCall_viiiifii_22", "jsCall_viiiifii_23", "jsCall_viiiifii_24", "jsCall_viiiifii_25", "jsCall_viiiifii_26", "jsCall_viiiifii_27", "jsCall_viiiifii_28", "jsCall_viiiifii_29", "jsCall_viiiifii_30", "jsCall_viiiifii_31", "jsCall_viiiifii_32", "jsCall_viiiifii_33", "jsCall_viiiifii_34", "_sbr_hf_gen_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiii = [0, "jsCall_viiiii_0", "jsCall_viiiii_1", "jsCall_viiiii_2", "jsCall_viiiii_3", "jsCall_viiiii_4", "jsCall_viiiii_5", "jsCall_viiiii_6", "jsCall_viiiii_7", "jsCall_viiiii_8", "jsCall_viiiii_9", "jsCall_viiiii_10", "jsCall_viiiii_11", "jsCall_viiiii_12", "jsCall_viiiii_13", "jsCall_viiiii_14", "jsCall_viiiii_15", "jsCall_viiiii_16", "jsCall_viiiii_17", "jsCall_viiiii_18", "jsCall_viiiii_19", "jsCall_viiiii_20", "jsCall_viiiii_21", "jsCall_viiiii_22", "jsCall_viiiii_23", "jsCall_viiiii_24", "jsCall_viiiii_25", "jsCall_viiiii_26", "jsCall_viiiii_27", "jsCall_viiiii_28", "jsCall_viiiii_29", "jsCall_viiiii_30", "jsCall_viiiii_31", "jsCall_viiiii_32", "jsCall_viiiii_33", "jsCall_viiiii_34", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_U8_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S32_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S64", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_U8", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S16", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S32", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_FLT", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_DBL", "_conv_AV_SAMPLE_FMT_S64_to_AV_SAMPLE_FMT_S64", "_planar_rgb9le_to_uv", "_planar_rgb10le_to_uv", "_planar_rgb12le_to_uv", "_planar_rgb14le_to_uv", "_planar_rgb16le_to_uv", "_planar_rgb9be_to_uv", "_planar_rgb10be_to_uv", "_planar_rgb12be_to_uv", "_planar_rgb14be_to_uv", "_planar_rgb16be_to_uv", "_planar_rgb_to_uv", "_yuv2p010l1_LE_c", "_yuv2p010l1_BE_c", "_yuv2plane1_16LE_c", "_yuv2plane1_16BE_c", "_yuv2plane1_9LE_c", "_yuv2plane1_9BE_c", "_yuv2plane1_10LE_c", "_yuv2plane1_10BE_c", "_yuv2plane1_12LE_c", "_yuv2plane1_12BE_c", "_yuv2plane1_14LE_c", "_yuv2plane1_14BE_c", "_yuv2plane1_floatBE_c", "_yuv2plane1_floatLE_c", "_yuv2plane1_8_c", "_bayer_bggr8_to_rgb24_copy", "_bayer_bggr8_to_rgb24_interpolate", "_bayer_bggr16le_to_rgb24_copy", "_bayer_bggr16le_to_rgb24_interpolate", "_bayer_bggr16be_to_rgb24_copy", "_bayer_bggr16be_to_rgb24_interpolate", "_bayer_rggb8_to_rgb24_copy", "_bayer_rggb8_to_rgb24_interpolate", "_bayer_rggb16le_to_rgb24_copy", "_bayer_rggb16le_to_rgb24_interpolate", "_bayer_rggb16be_to_rgb24_copy", "_bayer_rggb16be_to_rgb24_interpolate", "_bayer_gbrg8_to_rgb24_copy", "_bayer_gbrg8_to_rgb24_interpolate", "_bayer_gbrg16le_to_rgb24_copy", "_bayer_gbrg16le_to_rgb24_interpolate", "_bayer_gbrg16be_to_rgb24_copy", "_bayer_gbrg16be_to_rgb24_interpolate", "_bayer_grbg8_to_rgb24_copy", "_bayer_grbg8_to_rgb24_interpolate", "_bayer_grbg16le_to_rgb24_copy", "_bayer_grbg16le_to_rgb24_interpolate", "_bayer_grbg16be_to_rgb24_copy", "_bayer_grbg16be_to_rgb24_interpolate", "_hevc_h_loop_filter_chroma_9", "_hevc_v_loop_filter_chroma_9", "_hevc_h_loop_filter_chroma_10", "_hevc_v_loop_filter_chroma_10", "_hevc_h_loop_filter_chroma_12", "_hevc_v_loop_filter_chroma_12", "_hevc_h_loop_filter_chroma_8", "_hevc_v_loop_filter_chroma_8", "_ff_mpadsp_apply_window_float", "_ff_mpadsp_apply_window_fixed", "_worker_func", "_sbr_hf_assemble", "_sbr_hf_inverse_filter", "_ff_h264_idct_add16_9_c", "_ff_h264_idct8_add4_9_c", "_ff_h264_idct_add8_9_c", "_ff_h264_idct_add8_422_9_c", "_ff_h264_idct_add16intra_9_c", "_h264_v_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_9_c", "_h264_h_loop_filter_luma_mbaff_9_c", "_h264_v_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma_9_c", "_h264_h_loop_filter_chroma422_9_c", "_h264_h_loop_filter_chroma_mbaff_9_c", "_h264_h_loop_filter_chroma422_mbaff_9_c", "_ff_h264_idct_add16_10_c", "_ff_h264_idct8_add4_10_c", "_ff_h264_idct_add8_10_c", "_ff_h264_idct_add8_422_10_c", "_ff_h264_idct_add16intra_10_c", "_h264_v_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_10_c", "_h264_h_loop_filter_luma_mbaff_10_c", "_h264_v_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma_10_c", "_h264_h_loop_filter_chroma422_10_c", "_h264_h_loop_filter_chroma_mbaff_10_c", "_h264_h_loop_filter_chroma422_mbaff_10_c", "_ff_h264_idct_add16_12_c", "_ff_h264_idct8_add4_12_c", "_ff_h264_idct_add8_12_c", "_ff_h264_idct_add8_422_12_c", "_ff_h264_idct_add16intra_12_c", "_h264_v_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_12_c", "_h264_h_loop_filter_luma_mbaff_12_c", "_h264_v_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma_12_c", "_h264_h_loop_filter_chroma422_12_c", "_h264_h_loop_filter_chroma_mbaff_12_c", "_h264_h_loop_filter_chroma422_mbaff_12_c", "_ff_h264_idct_add16_14_c", "_ff_h264_idct8_add4_14_c", "_ff_h264_idct_add8_14_c", "_ff_h264_idct_add8_422_14_c", "_ff_h264_idct_add16intra_14_c", "_h264_v_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_14_c", "_h264_h_loop_filter_luma_mbaff_14_c", "_h264_v_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma_14_c", "_h264_h_loop_filter_chroma422_14_c", "_h264_h_loop_filter_chroma_mbaff_14_c", "_h264_h_loop_filter_chroma422_mbaff_14_c", "_ff_h264_idct_add16_8_c", "_ff_h264_idct8_add4_8_c", "_ff_h264_idct_add8_8_c", "_ff_h264_idct_add8_422_8_c", "_ff_h264_idct_add16intra_8_c", "_h264_v_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_8_c", "_h264_h_loop_filter_luma_mbaff_8_c", "_h264_v_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma_8_c", "_h264_h_loop_filter_chroma422_8_c", "_h264_h_loop_filter_chroma_mbaff_8_c", "_h264_h_loop_filter_chroma422_mbaff_8_c", "_postrotate_c", "_sbr_hf_g_filt_c", "_ps_hybrid_analysis_c", "_ps_stereo_interpolate_c", "_ps_stereo_interpolate_ipdopd_c", "_vector_fmul_window_c", "_vector_fmul_add_c", "_copy_s16", "_copy_clip_s16", "_copy_float", "_copy_double", "_copy_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiidd = [0, "jsCall_viiiiidd_0", "jsCall_viiiiidd_1", "jsCall_viiiiidd_2", "jsCall_viiiiidd_3", "jsCall_viiiiidd_4", "jsCall_viiiiidd_5", "jsCall_viiiiidd_6", "jsCall_viiiiidd_7", "jsCall_viiiiidd_8", "jsCall_viiiiidd_9", "jsCall_viiiiidd_10", "jsCall_viiiiidd_11", "jsCall_viiiiidd_12", "jsCall_viiiiidd_13", "jsCall_viiiiidd_14", "jsCall_viiiiidd_15", "jsCall_viiiiidd_16", "jsCall_viiiiidd_17", "jsCall_viiiiidd_18", "jsCall_viiiiidd_19", "jsCall_viiiiidd_20", "jsCall_viiiiidd_21", "jsCall_viiiiidd_22", "jsCall_viiiiidd_23", "jsCall_viiiiidd_24", "jsCall_viiiiidd_25", "jsCall_viiiiidd_26", "jsCall_viiiiidd_27", "jsCall_viiiiidd_28", "jsCall_viiiiidd_29", "jsCall_viiiiidd_30", "jsCall_viiiiidd_31", "jsCall_viiiiidd_32", "jsCall_viiiiidd_33", "jsCall_viiiiidd_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiddi = [0, "jsCall_viiiiiddi_0", "jsCall_viiiiiddi_1", "jsCall_viiiiiddi_2", "jsCall_viiiiiddi_3", "jsCall_viiiiiddi_4", "jsCall_viiiiiddi_5", "jsCall_viiiiiddi_6", "jsCall_viiiiiddi_7", "jsCall_viiiiiddi_8", "jsCall_viiiiiddi_9", "jsCall_viiiiiddi_10", "jsCall_viiiiiddi_11", "jsCall_viiiiiddi_12", "jsCall_viiiiiddi_13", "jsCall_viiiiiddi_14", "jsCall_viiiiiddi_15", "jsCall_viiiiiddi_16", "jsCall_viiiiiddi_17", "jsCall_viiiiiddi_18", "jsCall_viiiiiddi_19", "jsCall_viiiiiddi_20", "jsCall_viiiiiddi_21", "jsCall_viiiiiddi_22", "jsCall_viiiiiddi_23", "jsCall_viiiiiddi_24", "jsCall_viiiiiddi_25", "jsCall_viiiiiddi_26", "jsCall_viiiiiddi_27", "jsCall_viiiiiddi_28", "jsCall_viiiiiddi_29", "jsCall_viiiiiddi_30", "jsCall_viiiiiddi_31", "jsCall_viiiiiddi_32", "jsCall_viiiiiddi_33", "jsCall_viiiiiddi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiii = [0, "jsCall_viiiiii_0", "jsCall_viiiiii_1", "jsCall_viiiiii_2", "jsCall_viiiiii_3", "jsCall_viiiiii_4", "jsCall_viiiiii_5", "jsCall_viiiiii_6", "jsCall_viiiiii_7", "jsCall_viiiiii_8", "jsCall_viiiiii_9", "jsCall_viiiiii_10", "jsCall_viiiiii_11", "jsCall_viiiiii_12", "jsCall_viiiiii_13", "jsCall_viiiiii_14", "jsCall_viiiiii_15", "jsCall_viiiiii_16", "jsCall_viiiiii_17", "jsCall_viiiiii_18", "jsCall_viiiiii_19", "jsCall_viiiiii_20", "jsCall_viiiiii_21", "jsCall_viiiiii_22", "jsCall_viiiiii_23", "jsCall_viiiiii_24", "jsCall_viiiiii_25", "jsCall_viiiiii_26", "jsCall_viiiiii_27", "jsCall_viiiiii_28", "jsCall_viiiiii_29", "jsCall_viiiiii_30", "jsCall_viiiiii_31", "jsCall_viiiiii_32", "jsCall_viiiiii_33", "jsCall_viiiiii_34", "_read_geobtag", "_read_apic", "_read_chapter", "_read_priv", "_ff_hyscale_fast_c", "_bswap16Y_c", "_read_ya16le_gray_c", "_read_ya16be_gray_c", "_read_ayuv64le_Y_c", "_yuy2ToY_c", "_uyvyToY_c", "_bgr24ToY_c", "_bgr16leToY_c", "_bgr16beToY_c", "_bgr15leToY_c", "_bgr15beToY_c", "_bgr12leToY_c", "_bgr12beToY_c", "_rgb24ToY_c", "_rgb16leToY_c", "_rgb16beToY_c", "_rgb15leToY_c", "_rgb15beToY_c", "_rgb12leToY_c", "_rgb12beToY_c", "_palToY_c", "_monoblack2Y_c", "_monowhite2Y_c", "_bgr32ToY_c", "_bgr321ToY_c", "_rgb32ToY_c", "_rgb321ToY_c", "_rgb48BEToY_c", "_rgb48LEToY_c", "_bgr48BEToY_c", "_bgr48LEToY_c", "_rgb64BEToY_c", "_rgb64LEToY_c", "_bgr64BEToY_c", "_bgr64LEToY_c", "_p010LEToY_c", "_p010BEToY_c", "_grayf32ToY16_c", "_grayf32ToY16_bswap_c", "_rgba64leToA_c", "_rgba64beToA_c", "_rgbaToA_c", "_abgrToA_c", "_read_ya16le_alpha_c", "_read_ya16be_alpha_c", "_read_ayuv64le_A_c", "_palToA_c", "_put_pcm_9", "_hevc_h_loop_filter_luma_9", "_hevc_v_loop_filter_luma_9", "_put_pcm_10", "_hevc_h_loop_filter_luma_10", "_hevc_v_loop_filter_luma_10", "_put_pcm_12", "_hevc_h_loop_filter_luma_12", "_hevc_v_loop_filter_luma_12", "_put_pcm_8", "_hevc_h_loop_filter_luma_8", "_hevc_v_loop_filter_luma_8", "_pred_dc_9", "_pred_angular_0_9", "_pred_angular_1_9", "_pred_angular_2_9", "_pred_angular_3_9", "_pred_dc_10", "_pred_angular_0_10", "_pred_angular_1_10", "_pred_angular_2_10", "_pred_angular_3_10", "_pred_dc_12", "_pred_angular_0_12", "_pred_angular_1_12", "_pred_angular_2_12", "_pred_angular_3_12", "_pred_dc_8", "_pred_angular_0_8", "_pred_angular_1_8", "_pred_angular_2_8", "_pred_angular_3_8", "_ff_imdct36_blocks_float", "_ff_imdct36_blocks_fixed", "_weight_h264_pixels16_9_c", "_weight_h264_pixels8_9_c", "_weight_h264_pixels4_9_c", "_weight_h264_pixels2_9_c", "_weight_h264_pixels16_10_c", "_weight_h264_pixels8_10_c", "_weight_h264_pixels4_10_c", "_weight_h264_pixels2_10_c", "_weight_h264_pixels16_12_c", "_weight_h264_pixels8_12_c", "_weight_h264_pixels4_12_c", "_weight_h264_pixels2_12_c", "_weight_h264_pixels16_14_c", "_weight_h264_pixels8_14_c", "_weight_h264_pixels4_14_c", "_weight_h264_pixels2_14_c", "_weight_h264_pixels16_8_c", "_weight_h264_pixels8_8_c", "_weight_h264_pixels4_8_c", "_weight_h264_pixels2_8_c", "_sbr_hf_apply_noise_0", "_sbr_hf_apply_noise_1", "_sbr_hf_apply_noise_2", "_sbr_hf_apply_noise_3", "_aes_decrypt", "_aes_encrypt", "_image_copy_plane", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiifi = [0, "jsCall_viiiiiifi_0", "jsCall_viiiiiifi_1", "jsCall_viiiiiifi_2", "jsCall_viiiiiifi_3", "jsCall_viiiiiifi_4", "jsCall_viiiiiifi_5", "jsCall_viiiiiifi_6", "jsCall_viiiiiifi_7", "jsCall_viiiiiifi_8", "jsCall_viiiiiifi_9", "jsCall_viiiiiifi_10", "jsCall_viiiiiifi_11", "jsCall_viiiiiifi_12", "jsCall_viiiiiifi_13", "jsCall_viiiiiifi_14", "jsCall_viiiiiifi_15", "jsCall_viiiiiifi_16", "jsCall_viiiiiifi_17", "jsCall_viiiiiifi_18", "jsCall_viiiiiifi_19", "jsCall_viiiiiifi_20", "jsCall_viiiiiifi_21", "jsCall_viiiiiifi_22", "jsCall_viiiiiifi_23", "jsCall_viiiiiifi_24", "jsCall_viiiiiifi_25", "jsCall_viiiiiifi_26", "jsCall_viiiiiifi_27", "jsCall_viiiiiifi_28", "jsCall_viiiiiifi_29", "jsCall_viiiiiifi_30", "jsCall_viiiiiifi_31", "jsCall_viiiiiifi_32", "jsCall_viiiiiifi_33", "jsCall_viiiiiifi_34", "_ps_decorrelate_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiii = [0, "jsCall_viiiiiii_0", "jsCall_viiiiiii_1", "jsCall_viiiiiii_2", "jsCall_viiiiiii_3", "jsCall_viiiiiii_4", "jsCall_viiiiiii_5", "jsCall_viiiiiii_6", "jsCall_viiiiiii_7", "jsCall_viiiiiii_8", "jsCall_viiiiiii_9", "jsCall_viiiiiii_10", "jsCall_viiiiiii_11", "jsCall_viiiiiii_12", "jsCall_viiiiiii_13", "jsCall_viiiiiii_14", "jsCall_viiiiiii_15", "jsCall_viiiiiii_16", "jsCall_viiiiiii_17", "jsCall_viiiiiii_18", "jsCall_viiiiiii_19", "jsCall_viiiiiii_20", "jsCall_viiiiiii_21", "jsCall_viiiiiii_22", "jsCall_viiiiiii_23", "jsCall_viiiiiii_24", "jsCall_viiiiiii_25", "jsCall_viiiiiii_26", "jsCall_viiiiiii_27", "jsCall_viiiiiii_28", "jsCall_viiiiiii_29", "jsCall_viiiiiii_30", "jsCall_viiiiiii_31", "jsCall_viiiiiii_32", "jsCall_viiiiiii_33", "jsCall_viiiiiii_34", "_hScale8To15_c", "_hScale8To19_c", "_hScale16To19_c", "_hScale16To15_c", "_yuy2ToUV_c", "_yvy2ToUV_c", "_uyvyToUV_c", "_nv12ToUV_c", "_nv21ToUV_c", "_palToUV_c", "_bswap16UV_c", "_read_ayuv64le_UV_c", "_p010LEToUV_c", "_p010BEToUV_c", "_p016LEToUV_c", "_p016BEToUV_c", "_gbr24pToUV_half_c", "_rgb64BEToUV_half_c", "_rgb64LEToUV_half_c", "_bgr64BEToUV_half_c", "_bgr64LEToUV_half_c", "_rgb48BEToUV_half_c", "_rgb48LEToUV_half_c", "_bgr48BEToUV_half_c", "_bgr48LEToUV_half_c", "_bgr32ToUV_half_c", "_bgr321ToUV_half_c", "_bgr24ToUV_half_c", "_bgr16leToUV_half_c", "_bgr16beToUV_half_c", "_bgr15leToUV_half_c", "_bgr15beToUV_half_c", "_bgr12leToUV_half_c", "_bgr12beToUV_half_c", "_rgb32ToUV_half_c", "_rgb321ToUV_half_c", "_rgb24ToUV_half_c", "_rgb16leToUV_half_c", "_rgb16beToUV_half_c", "_rgb15leToUV_half_c", "_rgb15beToUV_half_c", "_rgb12leToUV_half_c", "_rgb12beToUV_half_c", "_rgb64BEToUV_c", "_rgb64LEToUV_c", "_bgr64BEToUV_c", "_bgr64LEToUV_c", "_rgb48BEToUV_c", "_rgb48LEToUV_c", "_bgr48BEToUV_c", "_bgr48LEToUV_c", "_bgr32ToUV_c", "_bgr321ToUV_c", "_bgr24ToUV_c", "_bgr16leToUV_c", "_bgr16beToUV_c", "_bgr15leToUV_c", "_bgr15beToUV_c", "_bgr12leToUV_c", "_bgr12beToUV_c", "_rgb32ToUV_c", "_rgb321ToUV_c", "_rgb24ToUV_c", "_rgb16leToUV_c", "_rgb16beToUV_c", "_rgb15leToUV_c", "_rgb15beToUV_c", "_rgb12leToUV_c", "_rgb12beToUV_c", "_yuv2p010lX_LE_c", "_yuv2p010lX_BE_c", "_yuv2p010cX_c", "_yuv2planeX_16LE_c", "_yuv2planeX_16BE_c", "_yuv2p016cX_c", "_yuv2planeX_9LE_c", "_yuv2planeX_9BE_c", "_yuv2planeX_10LE_c", "_yuv2planeX_10BE_c", "_yuv2planeX_12LE_c", "_yuv2planeX_12BE_c", "_yuv2planeX_14LE_c", "_yuv2planeX_14BE_c", "_yuv2planeX_floatBE_c", "_yuv2planeX_floatLE_c", "_yuv2planeX_8_c", "_yuv2nv12cX_c", "_sao_edge_filter_9", "_put_hevc_pel_pixels_9", "_put_hevc_qpel_h_9", "_put_hevc_qpel_v_9", "_put_hevc_qpel_hv_9", "_put_hevc_epel_h_9", "_put_hevc_epel_v_9", "_put_hevc_epel_hv_9", "_sao_edge_filter_10", "_put_hevc_pel_pixels_10", "_put_hevc_qpel_h_10", "_put_hevc_qpel_v_10", "_put_hevc_qpel_hv_10", "_put_hevc_epel_h_10", "_put_hevc_epel_v_10", "_put_hevc_epel_hv_10", "_sao_edge_filter_12", "_put_hevc_pel_pixels_12", "_put_hevc_qpel_h_12", "_put_hevc_qpel_v_12", "_put_hevc_qpel_hv_12", "_put_hevc_epel_h_12", "_put_hevc_epel_v_12", "_put_hevc_epel_hv_12", "_sao_edge_filter_8", "_put_hevc_pel_pixels_8", "_put_hevc_qpel_h_8", "_put_hevc_qpel_v_8", "_put_hevc_qpel_hv_8", "_put_hevc_epel_h_8", "_put_hevc_epel_v_8", "_put_hevc_epel_hv_8", "_sum2_s16", "_sum2_clip_s16", "_sum2_float", "_sum2_double", "_sum2_s32", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiii = [0, "jsCall_viiiiiiii_0", "jsCall_viiiiiiii_1", "jsCall_viiiiiiii_2", "jsCall_viiiiiiii_3", "jsCall_viiiiiiii_4", "jsCall_viiiiiiii_5", "jsCall_viiiiiiii_6", "jsCall_viiiiiiii_7", "jsCall_viiiiiiii_8", "jsCall_viiiiiiii_9", "jsCall_viiiiiiii_10", "jsCall_viiiiiiii_11", "jsCall_viiiiiiii_12", "jsCall_viiiiiiii_13", "jsCall_viiiiiiii_14", "jsCall_viiiiiiii_15", "jsCall_viiiiiiii_16", "jsCall_viiiiiiii_17", "jsCall_viiiiiiii_18", "jsCall_viiiiiiii_19", "jsCall_viiiiiiii_20", "jsCall_viiiiiiii_21", "jsCall_viiiiiiii_22", "jsCall_viiiiiiii_23", "jsCall_viiiiiiii_24", "jsCall_viiiiiiii_25", "jsCall_viiiiiiii_26", "jsCall_viiiiiiii_27", "jsCall_viiiiiiii_28", "jsCall_viiiiiiii_29", "jsCall_viiiiiiii_30", "jsCall_viiiiiiii_31", "jsCall_viiiiiiii_32", "jsCall_viiiiiiii_33", "jsCall_viiiiiiii_34", "_ff_hcscale_fast_c", "_bayer_bggr8_to_yv12_copy", "_bayer_bggr8_to_yv12_interpolate", "_bayer_bggr16le_to_yv12_copy", "_bayer_bggr16le_to_yv12_interpolate", "_bayer_bggr16be_to_yv12_copy", "_bayer_bggr16be_to_yv12_interpolate", "_bayer_rggb8_to_yv12_copy", "_bayer_rggb8_to_yv12_interpolate", "_bayer_rggb16le_to_yv12_copy", "_bayer_rggb16le_to_yv12_interpolate", "_bayer_rggb16be_to_yv12_copy", "_bayer_rggb16be_to_yv12_interpolate", "_bayer_gbrg8_to_yv12_copy", "_bayer_gbrg8_to_yv12_interpolate", "_bayer_gbrg16le_to_yv12_copy", "_bayer_gbrg16le_to_yv12_interpolate", "_bayer_gbrg16be_to_yv12_copy", "_bayer_gbrg16be_to_yv12_interpolate", "_bayer_grbg8_to_yv12_copy", "_bayer_grbg8_to_yv12_interpolate", "_bayer_grbg16le_to_yv12_copy", "_bayer_grbg16le_to_yv12_interpolate", "_bayer_grbg16be_to_yv12_copy", "_bayer_grbg16be_to_yv12_interpolate", "_sao_band_filter_9", "_put_hevc_pel_uni_pixels_9", "_put_hevc_qpel_uni_h_9", "_put_hevc_qpel_uni_v_9", "_put_hevc_qpel_uni_hv_9", "_put_hevc_epel_uni_h_9", "_put_hevc_epel_uni_v_9", "_put_hevc_epel_uni_hv_9", "_sao_band_filter_10", "_put_hevc_pel_uni_pixels_10", "_put_hevc_qpel_uni_h_10", "_put_hevc_qpel_uni_v_10", "_put_hevc_qpel_uni_hv_10", "_put_hevc_epel_uni_h_10", "_put_hevc_epel_uni_v_10", "_put_hevc_epel_uni_hv_10", "_sao_band_filter_12", "_put_hevc_pel_uni_pixels_12", "_put_hevc_qpel_uni_h_12", "_put_hevc_qpel_uni_v_12", "_put_hevc_qpel_uni_hv_12", "_put_hevc_epel_uni_h_12", "_put_hevc_epel_uni_v_12", "_put_hevc_epel_uni_hv_12", "_sao_band_filter_8", "_put_hevc_pel_uni_pixels_8", "_put_hevc_qpel_uni_h_8", "_put_hevc_qpel_uni_v_8", "_put_hevc_qpel_uni_hv_8", "_put_hevc_epel_uni_h_8", "_put_hevc_epel_uni_v_8", "_put_hevc_epel_uni_hv_8", "_biweight_h264_pixels16_9_c", "_biweight_h264_pixels8_9_c", "_biweight_h264_pixels4_9_c", "_biweight_h264_pixels2_9_c", "_biweight_h264_pixels16_10_c", "_biweight_h264_pixels8_10_c", "_biweight_h264_pixels4_10_c", "_biweight_h264_pixels2_10_c", "_biweight_h264_pixels16_12_c", "_biweight_h264_pixels8_12_c", "_biweight_h264_pixels4_12_c", "_biweight_h264_pixels2_12_c", "_biweight_h264_pixels16_14_c", "_biweight_h264_pixels8_14_c", "_biweight_h264_pixels4_14_c", "_biweight_h264_pixels2_14_c", "_biweight_h264_pixels16_8_c", "_biweight_h264_pixels8_8_c", "_biweight_h264_pixels4_8_c", "_biweight_h264_pixels2_8_c", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiid = [0, "jsCall_viiiiiiiid_0", "jsCall_viiiiiiiid_1", "jsCall_viiiiiiiid_2", "jsCall_viiiiiiiid_3", "jsCall_viiiiiiiid_4", "jsCall_viiiiiiiid_5", "jsCall_viiiiiiiid_6", "jsCall_viiiiiiiid_7", "jsCall_viiiiiiiid_8", "jsCall_viiiiiiiid_9", "jsCall_viiiiiiiid_10", "jsCall_viiiiiiiid_11", "jsCall_viiiiiiiid_12", "jsCall_viiiiiiiid_13", "jsCall_viiiiiiiid_14", "jsCall_viiiiiiiid_15", "jsCall_viiiiiiiid_16", "jsCall_viiiiiiiid_17", "jsCall_viiiiiiiid_18", "jsCall_viiiiiiiid_19", "jsCall_viiiiiiiid_20", "jsCall_viiiiiiiid_21", "jsCall_viiiiiiiid_22", "jsCall_viiiiiiiid_23", "jsCall_viiiiiiiid_24", "jsCall_viiiiiiiid_25", "jsCall_viiiiiiiid_26", "jsCall_viiiiiiiid_27", "jsCall_viiiiiiiid_28", "jsCall_viiiiiiiid_29", "jsCall_viiiiiiiid_30", "jsCall_viiiiiiiid_31", "jsCall_viiiiiiiid_32", "jsCall_viiiiiiiid_33", "jsCall_viiiiiiiid_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiidi = [0, "jsCall_viiiiiiiidi_0", "jsCall_viiiiiiiidi_1", "jsCall_viiiiiiiidi_2", "jsCall_viiiiiiiidi_3", "jsCall_viiiiiiiidi_4", "jsCall_viiiiiiiidi_5", "jsCall_viiiiiiiidi_6", "jsCall_viiiiiiiidi_7", "jsCall_viiiiiiiidi_8", "jsCall_viiiiiiiidi_9", "jsCall_viiiiiiiidi_10", "jsCall_viiiiiiiidi_11", "jsCall_viiiiiiiidi_12", "jsCall_viiiiiiiidi_13", "jsCall_viiiiiiiidi_14", "jsCall_viiiiiiiidi_15", "jsCall_viiiiiiiidi_16", "jsCall_viiiiiiiidi_17", "jsCall_viiiiiiiidi_18", "jsCall_viiiiiiiidi_19", "jsCall_viiiiiiiidi_20", "jsCall_viiiiiiiidi_21", "jsCall_viiiiiiiidi_22", "jsCall_viiiiiiiidi_23", "jsCall_viiiiiiiidi_24", "jsCall_viiiiiiiidi_25", "jsCall_viiiiiiiidi_26", "jsCall_viiiiiiiidi_27", "jsCall_viiiiiiiidi_28", "jsCall_viiiiiiiidi_29", "jsCall_viiiiiiiidi_30", "jsCall_viiiiiiiidi_31", "jsCall_viiiiiiiidi_32", "jsCall_viiiiiiiidi_33", "jsCall_viiiiiiiidi_34", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiii = [0, "jsCall_viiiiiiiii_0", "jsCall_viiiiiiiii_1", "jsCall_viiiiiiiii_2", "jsCall_viiiiiiiii_3", "jsCall_viiiiiiiii_4", "jsCall_viiiiiiiii_5", "jsCall_viiiiiiiii_6", "jsCall_viiiiiiiii_7", "jsCall_viiiiiiiii_8", "jsCall_viiiiiiiii_9", "jsCall_viiiiiiiii_10", "jsCall_viiiiiiiii_11", "jsCall_viiiiiiiii_12", "jsCall_viiiiiiiii_13", "jsCall_viiiiiiiii_14", "jsCall_viiiiiiiii_15", "jsCall_viiiiiiiii_16", "jsCall_viiiiiiiii_17", "jsCall_viiiiiiiii_18", "jsCall_viiiiiiiii_19", "jsCall_viiiiiiiii_20", "jsCall_viiiiiiiii_21", "jsCall_viiiiiiiii_22", "jsCall_viiiiiiiii_23", "jsCall_viiiiiiiii_24", "jsCall_viiiiiiiii_25", "jsCall_viiiiiiiii_26", "jsCall_viiiiiiiii_27", "jsCall_viiiiiiiii_28", "jsCall_viiiiiiiii_29", "jsCall_viiiiiiiii_30", "jsCall_viiiiiiiii_31", "jsCall_viiiiiiiii_32", "jsCall_viiiiiiiii_33", "jsCall_viiiiiiiii_34", "_yuv2rgba32_full_1_c", "_yuv2rgbx32_full_1_c", "_yuv2argb32_full_1_c", "_yuv2xrgb32_full_1_c", "_yuv2bgra32_full_1_c", "_yuv2bgrx32_full_1_c", "_yuv2abgr32_full_1_c", "_yuv2xbgr32_full_1_c", "_yuv2rgba64le_full_1_c", "_yuv2rgbx64le_full_1_c", "_yuv2rgba64be_full_1_c", "_yuv2rgbx64be_full_1_c", "_yuv2bgra64le_full_1_c", "_yuv2bgrx64le_full_1_c", "_yuv2bgra64be_full_1_c", "_yuv2bgrx64be_full_1_c", "_yuv2rgb24_full_1_c", "_yuv2bgr24_full_1_c", "_yuv2rgb48le_full_1_c", "_yuv2bgr48le_full_1_c", "_yuv2rgb48be_full_1_c", "_yuv2bgr48be_full_1_c", "_yuv2bgr4_byte_full_1_c", "_yuv2rgb4_byte_full_1_c", "_yuv2bgr8_full_1_c", "_yuv2rgb8_full_1_c", "_yuv2rgbx64le_1_c", "_yuv2rgba64le_1_c", "_yuv2rgbx64be_1_c", "_yuv2rgba64be_1_c", "_yuv2bgrx64le_1_c", "_yuv2bgra64le_1_c", "_yuv2bgrx64be_1_c", "_yuv2bgra64be_1_c", "_yuv2rgba32_1_c", "_yuv2rgbx32_1_c", "_yuv2rgba32_1_1_c", "_yuv2rgbx32_1_1_c", "_yuv2rgb16_1_c", "_yuv2rgb15_1_c", "_yuv2rgb12_1_c", "_yuv2rgb8_1_c", "_yuv2rgb4_1_c", "_yuv2rgb4b_1_c", "_yuv2rgb48le_1_c", "_yuv2rgb48be_1_c", "_yuv2bgr48le_1_c", "_yuv2bgr48be_1_c", "_yuv2rgb24_1_c", "_yuv2bgr24_1_c", "_yuv2monowhite_1_c", "_yuv2monoblack_1_c", "_yuv2yuyv422_1_c", "_yuv2yvyu422_1_c", "_yuv2uyvy422_1_c", "_yuv2ya8_1_c", "_yuv2ya16le_1_c", "_yuv2ya16be_1_c", "_yuy2toyv12_c", "_put_hevc_pel_bi_pixels_9", "_put_hevc_qpel_bi_h_9", "_put_hevc_qpel_bi_v_9", "_put_hevc_qpel_bi_hv_9", "_put_hevc_epel_bi_h_9", "_put_hevc_epel_bi_v_9", "_put_hevc_epel_bi_hv_9", "_put_hevc_pel_bi_pixels_10", "_put_hevc_qpel_bi_h_10", "_put_hevc_qpel_bi_v_10", "_put_hevc_qpel_bi_hv_10", "_put_hevc_epel_bi_h_10", "_put_hevc_epel_bi_v_10", "_put_hevc_epel_bi_hv_10", "_put_hevc_pel_bi_pixels_12", "_put_hevc_qpel_bi_h_12", "_put_hevc_qpel_bi_v_12", "_put_hevc_qpel_bi_hv_12", "_put_hevc_epel_bi_h_12", "_put_hevc_epel_bi_v_12", "_put_hevc_epel_bi_hv_12", "_put_hevc_pel_bi_pixels_8", "_put_hevc_qpel_bi_h_8", "_put_hevc_qpel_bi_v_8", "_put_hevc_qpel_bi_hv_8", "_put_hevc_epel_bi_h_8", "_put_hevc_epel_bi_v_8", "_put_hevc_epel_bi_hv_8", 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiii = [0, "jsCall_viiiiiiiiii_0", "jsCall_viiiiiiiiii_1", "jsCall_viiiiiiiiii_2", "jsCall_viiiiiiiiii_3", "jsCall_viiiiiiiiii_4", "jsCall_viiiiiiiiii_5", "jsCall_viiiiiiiiii_6", "jsCall_viiiiiiiiii_7", "jsCall_viiiiiiiiii_8", "jsCall_viiiiiiiiii_9", "jsCall_viiiiiiiiii_10", "jsCall_viiiiiiiiii_11", "jsCall_viiiiiiiiii_12", "jsCall_viiiiiiiiii_13", "jsCall_viiiiiiiiii_14", "jsCall_viiiiiiiiii_15", "jsCall_viiiiiiiiii_16", "jsCall_viiiiiiiiii_17", "jsCall_viiiiiiiiii_18", "jsCall_viiiiiiiiii_19", "jsCall_viiiiiiiiii_20", "jsCall_viiiiiiiiii_21", "jsCall_viiiiiiiiii_22", "jsCall_viiiiiiiiii_23", "jsCall_viiiiiiiiii_24", "jsCall_viiiiiiiiii_25", "jsCall_viiiiiiiiii_26", "jsCall_viiiiiiiiii_27", "jsCall_viiiiiiiiii_28", "jsCall_viiiiiiiiii_29", "jsCall_viiiiiiiiii_30", "jsCall_viiiiiiiiii_31", "jsCall_viiiiiiiiii_32", "jsCall_viiiiiiiiii_33", "jsCall_viiiiiiiiii_34", "_yuv2rgba32_full_2_c", "_yuv2rgbx32_full_2_c", "_yuv2argb32_full_2_c", "_yuv2xrgb32_full_2_c", "_yuv2bgra32_full_2_c", "_yuv2bgrx32_full_2_c", "_yuv2abgr32_full_2_c", "_yuv2xbgr32_full_2_c", "_yuv2rgba64le_full_2_c", "_yuv2rgbx64le_full_2_c", "_yuv2rgba64be_full_2_c", "_yuv2rgbx64be_full_2_c", "_yuv2bgra64le_full_2_c", "_yuv2bgrx64le_full_2_c", "_yuv2bgra64be_full_2_c", "_yuv2bgrx64be_full_2_c", "_yuv2rgb24_full_2_c", "_yuv2bgr24_full_2_c", "_yuv2rgb48le_full_2_c", "_yuv2bgr48le_full_2_c", "_yuv2rgb48be_full_2_c", "_yuv2bgr48be_full_2_c", "_yuv2bgr4_byte_full_2_c", "_yuv2rgb4_byte_full_2_c", "_yuv2bgr8_full_2_c", "_yuv2rgb8_full_2_c", "_yuv2rgbx64le_2_c", "_yuv2rgba64le_2_c", "_yuv2rgbx64be_2_c", "_yuv2rgba64be_2_c", "_yuv2bgrx64le_2_c", "_yuv2bgra64le_2_c", "_yuv2bgrx64be_2_c", "_yuv2bgra64be_2_c", "_yuv2rgba32_2_c", "_yuv2rgbx32_2_c", "_yuv2rgba32_1_2_c", "_yuv2rgbx32_1_2_c", "_yuv2rgb16_2_c", "_yuv2rgb15_2_c", "_yuv2rgb12_2_c", "_yuv2rgb8_2_c", "_yuv2rgb4_2_c", "_yuv2rgb4b_2_c", "_yuv2rgb48le_2_c", "_yuv2rgb48be_2_c", "_yuv2bgr48le_2_c", "_yuv2bgr48be_2_c", "_yuv2rgb24_2_c", "_yuv2bgr24_2_c", "_yuv2monowhite_2_c", "_yuv2monoblack_2_c", "_yuv2yuyv422_2_c", "_yuv2yvyu422_2_c", "_yuv2uyvy422_2_c", "_yuv2ya8_2_c", "_yuv2ya16le_2_c", "_yuv2ya16be_2_c", "_vu9_to_vu12_c", "_yvu9_to_yuy2_c", "_ff_emulated_edge_mc_8", "_ff_emulated_edge_mc_16", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiii = [0, "jsCall_viiiiiiiiiii_0", "jsCall_viiiiiiiiiii_1", "jsCall_viiiiiiiiiii_2", "jsCall_viiiiiiiiiii_3", "jsCall_viiiiiiiiiii_4", "jsCall_viiiiiiiiiii_5", "jsCall_viiiiiiiiiii_6", "jsCall_viiiiiiiiiii_7", "jsCall_viiiiiiiiiii_8", "jsCall_viiiiiiiiiii_9", "jsCall_viiiiiiiiiii_10", "jsCall_viiiiiiiiiii_11", "jsCall_viiiiiiiiiii_12", "jsCall_viiiiiiiiiii_13", "jsCall_viiiiiiiiiii_14", "jsCall_viiiiiiiiiii_15", "jsCall_viiiiiiiiiii_16", "jsCall_viiiiiiiiiii_17", "jsCall_viiiiiiiiiii_18", "jsCall_viiiiiiiiiii_19", "jsCall_viiiiiiiiiii_20", "jsCall_viiiiiiiiiii_21", "jsCall_viiiiiiiiiii_22", "jsCall_viiiiiiiiiii_23", "jsCall_viiiiiiiiiii_24", "jsCall_viiiiiiiiiii_25", "jsCall_viiiiiiiiiii_26", "jsCall_viiiiiiiiiii_27", "jsCall_viiiiiiiiiii_28", "jsCall_viiiiiiiiiii_29", "jsCall_viiiiiiiiiii_30", "jsCall_viiiiiiiiiii_31", "jsCall_viiiiiiiiiii_32", "jsCall_viiiiiiiiiii_33", "jsCall_viiiiiiiiiii_34", "_put_hevc_pel_uni_w_pixels_9", "_put_hevc_qpel_uni_w_h_9", "_put_hevc_qpel_uni_w_v_9", "_put_hevc_qpel_uni_w_hv_9", "_put_hevc_epel_uni_w_h_9", "_put_hevc_epel_uni_w_v_9", "_put_hevc_epel_uni_w_hv_9", "_put_hevc_pel_uni_w_pixels_10", "_put_hevc_qpel_uni_w_h_10", "_put_hevc_qpel_uni_w_v_10", "_put_hevc_qpel_uni_w_hv_10", "_put_hevc_epel_uni_w_h_10", "_put_hevc_epel_uni_w_v_10", "_put_hevc_epel_uni_w_hv_10", "_put_hevc_pel_uni_w_pixels_12", "_put_hevc_qpel_uni_w_h_12", "_put_hevc_qpel_uni_w_v_12", "_put_hevc_qpel_uni_w_hv_12", "_put_hevc_epel_uni_w_h_12", "_put_hevc_epel_uni_w_v_12", "_put_hevc_epel_uni_w_hv_12", "_put_hevc_pel_uni_w_pixels_8", "_put_hevc_qpel_uni_w_h_8", "_put_hevc_qpel_uni_w_v_8", "_put_hevc_qpel_uni_w_hv_8", "_put_hevc_epel_uni_w_h_8", "_put_hevc_epel_uni_w_v_8", "_put_hevc_epel_uni_w_hv_8"]; +var debug_table_viiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiii_0", "jsCall_viiiiiiiiiiii_1", "jsCall_viiiiiiiiiiii_2", "jsCall_viiiiiiiiiiii_3", "jsCall_viiiiiiiiiiii_4", "jsCall_viiiiiiiiiiii_5", "jsCall_viiiiiiiiiiii_6", "jsCall_viiiiiiiiiiii_7", "jsCall_viiiiiiiiiiii_8", "jsCall_viiiiiiiiiiii_9", "jsCall_viiiiiiiiiiii_10", "jsCall_viiiiiiiiiiii_11", "jsCall_viiiiiiiiiiii_12", "jsCall_viiiiiiiiiiii_13", "jsCall_viiiiiiiiiiii_14", "jsCall_viiiiiiiiiiii_15", "jsCall_viiiiiiiiiiii_16", "jsCall_viiiiiiiiiiii_17", "jsCall_viiiiiiiiiiii_18", "jsCall_viiiiiiiiiiii_19", "jsCall_viiiiiiiiiiii_20", "jsCall_viiiiiiiiiiii_21", "jsCall_viiiiiiiiiiii_22", "jsCall_viiiiiiiiiiii_23", "jsCall_viiiiiiiiiiii_24", "jsCall_viiiiiiiiiiii_25", "jsCall_viiiiiiiiiiii_26", "jsCall_viiiiiiiiiiii_27", "jsCall_viiiiiiiiiiii_28", "jsCall_viiiiiiiiiiii_29", "jsCall_viiiiiiiiiiii_30", "jsCall_viiiiiiiiiiii_31", "jsCall_viiiiiiiiiiii_32", "jsCall_viiiiiiiiiiii_33", "jsCall_viiiiiiiiiiii_34", "_yuv2rgba32_full_X_c", "_yuv2rgbx32_full_X_c", "_yuv2argb32_full_X_c", "_yuv2xrgb32_full_X_c", "_yuv2bgra32_full_X_c", "_yuv2bgrx32_full_X_c", "_yuv2abgr32_full_X_c", "_yuv2xbgr32_full_X_c", "_yuv2rgba64le_full_X_c", "_yuv2rgbx64le_full_X_c", "_yuv2rgba64be_full_X_c", "_yuv2rgbx64be_full_X_c", "_yuv2bgra64le_full_X_c", "_yuv2bgrx64le_full_X_c", "_yuv2bgra64be_full_X_c", "_yuv2bgrx64be_full_X_c", "_yuv2rgb24_full_X_c", "_yuv2bgr24_full_X_c", "_yuv2rgb48le_full_X_c", "_yuv2bgr48le_full_X_c", "_yuv2rgb48be_full_X_c", "_yuv2bgr48be_full_X_c", "_yuv2bgr4_byte_full_X_c", "_yuv2rgb4_byte_full_X_c", "_yuv2bgr8_full_X_c", "_yuv2rgb8_full_X_c", "_yuv2gbrp_full_X_c", "_yuv2gbrp16_full_X_c", "_yuv2rgbx64le_X_c", "_yuv2rgba64le_X_c", "_yuv2rgbx64be_X_c", "_yuv2rgba64be_X_c", "_yuv2bgrx64le_X_c", "_yuv2bgra64le_X_c", "_yuv2bgrx64be_X_c", "_yuv2bgra64be_X_c", "_yuv2rgba32_X_c", "_yuv2rgbx32_X_c", "_yuv2rgba32_1_X_c", "_yuv2rgbx32_1_X_c", "_yuv2rgb16_X_c", "_yuv2rgb15_X_c", "_yuv2rgb12_X_c", "_yuv2rgb8_X_c", "_yuv2rgb4_X_c", "_yuv2rgb4b_X_c", "_yuv2rgb48le_X_c", "_yuv2rgb48be_X_c", "_yuv2bgr48le_X_c", "_yuv2bgr48be_X_c", "_yuv2rgb24_X_c", "_yuv2bgr24_X_c", "_yuv2monowhite_X_c", "_yuv2ayuv64le_X_c", "_yuv2monoblack_X_c", "_yuv2yuyv422_X_c", "_yuv2yvyu422_X_c", "_yuv2uyvy422_X_c", "_yuv2ya8_X_c", "_yuv2ya16le_X_c", "_yuv2ya16be_X_c", "_sao_edge_restore_0_9", "_sao_edge_restore_1_9", "_sao_edge_restore_0_10", "_sao_edge_restore_1_10", "_sao_edge_restore_0_12", "_sao_edge_restore_1_12", "_sao_edge_restore_0_8", "_sao_edge_restore_1_8", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_table_viiiiiiiiiiiiii = [0, "jsCall_viiiiiiiiiiiiii_0", "jsCall_viiiiiiiiiiiiii_1", "jsCall_viiiiiiiiiiiiii_2", "jsCall_viiiiiiiiiiiiii_3", "jsCall_viiiiiiiiiiiiii_4", "jsCall_viiiiiiiiiiiiii_5", "jsCall_viiiiiiiiiiiiii_6", "jsCall_viiiiiiiiiiiiii_7", "jsCall_viiiiiiiiiiiiii_8", "jsCall_viiiiiiiiiiiiii_9", "jsCall_viiiiiiiiiiiiii_10", "jsCall_viiiiiiiiiiiiii_11", "jsCall_viiiiiiiiiiiiii_12", "jsCall_viiiiiiiiiiiiii_13", "jsCall_viiiiiiiiiiiiii_14", "jsCall_viiiiiiiiiiiiii_15", "jsCall_viiiiiiiiiiiiii_16", "jsCall_viiiiiiiiiiiiii_17", "jsCall_viiiiiiiiiiiiii_18", "jsCall_viiiiiiiiiiiiii_19", "jsCall_viiiiiiiiiiiiii_20", "jsCall_viiiiiiiiiiiiii_21", "jsCall_viiiiiiiiiiiiii_22", "jsCall_viiiiiiiiiiiiii_23", "jsCall_viiiiiiiiiiiiii_24", "jsCall_viiiiiiiiiiiiii_25", "jsCall_viiiiiiiiiiiiii_26", "jsCall_viiiiiiiiiiiiii_27", "jsCall_viiiiiiiiiiiiii_28", "jsCall_viiiiiiiiiiiiii_29", "jsCall_viiiiiiiiiiiiii_30", "jsCall_viiiiiiiiiiiiii_31", "jsCall_viiiiiiiiiiiiii_32", "jsCall_viiiiiiiiiiiiii_33", "jsCall_viiiiiiiiiiiiii_34", "_put_hevc_pel_bi_w_pixels_9", "_put_hevc_qpel_bi_w_h_9", "_put_hevc_qpel_bi_w_v_9", "_put_hevc_qpel_bi_w_hv_9", "_put_hevc_epel_bi_w_h_9", "_put_hevc_epel_bi_w_v_9", "_put_hevc_epel_bi_w_hv_9", "_put_hevc_pel_bi_w_pixels_10", "_put_hevc_qpel_bi_w_h_10", "_put_hevc_qpel_bi_w_v_10", "_put_hevc_qpel_bi_w_hv_10", "_put_hevc_epel_bi_w_h_10", "_put_hevc_epel_bi_w_v_10", "_put_hevc_epel_bi_w_hv_10", "_put_hevc_pel_bi_w_pixels_12", "_put_hevc_qpel_bi_w_h_12", "_put_hevc_qpel_bi_w_v_12", "_put_hevc_qpel_bi_w_hv_12", "_put_hevc_epel_bi_w_h_12", "_put_hevc_epel_bi_w_v_12", "_put_hevc_epel_bi_w_hv_12", "_put_hevc_pel_bi_w_pixels_8", "_put_hevc_qpel_bi_w_h_8", "_put_hevc_qpel_bi_w_v_8", "_put_hevc_qpel_bi_w_hv_8", "_put_hevc_epel_bi_w_h_8", "_put_hevc_epel_bi_w_v_8", "_put_hevc_epel_bi_w_hv_8"]; +var debug_table_viiijj = [0, "jsCall_viiijj_0", "jsCall_viiijj_1", "jsCall_viiijj_2", "jsCall_viiijj_3", "jsCall_viiijj_4", "jsCall_viiijj_5", "jsCall_viiijj_6", "jsCall_viiijj_7", "jsCall_viiijj_8", "jsCall_viiijj_9", "jsCall_viiijj_10", "jsCall_viiijj_11", "jsCall_viiijj_12", "jsCall_viiijj_13", "jsCall_viiijj_14", "jsCall_viiijj_15", "jsCall_viiijj_16", "jsCall_viiijj_17", "jsCall_viiijj_18", "jsCall_viiijj_19", "jsCall_viiijj_20", "jsCall_viiijj_21", "jsCall_viiijj_22", "jsCall_viiijj_23", "jsCall_viiijj_24", "jsCall_viiijj_25", "jsCall_viiijj_26", "jsCall_viiijj_27", "jsCall_viiijj_28", "jsCall_viiijj_29", "jsCall_viiijj_30", "jsCall_viiijj_31", "jsCall_viiijj_32", "jsCall_viiijj_33", "jsCall_viiijj_34", "_resample_one_int16", "_resample_one_int32", "_resample_one_float", "_resample_one_double", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var debug_tables = { + "dd": debug_table_dd, + "did": debug_table_did, + "didd": debug_table_didd, + "fii": debug_table_fii, + "fiii": debug_table_fiii, + "ii": debug_table_ii, + "iid": debug_table_iid, + "iidiiii": debug_table_iidiiii, + "iii": debug_table_iii, + "iiii": debug_table_iiii, + "iiiii": debug_table_iiiii, + "iiiiii": debug_table_iiiiii, + "iiiiiii": debug_table_iiiiiii, + "iiiiiiidiiddii": debug_table_iiiiiiidiiddii, + "iiiiiiii": debug_table_iiiiiiii, + "iiiiiiiid": debug_table_iiiiiiiid, + "iiiiij": debug_table_iiiiij, + "iiiji": debug_table_iiiji, + "iiijjji": debug_table_iiijjji, + "jii": debug_table_jii, + "jiiij": debug_table_jiiij, + "jiiji": debug_table_jiiji, + "jij": debug_table_jij, + "jiji": debug_table_jiji, + "v": debug_table_v, + "vdiidiiiii": debug_table_vdiidiiiii, + "vdiidiiiiii": debug_table_vdiidiiiiii, + "vi": debug_table_vi, + "vii": debug_table_vii, + "viidi": debug_table_viidi, + "viifi": debug_table_viifi, + "viii": debug_table_viii, + "viiid": debug_table_viiid, + "viiii": debug_table_viiii, + "viiiifii": debug_table_viiiifii, + "viiiii": debug_table_viiiii, + "viiiiidd": debug_table_viiiiidd, + "viiiiiddi": debug_table_viiiiiddi, + "viiiiii": debug_table_viiiiii, + "viiiiiifi": debug_table_viiiiiifi, + "viiiiiii": debug_table_viiiiiii, + "viiiiiiii": debug_table_viiiiiiii, + "viiiiiiiid": debug_table_viiiiiiiid, + "viiiiiiiidi": debug_table_viiiiiiiidi, + "viiiiiiiii": debug_table_viiiiiiiii, + "viiiiiiiiii": debug_table_viiiiiiiiii, + "viiiiiiiiiii": debug_table_viiiiiiiiiii, + "viiiiiiiiiiii": debug_table_viiiiiiiiiiii, + "viiiiiiiiiiiiii": debug_table_viiiiiiiiiiiiii, + "viiijj": debug_table_viiijj +}; + +function nullFunc_dd(x) { + abortFnPtrError(x, "dd") +} + +function nullFunc_did(x) { + abortFnPtrError(x, "did") +} + +function nullFunc_didd(x) { + abortFnPtrError(x, "didd") +} + +function nullFunc_fii(x) { + abortFnPtrError(x, "fii") +} + +function nullFunc_fiii(x) { + abortFnPtrError(x, "fiii") +} + +function nullFunc_ii(x) { + abortFnPtrError(x, "ii") +} + +function nullFunc_iid(x) { + abortFnPtrError(x, "iid") +} + +function nullFunc_iidiiii(x) { + abortFnPtrError(x, "iidiiii") +} + +function nullFunc_iii(x) { + abortFnPtrError(x, "iii") +} + +function nullFunc_iiii(x) { + abortFnPtrError(x, "iiii") +} + +function nullFunc_iiiii(x) { + abortFnPtrError(x, "iiiii") +} + +function nullFunc_iiiiii(x) { + abortFnPtrError(x, "iiiiii") +} + +function nullFunc_iiiiiii(x) { + abortFnPtrError(x, "iiiiiii") +} + +function nullFunc_iiiiiiidiiddii(x) { + abortFnPtrError(x, "iiiiiiidiiddii") +} + +function nullFunc_iiiiiiii(x) { + abortFnPtrError(x, "iiiiiiii") +} + +function nullFunc_iiiiiiiid(x) { + abortFnPtrError(x, "iiiiiiiid") +} + +function nullFunc_iiiiij(x) { + abortFnPtrError(x, "iiiiij") +} + +function nullFunc_iiiji(x) { + abortFnPtrError(x, "iiiji") +} + +function nullFunc_iiijjji(x) { + abortFnPtrError(x, "iiijjji") +} + +function nullFunc_jii(x) { + abortFnPtrError(x, "jii") +} + +function nullFunc_jiiij(x) { + abortFnPtrError(x, "jiiij") +} + +function nullFunc_jiiji(x) { + abortFnPtrError(x, "jiiji") +} + +function nullFunc_jij(x) { + abortFnPtrError(x, "jij") +} + +function nullFunc_jiji(x) { + abortFnPtrError(x, "jiji") +} + +function nullFunc_v(x) { + abortFnPtrError(x, "v") +} + +function nullFunc_vdiidiiiii(x) { + abortFnPtrError(x, "vdiidiiiii") +} + +function nullFunc_vdiidiiiiii(x) { + abortFnPtrError(x, "vdiidiiiiii") +} + +function nullFunc_vi(x) { + abortFnPtrError(x, "vi") +} + +function nullFunc_vii(x) { + abortFnPtrError(x, "vii") +} + +function nullFunc_viidi(x) { + abortFnPtrError(x, "viidi") +} + +function nullFunc_viifi(x) { + abortFnPtrError(x, "viifi") +} + +function nullFunc_viii(x) { + abortFnPtrError(x, "viii") +} + +function nullFunc_viiid(x) { + abortFnPtrError(x, "viiid") +} + +function nullFunc_viiii(x) { + abortFnPtrError(x, "viiii") +} + +function nullFunc_viiiifii(x) { + abortFnPtrError(x, "viiiifii") +} + +function nullFunc_viiiii(x) { + abortFnPtrError(x, "viiiii") +} + +function nullFunc_viiiiidd(x) { + abortFnPtrError(x, "viiiiidd") +} + +function nullFunc_viiiiiddi(x) { + abortFnPtrError(x, "viiiiiddi") +} + +function nullFunc_viiiiii(x) { + abortFnPtrError(x, "viiiiii") +} + +function nullFunc_viiiiiifi(x) { + abortFnPtrError(x, "viiiiiifi") +} + +function nullFunc_viiiiiii(x) { + abortFnPtrError(x, "viiiiiii") +} + +function nullFunc_viiiiiiii(x) { + abortFnPtrError(x, "viiiiiiii") +} + +function nullFunc_viiiiiiiid(x) { + abortFnPtrError(x, "viiiiiiiid") +} + +function nullFunc_viiiiiiiidi(x) { + abortFnPtrError(x, "viiiiiiiidi") +} + +function nullFunc_viiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiii") +} + +function nullFunc_viiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiii") +} + +function nullFunc_viiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiii") +} + +function nullFunc_viiiiiiiiiiiiii(x) { + abortFnPtrError(x, "viiiiiiiiiiiiii") +} + +function nullFunc_viiijj(x) { + abortFnPtrError(x, "viiijj") +} + +function jsCall_dd(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_did(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_didd(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_fii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_fiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_ii(index, a1) { + return functionPointers[index](a1) +} + +function jsCall_iid(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_iiii(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_iiiii(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiiiii(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_iiiiiiidiiddii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) +} + +function jsCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_iiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8) { + return functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_iiiiij(index, a1, a2, a3, a4, a5) { + return functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_iiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_iiijjji(index, a1, a2, a3, a4, a5, a6) { + return functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_jii(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiiij(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jiiji(index, a1, a2, a3, a4) { + return functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_jij(index, a1, a2) { + return functionPointers[index](a1, a2) +} + +function jsCall_jiji(index, a1, a2, a3) { + return functionPointers[index](a1, a2, a3) +} + +function jsCall_v(index) { + functionPointers[index]() +} + +function jsCall_vdiidiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_vdiidiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_vi(index, a1) { + functionPointers[index](a1) +} + +function jsCall_vii(index, a1, a2) { + functionPointers[index](a1, a2) +} + +function jsCall_viidi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viifi(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viii(index, a1, a2, a3) { + functionPointers[index](a1, a2, a3) +} + +function jsCall_viiid(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiii(index, a1, a2, a3, a4) { + functionPointers[index](a1, a2, a3, a4) +} + +function jsCall_viiiifii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiii(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} + +function jsCall_viiiiidd(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiddi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { + functionPointers[index](a1, a2, a3, a4, a5, a6) +} + +function jsCall_viiiiiifi(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7) +} + +function jsCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8) +} + +function jsCall_viiiiiiiid(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiidi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9) +} + +function jsCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) +} + +function jsCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) +} + +function jsCall_viiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) +} + +function jsCall_viiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { + functionPointers[index](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) +} + +function jsCall_viiijj(index, a1, a2, a3, a4, a5) { + functionPointers[index](a1, a2, a3, a4, a5) +} +var asmGlobalArg = {}; +var asmLibraryArg = { + "___buildEnvironment": ___buildEnvironment, + "___lock": ___lock, + "___syscall221": ___syscall221, + "___syscall3": ___syscall3, + "___syscall5": ___syscall5, + "___unlock": ___unlock, + "___wasi_fd_close": ___wasi_fd_close, + "___wasi_fd_fdstat_get": ___wasi_fd_fdstat_get, + "___wasi_fd_seek": ___wasi_fd_seek, + "___wasi_fd_write": ___wasi_fd_write, + "__emscripten_fetch_free": __emscripten_fetch_free, + "__memory_base": 1024, + "__table_base": 0, + "_abort": _abort, + "_clock": _clock, + "_clock_gettime": _clock_gettime, + "_emscripten_asm_const_i": _emscripten_asm_const_i, + "_emscripten_get_heap_size": _emscripten_get_heap_size, + "_emscripten_is_main_browser_thread": _emscripten_is_main_browser_thread, + "_emscripten_memcpy_big": _emscripten_memcpy_big, + "_emscripten_resize_heap": _emscripten_resize_heap, + "_emscripten_start_fetch": _emscripten_start_fetch, + "_fabs": _fabs, + "_getenv": _getenv, + "_gettimeofday": _gettimeofday, + "_gmtime_r": _gmtime_r, + "_llvm_exp2_f64": _llvm_exp2_f64, + "_llvm_log2_f32": _llvm_log2_f32, + "_llvm_stackrestore": _llvm_stackrestore, + "_llvm_stacksave": _llvm_stacksave, + "_llvm_trunc_f64": _llvm_trunc_f64, + "_localtime_r": _localtime_r, + "_nanosleep": _nanosleep, + "_pthread_cond_destroy": _pthread_cond_destroy, + "_pthread_cond_init": _pthread_cond_init, + "_pthread_create": _pthread_create, + "_pthread_join": _pthread_join, + "_strftime": _strftime, + "_sysconf": _sysconf, + "_time": _time, + "abortStackOverflow": abortStackOverflow, + "getTempRet0": getTempRet0, + "jsCall_dd": jsCall_dd, + "jsCall_did": jsCall_did, + "jsCall_didd": jsCall_didd, + "jsCall_fii": jsCall_fii, + "jsCall_fiii": jsCall_fiii, + "jsCall_ii": jsCall_ii, + "jsCall_iid": jsCall_iid, + "jsCall_iidiiii": jsCall_iidiiii, + "jsCall_iii": jsCall_iii, + "jsCall_iiii": jsCall_iiii, + "jsCall_iiiii": jsCall_iiiii, + "jsCall_iiiiii": jsCall_iiiiii, + "jsCall_iiiiiii": jsCall_iiiiiii, + "jsCall_iiiiiiidiiddii": jsCall_iiiiiiidiiddii, + "jsCall_iiiiiiii": jsCall_iiiiiiii, + "jsCall_iiiiiiiid": jsCall_iiiiiiiid, + "jsCall_iiiiij": jsCall_iiiiij, + "jsCall_iiiji": jsCall_iiiji, + "jsCall_iiijjji": jsCall_iiijjji, + "jsCall_jii": jsCall_jii, + "jsCall_jiiij": jsCall_jiiij, + "jsCall_jiiji": jsCall_jiiji, + "jsCall_jij": jsCall_jij, + "jsCall_jiji": jsCall_jiji, + "jsCall_v": jsCall_v, + "jsCall_vdiidiiiii": jsCall_vdiidiiiii, + "jsCall_vdiidiiiiii": jsCall_vdiidiiiiii, + "jsCall_vi": jsCall_vi, + "jsCall_vii": jsCall_vii, + "jsCall_viidi": jsCall_viidi, + "jsCall_viifi": jsCall_viifi, + "jsCall_viii": jsCall_viii, + "jsCall_viiid": jsCall_viiid, + "jsCall_viiii": jsCall_viiii, + "jsCall_viiiifii": jsCall_viiiifii, + "jsCall_viiiii": jsCall_viiiii, + "jsCall_viiiiidd": jsCall_viiiiidd, + "jsCall_viiiiiddi": jsCall_viiiiiddi, + "jsCall_viiiiii": jsCall_viiiiii, + "jsCall_viiiiiifi": jsCall_viiiiiifi, + "jsCall_viiiiiii": jsCall_viiiiiii, + "jsCall_viiiiiiii": jsCall_viiiiiiii, + "jsCall_viiiiiiiid": jsCall_viiiiiiiid, + "jsCall_viiiiiiiidi": jsCall_viiiiiiiidi, + "jsCall_viiiiiiiii": jsCall_viiiiiiiii, + "jsCall_viiiiiiiiii": jsCall_viiiiiiiiii, + "jsCall_viiiiiiiiiii": jsCall_viiiiiiiiiii, + "jsCall_viiiiiiiiiiii": jsCall_viiiiiiiiiiii, + "jsCall_viiiiiiiiiiiiii": jsCall_viiiiiiiiiiiiii, + "jsCall_viiijj": jsCall_viiijj, + "memory": wasmMemory, + "nullFunc_dd": nullFunc_dd, + "nullFunc_did": nullFunc_did, + "nullFunc_didd": nullFunc_didd, + "nullFunc_fii": nullFunc_fii, + "nullFunc_fiii": nullFunc_fiii, + "nullFunc_ii": nullFunc_ii, + "nullFunc_iid": nullFunc_iid, + "nullFunc_iidiiii": nullFunc_iidiiii, + "nullFunc_iii": nullFunc_iii, + "nullFunc_iiii": nullFunc_iiii, + "nullFunc_iiiii": nullFunc_iiiii, + "nullFunc_iiiiii": nullFunc_iiiiii, + "nullFunc_iiiiiii": nullFunc_iiiiiii, + "nullFunc_iiiiiiidiiddii": nullFunc_iiiiiiidiiddii, + "nullFunc_iiiiiiii": nullFunc_iiiiiiii, + "nullFunc_iiiiiiiid": nullFunc_iiiiiiiid, + "nullFunc_iiiiij": nullFunc_iiiiij, + "nullFunc_iiiji": nullFunc_iiiji, + "nullFunc_iiijjji": nullFunc_iiijjji, + "nullFunc_jii": nullFunc_jii, + "nullFunc_jiiij": nullFunc_jiiij, + "nullFunc_jiiji": nullFunc_jiiji, + "nullFunc_jij": nullFunc_jij, + "nullFunc_jiji": nullFunc_jiji, + "nullFunc_v": nullFunc_v, + "nullFunc_vdiidiiiii": nullFunc_vdiidiiiii, + "nullFunc_vdiidiiiiii": nullFunc_vdiidiiiiii, + "nullFunc_vi": nullFunc_vi, + "nullFunc_vii": nullFunc_vii, + "nullFunc_viidi": nullFunc_viidi, + "nullFunc_viifi": nullFunc_viifi, + "nullFunc_viii": nullFunc_viii, + "nullFunc_viiid": nullFunc_viiid, + "nullFunc_viiii": nullFunc_viiii, + "nullFunc_viiiifii": nullFunc_viiiifii, + "nullFunc_viiiii": nullFunc_viiiii, + "nullFunc_viiiiidd": nullFunc_viiiiidd, + "nullFunc_viiiiiddi": nullFunc_viiiiiddi, + "nullFunc_viiiiii": nullFunc_viiiiii, + "nullFunc_viiiiiifi": nullFunc_viiiiiifi, + "nullFunc_viiiiiii": nullFunc_viiiiiii, + "nullFunc_viiiiiiii": nullFunc_viiiiiiii, + "nullFunc_viiiiiiiid": nullFunc_viiiiiiiid, + "nullFunc_viiiiiiiidi": nullFunc_viiiiiiiidi, + "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, + "nullFunc_viiiiiiiiii": nullFunc_viiiiiiiiii, + "nullFunc_viiiiiiiiiii": nullFunc_viiiiiiiiiii, + "nullFunc_viiiiiiiiiiii": nullFunc_viiiiiiiiiiii, + "nullFunc_viiiiiiiiiiiiii": nullFunc_viiiiiiiiiiiiii, + "nullFunc_viiijj": nullFunc_viiijj, + "table": wasmTable +}; +var asm = Module["asm"](asmGlobalArg, asmLibraryArg, buffer); +Module["asm"] = asm; +var _AVPlayerInit = Module["_AVPlayerInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVPlayerInit"].apply(null, arguments) +}; +var _AVSniffHttpFlvInit = Module["_AVSniffHttpFlvInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpFlvInit"].apply(null, arguments) +}; +var _AVSniffHttpG711Init = Module["_AVSniffHttpG711Init"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffHttpG711Init"].apply(null, arguments) +}; +var _AVSniffStreamInit = Module["_AVSniffStreamInit"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_AVSniffStreamInit"].apply(null, arguments) +}; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___emscripten_environ_constructor"].apply(null, arguments) +}; +var ___errno_location = Module["___errno_location"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["___errno_location"].apply(null, arguments) +}; +var __get_daylight = Module["__get_daylight"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_daylight"].apply(null, arguments) +}; +var __get_timezone = Module["__get_timezone"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_timezone"].apply(null, arguments) +}; +var __get_tzname = Module["__get_tzname"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["__get_tzname"].apply(null, arguments) +}; +var _closeVideo = Module["_closeVideo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_closeVideo"].apply(null, arguments) +}; +var _decodeCodecContext = Module["_decodeCodecContext"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeCodecContext"].apply(null, arguments) +}; +var _decodeG711Frame = Module["_decodeG711Frame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeG711Frame"].apply(null, arguments) +}; +var _decodeHttpFlvVideoFrame = Module["_decodeHttpFlvVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeHttpFlvVideoFrame"].apply(null, arguments) +}; +var _decodeVideoFrame = Module["_decodeVideoFrame"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_decodeVideoFrame"].apply(null, arguments) +}; +var _demuxBox = Module["_demuxBox"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_demuxBox"].apply(null, arguments) +}; +var _exitMissile = Module["_exitMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitMissile"].apply(null, arguments) +}; +var _exitTsMissile = Module["_exitTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_exitTsMissile"].apply(null, arguments) +}; +var _fflush = Module["_fflush"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_fflush"].apply(null, arguments) +}; +var _free = Module["_free"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_free"].apply(null, arguments) +}; +var _getAudioCodecID = Module["_getAudioCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getAudioCodecID"].apply(null, arguments) +}; +var _getBufferLengthApi = Module["_getBufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getBufferLengthApi"].apply(null, arguments) +}; +var _getExtensionInfo = Module["_getExtensionInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getExtensionInfo"].apply(null, arguments) +}; +var _getG711BufferLengthApi = Module["_getG711BufferLengthApi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getG711BufferLengthApi"].apply(null, arguments) +}; +var _getMediaInfo = Module["_getMediaInfo"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getMediaInfo"].apply(null, arguments) +}; +var _getPPS = Module["_getPPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPS"].apply(null, arguments) +}; +var _getPPSLen = Module["_getPPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPPSLen"].apply(null, arguments) +}; +var _getPacket = Module["_getPacket"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getPacket"].apply(null, arguments) +}; +var _getSEI = Module["_getSEI"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEI"].apply(null, arguments) +}; +var _getSEILen = Module["_getSEILen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSEILen"].apply(null, arguments) +}; +var _getSPS = Module["_getSPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPS"].apply(null, arguments) +}; +var _getSPSLen = Module["_getSPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSPSLen"].apply(null, arguments) +}; +var _getSniffHttpFlvPkg = Module["_getSniffHttpFlvPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkg"].apply(null, arguments) +}; +var _getSniffHttpFlvPkgNoCheckProbe = Module["_getSniffHttpFlvPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffHttpFlvPkgNoCheckProbe"].apply(null, arguments) +}; +var _getSniffStreamPkg = Module["_getSniffStreamPkg"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkg"].apply(null, arguments) +}; +var _getSniffStreamPkgNoCheckProbe = Module["_getSniffStreamPkgNoCheckProbe"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getSniffStreamPkgNoCheckProbe"].apply(null, arguments) +}; +var _getVLC = Module["_getVLC"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLC"].apply(null, arguments) +}; +var _getVLCLen = Module["_getVLCLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVLCLen"].apply(null, arguments) +}; +var _getVPS = Module["_getVPS"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPS"].apply(null, arguments) +}; +var _getVPSLen = Module["_getVPSLen"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVPSLen"].apply(null, arguments) +}; +var _getVideoCodecID = Module["_getVideoCodecID"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_getVideoCodecID"].apply(null, arguments) +}; +var _initTsMissile = Module["_initTsMissile"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initTsMissile"].apply(null, arguments) +}; +var _initializeDecoder = Module["_initializeDecoder"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDecoder"].apply(null, arguments) +}; +var _initializeDemuxer = Module["_initializeDemuxer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeDemuxer"].apply(null, arguments) +}; +var _initializeSniffG711Module = Module["_initializeSniffG711Module"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffG711Module"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModule = Module["_initializeSniffHttpFlvModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModule"].apply(null, arguments) +}; +var _initializeSniffHttpFlvModuleWithAOpt = Module["_initializeSniffHttpFlvModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffHttpFlvModuleWithAOpt"].apply(null, arguments) +}; +var _initializeSniffStreamModule = Module["_initializeSniffStreamModule"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModule"].apply(null, arguments) +}; +var _initializeSniffStreamModuleWithAOpt = Module["_initializeSniffStreamModuleWithAOpt"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_initializeSniffStreamModuleWithAOpt"].apply(null, arguments) +}; +var _main = Module["_main"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_main"].apply(null, arguments) +}; +var _malloc = Module["_malloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_malloc"].apply(null, arguments) +}; +var _naluLListLength = Module["_naluLListLength"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_naluLListLength"].apply(null, arguments) +}; +var _pushSniffG711FlvData = Module["_pushSniffG711FlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffG711FlvData"].apply(null, arguments) +}; +var _pushSniffHttpFlvData = Module["_pushSniffHttpFlvData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffHttpFlvData"].apply(null, arguments) +}; +var _pushSniffStreamData = Module["_pushSniffStreamData"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_pushSniffStreamData"].apply(null, arguments) +}; +var _registerPlayer = Module["_registerPlayer"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_registerPlayer"].apply(null, arguments) +}; +var _release = Module["_release"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_release"].apply(null, arguments) +}; +var _releaseG711 = Module["_releaseG711"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseG711"].apply(null, arguments) +}; +var _releaseHttpFLV = Module["_releaseHttpFLV"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseHttpFLV"].apply(null, arguments) +}; +var _releaseSniffHttpFlv = Module["_releaseSniffHttpFlv"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffHttpFlv"].apply(null, arguments) +}; +var _releaseSniffStream = Module["_releaseSniffStream"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_releaseSniffStream"].apply(null, arguments) +}; +var _setCodecType = Module["_setCodecType"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["_setCodecType"].apply(null, arguments) +}; +var establishStackSpace = Module["establishStackSpace"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["establishStackSpace"].apply(null, arguments) +}; +var stackAlloc = Module["stackAlloc"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackAlloc"].apply(null, arguments) +}; +var stackRestore = Module["stackRestore"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackRestore"].apply(null, arguments) +}; +var stackSave = Module["stackSave"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["stackSave"].apply(null, arguments) +}; +var dynCall_v = Module["dynCall_v"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_v"].apply(null, arguments) +}; +var dynCall_vi = Module["dynCall_vi"] = function() { + assert(runtimeInitialized, "you need to wait for the runtime to be ready (e.g. wait for main() to be called)"); + assert(!runtimeExited, "the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + return Module["asm"]["dynCall_vi"].apply(null, arguments) +}; +Module["asm"] = asm; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { + abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { + abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { + abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { + abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { + abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { + abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { + abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { + abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { + abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { + abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { + abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { + abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { + abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { + abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { + abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { + abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { + abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { + abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { + abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { + abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { + abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { + abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { + abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { + abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { + abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { + abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { + abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { + abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { + abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { + abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { + abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { + abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { + abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { + abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { + abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { + abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { + abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { + abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { + abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { + abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { + abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") +}; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { + abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { + abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { + abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { + abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { + abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { + abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { + abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { + abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +Module["addFunction"] = addFunction; +Module["removeFunction"] = removeFunction; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { + abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { + abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { + abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { + abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { + abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { + abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { + abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { + abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { + abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { + abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { + abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { + abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { + abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { + abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { + abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { + abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { + abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") +}; +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { + configurable: true, + get: function() { + abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { + configurable: true, + get: function() { + abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { + configurable: true, + get: function() { + abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { + configurable: true, + get: function() { + abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") + } +}); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { + configurable: true, + get: function() { + abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") + } +}); +var calledRun; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status +} +var calledMain = false; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller +}; + +function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, "cannot call main when preRun functions remain to be called"); + args = args || []; + var argc = args.length + 1; + var argv = stackAlloc((argc + 1) * 4); + HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); + for (var i = 1; i < argc; i++) { + HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) + } + HEAP32[(argv >> 2) + argc] = 0; + try { + var ret = Module["_main"](argc, argv); + exit(ret, true) + } catch (e) { + if (e instanceof ExitStatus) { + return + } else if (e == "SimulateInfiniteLoop") { + noExitRuntime = true; + return + } else { + var toLog = e; + if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack] + } + err("exception thrown: " + toLog); + quit_(1, e) + } + } finally { + calledMain = true + } +} + +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return + } + writeStackCookie(); + preRun(); + if (runDependencies > 0) return; + + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun() + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"]("") + }, 1); + doRun() + }, 1) + } else { + doRun() + } + checkStackCookie() +} +Module["run"] = run; + +function checkUnflushedContent() { + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true + }; + try { + var flush = Module["_fflush"]; + if (flush) flush(0); + ["stdout", "stderr"].forEach(function(name) { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true + } + }) + } catch (e) {} + out = print; + err = printErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.") + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + if (implicit && noExitRuntime && status === 0) { + return + } + if (noExitRuntime) { + if (!implicit) { + err("exit(" + status + ") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)") + } + } else { + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module["onExit"]) Module["onExit"](status) + } + quit_(status, new ExitStatus(status)) +} +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()() + } +} +var shouldRunNow = true; +if (Module["noInitialRun"]) shouldRunNow = false; +noExitRuntime = true; +run(); \ No newline at end of file diff --git a/localwebsite/htdocs/assets/h265webjs-dist/raw-parser.js b/localwebsite/htdocs/assets/h265webjs-dist/raw-parser.js new file mode 100644 index 0000000..edc91a3 --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/raw-parser.js @@ -0,0 +1,331 @@ +/********************************************************* + * LICENSE: LICENSE-Free_CN.MD + * + * Author: Numberwolf - ChangYanlong + * QQ: 531365872 + * QQ Group:925466059 + * Wechat: numberwolf11 + * Discord: numberwolf#8694 + * E-Mail: porschegt23@foxmail.com + * Github: https://github.com/numberwolf/h265web.js + * + * 作者: 小老虎(Numberwolf)(常炎隆) + * QQ: 531365872 + * QQ群: 531365872 + * 微信: numberwolf11 + * Discord: numberwolf#8694 + * 邮箱: porschegt23@foxmail.com + * 博客: https://www.jianshu.com/u/9c09c1e00fd1 + * Github: https://github.com/numberwolf/h265web.js + * + **********************************************************/ +/** + * codecImp Obj + * Video Raw 265 264 Parser + */ +const AfterGetNalThenMvLen = 3; + +export default class RawParserModule { + constructor() { + this.frameList = []; + this.stream = null; + } + + /* + ***************************************************** + * * + * * + * HEVC Frames * + * * + * * + ***************************************************** + */ + pushFrameRet(streamPushInput) { + if (!streamPushInput || streamPushInput == undefined || streamPushInput == null) { + return false; + } + + if (!this.frameList || this.frameList == undefined || this.frameList == null) { + this.frameList = []; + this.frameList.push(streamPushInput); + + } else { + this.frameList.push(streamPushInput); + } + + return true; + } + + nextFrame() { + if (!this.frameList && this.frameList == undefined || this.frameList == null && this.frameList.length < 1) { + return null; + } + return this.frameList.shift(); + } + + clearFrameRet() { + this.frameList = null; + } + + /* + ***************************************************** + * * + * * + * HEVC stream * + * * + * * + ***************************************************** + */ + setStreamRet(streamBufInput) { + this.stream = streamBufInput; + } + + getStreamRet() { + return this.stream; + } + + /** + * push stream nalu, for live, not vod + * @param Uint8Array + * @return bool + */ + appendStreamRet(input) { + if (!input || input === undefined || input == null) { + return false; + } + + if (!this.stream || this.stream === undefined || this.stream == null) { + this.stream = input; + return true; + } + + let lenOld = this.stream.length; + let lenPush = input.length; + + let mergeStream = new Uint8Array(lenOld + lenPush); + mergeStream.set(this.stream, 0); + mergeStream.set(input, lenOld); + + this.stream = mergeStream; + + // let retList = this.nextNaluList(9000); + // if (retList !== false && retList.length > 0) { + // this.frameList.push(...retList); + // } + + for (let i = 0; i < 9999; i++) { + let nalBuf = this.nextNalu(); + if (nalBuf !== false && nalBuf !== null && nalBuf !== undefined) { + this.frameList.push(nalBuf); + } else { + break; + } + } + + return true; + } + + /** + * sub nalu stream, and get Nalu unit + */ + subBuf(startOpen, endOpen) { // sub block [m,n] + // nal + let returnBuf = new Uint8Array( + this.stream.subarray(startOpen, endOpen + 1) + ); + + // streamBuf sub + this.stream = new Uint8Array( + this.stream.subarray(endOpen + 1) + ); + + return returnBuf; + } + + /** + * @param onceGetNalCount: once use get nal count, defult 1 + * @return uint8array OR false + */ + nextNalu(onceGetNalCount=1) { + + // check params + if (this.stream == null || this.stream.length <= 4) { + return false; + } + + // start nal pos + let startTag = -1; + // return nalBuf + let returnNalBuf = null; + + for (let i = 0;i < this.stream.length; i++) { + if (i + 5 >= this.stream.length) { + return false; + // if (startTag == -1) { + // return false; + // } else { + // // 如果结尾不到判断的字节位置 就直接全量输出最后一个nal + // returnNalBuf = this.subBuf(startTag, this.stream.length-1); + // return returnNalBuf; + // } + } + + // find nal + if ( + ( // 0x00 00 01 + this.stream[i] == 0 + && this.stream[i+1] == 0 + && this.stream[i+2] == 1 + ) || + ( // 0x00 00 00 01 + this.stream[i] == 0 + && this.stream[i+1] == 0 + && this.stream[i+2] == 0 + && this.stream[i+3] == 1 + ) + ) { + // console.log( + // "enter find nal , now startTag:" + startTag + // + ", now pos:" + i + // ); + let nowPos = i; + i += AfterGetNalThenMvLen; // 移出去 + // begin pos + if (startTag == -1) { + startTag = nowPos; + } else { + if (onceGetNalCount <= 1) { + // startCode - End + // [startTag,nowPos) + // console.log("[===>] last code hex is :" + this.stream[nowPos-1].toString(16)) + returnNalBuf = this.subBuf(startTag,nowPos-1); + return returnNalBuf; + } else { + onceGetNalCount -= 1; + } + } + } + + } // end for + + return false; + } + + nextNalu2(onceGetNalCount=1) { + // check params + if (this.stream == null || this.stream.length <= 4) { + return false; + } + + // start nal pos + let startTag = -1; + // return nalBuf + let returnNalBuf = null; + + for (let i = 0;i < this.stream.length; i++) { + if (i + 5 >= this.stream.length) { + if (startTag == -1) { + return false; + } else { + // 如果结尾不到判断的字节位置 就直接全量输出最后一个nal + returnNalBuf = this.subBuf(startTag,this.stream.length-1); + return returnNalBuf; + } + } + + // find nal + let is3BitHeader = this.stream.slice(i, i+3).join(' ') == '0 0 1'; + let is4BitHeader = this.stream.slice(i, i+4).join(' ') == '0 0 0 1'; + if ( + is3BitHeader || + is4BitHeader + ) { + let nowPos = i; + i += AfterGetNalThenMvLen; // 移出去 + // begin pos + if (startTag == -1) { + startTag = nowPos; + } else { + if (onceGetNalCount <= 1) { + // startCode - End + // [startTag,nowPos) + // console.log("[===>] last code hex is :" + this.stream[nowPos-1].toString(16)) + returnNalBuf = this.subBuf(startTag, nowPos-1); + return returnNalBuf; + } else { + onceGetNalCount -= 1; + } + } + } + + } // end for + return false; + } + + + /** + * @brief sub nalu stream, and get Nalu unit + * to parse: + * typedef struct { + * uint32_t width; + * uint32_t height; + * uint8_t *dataY; + * uint8_t *dataChromaB; + * uint8_t *dataChromaR; + * } ImageData; + * @params struct_ptr: Module.cwrap('getFrame', 'number', []) + * @return Dict + */ + parseYUVFrameStruct(struct_ptr = null) { // sub block [m,n] + if (struct_ptr == null || !struct_ptr || struct_ptr == undefined) { + return null; + } + + let width = Module.HEAPU32[struct_ptr / 4]; + let height = Module.HEAPU32[struct_ptr / 4 + 1]; + // let imgBufferPtr = Module.HEAPU32[ptr / 4 + 2]; + // let imageBuffer = Module.HEAPU8.subarray(imgBufferPtr, imgBufferPtr + width * height * 3); + // console.log("width:",width," height:",height); + + let sizeWH = width * height; + // let imgBufferYPtr = Module.HEAPU32[ptr / 4 + 2]; + // let imageBufferY = Module.HEAPU8.subarray(imgBufferYPtr, imgBufferYPtr + sizeWH); + + // let imgBufferBPtr = Module.HEAPU32[ptr/4+ 2 + sizeWH/4 + 1]; + // let imageBufferB = Module.HEAPU8.subarray( + // imgBufferBPtr, + // imgBufferBPtr + sizeWH/4 + // ); + // console.log(imageBufferB); + + // let imgBufferRPtr = Module.HEAPU32[imgBufferBPtr + sizeWH/16 + 1]; + // let imageBufferR = Module.HEAPU8.subarray( + // imgBufferRPtr, + // imgBufferRPtr + sizeWH/4 + // ); + + let imgBufferPtr = Module.HEAPU32[struct_ptr / 4 + 1 + 1]; + + let imageBufferY = Module.HEAPU8.subarray(imgBufferPtr, imgBufferPtr + sizeWH); + + let imageBufferB = Module.HEAPU8.subarray( + imgBufferPtr + sizeWH + 8, + imgBufferPtr + sizeWH + 8 + sizeWH/4 + ); + + let imageBufferR = Module.HEAPU8.subarray( + imgBufferPtr + sizeWH + 8 + sizeWH/4 + 8, + imgBufferPtr + sizeWH + 8 + sizeWH/2 + 8 + ); + + return { + width : width, + height : height, + sizeWH : sizeWH, + imageBufferY : imageBufferY, + imageBufferB : imageBufferB, + imageBufferR : imageBufferR + }; + } + +} diff --git a/localwebsite/htdocs/assets/h265webjs-dist/worker-fetch-dist.js b/localwebsite/htdocs/assets/h265webjs-dist/worker-fetch-dist.js new file mode 100644 index 0000000..e845d0e --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/worker-fetch-dist.js @@ -0,0 +1,86 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i default: ", body); + // worker.postMessage('Unknown command: ' + data.msg); + break; + } + + ; +}; + +},{}]},{},[1]); diff --git a/localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js b/localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js new file mode 100644 index 0000000..2e5d0ea --- /dev/null +++ b/localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js @@ -0,0 +1,405 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 0) { + // this.frameList.push(...retList); + // } + + for (var i = 0; i < 9999; i++) { + var nalBuf = this.nextNalu(); + + if (nalBuf !== false && nalBuf !== null && nalBuf !== undefined) { + this.frameList.push(nalBuf); + } else { + break; + } + } + + return true; + } + /** + * sub nalu stream, and get Nalu unit + */ + + }, { + key: "subBuf", + value: function subBuf(startOpen, endOpen) { + // sub block [m,n] + // nal + var returnBuf = new Uint8Array(this.stream.subarray(startOpen, endOpen + 1)); // streamBuf sub + + this.stream = new Uint8Array(this.stream.subarray(endOpen + 1)); + return returnBuf; + } + /** + * @param onceGetNalCount: once use get nal count, defult 1 + * @return uint8array OR false + */ + + }, { + key: "nextNalu", + value: function nextNalu() { + var onceGetNalCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + + // check params + if (this.stream == null || this.stream.length <= 4) { + return false; + } // start nal pos + + + var startTag = -1; // return nalBuf + + var returnNalBuf = null; + + for (var i = 0; i < this.stream.length; i++) { + if (i + 5 >= this.stream.length) { + return false; // if (startTag == -1) { + // return false; + // } else { + // // 如果结尾不到判断的字节位置 就直接全量输出最后一个nal + // returnNalBuf = this.subBuf(startTag, this.stream.length-1); + // return returnNalBuf; + // } + } // find nal + + + if ( // 0x00 00 01 + this.stream[i] == 0 && this.stream[i + 1] == 0 && this.stream[i + 2] == 1 || // 0x00 00 00 01 + this.stream[i] == 0 && this.stream[i + 1] == 0 && this.stream[i + 2] == 0 && this.stream[i + 3] == 1) { + // console.log( + // "enter find nal , now startTag:" + startTag + // + ", now pos:" + i + // ); + var nowPos = i; + i += AfterGetNalThenMvLen; // 移出去 + // begin pos + + if (startTag == -1) { + startTag = nowPos; + } else { + if (onceGetNalCount <= 1) { + // startCode - End + // [startTag,nowPos) + // console.log("[===>] last code hex is :" + this.stream[nowPos-1].toString(16)) + returnNalBuf = this.subBuf(startTag, nowPos - 1); + return returnNalBuf; + } else { + onceGetNalCount -= 1; + } + } + } + } // end for + + + return false; + } + }, { + key: "nextNalu2", + value: function nextNalu2() { + var onceGetNalCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + + // check params + if (this.stream == null || this.stream.length <= 4) { + return false; + } // start nal pos + + + var startTag = -1; // return nalBuf + + var returnNalBuf = null; + + for (var i = 0; i < this.stream.length; i++) { + if (i + 5 >= this.stream.length) { + if (startTag == -1) { + return false; + } else { + // 如果结尾不到判断的字节位置 就直接全量输出最后一个nal + returnNalBuf = this.subBuf(startTag, this.stream.length - 1); + return returnNalBuf; + } + } // find nal + + + var is3BitHeader = this.stream.slice(i, i + 3).join(' ') == '0 0 1'; + var is4BitHeader = this.stream.slice(i, i + 4).join(' ') == '0 0 0 1'; + + if (is3BitHeader || is4BitHeader) { + var nowPos = i; + i += AfterGetNalThenMvLen; // 移出去 + // begin pos + + if (startTag == -1) { + startTag = nowPos; + } else { + if (onceGetNalCount <= 1) { + // startCode - End + // [startTag,nowPos) + // console.log("[===>] last code hex is :" + this.stream[nowPos-1].toString(16)) + returnNalBuf = this.subBuf(startTag, nowPos - 1); + return returnNalBuf; + } else { + onceGetNalCount -= 1; + } + } + } + } // end for + + + return false; + } + /** + * @brief sub nalu stream, and get Nalu unit + * to parse: + * typedef struct { + * uint32_t width; + * uint32_t height; + * uint8_t *dataY; + * uint8_t *dataChromaB; + * uint8_t *dataChromaR; + * } ImageData; + * @params struct_ptr: Module.cwrap('getFrame', 'number', []) + * @return Dict + */ + + }, { + key: "parseYUVFrameStruct", + value: function parseYUVFrameStruct() { + var struct_ptr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + // sub block [m,n] + if (struct_ptr == null || !struct_ptr || struct_ptr == undefined) { + return null; + } + + var width = Module.HEAPU32[struct_ptr / 4]; + var height = Module.HEAPU32[struct_ptr / 4 + 1]; // let imgBufferPtr = Module.HEAPU32[ptr / 4 + 2]; + // let imageBuffer = Module.HEAPU8.subarray(imgBufferPtr, imgBufferPtr + width * height * 3); + // console.log("width:",width," height:",height); + + var sizeWH = width * height; // let imgBufferYPtr = Module.HEAPU32[ptr / 4 + 2]; + // let imageBufferY = Module.HEAPU8.subarray(imgBufferYPtr, imgBufferYPtr + sizeWH); + // let imgBufferBPtr = Module.HEAPU32[ptr/4+ 2 + sizeWH/4 + 1]; + // let imageBufferB = Module.HEAPU8.subarray( + // imgBufferBPtr, + // imgBufferBPtr + sizeWH/4 + // ); + // console.log(imageBufferB); + // let imgBufferRPtr = Module.HEAPU32[imgBufferBPtr + sizeWH/16 + 1]; + // let imageBufferR = Module.HEAPU8.subarray( + // imgBufferRPtr, + // imgBufferRPtr + sizeWH/4 + // ); + + var imgBufferPtr = Module.HEAPU32[struct_ptr / 4 + 1 + 1]; + var imageBufferY = Module.HEAPU8.subarray(imgBufferPtr, imgBufferPtr + sizeWH); + var imageBufferB = Module.HEAPU8.subarray(imgBufferPtr + sizeWH + 8, imgBufferPtr + sizeWH + 8 + sizeWH / 4); + var imageBufferR = Module.HEAPU8.subarray(imgBufferPtr + sizeWH + 8 + sizeWH / 4 + 8, imgBufferPtr + sizeWH + 8 + sizeWH / 2 + 8); + return { + width: width, + height: height, + sizeWH: sizeWH, + imageBufferY: imageBufferY, + imageBufferB: imageBufferB, + imageBufferR: imageBufferR + }; + } + }]); + + return RawParserModule; +}(); + +exports["default"] = RawParserModule; + +},{}],2:[function(require,module,exports){ +"use strict"; + +var _rawParser = _interopRequireDefault(require("./dist/raw-parser.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +// console.log("import parse worker!!!", RawParserModule); +var g_RawParser = new _rawParser["default"](); + +onmessage = function onmessage(event) { + // console.log("parse - worker.onmessage", event); + var body = event.data; + var cmd = null; + + if (body.cmd === undefined || body.cmd === null) { + cmd = ''; + } else { + cmd = body.cmd; + } // console.log("parse - worker recv cmd:", cmd); + + + switch (cmd) { + case 'append-chunk': + // console.log("parse - worker append-chunk"); + var chunk = body.data; + g_RawParser.appendStreamRet(chunk); + break; + + case 'get-nalu': + // let nalBuf = g_RawParser.nextNalu(); + var nalBuf = g_RawParser.nextFrame(); // console.log("parse - worker get-nalu", nalBuf); + // if (nalBuf != false) { + + postMessage({ + cmd: "return-nalu", + data: nalBuf, + msg: "return-nalu" + }); // } + + break; + + case 'stop': + // console.log("parse - worker stop"); + postMessage('parse - WORKER STOPPED: ' + body); + close(); // Terminates the worker. + + break; + + default: + // console.log("parse - worker default"); + // console.log("parse - worker.body -> default: ", body); + // worker.postMessage('Unknown command: ' + data.msg); + break; + } + + ; +}; + +},{"./dist/raw-parser.js":1}]},{},[2]);

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%0Di|6S_Oe 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 z z5cV(tu7|HihE>(Q-MSH#p(t2=9jST14?1aZo$3~}PevzWVACxSwLbcYg)JvXEIDSN zMIbd@L^FEfQ!@xgjYK8n7+DcMVSMFUro>Gx z!>hY@$r6arl}!A~IGd;27#vcUnY;6UTqmA_z8`v#@f1=s)=S$LX3w^Nm(D$gGo|AGk*O z?|N^J3Rb{m&ce!8*4Q2KYym~L|7YEqaEe-J{9!`=LB$4^x^_qROM+CIPJ>if?c!&Q znXI1Q5yK2+v?X}++nFC_zs<+2?|He_e~>GD><%402#Jp!1Sh$2rN`m8j3m>Y){)Lw zN@bc?*!cRZNsZxG_)QP$YB#8x(j9u{wlF|fruIX6eLyhZ9sP9N9g~TYxokb}S?x;> zXR|b#WV+kO82fhRKNVy07+ALd+fH#6%Ot>Eypg)d$_9MJ+_vTW!15zJZ?I#jacf9;S;z6iab??TFHMsOe~YX2$njSTs@aquZ! zFjfag1tZFni+39x5C+ny|3ZxtwsofnI~?HPsvu-Uz3|ymQuY8tVxBx3YE5NgjFz+6 zR8`cZhHr8R6t?6U=&)O{^mkBU+?B2mBz5C%v&Ta`P3UN>7@^ROQGGUqSt;YF{;w*d z!D3Y@C&8TVlrz`~Ek}7Q`LVzA49-E=ooFOPm@iVQu3Qz1iuMa}rh zovHZAzGQDvpo<^)WUbnl{J=o`z$c51zT{Vy3F>jg3sCqQb?9HRsgZJM-B5Q7c4cfX zA?QMpn!wfedD#L3aQ3bNDyu5+fGcnaZd1T%RRvt>3K)iD!Sed2mq6~hzzsTiV2^-v zHhI)xjZll+u*WP%wr(k=NCSP8>WOeuh=loGmQ zSMWNvG0H?XMni%!o)SEsM|vAUiK$M{AGk-h+Q*bVWCDhxtEnmHu@Ti2XxmrEv7tJS ztz1V_b(}C+&~--->Xce${XJm9wRMIGfPRo=usE&mm2Xzkdtdgvhn;*rtNNn!96B5SN;WC zbhE;DQf58B%`_Yi;e`S$;yDj6Mbd{YMz5v-y4}$(DsvBqG2kZ`^dLB^kNEQFlV*)v z3n3>V>`NX%tFSvdzr#b=AQ3+IVwn~vr8EfAwz!e{sh+>d)uyhx1qL3pW@v3%LQSEg zB>sASYEs{LmR!rR_@H(-j{AHed*c`;QE5rhM(_yJV>+m%h6HV%q$)cI!C^AJN{ybZ zmVXLO7bo;gw6XVp)ORf#N-ag}5UQ%@Z*Xmqc7mgWt^+ukX@RhLnsK6r+4a<@L#h^Muj{A;b!7{-U#7?ArQ;Gq_KAIqtgyDecXW-#;H z9LaRk6MF;K0r!z{>S8(>>;;D1a6tp{2TOSO}KEzmdqC*{`zEr(fGM)`f` ziOYj!Do9iu@5cp4vihgSA-= z`4g%RM#K_6|APE_=%xK`U&vRm(P@!BbYxLq^F@7y?5?0w&Q}z3iWD4~<)JgzwkIi8 z1TT20tGJ|-tCzJ+5r2U&3Y=00V0q(up^KvutO6%=(mN||WYRSp_*c#AItM^)iO z`D5flTHw>B#`I}H`Q>o)a$HCqxr(PE#4H!BimvE^sA>w<6*?>K(Lp`IEW~s*fjUob3;)h8YXw?B8q@4zTV3&R zT-QR(an+6AlK{EGtlURfH3At_np6f8bfW!9&Fti%%#iV&7|9?M#f=mx5Q!!`qX<|LUk@oUzf&_8C(einPt=iT5XD>~4*H2GH^|7?s zsMV8ZV>}+0QqnX+*a)}n+I(~VXH+tYLH<0NBwk`yO#f@`-`zFI+X(&}9Iv(S9>ZvV z5dt$*$e0hY6z?9JIc8)4F?_@!9Z;K&fL9~+*) z%-BPvJn;DwyE=1v6q8pEA0ChAg!?JD|9Dh-wej(YXB*S2phb|9eFIITvADH+VZCNM zCbEp-I+G8ZodBN=w*hV?iHaWAfM_9P-eE8v2f3_t#+tT#{kltx3Hl#_TF&y{V*;_ zz-vTMVwxWifr`XsNh;qVN=!wbqCDu5*XKpUY%&2PCd*^(pXRw_<^W!nlQ}*JQU6l@ z7vFxQrZWd3y1nLsmP*fU`fbl`dSca>E+p^>J8isk3e^d{nUN{wX4@R8EzH)mt$Gq- z=1CBpMF3QB4>YlXrd!h!@Q^Fn9p3E8|LLCTY#q=Q2e`hA$?)VVC@8U!W5`S%%;G~+ zjJr?*86EUs$)QBH5qM|{$ptmjj^vi^*g;T7^J!PFs*)2sJkA?pgD-2()QAvQ)AtR zYP5Vv>#({*^nIq(_jZ2&`>>p?tSN{+mQNm`rs=*EKkWS^u$4YbN&@_h>6f(YUS*JYblZjiwv5+O^+E}i6mlA zuIe=q2A*_#1YV6kO6}rR-#n5{Xx>y2X&6lNkHs&Yiu6ctAPj;{C8y_xe)>N5+>lk& zk6c>llriHENjjmPtr;nVC?J$XexrNLtZTc^A(Ozsey%p7-HS5_A+=5nq8L^?R^c<) zBMmNtot7?V0LPu)f{hS+##IQQE`Ab>o}=BK5ZLAD^{Sn}9dw!Xu}m!@u2hdyw7weq zM}4altsv6CL$9RTT)uPncnQq>nq9Y>IqyUn*huifU(^ZQ*(`bMC zup|jFD!8n2?MPnbaz{Hk7_>iml}QcP_%LGkCD&Ncbw$vtL2?Va(dHa#rXpV2yU}P; zgxr}j&=wMxhe>lfiDK%f(z`KSDZ+42kT5i*=_%fszNXVn0Ag}0zkJ@@J-b8)FXM^u zlUcVM;url{S40CF0CHKhGrbdf*(owQ`(NLC%YOUJ&NjL#=YIJVG>c?(HW^_gVj{|R zyJd#tx|aENrWO))Tl>?y5GLZRo1G0CW9kb@?;QJAM~`gXpFYS#Z|Eg37TL|%DtG6b z{`q%GBUT>l$5~+B2q1Q*r(!2;fdf0!CzJgI*!VtfvYlbZVQ_2fLM*NF=bjIootV z>2A-Qcg{9a?Do-$*o9CZa(ayo{!NwfH(C76 zmGLkskmr%4OL6}?l>6HKgxEpBh~?HVzH2%=69AABz%%f3p+5rAocaM1%=hGN)W^@$^fStR^Z3(s1CEqo5 zD9*?8iS`nBzz2}9$pWF}z&?n{zU%uU)>(?_Tpoea^37i!aRnPv^AMBYW*BT%UyGcX ziBw;65E?Q4`Sy$#d=T_Z=!H~b>(TpY?lv_SmdT-4b#zKUYF*1uoUsHDW0EvamGq{o zD(m6_zy|$Fe&^jL8_opTa3=pNj%xH|L#?w|!E0{h zIWGZd0xWW$COs{JKDCBm@&$yW$Oy{@v$){S$wE-#uA~S(b#nW^O)cRnQ)ToEY)Nf&Hmas~gn6ZWL1li*J_H;q3 zaSLy~vb1@;}5AQ6^fQ)Bf>MWycXU51bPz9F!pg5wNrIQF4r;+8%se< z6G*G|gh{Ol7-tn|;h?m}A0iNwk=zDeD_jbB4j?J#n^1f!Y{#`Ks^-=qW72vgq9Da| zNh&^?AeXYb#c3nHBPYD3+q^pZJ~a@mmSj8reOtRtn^kyZFl)ZH+t{BX_Y;So2y`tP zB?PWr=_|Wz$$j{jFH1EOPh<^wiSI^s#S69`a zbBrF8b`zKwICLebYG{RIt+%CdlXIi2xyD&@4c#*sm-dcEZ|^4ggHJ#GbmOH!D9zt< zAE%Kt$dAY)?bzQj+&$Xz+Og!S{I`@z#>(RtK`S7qHWpd!*vc`IqJe>d&7gi$J(*!W zBZt!0=WQ;&7=;e;5~9HoWCJ!KwVOh==8J8_#@hEMw9u&7aEPK9XtYD57fFK+_-tX# zCY{OSW9?rekGg?sD0ZC;d|bIB)_YySD62cY8D49I)`4O{8e48#P=d;LB|tUyKC=25 zT^;R@XpJ0HV{)JcIUKN;lR0OHbM`prfEsB?FZagQzp(zGXo7gOT-NRYUk0paTt{oa zZUWUzdo3cqQQAgNfWi{yE!9KSo{aNLdG8rP^{I{89Hiru=p}2$PRI&Zy0$wbh26E? z_7T*N5=5n%1Z1-0hv)#PoJ~J`%-zRXJLBWL{qfF5mDlW046-xcNDFk*o8=q4dH#jOWecI&z8Nq?6~(V;l@Q z;a+hFAw)HgAJx$k%Q~^mYo**d81g# z@D%VZ(T71aRa1x2G#NzGWkFqFX(h`RcnTz~WX}%NqjB`PXwe{ss$nBptZ%-X9Lnqz zErmx=_KAiO)DgGq7GjWu8Ar%PP>)R(K|PkJpdS0WVWzkwZpoKK-314t+yxcN_cbBQjK$-T3eS)Br@+nDv z;ljv{e|E>ESmQ9t%cEF6E(mnT?Gw?&A~=%ii6$XaEbriPeNoaZD1(Dc~{fDyr+P11xMvDp1U{=)aCV008=Aw}thUYFAP)RvG96 zoV}|Xq%Rqrks<5WbuX~UO>rpKj#}8}V@HPyTNo$|l2HpNh|_njAb;^9QvM87vSn3&OTf;82fS9 zA3lJCLf|qSc7!j_ZMl8`MO`@T07ug)pw1O8ii_DpQCAX`E_S{Pr?%MnZZQ5UYT#9P z?sx}1d0|-kuFXwR>_|`0>`W^o%1o3oPdAQC*WxIOBUFD>$Ro)ldByR?&NPQM2GT`w z95LZYk|*hRDdj7VFSa@xt5VinO1j`vZlPAAKszkVPL+M4nc1L)z8-xh7H!U%`kdfX zhpAq~{weCRs|d?B9X%+E1e@~oP>1WMXxBEP4p2(8YUt@qfuy^mw!y3uD$ODYC6_Ge zw(=dco)#VGa*-hRhqK1r38Zn>T=UX3XZgQf$m{5n@?9?V-qES+1F0`uw(PNa#z3Wa za<+x66&2++=Ciz&w-33tv=9A|6f^fH%a%?aYk3=$W^z^jfKOdf!+1!|M3aAH`I5)y z*{d7p=vwE-{5O^_c49tb-&JXUU zDtyh9iAobAZ?Kv>uDkqP6!CM8?B$y7#>5kG?PfM@v*i|TWGr-N4^3h4So12D4|%D% zGwxI&t^DK5cT)h=`MjkX4S%@-5k>WK!z3UUIp}KsspV_v0rF+}ro~&jMVaqE0P$z6Xzu#?@I5fD_r(sNe*_@1YSr5Qa*- zb7bvu{r`~V<=|rD5Jxz;DRBhq6FCEVXww~x9?!NMmfDmfruiQ)51|GmlAtgU3ATlr zk1Y?TG8%(T@iA?@Ok)O{qjFcMkoXXrMC{%R(U2oLv!Is*nU?JYoXpgb&cOhKYf3O^ zX4iNa9E6W7aN5^2YV59D0T{4(AVQwYt}H&-RoAv`zIRzNg=Ng;H|yZh3#s}bY>&2G zPZJH3jAj6#jt8h;oXs7xn3?4_HlOedu5rDMfhQLka>S;Ek+_Fp4yfn>SP$dywOI$gF^t34j>O@*<09W#_`5j>4sgE!Pr-Hs{szq5%8?es z-Cnvr{0-^04X5kF-;i#8I9(t9hIAW;)AiwRNVj1)T_662bl6E5>_;E|hIA+-2Ggy8 zzg0-PJgkTD_qq!F<;12590NQ!;*`m0nhQsZk$reknjTk3JuqXgka}PeT_N?ryt+c_ zfvI+d)C05c3aJMscoywS&f+1OPuJ85+_z-$D>Dd1P%;y=T=ibtO{kWrgPYv#vyHy{yn&f7TU9ZCNc8gIz_6gVl_f*ZQoOM~TDtAaL zsQxs39MXDb)vu-~j;eT-f!0|!I7M00s~58^FF`MJgORh7SW6l*?n=z*_^=-xz7|>8 zPov2;B~Dyc;%F#=DdRLxid&DM)tTsUrr(B){kr^(Y)Lv*b;XdC2MqmwuDjpMjB%6e zB^isOVw82A#1w9(>ff4=ExHR(B-_9#YrCy3g_08z0t#qy7(1qYF6?k<^i3@@r_<9e zW3o)f#;A;F<+)*~MRTW_|9sKwMh{UNPC?JL)3JHoBWreEN@VEmatRHeUk>$4Vbs}{ zT$R1FKyj@sgnQfQZ0b>b+^d}@7A^w8wjNszzSOHr0P(j9@#jw*T}?@z7?x|$Fy2?D zE>%95OXpsf@4j|)MQGBuLvdc~{wyIfy3kTPpEZz1*FdueAy74FqYEfCaj+n`MVVcE zudxfKpm7@#j$?eU7Xa9(^1L*hUd;bo0@^L>Uto(Fp={o0DpPf%P&<36aD?)CV^8@UrU}P0q=kMKD(Da! z)Gec9gOX)*Y*4L?jtvTx(Xl~|GCDRWPe#X@;4nW@DZLCBiV2f#iDJuY%$)|Y3B{&` z-mXh;Ju7?MY#f*xx)8Fpd81(}6w>~?N-aH;X?;6csHJCmYH0-`&Y-3)sijMSVST&J zvip=_eLG(c4C`C&H}%R4>)Q?Gz_7lZD+h-4ZK0MP1}AcI+q9+Gx)Y2229*mdeVAQJIzODW53@^2Hx4K5!|YPh4Z}(MFuRm=Za8TlW|xw3 zeUpEEz*-rztI*j^%tk!S_l^EydkdX@zFmdcts&L*b1<`x6qlBrZL4zx%o&{Ps&fPc zT78ayN2|{f&}sEK0#>a)M?kLC=UC&+Uk$=4tg^GA&r1U)i>y@|SO(gCd$|=7LUr~) zA#QrDkQ%D92Xb-QDg+31;~FKb z>Z;aCjna{0)AqU5YK-1o8I?xtSDhhXLQhs4EhrQ+c1W|++k|oF0(oU_v;wAER)O>m7?d<9K>@S1 zoH8h2`m{1Z0n?|I2@04#txQnB^l4>+$WxQg6R$@00K1Xqz8l36~t6W}UxLqE&scJf9jDIbG57L^!xXgW^J`4@5)d329k`=p#QJ zK$eYtfWp)dDJ zMA(;GM-uvSuS|q~y)&BDK!PeF9jvKpHmoAT=UA;Zx<6p@G9u#8zS1)&WDO!%bxYPD zmQ@$B22riLkTr;J)rG72K;BLrrRa-ZuvCo<>aXEUc85L@lZgkrP>RE1tOt!@=j6gM zTIa!w6%BVfQ6`FxALZB^SLCnfs7b3h3Wq*e&_NZagSGA&IEVA}>POblfj)my&sh?n z!`%0#G`cpCZIN{W%qmvpA74#=9TMcQHU)0VYrH9ye*sIZ`RwBKXOn1tKAxXX<_G@L z`T5%Xe0_e5@Ww#gT0fhkGK|m9PZZ&;`N_gx<(ZnFu8MlD!)NB_+w=3Y^Xo!I>*wd^ z=I1xeZwvwR^PA@9H~X(G^D-Rsqs}tz8Tn5*%d}_YZ|t+UEX(HYcydcCyF8@5JfyvR zz&i8gE-fZ=FAHfe3u!OQ-_lp^WiIWeR(2qyJrL3!7%2CEOS`d^?GI`9hqU_#((ZR@ zH?*>SA??19cHcnX_PMlkt?UIM?F&NM7Yw9*flIr-mF*2__lC542l}?xrCry`E)8if z4QVeONPDSEJKM@G32840X)hT_dx=ZiZe_9B;ds+C3m0b|hUJ%k=Fp%~Fmlg)FJEYwm z((WD@i`_2mL@V1B((VdrcMYW7<GogwYckap)l+MO;f zPsHsAX?KLQJMuSRW4kGHLH7394wsf!N6rgr&kJeK8%TSeOUqj-=Z3WBhP3AnwBcNr z7Te0_gtX^`wC4<@J;$ZRxajtfc6&&>eE??LU0O^#o*mMj9nzjXkoIhs7KRwp8_%#Fp?47E4IYL$Bi4dZ7RPt(HyGNNuKbZRX#eWv!2&GnMb z@Qp1teb>58_l;pdee27*s>Z9oT(eLu?Kkrr&}l2|r&QRJDdybHPCK=;N7yEhfB;Rv zsv1T?^tM(#AwWS9{nK3)yu0Zqc5t!`)6z1W%}Xu!$aXtX7?5xOkAw%ZzTZsh=QldX z+5V?QMgils`RBem(f*}4e=T2_AdmAK7khDUJ7sbIUU5ik!8{kKzJGE0j5rX`cad$cdo#em z!Gjw&@vI6N@Kn!ON^f8-Pv#M^IGCiPZ#ffz%g?eVjB$FfGZ zJW_H3-te@*OA8o@nm@x!x%P4hMzxG=z~f2vL-aSMCV6^NQ-mv7ij}blO5%A)p7E62 zOP@tX>S`Awe4cntb3=dnIcw-;G+i{#Pfb6(|576P7@`(1pl9P4{E({sA4G-EDCaLI z=f~r?CL?qz5;oTZb2h=_-N%vIZ2%gM?KBw>-zInr%uMa&c9=8kE>lyE@)#AysCdHf z{3QCGC_4E)ceFnoLmqmq?&crL&pOT^%HrgUx5@^HA2n6iZGi9g##7W`PG~UTR*^m~-{5AXs;K0qr=}Y4z;XnT31lo6A`>yzKfUs#-sV&G}S9~mxl`7XD7xg5Ax zob%eHd;YEW+9?Cr>Lm6g<~Y6e?_mza$C^g%hNUJfy+6^;|K{GQtcgS-)27C@JOzbM z5J)@aP*aCHVx2m;1=2Y}#y(rVv~gj!W89m$T?i=@&cv$wWdJL$^|i5h++jJ4R8P%h z6N@Z}kx9JVqhOeI*3yg73YIb11|kbD5>qf&2P1pN3IPe9q$7LrEKLB^tR4w0_kZckT?~rU#Pn+^Op0Er#*kf9BoQGq;G^`Bri;@Kc;qDcogGSt+&Awo*Hg}*5))GRY^hsaL) zcKJ2MnGNHvz4s0u{X&fwc;KUYu==jDE!?|g3%88{%SS&vk>70ctQxClVO~pz)BJ8V z6j#P>WjFbwxESrt?}XItJ)}J(kJ~>=NAlnM@&97Xh1Mbb5%4j4s3y*T8+S+hy=iBx zeNPHb-2Un42bl+X;McsW7W2*a#8UpNUy;c6`v^aX&cB+r|1f5T{jtBEP@+Wd0wX-= ztza|ctXE{x{MX3Bd-E||DQ*8qnm_&ve-vf1zMQ}LuO&OvPPK?NA5+0~PNtk*m~FzZ zFlQ=3OH;Pe-}ToMbmpyb5VDi2EXqIM$;)*l&hL%eU#7Sy{~aqGhEDkwv(-m@+C@mn zEoHH1e2jm?$B+srT#rTOf80w=H}0?pgLofSQU9}uvbVLOJZir&F;P2z*WajXDvrkM z30@u_x=(8dn)U%)$p!YR97dS0%%b*J<1R5-rk5!5Kj>xl5j^*!h_9C-euZ_*zGOE5 zdCVZR+arcv)q0yPD-2KU6>;$8Wb3I~JW=_|lTFI@1S?>-Iiia^h`v~fCKqY@?Otml#Y$ZNv+;!PP8Ul`8lYB&&9wd-t+M8z>9KpC*Je% zA|CF-yBqI#E588mg?O8-{35)2@HSfc#dt5l%Y=R@-o1F4)L(#iA6_PQrg>)drY3jh zYG&vr_>fT?sON^ZV>wtMUAid(Hg%cz!>~4WHnjUVR@o?LaH@ zLfHh@(2Dss%1`}gW}F#lekog+&6p-lbYtej>^D>7goCVRE5TM%66lRpcwq!2E2HMO z>J4`ugqNh77~kRQFFD~E6em*P#qegRK$4*q&vQo=6)<3`AXPo$14dG9O`CO9AifD& z9@Ud*OwO_fZI$6=lK1r$9Rgm)YheH~co9BFG_gNR>piu2tP=acr~>V@>hf}biO>T! z_1tQ_`W%u({&|)S!mKao<1h39ZvCY`zNind>j`~)Ngv?Xm-X>i`T)beqL07U2RQaO z`uM6oz_L^N_*;E|XMd-Uzt;zt_BDO{gFe8uuj}K#>jP|iQXl_AAFIQ+A0CNsv0nr* zjy5Kk#@M_tyOqhtp;*8v9!3*N)D6WvK27%H6FVf7V$%cCTPVjc$>b=zf99D$D959X zNn1l`BRLUVfs%Mobf9?wLk1A0uMI_CEOG0f#!$8~9k$LMq4Fv5qwXZAVvFShd8P=l zRc&BU-7!Ln#YPW%+|+RZIBCfc#iLdXV@X=8qv8}~kg#hKDg=AU#YhcPFognBQ>NJt zJff4}V@76Ww_A4nH7l~FEt8upRsBa$tD66EjAwhKw8s$H)3QSEXqUa4KaCB9wYh+5g#F4V`GOK2*}Am((NSnRprUN9U#d^{>ndotb1{BD92ffD`9*OiggI;YHTJrcocS=La%V!z{^G99y zSIzmGU3Dk^rm$OeNKvzp0Wi zNTqNV1D44>nZnt2rNXeD5}>IkE{D(@3I)tzm^*Ccm;1DP?AWN#Rnd`CA$z%OLp=5M*c9eKM(S~J7<+J&F`^1 zIdZhq?6D$iUfx}tz5!L)=)Wi$9bOTdptOMWrT|fSW|e{uHcWRVor{yTPo+kqfNJH0 zqS}gt0z|Jw=&q{j{)E8C!x6)09*#!OJvfSxvxY}cb6X#(C+(HdQ@Rh((@h2rk(|2I zA(HuP4w1}1*_|oSv+l5oQ(GER&HxCT>X}afdh))q=7F|DdYf=(mDIv(-E~TD{>koo zhn@tn{LCy>BO{~GQ*ij> zu#Wf8^OK;bq}U#Mj%Sf|W7MqHFR-sVMk z3Fw8$fitO@MsZWtBA!&`tBF;5F~814a+N^}CiS-whksyg#cbMRXLM(kv+1OpO?iE_ z%*-Y|woK|Nu%ySig3oa<2~u&ij35=ZKxZBBoB#@1BUVYaLZadU>9h$0@xP6ACXU>7yAQOfqo_>6ox_7pCWu5Se)OU7$%j5hxE!mQZDe;Urs)XERct z`pMk1>Bv^0sp~46+RQi%f$XzFQ+-P!Yu2cy`o4^As&5=N?3@^A4ex6z3zWE%XaNGa zwDiyyj=orXJo;$UI6+U6N`oYYk|=iX;23)F_OBazgxB)eCmQ>t0LXd=5PQ2>5B4%} zoEytHM1n8~EZV4r*#v=nfOzE2P9+RmjAYZM3Z*FzWxYI<9$0Z1SWGJtx7@gTV5MPP zTjg;b2`ugZ20kpz5-%Pk;EEB{($>+eAGCtO zjhAV*e`&(IH-p4l;>GRC<~B19kgcw{ef(xM{J5{VzJdMA^0n~eJKuAf`LUl%JwG-j zh4`^eqZ%q6!>Z)RL&KS$G_?fO=fPCXA_h6}+Q2l#f`^*YYs28wNsO<&$AZ=Hf?KVv zDP^wfXZwC&^7wp#Tm!%?bGM-$^nmG`TMf)XzSh@+6-mT^xolHfd~# z1$LyZA$5ynINp0JPHfxkj)3QxwidXqzOaGOs}F_6O7$T^O(3|aDXXiqNrS9T+eRrA zkmK~x<_z?P+4v!L(_J66mgc$czCKbX^_kpD7WY~iE+P!<(`g2qIT9_KbADHwW&32e z&fd`JJ<{}W!|fGKjasVE$-Stw!6hBt7-thTNRrYf>!C~fXlsHIQ7z=Ts}?1cPAbWj zQoykP^_g0CM!gvCtzUYUZcRW1UcI=U>1T^eSjw3ikVR4uUUhI{$}e2N2tigl4yLim zys^-2^O71*En<>GsvT!8nr-72&B74w0?XkLUtA}6xy9?KW^y#&dM$1JHw&EVw_}+O zM;X5uoN+pMMl4-8yx{nNUx>J2GmUA71F=%S#|sqX3T*fSw}LQ6A53gKYS$e<>}Z6S z_xL>Q-`oRQ+EIcOevn=8qt*;KH?*bWnIIR}B@P=#LP-mlZPgC-gXQ+Ghkxbc6PX?0vbdG42S7TIn{f>cY#QoMsJelmNi&Wk;2Sd7i`l#VCo6 zAhax{ZSHr%Ifu8oYpm~;A!uNA3Wv8PAcbu{-jrRihcul{R~1lSm*t*7KVjAx8tm@r1sU=-lMDVx+Rtw_nKNDg79 zdTm^^z@hmCRA3Oe$aYFhi@ejex2l=n;UtdZ zgKai-xY@3ThQ>rKgw8Dm0E3W+{~?KyuRKFl57?kElmyIL2fabN*OCI0zh$a3;t$PBtFiFzn)> zeK(GY$HJBa#DulcD4xU0y`>%ul@|3c^(3@0l#&@8Fgz4et%M*w0i(AB zYO@9e7o_-F(T zK!A%Txo0~3Q!5WY*BY7l44`7>VSF{Fn&XHR5@?_m#E;^YZhbddJO7o01=)woC63yZDVYm zb)z@bS2xnD>v1pbaKHb@-sB3myQ~{$OSRH0yHwNR2T_y=D}QW$p?kJQ-mb8;dyC$< z+uK_~Zm_ckZiyc59@fI$!&?4S-yPzbpW|vw??55u0qXAdJb4k~KwZn!`fY5?9?<~= znsFtw_-5T$Lj&ZdUEP9qi|dF#s?866Ib35E@{MM`a?y=kcNs(LXkv%)^Y(H zzkbXZE9j=xIY%9)yWJ>`WBp(G#|1nFqj%2(ui-z_*N2#J1rj16mVSTCsf8MY76!?;d?}9W^;*52)GPl; zQ2L8Xe)A3mgaj_4GTLX3>NE*xyxk54hrIPV;dEsmjb>BR8XMB|U~IP<^Zn`=olog} zl8+raG8N;dho-av>cXd_=}O3I06GAHiU;yg82lTlyHSg0IV>i z{H^b4vfeV`Fu&_Pyipfj-G2Sm(aY5@!w)-E5J#i_G!PNw)sgHcwT?76I+TeT+0G9r z&JH+5`IUY+mQO3TLVHhRqhY&H7{K`X;T=FXpv6@Rb zoqWg+DtsB2-3AUQA429%IIVn0(8s4UWKk8OS4IQ^=ywHhM?3lNM~l<{n;U@sG^4&o zS7W7(N}eRD2Bi2d8=&MW>qx1_c*VbHBm-8B6zGT7=&bYbB(+*#ZwS){GQeFAqq?xVO; zm_3ZU0hcR1EQQIBy9xJB+|9VR;cmfw53BO zgS!X!)3_Jo{sHbKxSztk6!(qsq0V01+i+ii`xChPaDN z{|@&Gp}3)WSEIL-!0lcJqvU|SmL*ZHTUj-UFz48(E@#!?n+)c#6k&te30Tt!SkuY- z2ead`rdQ+3sZqB}{}Y=evd@ua`RCrj;lv1!zxa~nParz<)GwJ8qNz2>eCCmv!6bg@5gpFbBq@eoU(i@no6-x5CY5KEwoy-Z&R^q~tlu~^>` zRt&LtA+J^9xdJyK3Es=_vebc#9y!XNO-AP{ViyHyX4<8X^ZmyTeeCofJN2={f4tw? zaG%mOvMKhQ7}9A7|?0 z4FB;}n^I4O85R$b1iE~0vtoY96>~W;pxu$|3OwN9k?a5-5c5cO86Gh8NVW$LsD327 z7!SCAB-@7vWImGZ#{+gB$#h>3bU%{401x1e<38qLnMJN z-!IzdTf-+FVhMDyzhe!2C^Qfcu>`u<-?h(=hfh4j66j*zU`72%C<+g;1iIKCwa*_5 zpLmER(8cc6*QNgBQhn^zhZ8%0$7aWZ{U&*BaeBR$sz^*uXo@6^1gS@YC!eGKG}oKZ z@{s4%DwN7t%FH<1F2QI(Z1Ugl29_S>ANTAWw8nx^%p0(W+}!9t=ag#M%L9& zDm$%5Q)wmtft3uqPV$*U-84wnZsj~ukP3lXP(^SUHOF{-%>(4qzJ=DK&Y^6_k?fpo zCuEi-hin%-(TZqT|6xn+v%+L~R+uc$8ZcLNmYXbjdsmC?&I?CQyjIqkp{z4QS!WKE zb*7(qUq}xq>_@I%s%dc}Wkpp3N7=7?XP;>1?AN&xdyA#&61RnBZVS!amj6;;iQ9ZL zO}mguAVKsHTZF<>C>XyD_LYM$1Rm%K6aB`OwPwydR?Tmk%^bbHkCy+7ZSh}4M;k*UH-<)T9BAam!A2HibowD#!HqVA zMs5g=+%SNe8_JCoYQAha<}nw_n+xU54It)RxjcuM9QgO7o>Zg!`cU%vQ1beLmaZ?C z+-vFZqQ!`ET_|r|C~w_BOV^dl8)~Wa->=Zm4NNq0U#XuP`KTtY*-+Iua8~L zx;jS|VG6Z&D54#TXb*s)?VD}tx-u^rMgiH7;6#*Hyw8LZX9fT<<4a7mUJSe>@k0jf z?@0FOhrUOsOh+?9t72)J=%1T{A|fvLJ}!FCW)mxQ-+One?FkeSnzXQN3v8+-1 zbS<&#i3vbPA-02!SadY!m{G5PN14K;v{SewCZraQia4QDhCg)hg*&7=%@Lz2b&{4+ zeFi_9&)ZYkpV*$Zeh$&+WESmA+ok|buTmFS^XQ69`^VVSBZeZ_{EYAYmojRUPgt;y zfX1XjbXOg_qd4E=eTn(2h^bwRa$lO@hxSGvfHa&`V}V#Vn@vh&wN) zqSc^n-P)qu%|JFjCL<8wV5YMz+wc*QW$7ZOOti1h*DJfJC4U8=2+0uvNDjp+!K<>E zC%>kfP>b6HvmES%Q51NG!Jd7|H7?I}mglBSsPkr+Iq|RD^XfhWtW=8>jI+j&B>xocsxF;H;q9@iZYnloo zDzt-$UOQY|(ME*8!MKqPs#}8|UL$BrWj_bdEk@#-0NPSd)&$+qMwe+B(7pujfVQ;# z&bSLl-Irj&RJ%+|winI!8|1lUU-A@mm+#z{yh-1GO2qB*{287*hS?+7(C{IgH)JL@P;H4GiY9^cy&h;_eEoH+f31)!l?7+R!~X2JNWr&EQNzt}8LZCKaO?YYHXFE< z08|^Q)5_$C9YcN!s}l72#8Leo%a_hPV&`NjLH(#%nXeq~M_-xIg37ArZ+kL6(n(dj zLA9Pg-caEaR``TFfZJE_zgS~qv3>F2jEZa>Q+p>)VApCo6e`Rz&R@XzguKm7Ab$*sxuG`~Y~TawH49_^AbX?_m0Kam&= zBO=UZFeq~!(uUwl$m>{bweL+Z)+gDhW6hQn$k{_voaz1wn-;Q_;L^hT+ zU%NlujE|G=_?Sf6e`01!De*?myik=2zbQ*~H->Wii+`f3_$Mlh|4gG!sX(`-y=~4^ z)?2TOR~%!Yr7=!5#%XVi6B}aw-Fd)k*PH)Fmn6}xGgo0IR1y~?}Y6EsjGfu>SZFlb)d%} zd#D+@5d9~i$4RfpAO<~F;ZzfPyh_AK%hms&>$t8xc%FkafB>`rL4kJ*!C(Q$X_0eW zXxtZ?xX^OK^r*iF#uT90P2yFCausRj2V8w=;P{x64$=&Z7fY#1Kyj^0D4UgD;CIwZ zlq8vQC~Z_|2uj>s;O4X+PU05FI_*F^?2CE8)vKwgGn12T(RTB-9yrd0q~usfPY<;g zb={*gnO>FEWQYF@LeBWHm6K=W|G73xyl_>3hhtN^XC}Mhq&nelZgcZs930_l(u5+0 z5~#QlgHi&O_F6m~>0Gd(>><~HVwtvDrw@y0&}l-XRbUbKZ%YL9EV1bR(~U&}#py<* zK&Wd&AqOW&@Hs%C+wDF9jO+(EJp><;?Vs3eFdMg((4v#=+~-9?f#^@;WDhU_QIyI<}YY|K}-Ih3zvFho-C%6x2EV>364Sm&>2!V&V6Lg;|WxBwCZ;HqXBByi`_!u{vH7!j*Ry3tME5-ny=1P)$q|ikY z6qPiCl5}Tx(mqsIHm$?2rVEQGP(uKfs5TwUhn?VK%CMz&jVX!RxHm^_G{tIbst)cE zEM(^MQ;(}n^wx!cnx1GWkqXZ06cV^<^?kg9pzlYP&to(ey0CGDaRumt4dQh1(OwWe zJF282@m{DjlLV!uAWGFp*tK1{hzZM>uEF!vGuLf#Z_uBf*j!XhJlw&z?s9K`fRWHK zSD>G8xYl9^_+9a!uC&0Qvkkk=`@a_JNuiMtU~Zu)T&;mu$B=Ns6yR`uTs376tk8*Z9Ig;`Q~F7l_plAnObTytS%K&jK4B9tx0*tUBJ>Xm!?WkOl|eEKp&<) zyC$o()^2OEwNy>Ewm)Z0K93norU4j9x3r>XvNgvD3r0X`Uvgs}wSH$cqX8-c!UX#C zoX3p@)oA!(5LhXue>5hv28EQkd#-zP+}4k-?bf!Mcr6>C8GfN^d3;Ew zYs*fsd3K$!@v+emN)_W{z3CsH=d=^A)Fwz0J_ zt%V>B%n3<)ApIw(PQa_05-OmD|D4h^!1AF*g?*#NYs~$J*50G6mh!IsF7&@p1)%G zif$9IHrqcd5Tmhrh3&ZEW{|CAw{1S%U{{ECF4$qUSZ)8Iwjz)Vu&(@8m(4i4Hc2jO z&-b#?NtM#K>45}$D1j|LJ&Ayp%-VM)9XzP+z4r_1UeO=4ZyD9`OF7@5aqUO#;Rg1K z88_nYsG&tbF{jIO2?{yN%OCv$m!?s-p>xx*fQSJSslGt_%6E{Ov^ke*TZzzYxz$xtQ||wfak+UYB--wy_kIG|!pVLH<*(-%hVn z=_GIUD#>l_50c!$(&qri>NY5#9Dh!ZL^)n-cz~jmO7D_rb#h;FSismO7<1bkp@)J- znQMo3NU{wQa8G0@!vnOorVU(fw03L!fGEOWP4I^qWoFn|-*j#)-@4dsFxU-Fsq2i$ z8xz{Xl>-d?o-*Vl|Eu;T9|e&!yszGuJSZ)&0qsqYnriO7 z31ay6K-~UDtU_*7+~}JnhV^i`tUUo ze@kz;F#i=&?NU!ReE64J-Hn%}cTrA;d!Jl-dQWT}zAsjf?=*n~(DGkym&gseHw}U2 z(E>CA3{q#~ptUD-dAGW(TO@1hG7CWUVmG5esp|Wezchh0F4y1rxYk$r`%1BN73h zZzvV@roo~ZKo#`{c(_Ue)*9O)3!NtmS5unWfR3P!N&k2E7fyGFkBYTM%#-c;z?p$OVQ+Ebx6_oXFY&VvUsf z(_gf+At!n3f^~&qFJ^Frz3+MgMSwEj_Vq9S#lPqI3*I5I0v;n`+Lg*}P1Y%@>OU|v zQ?69*KRx{=U#d<83+3*LyBp=+9d|cjba~VNvDM+6*ukT3|08h(V~mI4B`0-OhA!O% z_hK`I(s6)mEr0))Czx+E{u+zzI6Igm98Zh#cicbSe#|)ScJcZ4`*~7aEDiiI2#JI6 zao95vv5@wk@OHY=wC^J^kra%Xjr>o(Z1V{X7Gdl#&alIn!Y-&nArQe1jWoX+x*aeQ z{W8G(*7EPh*4E4d@1oNyA;D{;ix8ZCm`$CQfG4xMt^8-LqWl(iN9HtrVdGWvG4pcN zT2W%vQJ<$+C!}mLve?%yfGw_~3nJ|XeD)^-p!n-w3 zG7Qk6(S18}1n{haHsppy>lGWyfHD5#>@R2sgx$WrWkI#fzRH5xS&{5tD%dRxstf*? zYk+`YVO<~Gu6mXub^)ls=v(oI6AYbOygb8#1C9+9>}@2;^!6Z*y(yO6F6I>YQ~p|M zT%s2@6`3yYBrVn_7F|d)e4ZwWN=T(@3;BgCrOmn z!2aFFK7!i^Rv@UyXAj$LQlr}sHM;P#DF3z3qhk<%i{S)O>kJ{2Kh{QXX;bOR-PUTh z23?=D7uVY)Uv6ixe=AWyAKoQ@UA&4Nx>3MncOIpbHt0$_w<26*@!nScYT&t=GXkT! zzTEi$YY2LT6F}L{6pZfu8>{e|#Y}NEV4zHhn`X3!qKW^A<>l;HF<$>#=&NQqB zoi)m!_DHOLS}zSohSUo}>U$H1R?#T5vKbOHEt(u9{}_Hf@*n>w$}bY8eLy}|DpCGf z`7W04KKVF77Ud7icd2}zl5ekkcgyzz`R=6yn5U5SnI zJLT1#t|))2yt<1O(N7(83$FV8-}nX$oUi@Fm^czk9=GL*%y=zpCIsl~+2>-uC0JJ2 zcsTeNZwH$tfrN#}G~&S0((9IP=>Wt|Oo-@^nXxWS1Ow=nB!qEprlxbEXvviX%^a%& zQ?B>Qumuifm^$Vds-M0x(sCJIJ%B1%Wz>Bm;=;!w*P6uw1|x%zxFo^m6%p((kFH=w zg@w?O9JKi%d^5+pg3Hnp$K0NNI(_k0^Ij3j5>Q;Ei!0OVs4QLbFI8!`#@9asSR%SK zL+OCUjF3pzZI2lfX2*#fSd@e^XrTwoNneIQONoG1d(IxTMHz@rWzb6h*u~Q3Kp8s1 zJH>HWX}KxGfwm|EU2Ct5LJ_VqFoTACSb(+9@0!=@Ol7luXi#cv(}u99$J%OULk$gl zTdlug2qA8^ux!929j-J)8m%L|K|Z@xW6N7YMUI)u!P5EbsUqD}WjgjjurV82(5_6! zuAG35!C3*l_4S%IFB~b+gZmzg1q9TA|7S3$GVs%`gp==F({s-DpcgKE{x@ zAv^6NVZs9=H|)abmrWsi4w#i>fj?}B+4I+iV0wdx7*B3`rH2L{<7p2N%?zSpPf9Ju zkf~ZM&=+Ov+{60gT{6k3AI+B%ZN;nR@NhVbaZa~FBd}bSkIEjR>Us=HU0Ic-(~ZOVZMSkHLwyup!tbY)Y&z%h5GBQ2k3to;E>E!-TstoFN|REb zFd481!%44#7XbaXwt1&bWy!@j1Kp^ZN&vS@@NWoV6M{4pJEJxZs> z^06amA>q1Kz}CeMDleYv0WtF@ex4H@N}!X!N8KTVFR?+W{1j74RmAyXrNSB$G-Qk( z&LgQ`yA&N3pz17Iz6t5w(5ayo0h71a8PX1qy)lwKT1 zKh}Gg>~VXT%p)XkS%Za5)0nk!(Ui$%DJrscIOxXKejyFW{0p_03~=U zrQ{tSquE>W+$j%h$Na7GoPp;qdCtW14tdVPbGJNMHr^2%8c(hQv$vo$pzFtYqsgQ9 zlFcH*rCW>!CSX_Ad!4uhbHQqM7CjH;A<+$j2LLiw!V^l0n=yXlUOF_mp>q-!YjS?X zA-YQ6U>JLgIM=*!uHmZ1Z7INWMbWm3ceC1ff5jH#7;1>IJ@~@*dND=yRnyA0(s(qI z+vH4UXULh!&Xlt;J4?={ER)lL4{1Ma`Z(=opI~C~aK3caBJj{-r_;x~-NRkpiITzW z9wj<|?L}Mj=@Z5zE#9AkZi;lZ8qRNjsv)~V@$0!g=UM0!Dv0jk3?rN>n@#lYM$Jl^ z9Rry=f4OkQ`@$ip(S;k|MO)E1+}(6~N)(5l1Q7-y6M+b)1s<3I1rg}~=>RSk`6=u) zbshCn4htX8Hos&lhA&N`AfJq)R)i)BdG6QsPAEw0<+(t|ZAZXpz$^x8Orb?LeYa6C zYa&PpZ4$}~vPS@@mU;w`67DA#gme_T7UxKy6es(?G!Z+Jy;;Urp{f1UZ%1tAGRw%4 zU{^(mcx^Fz>dQp2kLjXBU`E&EnP0HV^rA#Ha8osY3s37ee4 zXqLWp2rwyqr+k;w*Z3}{ub0x(KZ%m|Mz9?Qk+dVZhB*sHw$4B}VZW0ekb)1K#4$0E zY{A4(74|?m1uCyo!U>zFXW(l}Y!FPP^_zlO%ycGgW(Y$jGB@*zcK%RYu;5uTi(Bw4 zwa^b4dayCbKe7js)`cdybh+8WAk^WCq?qPpQ+f+AE=1HBQckUC4{TgcTQ^E5!c}V!A zQc(Mi&f$)uzFzIBmIOfy_B!W)bJ&t(^R;U+QU2!7gJ@C!X%wQ?hrW$ioYu@0EY4F& zNCC0+m|mHQjbd_TrY0IGrys@SLi%bZ$4YVSOis&7&wOA!%QLy@wJ|xEW+jvJanBi( z3sV-js(Go*Di)|DfV!Bbl7N&?#KV+j&GJ}#C%sjiE`RQY11`hE8n1MsFcxK>KuoyFN zh%Lqp9AYIi5N(}m$x9VtAu7b@{^l4}hz@bf3>Hu!IuxffgLzemP6dlG1BcjRDny6a zAm=G1jUM0o(&e5ly)FrK+_Jez?Rg&Z^s`TIAKPpz|c#Rts3YUeaCz* zR@a9zW{VG>R-+7rhL4Zn<|NKJW{L^xdr*(;U*bZ1R8c z|2=r}kKMo3BlCGK@l zW(BE296ezb?=Voo^e*>QA)dK6?o0>h60L$F36#|+%>%?RbqC_zL?ees5}zMFnBMYm zmfSL~c)%|SVEfbN!HWa^B{?DXfQ%cOIEV`)ckrfkt?Mu}Tn14CA5G^BHM#cWP1Q8%z%G`+>Cnv}xpW^PeEn%qM83L zFXLRCS8*b9qa5^^p`Bq8Sccp|FVmsq^tUOe&kg#7?T-z5nGU%@|CdXMmWB!`fC_2M zr3S0N^_F4Sw7S>?*2TuS&d^5$s}m1g)!`!oml;GIo0wa=udMOH7J_~M$qwZeJc29n zYcxb2iXE@}6$l>?m*_jokRgekAHVUN2m)ukqulw0bD1J2`4CDnpwiy|w4c9!mM;;R z;P4OoaMBJTWXjt_ymdcr@l`&I5Mc9`_w)J}J-q?CLmyB00vVv!^^N7lQ3h2bP5XpL z5G%$foAO9^;v)n{XS>KFTN57v@FgEX26wz9I)ksk3ot6nS9}rIcz*Z0Bb~@}^Y@)@ zhJ%tojY?lWhG8XblK3lO^dd3%pOzs28XZuE02~woAVMe zKunH00!OoCAG-1yOiqQFW+wbQZ!0wM2r$as4bnuMgg*Z^a2 z;D7MEfro82T&vC2S6@=j)0d1G<%7+u_%06HH~}#m@`GnD55*cAj)oE&)Rib6Jj|$Q zY@<8X(8verFv+lUHS~<^D+m)c8o*@^E5@He*)Y6z9Y=tWi4?_e6H8Md# zov5Kg0&fD0fN^~$D2RO`(LfDG1L32VFKI9jP;#(AmS7$Nh4TSh0h?XHf1Xe+a4}*qauY+npSi%~Q0CZi~_e8kQoB=-kJPGc> zkR1iy@ zvc}Sc8cTCVV`i10yOBU@>Jo3yV+%O;+t8Jz(P$U1^+@OKUSxu_=( z47+85ectWX*HYkD^z@k75pYP~vy+mJVVow{lX+A|?XyUG#OZZU8_fcOok)IvwGemA2z0aiYz&gp`G*WU}pM{(< z(q|IhgSj)Y&n7-Lsn424^jS*8=`-8UL{~FCWiRD=(diHEwInnr?X_HgXs;#x!Kbv> zas{>5l7hKjJIadL(j`C$)I73}H&*;K=Ru|5Dbm6osW`E*}c`w{AfG0+tFDs^5 z#aiOIJ=Y@U_(C(tyBVFunwhOe*B&g)sQw2S4_0QTq~wSY_S#7A(pI|+Y?vJavtBk^Vsn`KHhokR93(|b|@atJa#Hs zY#uwr7MsTou>$6Cxr60KKo;jaY6t5$4eLBUt{tpXSphp(hvM<CWpYzthP)27JgGj2*0WH zH}=6sDJ{AzinF4q0`QpV7om%S8k6u7Mnzq?~$&FnCX$; zW`V$FZVqhb<{-`&2oj(7uG9d%MJS!6zW8W4ZEXSgv#o8K9-ocm3wvl-qA0;b-Ong{ zd~D+sI!!#(d1~}2)Q+k?Ws>KrCPdnaEa=EjCEI#fZdV_KnS?{2Tjv^_>5V_sR6~kH6Pm zeslM?z>@jsZ@;hiKs9~jkM?^H0N6ae@Y(nF;+lQB`x&g75AikQkN$cc-+{c-a6FN( zgWU+&+sy9}JWzcFUI)BhAku-i62wTl08|xJh;>*R;0BOn&iM}k9}3FmH|`K#cLRzowva=eEHyCL_mho(m_Y-|QyaOmIz&MA#lY44VNS{rus4$DBmKzf0(K{BN zX6}QouyMM#i^UTI$ka;5@6?Pju~xJx{@#TkgR2lWC_30$1J=rF0 zPTG42d|G)1JQ5G8<{ux0-`emYp^IFb!GszAx^pP7DLyi#(aOX&xDZp9cpiL8R zddq?8obH>?F`W>!?M}IE0G`O+gU2`0BLzADXuvfd%rLKs$9L70V*9f0dqISYgJ!yl_qVa_QwYpO=^LQgF=Xm(CWR6E7Q^7zVw!}-3-Yr9kV_l)H6M>Bu>m1Q`>hvgKhM5LO zEFYoI6)7EkDPE3JTD%Z@2+baQw)!XFsICgIa7FsRp4FULA$)BqpBcDXFWQM?@M z;^pXPyc{XPAX!VbrL zVP%pILICacoK7LQc|vaX_2i_StVG=B!#}gZLlA{Ltcl|+{4t4z4` z$T%!6!xax-wf}bX{ng>t-f)eW{=8y$Q2IOT=f?X+FAG@w$$oC!<1I()(bgWIz~Sp+ zD(J(}V!fCe$YGYFezdta#6&2m9O z2xg_MWCI>n#j+BlmqWSnG_H-tmPd2R z=emXvR4Ne-cNXJ9RRh^HTbXUd_QH**T3J+T+Y`bkQ0X)eg>4&{PqHm4KKR-P+PK*= z78IN%4r^Zf>=06}{r*{-Hvs{ksd?L?qYXbhHe#E{IbxgX2rp>FqLG;d#Ew&p5sVo# zhT*huq(;pRP#v?mf>XzAQgHg1WoU=V$Wq*xRr7<4S#8nm_?u_U+UA=uW^bzoHluc? zjU_jd+*ooWiFT5WBsZ3@N6N;MJ4tRVxs{aEShBHP#Tho1eH`Gcw5A~iGj1%ojTC8- z+encXxs4QQkuFO&C@s=IP^868aIyp(^MH-z779Qn)Qu(CQX(L(>sAs5SCt86E4dvp z2opO>##>@`Z1R9T1a?l2OxO^KP&bx4;tfBStme3bt3bGcj7@e=xxNQ4k{w8c$gxyJ z4Jr+;N89sDgU&na#&Rn!4I-dyE&pS^;4ddv&Hf3G!n#3sGdOHjFH*e- z=ppVm&-t$zaw{vYH2g<)wh@1w1()Q#}penZ^|affb%&&w%%v`{?b zMo0=5+nb(0>9694@!$Rd$JVDfnXF3K!)TyBWLDZpGs37XlUQ7^mh%F|FI>bsr6p0E_8%imNf^7u4alI9S zs53f`M-X)?QC6~$AnH&oR1kG&FD8gO#EzAfl!EAj7LJ)TZ>38IIM>Z{>2Lx+l~EPy z(&5ygTxubg4u_(0se)WO9NNmI=5^_Ch%LsY9AZTaJhSM)M*Q=cCCMRK<@ol2t=E3pwa9<%!QNbq; zp_VFc?st)Px`=vLa}fDH;3WvHslTtUte^{O`?8R4Y^4lc)Ja` zzw&?qZT(b|)Rq^Z!>_A1#XD>~YS$(M6Oxhmx`APmz5+YL z`2yT<?+Vo2*5 z7d=58ApC7IjI6tpjWd$AP|rE}sV!wZmk23`-*dbwtYqu|5_O~a<| zoaSt*OI|r9F%%GcjxlMXmvu}g!;oXr1kmc3%*M=?V{-ZwpQAa;F^R57h*dnGzAEOUR)C zv7bEb->d|V6cjbpO^Ck_t}Cp~0AMwUNtSz>%#>o7x#yF>2uW5~6#XYt1;RG)8~`Ji zFM%`yoHYzyG7J%J3W3o`@RGaS1iH6ec?|i2stVNpDK~qAqZ8vLnTnv#x6Ez{HEeUAC;2usy1;ys! z8=9`H;f2gS?dHtA1_>~wNT!=j708pz9>)F4!=BTh>mZo#&mLN{oAhVH_NPr5G3;vM zTYhtHXwY9g)6X?qkc~#gn(1dthv@Kzg6(H?mh={%WLMjg7`sB+boJVZDPa(V3Y4ZM zapqYoiS>lxu*ZnQ*hHx%9`y!A5MLMdz z1z(21dz9wkt$OhvM}GK?!0Y6bg+XD7HbcyVM88UYk_y-dy!fhMA9fFC;Ks(&l&ndv zF<~MeMioyX)n^BB1nMpK8+8UTxDEH79` zKM00}?NUTC1XQIO?!fmz{vlLJs8*BUq@TP(F63wkPc$WF$s=C~B2>*7%S3LGdXo7> zu)s3ZC7p_VV2=7|xMj)PcLn*}@Uw9`7%Nh%48JAvx(((DLX5n;%ND-5ZAvot2Kfy~ zo&=ZQCF004XmWkSX8E z&won}*cz6eeH*s}Y)R-Iq#Dx!$Z`!O5a#%>CY2+K44oqFjxa^JCQssRro<^SlZO-Y z#TDeJZQeSl%`xD!ZG=VMT(MtC01dazB}h!0Pn+LpRq`ExH6>4+9k4pq0h!=O?Tak2 z{@lG`OQJWVPSYE$5#|xVBeT7sk^zH8$9hAyT4DIt%U=CZ`3L}+w_HA&B-$kF5_{IW z!s!M_UbG{$=SV7Z#HqLW5pqeX?0?zn&oMdu+yfP!7s{n@MyS}?ct*dJ3_(saI$8YPPT&qV?jt$ z$mxlQgZbsutxOkft~U~rO~VCihF{vQ&Iv*PDezhoWsSL0qRlC5VA?>oxC{;nK-r`Z zL_|0w2bz^3hY)kdMTB+RGniub$()FA)Z}Q8Kn(e$g&h&Wk_S(eT1PFy(2$2F(d;9gG34 z9Ib%32p~-Dge zm_#vaE9-tz8cZ8JyOc9$sR(9m+eC?=j3)2eS&#^386iVkKTE8aZ+}ahd#6L%-$MV#_G^&%ljwQK#Q*`XT5?on`T>0MsZ==2)-jnP-SGGZ?yTdQig3Y z>e5vhv&7i}2Z}7?dJ(ITn9v(W5HU>8J_yydE6e11qs=`RQjm*$DO!!tD)}b$hEZkw z*|OK1pvs_r52l_~XrSTD3AfL8VAG4kmH2Ti{}AmG|D0{cBr}i%Q6;xS4 zCrDe->aDXCLHIw&+|$6G6qpo)Eok*FCK1*)n}cXPXZv$V)a2GtLA{}0r-h{muXfX(2cCs$9C8O zR-erS)EwsCY-$d^D;uf>ZH(ATc#b(ie7Xs$4rxBzW}h8Rq0xp>({x)i>hr{|K#4Y^ zDLuiCkfy@hwAFG`lgGPKDGfF(EIo+Ip#kA(TGl8qG$+Ed0Wu*m{|a%EBn^u(mMo&c zz#R2BM+q>HnWM-|!&5s8jXJ>2V4zNA@2+EVdV#UF`1(OKb%?b^&NF5d7>cMUFe5j4 zOwKcp5ndckk?y{aq93ugR46cLkpO{g-wK68bRe7g?Vu&d-EV*)WhjntqFrS;tt|$J zR8D4gyL=E{zX}ZrzeMifOo+g)M@B*J%6pkiBbl6A@Kl z#uLonuVu(lz|_c{MjA6-gxi{~qs;wSu3&x27VsytA6h5uvb_^3JltU2Dm7|{Gd zU-<(JFas+AE8XMEUc)F^BykPRb5kWBuEH2p7$EO}bx_8M9X50Z%?v79;xa?dtg&{; zVDH|!PB`e^pFJ&XTG(b22i<#yT zQ_4ngBw09ox`Y`Tbj$%1ZWFtEZjcjCRp^=U3T_YRWyQOS&OtR6;LJ4{kYiJ^r z*#0s?iR~{Vl-RpQD6w}-p#*Gp5us$RPB21=?SxV&Nj4KR2_-+i!u=y0FBPf0fklG8 zxipwUVbi6{;AEkMP7Dy#_l;1psu~(QMf!Tz_RgA~zSleqbu!D^yV#gz)j8eUSe?^@ zNFmamQ4LJe?IQZh#xt%?7g>;tHamm+x)HZCcunux zIl8W=b_Q?g!}c!Wz`bBLWsjKub$E$RNX`#c_Q)=Ax<{*>cW`LUsAjl7SLG`Pjby*g zP>_9N>Jz)2-!xi+s_c<*po79u_Sj;XO{08}?CCe9%k8F7RXMhYuU~$nEC)%Ti#{uFMFaaxSNXvBfg|HEolx z8kvsiFI5#R%OJ?=U{=V4jUNo;MNZZ<6LvBkY4tc-7cm?KonX7DnV)dT9G&eVx}j$l z)J|4IGp&onDe>?w%4k@|O<1V~hTP)Lg@-;Hq zI=RWF`kKD!JkilZxrfDcl)*4YM3o|F%u;-l8PjdeD(JM{n|N>PY?X#;7>X_%3E zLI`E+Nb;CkYMd%HY6cN0ta3?$O)~DNtkB%k1vhgqshLqTs2N5$Q*)cug;-V)ucIFh zK`3u8(zjrgQ0Bw8^et-QnY9TQ&fJG@sTpKbLmu)UZYtIYBw!uWL<388$U|t8j8Dn{ zFE9dpFoh8aahAXcfEHE*T74)uh)=oI$0F&5Stz)Q%Ps5A#Tzhk+b1avN&oW##Sq-4 zq0T-Ijip$bESJFbSv>@E$yOVCkl7`P%kU>MU(w64r)BdYQYc|}yNut5Muk^l^YND|COuUmrg zHC}z_0*24X{FX5+E2&8^seu}q$Hdzq^B9r+r7y$`vo3R>o5aFw=)kajVcj6%KW(~6 zN=d{_l$Kh{m$J@#rUxyN5$2V=jfw;E5ptf21CVgJ`kOV2-D_#VlfiO6`CtH50M^S)H}IwaMg6H`Lay3+rp*DNV`Pa<@ezDN!VE-~ zNW{pg7Mt9DI!IWV`j6zIqq0i~v7@9vEv^ij%r9-N=L~|LPyERsSjv|=5QJgiL|Tq0Qv`zBes9!r;?YSmOM8_ z7Tl_a)!#BAp@Z+IU@1PFMs|Spi4$@HG)XVJs?XUa2ZqDgmUj9l%{ z$xdEz-v1D6rSVsBPUC6(_s)wkH9mLVrx7*&8g4wsAFn*`!p~*g2#K#`ya(I z{CB0)fmxujx~0^yUmXpt7=b}@98yQTb!BeBBQ2YgJ$|;7J-9~R$+8Cq1!d7iMGr$J zCwcr@DS1HqKq+o+$-^{jZe3Hsa3;aSkSXO38!S|i+%c(pW*0j^WrEc49~#~XI(&s^ zAd`9-kFR|XE?-7n5rqQm8pcc(Nl2Baaa_ZZ$s&US~+@Zz*3Tpga8&u4ZD1{-^C5r43$zFmWDU_?#EYXbsur9p? z-3Y-=M6V%<;RIU*A*(UO2dK-aw5Sh|*<5r7tYt@Qp~@r@mB|5BtJ?iEeN z@=~fav3KCjID(qbyn(1q>eM16Z(zQcs*_Vtok&Aq;k-Q9o!Af;@(n?MX*7hYPfkGN zkZXut-jj5B(Q5WJ*bvDJBn=%#1Mc_3Xvjk+I>WhMK-!;^p-!AUAQ>+k9tcH{Ot6|$H24Wey}a(P_4ayfqH zcWd_rl?S|k{y^m)?!LML)d#%HSJ9^+3lNMG(Tk8DZc1!S>GFB zYlK?Dy^csHH1h&hNgGf2X$`AI%1kz;JFbzNoe(2^mY-_X7ce-aYRgZhYUQUCURaN* zSneo4wReP{CU1~{H|44cqm$%PNH@eoGdj&fCyIF3QYLpsnH-ij*lx+P@ZMl#4a3M< z(Kgx^9OvxbaJ!g+jP(m@^(_nmkge@SXQH!UWLw1$M|yb>uVJ|xc8Z~h5Uu$7t1HXW zK$~L?REf|mR92<)TYqO~BJUf{L#@^n&I4^bg69e$2BkiT71RP;=+OegegHQR?T}T7 zKolBQ(FUt{vhLkOR#BhKDkSUzmT@ZVU=imCJfXVwld5Y!rOLe1s%zg=UHcYx0d%*C z>cV2`!eXe~q{s$TB4IInF|Zgwa*)MzaR7?}8W~v(>_B4e?;9QcHV7)aA@i6+U<1>r z2y>~BvB zA2J0j6l*X{w68`xh6ljC0U#3FkZkaG4eI)+CJzk#JwRCjT!z4dR&T4nvxA@a&EQ8; z&&h+IL8WU5=h%*ZAgQJny;!U9_E2R29szX^5wO$B^mn#0-ZzyYbYpU5Oi99Tx_=Kw z(L!FIDM|X#OW1ZV#XDn>#+yM5L^z17(C-qFXTGLkN)qHSjQ48p*>tIN+Ut zs3bgW-SDuDgoo{dK?o0{v?M|jr6m!PC@qPQL}}>;g(NaO5t0UZ9wvI0zVHX)n}H>) z$qB<^z{4`PhuPa_KrZ1jEj>|QLYpJ*Yzq}8LdVIDoScnLuwj-}ED2RCxkts4dsQrX zk+QjS=ypmZ>+JZ3j{0T8kDAdrtnnKeMggQK3KOlpVUMzG&dw*pIm;q=->`_rG!{XA z)Qs-Mb}L&AB=4(l17B=E~G-M;5$v5IM46%i5 za>zQCxydPJ$3$Xi1tvjA`H=q3b|UYaPF$YWiC`Tnw^S&lSEAjqS&kVQ{z>31ah5M* zmVe04sEj`3Q)R^P!1(FkXG-a4`D_p~O3-@{eBFEKGVc6@1`+bkdvFIY>SJHPyxrKH zo%7!ea2rGvV)`;L@GK6&CtndTSiFkk7LH5jec%w%LRLd*Z0P*%qu!2x-N)_#8M>nt z=K1!RG#kE-OqtDtppIT_`SJUIk1vMw*h{?0E1$7f!X*;nf4KG5i|v#C(xg96E>?h3 zEY;zkA3+9jeso3L6mg*v+x+46iwam;8z@fckaC>xJpKd6IpzSzKWF*RIsWrn{_{}e zGjsTBEBw3g!3!UU2UInaLfk|D3_RxzpqN3{aJ;+srdF^M;v133JO1OR%m)J!H~yLA zTP3wPI*85pUdSiWGW7HD7k>{vWDbia##By9J#IC$B`~;R4Q_ROYV*hu5kBF9KqeW=K*)$ z#sS=Y2M2KXUA9mK+*#I)0mj09CQC`AduuDSa>Wvc-@y-I_+9)EhEJ|544)iV7=9l= zgyFA|;d7@;kyZROZ2Bq;V}P-eLF*N+8aRoBTcbmGGLVyc)ZuFeQI`h>ec+ZRzB;WU zrk((xj}L&K@o*yQ^U#XccsMDn0!sL+QDAtv4@DU@HE$o`>M#^-nUm#ejDb%~pEaf} zqYQEan*d9@z6V~2T|3}9Fe%Z>_*0dc{?2ljqtrmIjc`(I!;#RU5V@36ca9?JQg~dBPB|@3NBEr2##j^czG1ISD>G%o$_7Ad7C}s9#)2ABWX7~1 z8AY8oq<(m|w~x}0Z6h9X4sk7M!%ZkY$GmAvufz7VX7i@iY~Hk*lQ*rF^KE>k^&)X*tP|>ZGmm4z;;qVGP7;j0$aAgmQ!FWDIlrK zH*JAUTVT^Eu$dI-@s&1gfel+=!zr+l6zH?Sx-GD73#>Z@){_F~SODA-+2!;Pqm#;p z#D~vl67mccDm!JU^iL6nN`03wR9Hupp;F4e@ddDVaz|mPR52dFP{s1743*M%!ceIJ z$B8NgD6%Kq)yU7P9XJ_nky{4QHV-*g3;kxwccF>l181UL9?n{6I^@~ClUVJ&V2IR$ zJ~A3H#U41X8zZVQ5Jkqmd3@(DVMr+i}EN^=xG zp$zwQp5daEi{O#ENk?lIL9B3wTTdJEI2bPdGL_+OaiTXYXJ}Z?&~P|IBjF4?EU;z^ ztl0uN0FsbR+0^#LwggY5q_ zj>wE6!gUkJCve`vk-{~VACKWk?FWVHE{^*+_Hd+dO=n~Z*L@smVS?U}!u2{15U$~? zP2n2)V+z+>DqM?hxiUEI3fHQUvBEVIxQcL1!B^G-GHh83$e%^HrT~6}YXJptSqr*T z)&lZvbye4uz-UEOv%7-QVE(Gvh3$nb8~Ct11W}8J-KfpOj*8vLtidx*T1E{)fcA|5 zjoq>cvnoKJ5EViZ;w@SFaOa$Iqcwrp+00UlALA2+&sT5iq_W zZ6&0JDTZw-4@L{zjyzbk9jeE~024vAmhepxRI7G^SM3C^IupE_OmGoYXORj;P@P38 z6hUX3?)9w+O6J=fSqa1URs0pgEQclHS1U#n7;uFz2d6FM(@PJ$= zJVYwH4pep>s%Xl6{}|gk32wrjw-H9`g>LVXaU2AS6o%&T4`^J+xV@h~s= zab=kooLh?EH_E)w0!0ujT7aCyycn#N5&C8km_+ECMPL%4Zx(?`guYn>CK38tmI1dc z18zACxRo$q5&D|8K+_gzIt7|Z0TKE_TOhOrLZ?8O6cC|r7Ujhl^9sY#=Q87}Q~F#Q zpQSofTv#gZFrUl)FCU}Nr9->`pG${gK|Yrb)#80FoeCE7xpasv=5y%~E6C^4p<4P} zM#k|`eb`H%OUS7O`&>Fhu2`Q-hj;-#mkz~a^SN~Dslg;Tzt5#ZY%!lphgj)zIY@(K zxQQ)&F4g&H0iR1}h#jxbrBhh}K9>%~LVYeB+Q;K_=~SY-@p*kN9b&p0pV#NoAy%l* zr9->)xug?L#;Nj!>vQRhjN|pWbSf*r=hC5=F+LRUbLrGY)-k`&r9+IYV}74YhuG14 zE=wmo>PFNqD1cCRi4&eP7}PDKP$xX6h60@M9EwFa;W;D=b;5IKs}M1-6P`nCF_peU ztOzGOhh*u5_wim-I^mU0cK$)`GQV(4#mtqxG*O? zrwZl4^E%-<#ERy@ll)jpC%oAluuCVrf$R&wGBIM`Yx|k;-fgLo! zhluD)Q2z|NV2Fs0)3+G-uos;~3=W$43e!7ZmLwKgJTFCnya1O4peRy*j64`fCn61D zfe$TCxM>I`Xf;lFeYYW!CQv}SYlC{I7#s%wu&q!-s|q#LSE!*A3N>^uATXGa+v0^; z;KPnZChYnR(d(hrMjC6n|=f^5^DnKfAj4QP2TreIEG2}Y~F#wEI_~}WY zz5dRIUh}?*Gfy!e9b$l`L)7cSz=sai#0l>dQ9)Yda;;`XfDgNf%_xBnGfvHSCGg?4 za9YI6f0I>fCL9-^b?#c6aX9_oZw zP_r!Ngy+1pI^h-60!MSg`_xLXbUk>FcMTvy!4wc7py3Rw4+2!@SH3PtLV>{x0=mu{ zhfBQir|FG%14sxc6#x<<{0*^ph|TjZ=2CtLzj2Y^Hb3+G$hkvs8`8SgL9QljUb_Dt zU_p2W0ve%kfFu;*0fUOe2fueMP5^{nw<{HWKq^X02xO4F7{D6w+N}H6Ud_%-S4vC8gafXtKc!yy1PQvBQIGlBObg@Lrf2L;>VoWCY0Le){PT50)#w9^|2 zN_2L(#LOcI9Nyorov#q89}c#-5t-xJ_}ZxZK{QY0#lh1a0&79EqHRrs1fIM<_Fl)U zU-J0xlK@pDic$CTAJZRO_<`$9d4Zi#uMO~^D!!-M{qSLL`XHc=sud1NqPL)C=(fY%R8V7=NpRb_|xZJ%f;IxfwMaSC~@(fbx!nQ@Ww3 zegfx5*dn}CmD?UhI0E*aXOZHRZYfSFVMWJqN-4H*hedo+?yv|@iX9dKO0mNtKq+=u zOgakLL-0wFm2}Nu{1G%zcUuEAg#>T8LL-toM%KOX; zT9cxS0G5k;0>uDbmmu|_;2K+KQaRDvKLB!gR-s8>tS1^HdcU4%06S(6A5+vQPuEog zPS~2o<2T8oh`uNtg%}Q_#Sd=!t>`A{0Ko^HM$0JM=0z0rXBm!(3NLyIm6s zzfL!%XeYr11lLiYSx<0E=Yr~UmKUnE0AdR$N^sj90F;V!3ry4+&_o3s(8H1rpUxtr zXsWkZSuj6Nsq^||ZEM6S^`jNM?qWEl4s9A;*)#VMZ14y2Ju^Q}sZ)t6&*t@+b%?3* zY+j#PhZqOu8qi>ueCNy)Sd6LyloDe?INGk|VH$XT z6r55*c7TTwu>(A;L*4}*wqbbKX2Qef1ar^xF!7mHXj0=dt3XOwoKn4g1{H&`=xs8| zgv$^u4=2h?3?hd@lNy}TT>-o6D?llb)7V;}0+imP%8`2&p!7w`=FXwpxq;Z2h*NqG zv>}@r9sv~$w-l>;R9_Uuj|d%l?_TsGWQWMsWiU~@;79XQKz6 z+rwxB$WE9&3bGnmu-E0HbP{A8^Mjr`FHY7mzt5~g%=MW)F*eJI7I7q>S!St!8UPRk zuzV6n?qMO*34kTBbqHYj7>)$6B(@F#EcbB~;7f=o1hS;aLI6uu3JY*0@hc&+5Wf=B zo%ofQ?mNm$q9XxULLa1340)MIF$B;NDTZ@Wq!`XekzzO(MT+T@155|56vd}{(dK|F zsc^$A9~j_D0n!N+NGFG;c3M@Z3S1dlh#kSN+|A)vP6V!OKytI#I6$uez|35@JI-KG zFD^t+Gs6qP+7#FaYs%cv6;2JD#t^Wglk?-KITR^YWPmG~e>=rd<2N9@F_Z0PB959v za-z@dycj+X?Zqr`4za~7a1JpF5#fS3Y7R-)g^T%97XhxE1&31bfM&s=6g;3=5QhX0 zXcojF!2_BFaY$SdWJdz3^f6+Y#z)|rvX=*4W3F@gu_g@t3k0;QR}2)00oKxlw-9HaHSwyo>BbD1h`V* z&+e6#)xiip17yh);3Edi2PkJi#3_#3Vw1WT-GeL(Il!RNaJQIBl;JjLW11J>)|u2~ zxWklBKr@wLxQc#1AH#KkE9b=>a$Z*%E?RRg+#!cp;S6_CpIPVqT!y=mFkAtyoCTdn zFpOrwA`=XwS+K|i!)O**CBZP71y)HgjAnsV5)7kRV3h>JXckzdF@`%Ma3zy;P`Ga3 zNa315mK3fDWJ%$gyJ8C0+!j-~CXnT`5UL4eN#UA6mK3fDWC?vBaV#NR6UGw4HDN3v zT$>b0iO$hMh0kNdCBT&gYm>Er3|rO$D9v>(piC@l0VQz}u9VSqgI^l%)u&6lR4vk-Z3W+Bzb0qO6-RCxc=s32y!I^ikMi8I8G*9p(5jLN+M6>xAbJ zQ&r-;PIwNnLY?p&+NBd-0$lk*cfxZ<2KmwPIpH~#ksmGSgy&Gq7$1sv!gJ~(>zLmO z&ml(EF~1X@L#%Yddm%gFIfLOCoba3)IE@!{!gDB6tXR|u&mmc;6P`m`g@}1!FdSlw z*&`idML6L(Bwe47(g|<2WYDD(9^5SM9w$6!b||+k+6m98L>cZvPIwMQGTcR-@EnrL za0_z6b7(8Wo!1G^AyzoUUDOHBc|VuomQHxHC4(-V@Jc7VcfBJ%eN{YN^5GkFp);5* zD+~^gYgaDE&io@wFW3psse$}_K_@(iVrCy)m=m5;h4SEeo$wrDMf2cEek_XuSC&qA zK#i*cwdx~F=lvQ$IV$mYfZ^Ut{8&mSyfyV5mR!=e!U@lrRm!=FcEWQiQRcOf6P`mc z$Gi%1!gH#)tp&(Q%&T<5BbcB8u54JJx`xAx8VN7DB~ExN6++9rEj;ge*8!m90YIrc zItv`7Gu1Z%8>ia^u8tQ~y1)L?VTG_qzx^8x;JpC$$OD>7CH&F4x5jeaN#($BUmpwo zmk-1EquyTp#P0%fCPdW65AEI;)E?OP{`muy|K<`RG8(}C8Lk6MCcqEGVyy6BW9-PG zY?vK?+ekb9w!wD%ZR73uo9@T-Wae*Vz~KQI?-fS|huYvYJeq86uRWhbCM@ziG`OYHr~hLjdf7q+nDg zmEl_Ei}(m=x8#fL_Y8n)1*l749zL;8JS?1UMXL!2;-&$9=^)&rNniy;Nuz0iok`3Z z;5s&e1~Y;ybze~z4uXt)wZ~>a!BZ@_itv#mJ$-tF?rO>Bs=TbfHTsS;*&yg|WD*8( zj6Hl0+eRPO-^s%v9~uqeW`*_zpphB6aGSS7w<1G#SOH>KbX3=UW+MYsSM32E>{9e> z0O&6nl%5VspNASCdF=ZRs_45)Z~?6EfH>X$;$pqR`%yt%0vF>2oJ&1dpIT7 zmJfS~*pkvrOU`>%qblFCYTvUu={*mB2=95=L&+-uIsgC-ztr$Hr?Dd2m1A6J7^Zv( z)0rG=*t!Jd*HaOqsiKQn)|BH(2}2re#U2FA>!T~eizKjuj7S12$c1iv0WoNd)0M!A zlX!OHbpW&K#qS;g%nF`@mxhtBz2V@}V2Bn@ zMmJ=y`Ok~2Un0uBNCHIKfDBMCgQ4^D1 zDrFs*fH;Ii(%SE0Do4AZG!&N9HQz*rB;RBi(xKmkX`7w6@$=6=|MxHHl_x51*p<7y z_Cu%)Jc>NEA2+T_Fv&&0J(6j*Z~^>n2RD_MM!S5j1rD{wTm9&S-XbFHNg)9qL?+g{ ze3>;qAN&xeeU9Ded>uW{5tK=29ghchi4S~FCFM*a^YMM(a zIm0(k^GP&r!Xi;09MFOAhKn52IL9>X+#0rNU$>M8Yr$k&OlwtYMNVoUa$k#i4(M?SFe4V7K6onkU_;{0@E~0}H(6B!v%W#V%Hk1RX zwGRN?2Y;N@ASZA&M)I%^5Wz+tsE5S;3WDxJ2vY0-0 zeFTAd?dk|?Y#zoc4ld!2a1j*jO)6N6`&uyn#w(Z56*YO&l?m0=ZK?ccpj2H-)d8pp z@Te1`_`g*4Ana2w$=9^yxI)DL0f>tBM)Ll7f_VSBdH*o}Ajjsil883MFbX}QH%5sZgo+%ui%h3CM7B0gq7PE1gymW^*YdTz}i6)uEWg^a( zW}eGXxnQp4xJ*~Mj3t%fG7gn-0?K8Okb`W>63B3wLkY~wW!l&fAH-zPs2wW z-U)zs<9v{Z^%T&MDt3kfRJ^5JFM%eWr4C5Z`-0_(AoM7zUBvQfL@@3sMFiuHQbe$m z_#q+~QKm!$V@eni!6N(+5o~}TB7)J2T0}6SiiikCIAn@oO&rNIhY-8)-9W2W5iAHU z$i@gO1eoC(`5Lr3SnK6{o#$8}vDe~=ON6q9-rkbOTOz7GLX=)9w4D^fMCVQm;#U>W z!9@Fv>R5v1sf~$cH`B6;3o0@ma!|2sD56_+M$s+LY-FQHDI}5105vQ?=BhNZqMKf# zs8vlxw*lTF72N`gZq1pQD%%cBb-duA>=76*;K{RwlH(L%} zGli+LXzT$Le}j5}y_f3VnmDDRjCwANFx9Tjri9*r}yf-5V>+>fMl~ zh&|IKOXglBVaZ*5i)g@%nu}2kqUNFotj$|(;lQZAgUhDHWsOtzj?@H>mulKl zQ)Iy=8EPjQC`0WgTV7iZL#CUPQV)OsZjPZI{@PRD3=Ea}lp!>;!cd3oWo4*hTM|wt z06xMB@z7|v!6B;G3_pa<5qsgT=vW|RDk63D zfFiuP#iuu+U!rPSm;^T25It2&h0%-(bZOF#+DTN8)nKdZJ5xage#vurd3s=&bAClw zD(282U`C~4u2jsGin&=7a{&}{G!!9wP^p-suq7)0QZYw`e5sgo)&Gu04B9)$ycBtI z5{s(;OT}EOm{Ts(K7h+)^lGJI?hB9zOU2wwHq}xwS1RVHDZxJAg`$`PQ$?ao7;|%? zTY&8(fTK&rT;jo2D&|VX+?XEFD%hY=%DUhsM%q#_C+fWylwuAHwMq51VW>qY=DyS` zJ?8Ep#oYdTE@MGmPrc<%zccpUK}{=+6^NzCyUFqCDSKqt6KY~lV4m&NBabEOmOe#R zr4J(;=(~P#*@qLKxZE4M6gtM5dbAg#Aw%njPFm`Jfq1{I(7_E!s*$68-1}|H&3gRa z_w0c^h+_(W8uzy;o^)y!Nd4cSSgOYX)c2+To9fo?9yMETM$*k8%QMED-i|gkvkq@8 zF(1#c9&Wieba{q#YdhMDQCiaPLr_MJXITHSyHsU1g)IbPC7g0od4_RjOLzu!?UTK4 zm1m?%vxH~dHr{N1STDWVN^iE=z1eaM$YqgZE^Ny1OyogcuLrTJE@D+Z=f1`gRV!A} zK}=axRalhkvzC20@mD+K4b@5QXfHNi{|m%34P3ASu?qj^oX^xVZOYB6h*icljV#i* zrcGgyb@8@HebeY1C1O=^zG?q8d|c>jSH%I&YslBfpb4bpqo*+PUq?U(p_>>T*>JXe z-hU*ng#SzF(S|Vd(xdGrdbE)nwJp=5H=8m&m?I&Vjk&S$=_$ToV5%))s(BYSmS|e~ zuH5IU$FdJ6K5K`(p*pG^?Zw9He}QbR%T zCph&_15<4ZQ!UOvtyF{EQT}P1lcgFg3A}W-v`+Y@c!7+^aNhPopx_?2LJdZ5Gibs} zZ?n70+w4G|QL4f263?-zJcG{iQ*IWZ2BTGOI?uS-zGI~ttPJX8M5K-SJZezqfh@9A zgNehzogbh%Wm9(CYA||&r?AK4R%m4;$Rhl@ ze!rnuwpC!+K3&Ox;67a;3T`!ivchP@YJA}$V8yEO%SMRLuf`E0J*&)D&{P<;4aNW1 zgi}NcqK2UOs-S+F=ynG5OLRMo5gOfI#}A2aZ{UYSxA*Wva6DEKJ6=KTc!gmpifQZX z$p)RH2ZRp59nDt?m@8guM?`%A2qe*C;OErfp&RvhSQ7-b!8%}^`f!=?uSRVH<>~{h zG=LEF_7ScQ8U7u}xkXIny?iq=DkcXs|p>jVGw$#Rf*R^n8KC_b6B;Y z&Q%NQTy;R5s|l#{3JWxCfu=3cbP6<+0(BM$ZGq4h2%Q39QeaJ92>_`0Gk{wFXCcyY zh^QNZW5|s>n7wr5ad-)?0%84R~j<1U7#TVKB=H8bYubz;@C%Ko5NrhxbZFv)a^j4+ksYh23kECXsawxvju9lK+P#o zOA2I1W*Gi$6>hVD3MYGgS%$m5Od!VD_bq}dRWbN{o^^Prf@KMslEIK$%@1kezMgVl zOm%@w>Kn);GDQIrp=DQCEio!(z!RfV20Sq;Z*ag9qf!R^HV3?aA-I4G7`_4l2yQPY zZ5icc&$!c(6RIh2BIpR<|8mlkJA^O6omDy66{rLZ?rfTcQ-U{%pfKXq4k7_51SrW; z1fX)@eZwgQP?SK%+1kq8A%2_Tn%Qv%>Np|utFNZ}}z?d=$RejeFXs<}AxYXRugpi3a-_-rejKBoG8Q$k$E^^a19na3o#?7#55I%8Nez^3tbB_ zH~IF0@hQY91Z!T znox(dqN@TXdxL{`M~C#T4(Ss*q)!46rUw?=29EqbqMJf9oI?!s3P%=LE*4p(tixA- zXU72Vn=w$CHU@zFfe}hfSr8@OYgb_8iy-X_=^F9u3wc#wl(BK^QG>%3fF%IkF~b$Z zFuZd`QHl^4X)1~a2Z*9;DhqTE5Jh#-Ur-c%?r&D^3n~J>{||RxT_KC}qc%lPS0J5F zrf}$6QFI*xWiCUFA8Q8bJOn9FmCq7J=M6g9FUK^5;5QFKS8 zM)LCOkkkB|l;%D8&Z*BI+c1Gcz$&x_{;k;S&BM zk&n~(-+Zgl{W)wO&FfyR|`K!i1`A3at1&`xny5AJ)=kz0AOV@Ni z{$g!}HkUW=eq8Rq5mkMi&!6+(6?<=DOR@z6C@In4&*7Vye)(A(*#Xbs*ufDRZR{79 z;-_%z;YelnDvoFkC@z+$)b8W(%F$pA2k5q;9gfct3v`J);td?OMg#ClZj1vQzR#{x zfb44g@jq|Gzli@U-JkJxd}^xCjpVzdYWKat(5nJ48|{M)XP}_B(9ZDd{}sMIz}Ls` zSz@Vk{<-e|j>ol4O$oF$KOa5M65m7#pC#Tc10cSB-oGXVhtLyku}k?WWIgB^NhacP z{N?`(E>Np<0*WKuZx5j||C}hFWXn<;E+ZQk280iCj1jnoj)0cP=Q-Xph<7gz>!_<9 z|D^Z&mLLD9kC%x*;D_h^eSm*LV|>nk%X$Axp8kB~y#FMBqL%J2^WU{!{`e0DPkZ?E z?|Osf2o{6xPx?c`K*m4+Z6pie@LA^gY$=v`ix833_*ZeSg?l>mm%ESp!^V04{;2U_ zD*%4Bd_?zeydnDGp;i^T{e)tl6w$o*Q-9X|QJ)V$y&Yk16b-i?sQhqM8!>*oHo|u4 z^RKPoZ~y%-jX#d3Ud&hB`uxYj;r0&(kAqHx;}blh#!q_kMUQ*@q)#9l5HG^?01XE9 zg{bopnP~iweN!gW2+t&qz$U=JT7Iy#3~@p}PBL2r54NDsPCqW-yVoFw)4qWQO>FUAc(yIW)W&kTBIIBAtF?tMsEy*cx^9! z_E&+W7sMe_OHrd(CBH#{$cNBD=(YdEFOvGu<46ZkD`r8QS1?!B4{2I3E~g^dR<;5{!M*4_Am}V>Sa2Y z!x-K8xc7s>=REd1PSEn`Q(j;OCqMQcMys;B&~ZF{-6fn?sigp;#>ABQ^#(vgH)~93 zhwiMze~tmUjuwsI+yoHnnqK_$A2*^kHgf|{#?SvTS!#T}xx$2EEQJH!yc+-fGmWUp z!XNmn@BYz0Yc7XK`zKVtjvK2=bqTqp^x{vWcYCB7G^?Qc9YZzXY?DtL0y+A{_?qDk z(h=_bce^@7@#67Q|LXs#bRWY)fX}!FhJBr50>Ae?bSXZa?}UNCclyQe0&<(RR1C9y zvoKpe{bnu@fAzIYz450!%wH}Duf$9EoR0YY8fD+Fw4(~8{^i#*rOx@U!8_nXAIF-( zkfYC1BY{=nHIOu_mq|cI#>;ScIg|)C2f>YBYIncx5Am8W!=UxMzZmSuT7q#d{X>4n z4>T-|46XZBU!Undj)!p*gdfKHeD%A0A2!z$`1hRfsdK`jUW_TsEBo><1|EK6B=L%@ zyl5FYtHyu-60Dn}9-+dac|GsH3+{a6)A9TMb0ccA_dMVrhw+D{uJ~FQ0`C_KYqS|s zFu)31xr5bQWCe+S;dZdNKJ(MZYjJhxTQ%3*7FUN}spi6fI+B{pjJ!L<;_7s>s=11_ zxH?tn$XvkU>d>1$GD|hrEmw2hc@|e^bg7!_cr30?RjTG%z~buAV@iwb;7(C< zokXWCVsUlGK#>+#hqP65&24dY=pCZwDlM)TVXrL2;`*WQAFsvLp>IXexh<{^z3B^n z>HG)%pX__o?exyFxH{deqG+)eSEmXcnG0B49eUG8W+{r^a#8fov$#5=OGVM+vA8-_ zsVKUD#nqu#ilQ$-i>osRinO>oq^&4Ax5d?=cZewZr^{aBx~O&$Z34wV!Z!R1xnL5w z3>sI|I(~?6Grf|Mqcne$eB$$R)AV~RmIGN$NeE@O&5j54Mew;*F`17pg=1ZMaQ91t)^WvoP91`Eh} z$YB8YC?x-6uP37nUJ-n}&D%(^%y}dEnB{6GDFk0eM&V%Gz+*xjydz|6)UwTqWm{=k zP3I^aqAKp-(I&jNaE+0L`UrVgVRupglN%ftprOt_B(nkhzC0WMhE?F@oB& zIcL%4s3ydcz`+(*BtddA=4ez#R#{($D~5#!@*G`}k0BNCRv<%6Mw`YFaJ1nnUL`wX z4rBC(4hRrLi?~aLUgC&>8vt0oj1J5WytXbCb(GSj0`O``^$EW(G(yef^GrvKB=NM< z-j0~uMa!hpiydeT<9)>FnXU^#94)V5AT84?tS}7&K}4t4AJBf?9)xfML5@+|=WtYG zpOat{eU9Luw9hwi0_qz7VX33tnOoD`(>~AKgSnp70Rx(SUbB6U%=FUdP3dzOeZgv& z3p(j`f={DwVa-=gQiHd>bUXYtK@zu`w%d_qS|Xwt$AqhRn{2leA8@SG^b$J_NZ6=p z>;b*R2hgNwv9SjdhrR*)7!ZP#bbFX|doADXXp|9v!y1f(!OXL3Q`(uhc*JfGOW_VZ zQ;=|HXRPJ+6z){uD}_67h?^r}&)5ms36zuL>;%ePw0twYIID1X-t!pu=bZ`Qw|F)< z6P&5O3F~E7f==P(^E^G;wf!KgwF%NE0BZDn1Ji&=ML;vW(ngY@E6o_V3w26o@5YP_< z7r=Q~KtHK>>SPp!G`0bi1DUI>|MCyucpMI=|ycP3aUbf z^r|2q+>{|LxHPi>APFwbEXX&4OEU}d%?3y4EXX&xAsvSQ(~`Gs8T^HdDSv;Wl3?Go zRr4&MH{_WTE+(Ki6@+PtIijDR48r$`eFMG^ZLNf587ugjt7WDJS!N88Z)C<0`9`$N zM81(3gYXHRF*}?w{srh0W&A7Z4VM5+21UIw5I7T1Z#Xsam<=_SlfJA5N5a0@;RG6D z0-b_#XDtJPbJEPDFd9;4BMNMVzyXpNJ=&;2nhTf4;kcYpK)FFByO~NbnOF%?%bF4= zTtrozSs^045aJANSw@v*erFd8-ZzT{f?vE#F;Ui>S5Fp;idiMpFOv&LGeyFAV#(`s zEY`3i9v_Q{9D_PJstFWMjgkemju>Gb93WX>F{eEwhQ_)Nu>uF`qD65%+ZY2XP7~uy zQE~c(qT=+THSF-I_q#TznB&AyWC$S~tVc%00b`}cl&w1*6-N-BpjG8aUY!hwBcuEj zM$&53!?40D=1_4?p+zy+xJFd)Gf`lg-`Qco`({|As5s8BV7yg`AmjuUrx(p_$aYBk zLRw<~3whNl!q}|JtyLA8`zka;Vb8&}sp7^KxX8MS8@)u_*b-qwW#?jLjSa!dOQdoL z8Z`11ApC8rc}?=)tK zftB1$X31$V;EYgC4~ZfMvI^xVv4I5?p_TYCs!-E9kFgv3x#zHV>gOcE&}8LM>v&mK8h$t;a(;t z=Z8#83imQG>82_Za~D5kVxGv0`x7L5Bl}MP6EfnyO8AT|!DL*MC2I<}r4jIV`JHE? z6Fi*NV(U`u9z9Y2@_R8Vqo@iPOxUtuJ%&^ioi?+#5uJtb(ay-|nTl~%(XhHd(;|}vF<7gqL z#Da41HnE4z(4$~}Z2-)OL0jk|{@wc6U}Ulq-C5X5uzR3NS?;K}g}p=n2Pk$yU^GNp zCHh-ndjvD2LHfj2Nh%AWT*~fkuzw1$OUK)zvYLEILUQ^SB~&YBo6^^9N?TDoPbq5W z=}6{k6vQ1DMi44|F7Pa8e8F23xFx5t5dhIT7R|Om&gOhU zaFflE-3al%*$6eK?T@LL<@?SJIqSS?74$F}n1GS9%I9`XfBsXEF?H*feaoY4*Ou)D zQ;7lw3Y_72oVEg|D$cBhYy}RzWM)m3=4p_9I`DjM zYkf%bW8QOupXghp#B=_S!HQkE6hF}(^=c4w2--)Di+I=l$Mg6d-gYoK&NEBh-2pR=klkI z=TD!&Dd~T}96w}^AH^{Sq}O9S;>EvYj!)v4A^vp!^cg;-u!KD9d_IqCXlI0F4~U z`IQwFIdU4lAFYfpR~pnYU*w20+&QCYqCtk_Xn?A+K`M(T$8)OU%wjf`;k*uL4!vZt zIM5nY+6r!WTY*V^OppH@^bNusT!*QNN$i|qp|%1ECA6uUkyRO9PICmMIHawufWBBo z(0ifT3g}-CZmACPMqEC?Rs+rXREByV`N9PnU5bSP0=SpcSxNB?$CRjuxM~t|Cvm!?ZkkYe}BWX~_ zeBm6<_*Gj$i_&>?#tBlv%%)>Iqt)k%9C51RY(^5r=q%{X6_W1IE7Vrt&@OEScdf0U zen8|%8&MMViIF3SfHy%N!2Z;b4gmu{YIuh;zSLGwHyPu_41xHOLP%R%!Q4SE&Z`z= zD{!bDVk`LcvbRKM&gvv*&Z_3_q@QM0(w`#PDKU8@i?{e6!fBJfiP)_1koslP=Ma9G z$UbTk{?cJmGLc5efcj5%=!uUW3J!*u)l=7p#!>5;uai1C7Y@c{IE|PU%3vKP~Lte4vhQ;<+M1^ivgqrS4d`k zMe#QyIrRlVKR#v)znNE`^7Jx`2Dl$cGIG7HMa9_?Ib{*tS)2Gs4d}tBq$!VdCqB~E zN7m$#t%;9p=_4obNb(9K3;mCLW5#VZ;c&hgsT9QwNF zS-`gD&`Z>%rERUWtr3XH86U@CTXU+=A-#ZY&7pVbkS=X&rETqiNUNf4YtHaIPTQJO z6=&8$wl#-dGP6qC+8vF`wy15*85Tv_)*R9c+twUZ? zY-&8b4?$^y1EhaTt3qP8`MER*RK?l6kZsMO$Jtz19F9Y~w5^r4HDE}msBDYc)|~NG zq;1V1y|8V~p;wS?&7pdTZSDJI%I2c7`o-5ZU$Z9iV@kgyMHj4gOvef1Ok6E9H{XQx z*>m;<4QVz>W}3MV7mq2&-@h*tINPkx@DaQ_5;)tTHz931+y-)Nz$0vGL3x~ism$XH zBX~Zc@12#$SqF|y=M2DXGhBd~4Nn0bICZWcWjg1(Fm<2pea+U#-q#F%?0wDZ7XYJI zdcVjFe&1g4ns86z{@Fsh`$)i>NxRpg%aWj3b9EF%(k6Zgnl;^D19|=(q`y-F{%}rdrHX5!-7%Fh41HhQK zNnr*4sq)}z?!ktnR=|TRc#x?SfWJ4$S3^Ogd= z>IK?)5QLEZ>U7|0#47+r=kh=wL1;wQdjjrj zvbnUQ*e!YJSayqa6vJ<%qnP|9N%b<;QPRxP#7Rdni`>MH(ynN-D*)Mk#dcZ;&znw@ zzQ}i)77Fu)G{vInK&GUVbcDCE1A7N_AOnx*?!cQZX@0~5ASV3--v&X;$CU8jusihO zD;fXlH^2RN?i1h!ITx3|2xLH!-fDXoZt!wLX&$cV#kWO%`14EN>UH`eR*>5WhpNp1D!GlS zz}cr4B;e#^q_1kCiM}S9ShI;H5~-cU@gY`Tx2Gl>x10hr;h_vCSn!hM9f z8>Eo%Iw^!6+yrgR6J*a52j(aMN0g^J6U%m!3WvJ_k}ngpDnR)Rq-S?VL6%8Yv3X6H zmSu5z3ApeB_O>!S;cE5)y~GDN82oVxdWjFf3ldBcje>`|BeV>8btCQ{$S?Pws3aWo zCd=3VWyxz_2h)};bF+;%v=nkf^suVpK)aNTHYNuWCd~jcSxt$=AWWK}V8W!CHbR*6 z7Dif+862vE5CgA?v<-0e;QFcQAeg~Hd!EBlcs9D2k6=}8YC4FJ=@Y6UmgrSddjI|- zpe2VUNVbF|L<^e!!;yNm9X(os!Ca+Y=s=88Dh)FKr zvEP*}dLh0GN#0nIW`VH8m`fo25IzFBSniNvf?tJU;zXg~2`;Nlp`dQ~GE~IpdRy|1 z0r~{wzI71N*+5K-%tHAzxLR`7BFY6{f?F*+)0zkd*y1fDYr$2#Lw2^b@buVh z(MufbEqr4pOu)_-y~GEY=T5Vl9FYW+J4IzBw50$@f zVPD*AxvkU?rlQN;q9HVspKKs7yd25b9uGA13*#--=2dNT50L2BBJ!GDxdRd>4j}|mW>t*uXbqtmE))WExKIdC)gTk=$@)=h2y3?MRk{r! zU9sztqzv*ORS}8&*M{5#Auo(paTUW0>Ln2nnX(VUm57E^Lx^bD7AcXUAp}MwQ_jkN z3yXIks7N#2>{nz@L+z66X}Dg> zo`$<@+0#%tC3~7Sb{#(Ce?QrCU~AG~Psx=;@kAW?q|1zkFt7MSjz#SyY6wNgm?)cM zFAaVH@f@l|>|69fY6wNg)kSySA_bFn9an+WVyx={9e6s_AFfdSl-p^`zFYK%w4$o| z>9~c)394Mh<8eA_k}6j^N}p?RCC_RIO<#+NzDdM0Wmn^Vk8gr;dz(zc<5r|4xA{jY@ z?Tp53u%o+wxh?wUsGca|L}{&xxSV3ZDB@I^))4DNs))-d(*mnGpdwB*2ZDs zmWnvt5mCEWD&lU5B2G1M6vQT3YoVq~OtqyVE|I-DR`#kw!6UL)2drcT0!=k5O5YUa zj~d&v+izun6ueXzOIR1A5MuK!Q&ARADIkg$OwC76FfTRiZLyfeXAa?1E~e;`Q?B}b)aVT=IZ&j&{aJk?NWgEvE zyIXqZ6{(0z1(4J;PrJDE%$sIXzO6j-4(`CxGw-M&vZZIeG>RUVXWrXA?|S^3PtkEBe$FQ-LM49c^Nsjj3Pu1Q4CI-L z&!6|dOqYzOa86&1`0t(f>AMl1J@3;u_a{0 z;*%ef@NXC(fx+K&4M!f@D@4$vZVhL%z1DiP8dg1@!c>ols+VO`> zS8oK?h>pJsx}1X!F?{*aW++tIvEpRHQMD8;0~^3T$bluJC~-KUpNTk}$jGW>#*i5& zo{SSjnH(}i%*I@55C2=jrRc2To4|u=3Gd9YD>cw-6<5q#;dphpoFV|=jhDq6UPc~A zD?CT}7U5gy!o{YLi4%Zuz$xI3^jP6=2gp+#Tpeb@%~4ksCg*_g1^_Gi%s<$#?7!mC zS7O!#Bo1FLA^x}rKIFDJ9;x7(f2I4Vw?^U4*cq%4e%7Al1Aob?a%BRqYc>{+RBd<*c`vs z{c+&TI8E}|+r3HbTj!ePzn{=7;!MTaStCySE-RkPSrQTZ- z(rqLmgp9#9e)GPW_kDcd^LuZ;>Yf=(2o3KIR+j)9d0=KV9MyH>s_0x6~)&-ng-xIB~W(5ix)elYS}; zb9y-{1RF+$6Os19F^PLx7PanPf{5j%wzI?$1lQFA|U_b-(lA&Q4a{0;2 zs>$a^4ehyfq>qEtjT#yklNy$;=fbI>cEQxJqK|!m2B;xJ!^NhCOWNe~qlRQI9qpqA zPDVt&5aVcy$8yr-T6m~kO$s339Q|J>z_If?sU4|s@?bJ@q@vTVOirWz9jW{a9@dXn z-%#Oh+|ANnV7)i!NI8Y9Bkjbp=SSvNluFH^7|+t3xNuTyTrjDv>?1XB45?)}zSyL8 zNt@h9YG16BN6+|4gNN`*3^qXR;7_#Yl0JtV?!dT^Vv~E6voMoZGktscrVeMXbxNkY z%6^mXssK(ww+JY}&J0*+SGq!b8vS2^x>8)DRT)%W4(2nPvtU<-HWE=AHQa_YT;HD7 zuiq- z^AF*?U{ff<85SVnJbH%Yn`&c9^%!xIXQ)sXl5(x((+9- zuA=iLO6lL1(o*};3a%JWf31{WLAu%1-Z%=zN7a5^txM0r1^M6pE0cCEEfuuiQNHm= zNZN%=`~V*D(S;`vF2U%NgpY- zf2yo3H`C9Lm)Q-4kEhapyPA@|=a0ven#u{-HiHxy`Fzf`G6Yv|=2s0rvHUW%^a)@K z2#WBW*3!p-6TnA-lfXxSQ^1FTlni<}n6s81o8wH zB{g;@qKnnid*u1i=%KTv_kU$PeJB5y+CNs_AW5HY!#_+flhO9wRj#b(G+#QxK-e|) zsDRQ1Yw5@6Rn@RFTX`8+=CE)EIj!Ez2SySv1CK&adiS3=9@BfPBk5hu5mzU+wSR@u zAxj3wDzGtAn;3Fc@Bp7xs3845p|g~pIZ}DKs9>80Y@K-@`MguDKrF?-urIP~MBj9c zKp(u@&LXxkZgfXyD-9zuT8c*d@(T1pt47k9Q{4vbX{0}dU#yb;V1=sFdn(N%75*VJ zAO5Q&m5)FY`uSoU{`yJr?RV+l>37|Ky!tr4#rEgRozY|^KYpmvZ3qc(`OJ8-($JMu zc2<+_^vTk9*1SLILyfte)zYutP~y-0tM;Y$GkbQcoatYEQ?tAJc=e%jvfAD%$Nwd2 zR)%+%{hb;{rn6;jYOqn5tvpz^20c`M*Ztkzr{AMF&zEngbXJG2-davdq39>BOIFkV zd)XbYeC#aJXs{blqw(vsze)RTEFg{7S-)nJ#*Gs?@W(LR{)aMJQ|aajJ2QG#+G6_$ zD|#@(?m)6M_)l|K9iZ@e>Ry1nCo<#-br9|7jT2zQE5zKmCK=o(%@dp{ zFVeV%f#5UY`}3dUcD6vC*W_A4`$Epg=s|ZRoj#pD@#|x91~;EKLxuQj#kVkK?&T^E zM(_{SN);}$d6dHM(F1;eoZqhvzdu6T?$d9SMe(STrq_4n3S;^g3mfsmUPp&jlqzPn zWS>wTpNypUzGuu@z=q}H5o{!keT5NTq51ZL)>xC1NbKP|K0BVYg~kRs(?9wXTN69esyDfj z&d7tQE%JEFCeks2A{YUQBtZBTdd@vr>PQ!I@O4BduC9{cUUR-e&+2l7L=m0U(#h1x<{A=U!^vrccM6gPs>Iq?iFHs+Hx#syO0nNe5R{9+&ZvfA>YHs?Q1ERY{0J$yuT<$)v14Tqfl{}MZ2h26&eD~8IqG@gqoaM5^IBtOE#@QjdO%O- z%XWuB`Y=@eZl*#~W|{+UD1|@As}I`@*_NV%h#@>)zW<@L+nst}=QQ zW86xeX`x$(i588w+dCW{@A;?D5ZpT^5@Fp|bIB$PhwUemC(ExqS$d(nXZyhI3m{G;cF zz>xpxMxZz2azLQp3_3gohWzJ(z%iW@c#$cvaG|NWdvreU(?Nmne&pOJFyw!_5$Me* zP~g*qz{h_yLtypv5IivCHw5bBSQC>Mp9l7e9?S#183hDBO+4_CH=G*+L;j~5f!>VE z0fF~^qaLO3P!t&Qp9=!dhX*c4f!>S)0-vTS{Pll0Hw1?KPd5U+8Rvw+|4$K&rtPu! zTiPD}7-@TQj4o!d1y2BBsEs?}Z}Z>M;;v-ktE83L3L$rOVVJMGGZ{gMHMoywMM0G^ zo9_RWp<`8BomkhySB>VbTI*S@X1&o0DWrFrJ-0;77r)ciSNiOoU!v-Z-09F)>$i;9 zC2Icuss~Qi6?p06i_b=yyP4zFJ1{s*=T5OXvC8+LwY#c*<|W-4!M4L&N`O?GP>}stK8x3$ilbP{I|7*Z)^Ft)rD_I@^32(-;Ux)?7`OV!H#EEF-_vE=R08?b|CTxmWh-$z+Hh4g6wYHR8zL30q<9Te0e2 zB=of}|Hzh82Q7Z}mGjsLA`OmQVF9a8C%2>JDOX|hJnD#d}WlpS{NnDUx0`R0c~_9%L^Rb>flkhzn*@V=b3eIz`?O>0r!db z9j_|9NLe2ShIL&%CO9RZB)%!1JWEoQE6_%eKpcaLnn;QBxKEHm6=)&&2ryUpW5wj- z#UueTF_ugrW%DFYo;h0mdVuq+6Q^G#N=3mLDx571xw797p56z{ty2>-l~2BvBn_|p zD+k}>;ItRG&A|;0ZU$U`N)>^BfrtFt{6clMf?Y`)F`OlR=SRm~>XzDnUG6f-FCfkn zFUOyL)GizlLEMEkR%+j0(c4?e{Bim?Te(%azR=6{eab~dJ~3;`ct|9p@GgEIOYDn7 zF^-E5U;T$!@h{hhvz226*boWx5Yt(@!7piA6Kr=4wn6Q7MQoMY?;e$=pq|yPPt>v! zJ6HewV_8Z6p}F+*@|n^%E&8XIbR-2H81(4n0Z|X-1>9i1TxR<{m%x;;zU?j;R(s_d zB-Amu1}#nqkD)~oq8jS0Y+Lh+gi6)%(VPZJyd+y~rBTii4O(Wyg8dG{bU970QMS>gy0jQTX;lWwvN|>#f;xYz}O_HJcc3Z~fT98q|xrS?1bXYL3Mi zNprhPxA_l95mi2}qA_<(U%u?VG;XLFoI`#)Uu`b*;)73FFV41~0iC!PPsqg>33r`5 zO(XFt_Q_w2PBhIJdzw0NvF5~he<$v(!p8_Kr&Ii|t0NIY9|rWlX+Q_7OxsX-oCM45Z$N3bR|VPXBWtuVNSCrb|4uFM z8jTwbsvbdWI~i)}Xa3B$Fc6$>#Vn9?}x{`^@MY}RU5WcEfX?X~zL}6bDCwnnk+MLYp4>n2xrU{Az ztYe!LU?bb3014Zp5Jeo;qo{an7uy{*3Lvgi+HfJRa}^SexK7&!=|QUF1ONnmH*O8S zT^lAnu5((^`L^cjxmR}a=DHT$jH_D&mPP|*lKm5nWL05N#V!}VTWeesY#nMQ(}lOJ zsU%#06(T&n678c5mDFP;10p=T@<3$~o{GAn_7!40R$C+C)^z;c+~3*D6&Hv@94HuT zeyLWOJ~N^~T8+YErQG7+VJ|~qb=-Y)3C6G zP5a-7y4AKfM#rv}uUy}Yx}5=$EaQ)63=XSi!04=wqq9*?_1x&JQACH2PKLP7+L(J2 zxpQO5TIPV<>tgQBawO);Uf&&yWsk){>1>F(w~*T-25bmfLyaWSV5`eae#lvT;6}8y z$;SM{xwK3qN^bPpjNH0pQ$CMAT%T-6Hs>GOhY$iAbH>=V9(td(FxisNtP)03k1%jj z8x(;Y`jr3BYGEC)M@U9)jf8Dhf!ylJDq6wrxO}bwEav1HQKRSQlq@T*zdDI?OEW^$(2kjwXd+13Y@((%bL+&9beaJoJqz}0lpY#Oe zo`e37jovwH4=XO7_TYUQYSORF8XUEU>1D|6shsp-U&zptKIFfACVl^ol4sDQ57-`h z(ue#*PWq60$Vne^4>{>W?q}4b_dY!XCVkk;q)AWY*z$gYkl!XfR#I@xbuXQtAXmvC z12*m71vPNe|I_pn1Z->4kDeaFPZ08J(sSx}Had&=2}156Cw<7RNzZ|;S=o#D2|{k0 z^u64dwV!}<{<2;T^b>fWhMM%}?k9LEC4Ja`H}s?r`7fVI-@kM388qnwwuhedA^(t* zKI9&9(udqbPWq7h88zv>PnT%Y|7n@se2XoO%Q@&LgnUmIKcG&FdhU!ZDzlqQ-on%7 zI{aQ@a)|J0|CjOxoQURAJk3dTr_GDsnT6foteN-G7I<}>(Tn+* zrTBmCYlwWUg~{*rhu>o-@l-~L|Ixum0G*bEQ=2S}^l$$ltlewb{?|Y8nQwmIQ|qA& zn_-9MW+DGMa3Lw z%gTMt-VxX4T5gqr;zf3otv7TSOjSlh!M`BsySH{hH*2`MbQZFrg-FrE)Fk`Qm z@9XuFJCoE)>+G}-);b@ojYM|vE@7}1j8blFh-9$i8geaf&{=gbH&)sc$ngf#>%eDw9k|e8vN3w)%kqO{BgCU+hDgU4&wq;}25K4VFZxKG z?RC^9QrpL7+Q(*{Po#|=AT(e;7ECw$6h@(75Y8h=YBJj}x@7rrrZ0Aw+g`tb?PbSTlPTI>@2q&dwYFJ3 zRLzAqJycbAQzd<05zRn!f)1;~XV!$Nj$jgW)I76_@>?_XXRon(`_>QH|+? zzmaWxDNT)}XLJTfvr|idBs@>gRydZv{R7yY>4*R0AJAQG4Z_4EIy${h$B>uOvs5zM z{<&&rwEZBbzW-k7-w`KWN$2^Je%b@?v)P-K^e3v^(w4sMi|X`m%j_L#zpbi+g)8a1 z?HdJ?M-)}k_q;b`#4c`se>MHDUs99X5AW+@!yc&|&?X-4t-P4bQM0Yb(-+~4&O!fa zGsog=TZA)S^hsAKk1gsiL3Fh`W9&CI`DQVb(*(Vd%H*4gjvm(x5tQuWVyn9DfMDZ# z3kFGwoJvguHAT}U>{}n`8Xj=q$0+A|P<<5dqdNbiI|+x?M)pJ+54ytU+qyb#LQFNc zk39sNO~$OI1CU7qzHmy2oqeNTG+$AzjB|rR@FgX=S)XJvjm?M~3na~O(-Mj{x+ahy zZ5BkA61X^;v<*cQj-p8d??BNM*Or2!@hs-lkwCDd3!$!W!x|eHa7ye_(@cjhE@j=$%ih}>dBJ!JK(!ypzUwO&dCwLM21TSKrq{Kc+_1LH5;Q|Qsu~%1Q)GWdPYg zyspSTADfEo(`|8MpI?Wk_V{OZHiY5d`KM>j^Uo|-#D9)|j-nT~zrA_c66%0sm!5J$ z1xL>UM}TV`T;t$s2PYgHcW}(XQ3ppH90pttu5@s~ z!F~t(9PD+l$H8vErJgOEF_UBKq=sed15WnppDnNzSBafdm`*HJt)~=c3?t9h%^#R& z>shYIR-COfO?Ek|b~>1KP>SH+HtVJI$x{0Tg5L`8n*n|!z<(6{$I7Kvu!DpE#W@K< zswW{Fr57?~IN@hG0Wo0Qm@!jJ$_MuknJ>~L!xM<>o@6LGE`wwUe$Jj|o#l!{n3D_) z&Od~~_@4oOJ;1L8`1b++U4UN=@NWbBn*hHec-c;x0Y}I^<&y?vKM|1i*8zSxz%K>( z#Q?t$;O7JUoFJ1f1OM)_m^Y5qOFVA|4Bh20Z(weR19LM7b2A8YGYE4t$ow+M{4&V= zGRXWg$ox9od{@soJ;XA?qKiFs^AHekTGMGTT`gpoR?p>Lc-Z~0LKYLG=Ieo~9f2_zgfSR|F&Km~7=-o>Li+}xeS^@x zL1_PQ^Up6PA_(m?L|A95b~fXjA;rX8K#E=AV>xOe$3g_z%aQO>$nq`7=76%jvO<;> znMYQZ$=Gg078Bb#%fvRw#5VYNfS(QUGXZ`&z)uDER{?%fa4EltyQH%HwnkOi+M&7Y zGS8Hbch2p5#%pKpy1IN(6Ih<4aQ`S}+n`xoT+VAZ;Iv8e$rVgbciYKxWNte-PVnhV zZgH0~Sk4@BMw0R+#hf}omP}ex$udRZmgy$}QB2c+8K$X0rl~=usX?aczjV%O;JWq^ zrJm*BTENl{z=&q^{I%&HF28I^$<~=R`Z`l@@h{t69vy&khhkiUU+E{LWWkc^=_iiQ z3*fUuIRFQY+8`GT-n{`HK#h)j0OcZN3$o85jZx;>3kIw40T zFe2CZh+OU9goEP_jyX8$;E0364h}gu2)Jyg%YZ{kpYrK)mE-A32L~MNcd*aFUI%*| z>~^rr!A`*CFjE|rmwKiQ7_iG^raYp9TUe|pu||1cevR@ztx=|T|CTM({U*_@TCMC> zw2WBEmJtzYT1Kq+GGe8-j9AN-5w+^5WyCW2gVq(bF35tRmQG9QYgtCD+A?BU%ZNM= z%ZS`qsc+I(e@SbdykM13AN<^V#tE4vD-G%`B%gr zveMnO7Jg$2oottau*}@AIbj){v^{B=<%&Eula^OIs!ljK?%=<4lB$}CqL#iFFV(ud@LgZ&QnIoRu9kAvL~b~)JTU>0!M&XxfuML!+0 zWrw5c3J2RAY;#ZoU=^Wvz9{IO2GKhWqIViZ?|ji^F=ZU3mwL(!7`V%2%D4~A1_c}4 zAU3)|Y;=Rz=ms%$4PxpV#MCv2scR5Z_eGa(@|eds6E&pHQPd1Lo1DpmSGXu@%yrz0 z^z0Kg8T-kL8Z&=KbB0-#D>A7})C62TS#FQo1PSn)0e&OEe+=*+0{ou=em%gi2`=qC zz8EqGH0NXvsXm$GXuXgLG=%ebz}O9Ng3aR}&PyD#nLU)Xu~61zZsEMF3C`o5tjTi4 zVa&-ICeGi7!T7rXzZ&4*2KYAtekH&s0{rU$zZ~F~1TUG?xzLF-;2`{`eByxYF9u|N zA;8ZE__+Wd5Ad@AekQk)}@FKa7eXqa}?qm6xmvA4;ix)i4(IYB{-eC9fqoE^z8sMJ<_{RbM zQGkCK;70@eg8&~1@b?8TlKa>ZaRKh*Jc5>SA3L%N?qeZqfcv=1iFfH|9=7OUBA{PY z(W%Lt+sZXnXEcRG8LAlUGj zttxswXFF6JMXEzbR!&%8p%pV3POOw$G0QZEy_~ICd?TnJ9NgtO4v0cZ_b7$j3{;_}Q}LK}W2z&8hYe}Hca z@TUX3Ptew74P4iLw!5F6-F)6KXw@;n`L^yaaUO}az0fc!xYkR)#=+GNPB=L3;FyD> z4vsiD?BEb!xq+_UVMJQXqi(csplQoNFY_t~S2{T0V84TX4)!|O<6yUgU4ZZH!;Yql z*n>gN6fNt{)i4?S^3}#2x9gm0%fNg$SX(+{Z)|DyPOpB}!43ykIN0u>1b~HNnpA^n zVi42BAf`#R`Tlabc_yhTCZ2u!+VRC1!CLfTYnCG7*_z-{-++W|AowsjQ<(FFbsj!z zL4X=@oq$HCwP3Rz8yu2xTe_9~WuCq|kDB&~SZW z5;FYeRl10EWnIF$GKh6$5bMey)|EjNe1j?TcE+!XmEuXrBc{u6kELyt^zf;^ySOv7V&@oIuyYJz=NQD!F^HXG5LMnFs=Pr| zd4s6(22tfN1GJuD!cGas;HRf;>{QOa-K3 z!5C7oU<_ix7{r1xhy`O14c;Icyg@X0gJ|#u(cmuwq+U#xn;AQKN?pitvrGk~V#XL! zFk=j2#u&tmF^Cys5RKm;8oxm_euHTI2GRJd&5vAK*)H)kt}8oyL$}Ek?QszC zdeE{565tt2%t`quk9uN0%T>S*_KWon`^6yki$UxcgV-+yu_z2;Q5eLcFo;EA5R2le z#*T@G^TbXNE6ZUA`^b8SePj^($RPHSLF^-gST+W+Yz$)A7{szMh-Fi4a_{J+)C(8T zj@bC}$jO*{o^)IS^l+19Do_qqn)MAU%^+5qL98@`SZM~am<(bu8N^~Th{a?Oi|MJx zjkxjhxXE~Q9yiX&d$`Fm6>x*~XMMx^Gx$>hzA?a`4Dcrc{P6&PEWjTP@C|}bE!~Kz zE{~gx)#h>I{J4jkEK>nDKN9-(!vVft&@5yF*R_wig>2wjPhI2SY6m9(|NG+hVYum# zE6PUgOcVT&ccy3Yf#r?E8h)SrLp9OeCp6`_*K^FlQ3ppH9CmQX!9fRCIk?in0l-at z?IVQ6eLd#&375)Zt?D76w+ru?^~OZi_H_ePTN=9GE8OQ`uY)}fc01VRV5fsw2Rj^G z0qAdNXp^K)w-)cR4Xt0ap)_W@7rMep)h+NEFI3pkSQ)~{9iwMV~J>epWV zTA?fEo&bmG!$M)Jouz-v(sl>0z5i`XPiF6b$I=s7`XiR+qQX$#?^@cfu(R)f&(h=B z``@?pSeAao(v2+r2bQj9>5p1^R4w19mX7Gxe*NP9#F6xXepU7BO8w$KzLE4Q{VMC% zL4I-hVanA_x>1n;=&_{Ssh=CY^m5B9aBJ;MP*i$dXFA;kK@q&!S)Fc%l+yQ?I&0D`Edu*LP~sY^q&3-0KUnIlOFONJ zX8NI0XMNgjwVLT~l(>j$YpdBzf3wt?N%ywKo9Ty3osH?f)>sqD>}*Q6wHnRzw@RJO z>GoE=nf`XEvn9QvHQG#nr_@Q(9gsu%ky59V&O#39@0L2u0JT*z%gDQE!oI1V1HP$ zp<~4UsAOZuko|GV29GiOlah@dgZ8H-8$L$u(UOfH!}ez-8$gEbV?Kbo3)=^fVf(lb zAj9?-K7b6{|L_51*#6Q7kYRhw2asX=gbyIY_DLT=hV8F>02#JV`2aF(pY{P{*goR} z$gq9Z2asWV+y}7C05+T5YP#vvShiiOH$f$geVe$htO{ zb!Q>#F3-y7RGDC8U6;$cyO4E{XJz=R#@LhfxvYB&S@(HX#~%X+ww^@wMM#;TG&BT16W zdbE)Bm}i9us}f8jNhg=}cp>Wv&kB`RVK-#$=CWR0$a;-ug^a84BeD__o{`J7g{;r= ztk8KChDFwuxvbX}vR?05A@wR8jjXG3S<^z+lb)5iP=)1@btaef*@dh(cvdD$6`n}e zjk&Bh7P8*tS(!~$m?l{#b6KBL$a=G9Wx7@2s$`wYWqocT>n)y@`B;VRlC_=7`n*Ec zTRkfiwhCV+>xx{~Z!2VdzGwZMvPzC87Mveu?6()PzQD77URfpRlV+~e7Z$R9hiCnQ zvPu(3TDh#>S;+cbp7o2$Dpetw$Yp&|A?tU0)-Ne5x{5>}n;9})=E%rU- zUG>sI{n@v75C85yxaZ&={yTVZMSE&;yI!nZHP&d3SIV`jQrqosYhq+{*Ys*n_`fH% zY&d%8_>qGLuju=$?+zXmpWQXPW82ovo{nYt=f@6rH^t`x@?z(~gZmG3HYPJxtN&wf zw;#OfN>zk%*4dWSI$NDLpHTV=(%U86s;%Qn&ywCD5m#*;Q+gNaof34_)={PRklrnE zS8W|pdLQY%5_;9vVWkg{-Y?NtZ5>kjD$-X<09IR8{~^)`orhhe_eV${mN2Zgu2lLM z>7x>f)z$%}Pmn$?!B}nWSNa;#S4%urTlE}vRR$DuizLoUzBrvP3 zE0lgd>2FJIl5JP|1*E?{wVAX{>F*%@!qleAR;9m-^mnE(O=|N$!Q@jx1>($Q-c`Hf1@?EmO|s+p-|A7CWa%v`b*qN-*l zlckVGH8Vpjg}|w$*TzziDYf)jF@@NuX;+gs7|BpWPmM{qe+^|dCgJckG}f4ei`UTn zViHa*yqiU2Xt*N2f!hXD$_lhxaMkcgrk_26dxl4{pX?D_GCY#`WRKv6;gM`6dt_YC zYCIesHP4TEB~@nksmV=6{SAG$pu#nit!CFH+vqKt*LJh*k}F6t-aE{`OJ+$yK|9UH zOLmchJa(I%m+T?MXzxu$1<5{A4D0{}=h0@2obXq^SNVTyMOKHSX z8tIP|N@;j0NqJ|rVMi8z2cJ3b00SzcVoajh97yW)rFm-db>+rb{!g`1t>n{vziWL@ zmVQt!l}lrzBTHvm@U{*)Rj?8nR#8@k8K<96RRvM1pHNfy)Y*$o8F_B3afg+$AkUvGUy@`bd$dU9K-Ly`)QQ4<|$t znt7TZ7Q&?M`EtqI2e`qZD!nJ1hM$EToGvMU5E(hwHiRg#NKsACkUpKZU&=W1vwE|I zQQ=P4>ADvjkoNye2gyR?_9LFHx zI0gyFF-WY5L1Ik|5^G|RSd&KcEoJVUVRUkc(^QK@1WOV(?>vpPnht%0WE2waWQ6xdT!;@B?q(WV#Nzshmk6 z1-!+Cz-A1s?hI|q-jX!P@P1-Ij=EUEcw{Hzk)4dE?=7&C@xb!%2PSo~l<`-dEPcmB zDVa!NZI$OHb!tj0x7-dREQ@tjn|NKy$rjjSw=Im;@90jam4Abmhd|^z^h=}mhBsI2 z#QDliwd+CiWZEJoS!e1eV;t_RUqqd;O=yeiOsMmPJf3j>$23Nb+g0@@#$f!(1m;7A zcPv?@;T>VBjmNUbt?Y3M(Jz%#>1s!! zkLM#i!n)u@jS~LL57RZLptU^;TI&?lx^beq0hWPZc`X2fTc4o2k0)y=a81&R;^l?( zeAA5+*omDw$gU@wPj@$np{<|m%#a*^Njh?8%HHdZBvzg7fR4@>8Fl)tvaOk;4HL=C zexg%bgr#q=r)%d(pH8Odl8q_cZ88vtIy8~APH`l8D`_R|JLmY{eoovnlRn8g&k6CL zH_wPk=1BoIz}VH3)kYT=rM>&q-WcuJ(ggw>Gje;O3(CU5FE7>01fK3$PA}3WI(s3# zYC^6YSC$(sjkS%m(ZHHylL;RU(t01J)?7y;oQ;r%ixJuwMraMAv2kuL*#PTfOZ8fk zE#t7KlbMBs(x7)QA+YA|3PHAaV>z|&JW*O=3=p(oI@NB5cK!_6(H(~#;ReZy$dpz@ zrnF*#jw&WEA&-6g$ce&6TdRYoUvcb zm$k+rG+(;OR!S>9r(2uR)L4<|{Ck+_C{qqFB3{BwYciFp$?BJ~mRU-+@#9o?I|4(K z@HvLd)wkb>ac?Y!@@M=Pb#C-u$k+A$3t_Z|o-%jWRhgQ}6_lc?la2a^6OmZP>A<3C z+gi0~cajLSlJx>p$r^zMd|;xQ?8cfx2bkmS6u&r|00()Tj#COw@c3r#f9NR`^)N5P zNE&~nOvLEGkqi@Pg(eUhQ*73rfz3+sggReo_V@~`CsMVWH%^RfNbnN$H92YKc?vzN z#7>A$OgW#R9Tv#N)Y5epB*rpUfx^B>r#MGKJfi{E2|PnTGoArYa-NazB@XN*o1odv zK~6rqg*9gYS*sSC{mZn{*uXh8l!+f`BM^*{@Lr=NsL05t;dIk@OTgX=~Yxj-!- zL&K4*zC(1U$18c zi(1V9@<^)eB7+15lP06IkcSk;BvOR8M&sW#+E&xDTFVj%%U8%3%aVGab;Ibs0!EvT z(Up$T9cdCteyT_EQ%>@;M)I`prJxl5SwyYOH3&c%8W9Oa>1i!XbB@Tn6=3Q3xlN${k)N` zGJcVo1{bn)Z+!62k&$E7Gt;C1){^bqg3!}FRy{ZB9;Gyq>ajVh9-E`;v3Y^&u{o$7 zrSynC*c3n56hGLs;Db%s2SHa!OW2o_+p1_2n9D@{o7qRyzd@q@4HETlkf?uyMEy5B z=Fh-&?HfHv%)qsty2ioP4o)~Y?%D%o%U*VDb1p0|XRXr?0S6nBiJ{|e1KUGv=9ne>n6 z?<@1*$tMw}vKi2-P`sL$fmC@7x|htF2Ro|-YY$2x)33&<2eD=BXN#X}ldR2tuT55EzgL}{pRbMZ&smoIPrm+-YE8_pF$LD>Xe0t_ zxP_yh{^n>>p6TeYudlzqJa>|lAnu!=zk9xRw2I1;&VOLxv)Y5*>15qqC)=;?t~)vL z0~B9*d3WYy`=0Ll2T&vLp115==ySmeNolIWcU7uC6QPr$^fFLrfMyG>4vUoMC z7FILj)wE}lnpHEMthNePXBBJ;6^wfY@{Bxs4i$`h1uJHfkx;=}t6+0h!P-y($E*oa z@|8Vy4i#W@2~jIi#6tyZtb#3B1#3bDEw4aJ1dpFX1*j0Jpf!^;t%40n6*KU`@9VBQ zS@p42`O^<{bjI5gix)h-5cgFpc!uKCaVs0A2?cP_)m?g*%se1Bp3#836Q%TZ`M0Yc zNXPC_hE*r)_dLKcacU>@;>Gy~Kau}nqZMak?QiePzg=r@4Uhiz&H1-$?5!ce-@Y~f zc9XreLDt*#C)b8ze$h;K`V7|4>g)x{waJ!za&@vfpPUvQY~b{}_J1z- zhdW8aoSJ-9xm2&0>-Bnt|Eu+Stp?Pe5eN0r03(RcV|wBH`21X88JBc9oo}~)s@%2f zsH?EKQl|_Xn7<=g^?mez><7NDv#QE+LHgwqk;t%ATf7wgYEiXmg(+2kE z;pTub*3GvJlU-!IqwWsqAa`t6$J)QzRA(F$eHk6YQ(DmIkL2Ez1-4Z{`+YqCO5Ei4rNK9atm ziSItGruZvnI~FG)|;IFOfd_2Kr^|7jDkwL5j# zw)l#i&*J%J+3{^nx9Nq4Nqi{2qGv_EGT$~fJ7I2@a`k%3vHG!GYOEFQo18d>|w`dMxPgS*afix)c5E#_dJrAUJ-8Ps*(V*msRx7~rEE&X~CF2(v7@`?cO1@2+t4<@!6<78%(mEshg8k!~h7bk;Hnc^zu>!Sv85Qdif%<$|k>CMlyu* zwe$#i`C1_5rE1}T7X~N@D^+v;!fMfKTv*le!pfq?%rjT+5n|a1(ZbsXg^vAXfe^FM zF@dn}nnCEU(RKf6mNle&f(vP(borio+{A18L)hGdN3sU(~&^V*6o z>`uxuNTI*$Zo_*vx1wsN&tK&p$15EiaIoLOJ_map>~XN$!7c|o0ryXryPO%7`YkKC zR7>eSuVAHhJj|is zv&ArZ8M|97e1ce#HK(~8xYK5Z2^Zi>b3Jyu$r|~x?R=$LcOzd-nSedFa7C6`*4diLI*QmvoDEx5 zo23r?>u0`C?444S7Gzq5TtEQ$1uk->dKjzf>;CM1gF1?WQ6*JPvHjnY;h7a|F z6)2TqKgaZw1wm1c6+z(3-cs2&jTivY(Xvld?V;x|SY>kZ6lx z$X~^d55SPMRX*Z{7@{eaVK4+Ws=HOSy*eC*T8`9;km_|Ti=l>pQq?Cz*V4lf`qW|= z@>fe>$Ou3V>4g}gDYaoR)b_TsZHMrT;V?AqNM&(5*0C&x+WraKqt2n09)_xmW5{1E zfgvLR?E_zkA(}Ee42ITu+v{q3eK-serlPsc9qO@;WihnQKdI}Jp=+6x;xb7b4uHjr zl<-p)7X(%-Do*T{WmmD=ajn0M!=2XZ{ksHR0 zNEr~KRnWi<^&^=uE@wYmi*Q4GxuTbE;3q|HIMgRaZaCB@Ha&y9aF!SQUBHmPiX9i~ z7GS8z4P!1yH|(D3SL*}Bcxlv0j%V2rvO zT`6rQt50{wL}^XJLWox6Wv#mz5<@9nX$|WtOxG658>q7OtkFdegbgYnj9^Rj&Ne}g z)2O8oB}(QRLL*Tk*YHRgw?Wh>q~iqGDUdNJq#g1eIL%W?pG;j|w4`o!w)WIZru71b zs&!jaFQvknOk5!NB5jJHDm;9l%$pJ~9n;Y@-H8(=f&>x(dZpsN;#0!Q^^~Kqc{*-S z$4IYX~J&YY1u1x5l1w zAa}l)5hc}{P)wOnI(3R?MA+#S7k*HKcdB)wB=sGj_$G$H@{XS<5!sah46S0&V0;0C z&SQL_x|+whY5xm!dHPuCp^5-X^$~i^_fc_!Je{}v&uhMX&+<* zx7wdh+taL=wMw2StpV{iaD~>`NQ+c*7@s0(ttku~ySBVFp_pn97uSCa(e z(|{bt6$1~(*N8R)#$Csac!U}CXxv|&JB`csSf+|JW z8>&Wn#cc5pHrodo#ykErv8Nfvw<>v})CKW2aD~>`NUyUY%8HpGX{`}eWW{Xqf!i31 z8R=nsi@(}zuQD3%kOboiAcyg-N~$$IjJwWU#CT5E$PGYIyB1ejgvLjEsM<~*db16X z!}tz=dWAjB`nXfc6Qx;zp{m|1X19N^%Rb0Zwb!5Sv8P!v`;|OV+6Uro;0mp=k=|xQ zlohjsByGIHo@T}DR8p-8#ngKk-|eq<*{clWdr5-vJ%Aj>_baK^1jWU56qFh?@hO7U z0nDcKfMiocfM{wd~*BVIu)WY)m>TLIQ~3{U-Z^ z@_KkCHlz`l^3%?ZXi=i*1tTAGN)^b&Mx+mXDJC{1jcYbtYyc!S(3Ij+i4C4gY;ehe zJ)Ly10g%|RV#?j@1Bnejkl4r-BeB6#iH%$_5*rjFvC(p|krh+snYBh#pFL$Co42Ns zFGga+S`&&X6ZI^y!83^sfW!u(*q$e*% zN6gd3vmq_Uc?i5fIu*bt$10;3lA0Uyq^X>!ZPehe4J`y)zvw4a^6Q z`ZIHZqy7wX)Sp4N5*uVIu|c*H8)Pf7LADYbWGk^jwi4HxZ@aYShFuwo_c?EFv?1KZ z&5iL3GB?I#ZcIjVV{)LmF(z|EdIaW%HlfJ>-NBZ|+&~@&b3?zDH8;lkrp6Mg7z{73 z`f?tKbgSItK;GsIjyUCcnlm_ZQZzR?teA3`V|AcoMR?g_i z^)hF4}h5Z z%jmGygkquz#4{Nk02v)Qoac;=9L{BQfb%7c4#WAdMn^x+L-R&^$jX@=xnAy|A@ova zM-EvsJLrnc4ntPGS4__A$Q6?_J95Ry?4TH#9X51@)?{W!u9%$Jkt;@KhqWdY6OACA z?e=VEqD%Iuhw+0jnA64Gt?`-d_+#+qH+vx79NxWw6+%(1e8 zW=G7a#n3Rs86Omfm~`>s#EJSR@d1!-75hz6;sYSvDmr}7LnS@{(ygqR=piDf#0S9r zRaxN@A3T*VlPgBzgJL8;CS81FA4s?21NT>DPbEHhD)EskM&iR-6N)LALH5eUhim+d zqQnQl4G({ct}O8Z=ocRmlLed)G(2L?!8i}is|3TBj!1j}WP0RqF7d%rnI5@bN_@~u zi4Q|o^bwI$;sf9ws|;BZA3T-mkt;^xgJL8;Z0HKDu|aZ=RaT6|hqb0KbP^xdnovx^ z5VBV;J~Et3e1LN|Ju;k2e1P*{dJwTOyy<~{HfVxKZCk|jh@+$F0CS8vWqO1O5_2%p zDBV6m+!Kq^kuyFxyu*}^qVX{nEM&TwbLd(z(fHt%CI}#Je2~-x0ce6SEYUR31i=W< z1X+3R#)o6MXna^P=Vp9l#ayuQ!MQ_bJaF!iLCzgA$Zn$PxhCX!C< zAi??7TA`TnwGIwkIgRZN*~s+AKDMuh1IW12^1O)xt!KCpGekr;N$NkZOrME}sVwUj3P#jTQVZ>>X% zyoCh~gb@_4P#Ucg*sExB>jje|>cw-I8eww89JsNJOl6syFUQ$*;4y9%2eIs|8j{wM zM#w83p5@gVLzb75qD1e7a$$?^FjBeLT`^IKc>^s=Qt4}BTarvlm@%TsNDt%>2M@(% zh5{b^RqW+ZcnIyS#J-JEZPs4N(X72<@Yc8BqtT4dCbpodz-g9KWJ2MM_h4-#rd4ULr3d%lm?ZL8E~sUFf`44R5S@067#4izE0V2Eg#@+} zR=LFmXXII*GRB4^To}uev7;D;*NfE1*iqy^VH(DqQlkSqiaB6VSRoee=Y~e~$c0`? zlMMENvm?tJ93EmDLQlx+>?qKT*b$ctiyej6oE6l|>+C4x6+5!LH5 zhOwwdJV@8ZTJx@p9c6gHhbezE?16LDpr|ncEJpb-b?z9T9ivp-?YuA&B_pI5U&05y z3F~q#;x-^K=2R7dkYWzC1i=h1MH+j1-L<>I6C$LnCo(}SZ!k8TkWkD$uLub`^MnW~ zc(NO@T%jc^SBZcj5mInhhrA-BEUySD%ggDbnR6a5a3e;atQG3kMxXG?WTU*mjn2xR z7npMlO_BO^fShA!Y0d{U$oYT%Vmn#YSbhPk(MH6&s-5( zVW;GH(22ajs|a8*BcZ$66|vPkaz!izoj|V}#9K`BO2~^MCK7k2uzp$iNly{W*qZ{k z%u2}?Mt$kzhF#+(}8KHf(-^F%>i(qs&Jmduq*EV%tn-kchi%PT`Z%PVpXVbYm; zC#uWJ&50(FtK|(I09V79A#oG8ijkzql8mkbMQLxg42!zL8HKp><*whS8-u%0(@N(z{GU{3*C85FP; zu7Gh;r4+EXF*FNeD0&k!HWanlo@Xm#LwWQw8Zl=fh#}@-n~Jd^^INzJkuXzd0b)bJ zqapQ6s4zAZUdz9jT*pTHdbLOsDK`u2jwN9@yX$;B8 z3d-0}>{|f~MGh4vV9Y5jWNavh1zKB)t(EeXwN`8>Yps+oYi%{=l`WX%Rnb{qd4LRK zxpH$D6C29%iVa!bYQ%!nKeS&*iP%tvg>cB8JZ?xan&-+_Smh5o7$N9Rk1`L4o+)_T zG9rq8G}oxYR2}G4h&d&HGg%gK%0?w4qDkZH&e$@@8CwRqRJzvuPm|@t=j{WVN#F4LaWKPK zs`LJ1Q+l8OSegE)|Ja<~?LW4pKkYwOrT6%cBz>#@=%hdBKf3A9`j4&YoBYRg`XBwr zw)E%x$M*Do|FJrKjsLhJeVhN-k^Y$fm`z{dKX#@+?mu>=uk;_g)1UAkd(v0=kG<)e z{l}X0C;i91^!xqC{`6=3$J+F@{^LOUp#Qis{ZIbms`Tyt<6!z0|FJIp&;H|3`VRkb zIDNo>tWW=o|2UGq(|;UI-{?P%r9a?5j;BB6KTf2t_8(WH|5YI}3{^YXxMd2hI|=># zW0b}fD5X%Xwgk5Aj8(Yv881W1sbs=3Zf`3{yKS88J2L9FZ+`$!y`PoyD)L{TY61{*~(5Rrrcy zh9b6wDQ`%=t{$dbQO#irnyP`RJt|@WrabSGnA#gZ6Q($Jn`SJADXoK184kZ>pJj~W zyx&q8rq)_AwjSjx;bd^zTvzz&K=G?93tyqXv2la1&rT|G>>_L{>K z#f^d~Hof;@%JVLXsYCHIVd}8eyBMa#L#PawAP1i3TYtn-8K#a}GGc1d@yj;8${aXY5S4*X(( zY(n*mvz3~N@-OD6p=Zm!GHH=bs71w@OWf=$7b|f>T~cvo@*rZ$<>gt7xhRYQ#o7>kYMT;XPY!C3+wVSvbxSkoSD|LfTo5JXQtjn zOf4_YwgiDzz?3UYS?h-sXPzzl%C&-s-$lilH!=IlwTJlCB^75T4q8(EB|B+k|c zfmXnjOQNjxuEoUG=fs&SlTlr8?J@hRUz~L`Dq2s=({D~86(yd(IO|HBbr%t54+nAd z;Q)U#z~2b)Ljis;zz+oY{s1{<$He0M1b?k{0TB~A{nOZf%dMD+ek%rfY=%m(VpavV zzY?~OpeAfOt=^G7^m@AkijBaQ{P~b%^;2)(9g?`;l>F6@)MLo)H?`$Dqg$zKV{t|#9W zl3VdYV6uS`TWVuNvzcx!H{E2oCGDQ+Cd19rZHQZ!3W09(FcnO<%vVAl#0dP4o#}nb z<3L##Kh^C(@f!r4NP4k(rsYnmDQmN@ovzntVm%YQLc ze%!;pXR8?H5iG1R*;GV73$$2{Ko+fBL>9d_$ddO2_}>Hk^#Fe@z+VmU-2uKUz+VaQ zmjz$3u6*5jn^wK!vl62BI68~XIJRiK5w0m88|Mq?_AtCuRWTQ>_|iEL$KeC=pV_)_ zsXHxyS*goG4X3-C9EK$@_lT<=!@&W4!&d@OHZ=e>%Lq!jq4Mw>v!f*6?=Llb;B0cY5+? z!`oe+{A74bbh|40x$t(6C;uwECCXiI-xl8P^W?|ETcX|d_D$jK0Z;yUczdNM?+8bb9j5mlYbH39`@wVgttdL`Kj>ss3#u`Z;yHM)8XxLPrg08J>kjEgtu3F z@*UyrHJM%mwqH6V?FIre#-Y}XTlKkI@eIL6xSUNB z-LKGuv1xfFJD(!1r-h@C8gHzMazx`D0^7CPXvYW>+H3X`N1SdQ`&VJzh!n zpz;lUF*rw)n>Zb<9Ie18G*4?jf_uOAXpTFz-k~eP^?`VjkT0Td%TE)Xy8c9%Q0q-Ej8%qz`Vy| zUM)`8@Qu)i;{!2pBIZ@OJq#4(u+zXO6<*zs0nd7V7`P_Z&N*VFXZjfNRv5DeANm~>iFh%gV2{vwbL9ppQL)%r9r?{fE;1nmxX_5@NmPs-+1DnVU zRe=k!5NfeZ1LmN8ka3}y5$Viww@MB|F`^;IkV1waCg-}-frl6*7$lYu1ZONE$EHFF zL6k0DLJ+R8gaY%jMh0;k$uHxrw$op|2m&~kpf>c#c`!>0jSI56AG7{dMA&&?Hi-S$ zrW~USRR=|2al8c8AeNA0f1!k+EG%9^P#Y zkWqZw+5mDy+TzEU!rg$Q}9c)v4CA=MMQ~XVM zJJ_c9+wgXcCbzHrSNvJP4U(6cCbzHcj4_|o8s@o+rc)) z*TUPuHpQ32+rc))Ux&8?YznOmpMy=IU@jej_iR`TAsl8?jG0X_6~&L@o(f?ch;>_j zYRIN=wLD1kESf6@$PbV?jc7VV_7?NP-ZI^u@`E|y>_^d%!HS@n_G~V#-Eq6j4+Ui6 z$_OS!FMqHkvizQnQz7!!#8@;U$mX^8iVfm73*?BF5hYNc0y(fK7WUs|ZtT;*{s+Th zss2-bFeZBa2{uI5A8%+GKZ1=%FerNYgB_9O_iUWdkhdkql3+qC=)a2X^?!jqVf86I z1AAg&|2^xH{SRitQvGNAgDKJLPp}}e{&@c@ar}ch(aRsKh%CR4Kc^++Er~JW3!+%c zkH3oT^?!ji;jT9Nk2SHd|DJWp{s*IBss76~=Y~YDKf!*;`s4kt#_> z=u-6Bt&1KX3G6B44idDll!88$mEuGzre#eC0ycJB0m1gXph_{6ZZh?n&?DsqmPBA> zI(?cR1_>RD@8NZMOTr5%7z|6{)fimBNRa$}7%A8e8AiNQIkp!{2^vCQDFyo>E5(Oa z%+NX>6o}aI46g;#VF6yt(T)fvL)b-C+<6vk3_m7W)NXb}Kefjt0`_^EYz>yPY5N(q z*9THNXL#l9h**+BnmF<#r{M)g$EeDxh@Y{NXXUc7*{MBP2pP4z*Kox^%R%&K?6XH| zVeeZgC8Ksz{@ExMo)@W|o$t1pW!!`&oSzkO9hYnBdYkzQ zH_Mcgkz`cYc$}@xt*Di>TXeQ^kH0A=cF9M0&ov(v9Z{;Fv7ZZ8#Lou!)&L&}@GSxU zOn`3=@csbb6yQ$_KJ!;L0#$eZ*$UAVeTG>fPvOeOSf3R#)XK&}D4m+@x%LVx8_gsdB0UTgoOrpFjYejT^e`~Y%EnlqB?1PPU)e|& zSRw;3u-M8*Gl}L%uUCt$Y&3~{UWl#5RyG=$J<`L#Fe@8leYOY~Sbk+ASzwC{z`$ZF z8_gsdBs~l)wzAPoqA}9TyV%M`BeO_)7`XgaHU?TFgV$H1SutP^2DQ7efH6R8_GQ=t zLkfCprliG{jqrT1Nm5`_A!nwbEhwR=phcrbZ3qipT9!54In&a-`?gn5BCV*UjRl*; z+W^Z^0M??5wF~W$g_ylq_DIBRj?o3Y^cf}L`Cy|&JJ!RZ9*6fkUiu7@@O-dAqHV3Y z<=&!IvH-J1tE7k7r)*^-vq;W)Wn<6+Mx^-MI)^WSIK>xNHZqELN5`sYP!uUX`Usuc ziYpr##V;tKNb$WAMDfLyjf~=bWg}}tk>ZKOG_Fq@&d(;nrnoQI1V0tv8w32w0DmID z9}n=y0{l@yu7oK$xUPMo`O4Aq%z4L3+5W$8m9#R()ZNE=nFaE4fbp0I@^Uw?7S(J^ zVc3qiA{ob>TuLT+p+yL;dM36t1~x_YpFO-{7GYR%7g;il5%Im23<&3nAWO!D1h&EJ z+qiPTF@Q?Or2_7gP%^F!aNw(waWMd+P06Tt&v-Jr`#I`WZ=-*o17MYm4t=heP%?V( zIRjS7=(0~d8GZB}+y+Q8P@(CaJNm7p-JEssI0b@|Hviy$Nb0C=tpAB}$WE$+KS^7b ziIMf)4SHB1I@XBGB4_nP%Spv23fe3_QG8|b$tV$&#V6WK=})+#nekMkOCE@*$DUI3 zV=pyAplL5vBTTiIQjlverO4V|s*Kg&OL5;}zMtxA-~VC=;8KA5%|%>w0n`p(G1O@; z3Y1oG!-NGO;tf&MW!&4vlz0|%0dTE@YaCqd;Dm$Y4vslE>fnfj!+@{-^M#zPr|m+{ zV67C7ZPCex!3(Az_-{3*>}R-()0T+Rb$*fWxE^E&$$UTSa zLB`RHR{h4%<#C+VWnXb_&+^z}WU{&}9PaYD*mEI?4tb~NAQIJD7||jkQTy3{t>+*T z9pbA2Bs$zzkwnk?lFvh~h8}cqm4hoC9B{DT!9E9j9qe(i8}RU@J!&yrxT6R+w*2XK zc*qjFVG`w>gaxr>XI`_;d72ms>`JtiY}d>tg~Mg{d)E0X?3&rk0)}?*z3$|9)zP7!-exylwi?}`61Wj$gYv+utm)E4!bXDDd#OJAsaVv5~jUJ zCG^WmBL&?KzJ#nCq*-XIhRMC9^v@%rTyv8RAtH4>Yq$Ynd3mamE%Pv{sY>o)!g=aI zOf0LBnj>L>j%C|3)Z(Qvp_5w3I*f97q$2$j3=gA!a*?fP9=7BjCKl5+jsKq?O)Rf% zx{^ufhEe>ERHhwm!|0YO*>F5;$vsRA(j;@nh^Qxo`xg~USt*Oq#PXWtk;*!6?=VW8 z>y4mo7`;&?8vzYl@>2Imj_XEuq7(!;Y$!S>lCCaxZ}Z5Gzg`tiU(^+nWSj!91;dY% z9dMO<#*w1N!p6fMlAT$_Yw`4g!H7Af+hiOm<{|LJIMQ;uO^zd(n$ccL5z29-VKQeN zX_(CY94Yp%fC=YFv6lldkx^gF115|kEsu$eBMsBuj3W(`IpavfWNw)pq}SnU_HfWq zcB(UR^LRkv2R)}CLxK0VN8gBIHTTxSG;r;{k9 z6yN7;ufPEB52t+nh=(?Mfwoc~&_%0y+to|Mb2k=CgF?>YFl&fiw4 z)M}=?S`*E5cZ*-KH#9bOgI(BX%g>wXR&Qj*pq&1|LlbIiIem?O)bwK%nVpvS`?>qs z`arAOEV0zmrgnx@cUBuG=gY4=S$g3_vzhK`@z37Ycr)GC8f&KeTa9LVpjB_CSGGo* z=~b=<)nCO?xWj5WJlzZ))A=a$2t(uHBr5McV8!fLA zu|lQn_wNyFTf}N7rH@01zB|6vt<6?ixZwb^a40|tnFiR{!5&B&r@A9bH6ZWckr-9* z-7P{5&$mIMl-77@H!cpMFHlFR%Le_8pbT&TaR#^nkxAB#@FP;&I@1EjSTX|K%H=$K z)wr?SWGFZXf@d#IsA;zHFHWiAW~WTDuHP)TbVg{}#Hp?h-r)aRW?0f~**nf~*TX4G ztda6Um1^WFE2cAE;f(yWd=uRBk^3uiG&C(eN4M=v@K6kwK23KJU8=gI!jsS}&qo91dmVhR8rb@TPIRkdCiY4dL z`Q#?p?UPSdZ%gk^ZocitiSlsuQVUpx=-@E zo)%u~k-hHW-;iGp7^ioudVStHw_-~PrqBfM>M-Z7G#MDp`%;>ufAP~3NtM~%R41t) z)-zjKXQRr64yV22P%%r$$x2I3&RJ~}NmgIP@7Zm0D>jvq>NZZEnBtl!L5T$}tFjr$ zWmN{btjZvFE*Rv_1%uqVV30c(407j!!A}IpoeLw)|6D7tS$f8b8kwFDVXMnRu4XJ? z7W%ej-ARFsohhaTGq$c&ZpK28NsAe4hQB5Qr7>fp*9=|4W-Lh3#)_-5xky}cXPowq zo$8ix8t^~UxSUMe%*77?t4dZ|0%t)TUj>z_?Q3izgANgvJv~O$^4i|hnm@gjr|Wu8 z*;om6R8u}{2|d%DGLt-#1LHpqIdH(Zk;4=VGT>}1QCWyxM4IOMLRwIhUd-F|y=pE> z*`hD*;4nJj4i1Cd!C{btr44ehw84)B$idQ<=3r@q94u{+gQZ8Bzh6at5hKv()Wq@| z-H|)6bKnnYX$olyN8@Sfl>V)~^pp#P8#=7l>XTNts(<`rV#ky3T3trXO*> zreW0hRTw{=0#5lh2{e9aZLs9cb1OEMY`QX_))Ht9RZ3rR5;&ZmG8jAfyZ+IN-Phm5 zGBmoAsvfga&aRtVF$0C^qpEdGjxEcrY*lDUm3cO+%o|fIvYs!}8|FnKRrRAq<3q8^ zsz+@uB`Kw6X^_4xzjP$6a-?*jXCe?z3bz5~q;P|r6mF2CQ4Ml5szHuMHOSGZ200ql zAV;Gb{D|NytL4!%>SRrFn}GVlxR0LdT4Qr81%)ALnB3)~k|=7UA(|iCG+JS@0_?e{ zz%U8ha`cli$XFc_|BcXFtyJ`|YTsx?D#>V$7$7C9K!=$0f9gm!MW=y4u#pKW2}5IS zNW=bOksK3SUFIKu&JUiK;|OVdP~(kUY*^LT1(o{1I2BlXYu4UczP&Xk{=uJy_99ij z7u_DUtvpa|lW_sXr>}qic>5h?NCfr;2TVWozHt=npMZ+ew|{UvKB@2|edyuw_8XbM zh%D9?Ut_8EKa7f+(POJkQPJ-ND&Rm|qXrJdHOPsC204+?ASV(U8$ouh6gjnachN;%E*krJvWc#(0^9YZO~EQz|S?Bf#MqfuoajVk+S`ZFVWOJX#r z?4#-Rr;rJw*kTaYsQfk}EL_4hH;s~UDe-M=jPDSKV@hW=j(Lq^s<9Spti>8@=^G0* z)8MI(K0p^8SRqNXawV-@MY zpGzyxO=?!vEw_u3Lsbn(GV4vgs^LwZhFfA*W3a>^hi1wa{`Q0Tn{S+u$h#`N5`ufw zx$ca7kKFPh@d>d>_%ct-+#}O#H;7p=R5Hyrwtu+X9g#9yPWSs~ba=_ndVL$|^=-t_ zI3hIGBO2=wjr9d+tOqoX{fa5=d!~KuUu@79fF?BOXX;;JWs$NEM8a{SNjy*y~`AgWV2xIoRo7*1--3S2!p+xUT(e-gpDodg>YnS35Z2 z;JAZh4vsoF;^44@Lkcg<;6DcV4*~wq0KXpK*8=?e z0RJw)uLk(H0sc*ZUkUJu0RK9`F9-Og0KXXE7XtizfS(KS@c=&?;AaB-bby}<@UH^= zWPqO#1VbT7_s2u`$D7}%pm8DX8v~@hbHif;#+W^4|~R$ol=d}E;G zsf%Tf-1ETy&)&O0+jX7wy=$$#_j&Do&e=zjtz#Y8UVBH6BU^9DlB|cNb+Bbw4#AG& z5;|y`JIWn{dyaBPq}aX`B1iZpBRpsLz$90> z!KS-92&S;SqCAL==x2MS|F5%J+3ES1}iG1W{ zImt?tiVlIj-WUmp;U;RtW?9YQagLtK`UIByIXR+Z+1 zdNZWZhqU>M$)p&UDrK}Fs%K24-5xfk*^7>8qdTVK8dpXfC0);$j+e(&>HzpO1`3@< z7*olRlFaKqrn2LH;f1SDz>5qXQxJfS2?)SK5P*ds01H6?7J>jQ1OZqG0vpUd z{RZn+?fv~w-`@-2XF~Yt5dIg1hHx!7+C1#^)Pf`abeP}=)~7E&Z^G7Xpx=vWNmPLk zGj#I68&L>cBjj|27EBY37{OjPgW>Fq+eMw76puQ%6YzqACjg&ta2?>24qlnxR!0f@ zBttExI`Eb4Yc-SW#S=vDCOR;g?X4dDb42eUI&hrrZ65tN(R+yw>}PwsM_(ZNI-&zF z+HQLEqeSl`IxwbfTRipR{Y394I&i7&hH}%w+gevebTrmw#mAf#mq1N*!-h{ivf}mP z!5+F&53G1y5*f$ML^q%+wOgylUZiXh4&`hfZ|x9;312BO{NLa6mB8?`70}utO)o;= zrT|T+Y!}WU5cIkaQ9Mr>F9-hay_aQy3=i#e79M*$568L>2eeyhdLcvlR>mH&V-VQ0Nisv7avPBcA`-D%<;$G-i@kMwP=-Ca0Ox!9r zwa4aA&7aTL=KxHx{MvkLzAfL5Dtr!(g=yLq5Ygr^9(0_{^Q3;h>hAWO>t~k)v(1$@ zf3wP$;K2Ml+KUMg!y}M>9Pw!rW5#>$!uZ~r8;)67=`w~KF zY$7bS**4kPjpFIX?i1Nx-FZ^qd}q(oiJqsuJx_UlLw~rT?tBN`>FLL(k z*XJ)+@ap_lA4bsgJ}_`vZym>;p#^F<%2p$P6orAOisDQd)oV|ysFYbvQQwlU)@*r& zf*bR1RT(Gp1qFLm)J-VpTQE?Qx*kF963`>D8Kn(9ZWEv{_@@Xltzui(QTJ8)JIVD3 zo&5RQli(g$s{BT^__n*3crH@m8?C9etwxd5Teq{FO6_RxQvPl9OMBHTQ1eJyp`_JI zvcuWh-u8;gN`4GdlNYF`B||h`(cYdP7p9^=InL^TC+G6!94P+=`fsha3K!e*^SJip z9OaRO8>*Y~Z(#=`Uw|{ zEi0)(Nt2Y+$gl1zNf(y9Xi2%3Bmz-gT14HLFen@wJTa$@q4msx=@5M-(N`+En%`a* zcC5BG( z=X>(K`E~iee1G#9s8hZR6qoPT&mR5k)z5YM*{7fV{D9!T%x1~8l#ur|S}W^C8-2tZ zO}@o;#c&UeS>MRms2SKM_4S70t8ZuhBmf_I2S63z36!E;+m{VcJI&FT6~C(t2|&pC zvf_h1IbTN3I%YDpd_CWrp%16&!%^=;;mc>hmlCF@y4=N-vt_pNJ;)B{M|-%7V28sJ zOQa4>U(SL`B<&e9!9yJq@J)ZC*Qh4i`b@dj0PJ92a3ym+zvYa5=J{{_GrhcD{7k)g zfCHs$6z4OVnji-FM~sZVxo+y^USru-SYTVVW7J^(g@JwfWL6}6685CQ0?}PaNrf(j za$R9M4)hE}v8$LGA=R|PYDpvb9_m`bs9mqNUg>4l22~X|SLu+k&a}!Zk&~=MPO?(G zyN5ZJ`Gah(tioyjN_G&vspa-&!5$BG z6Z}~vtwjrtyd+NMCQYK;G3yf-{Fo~e^av!_5lE0Dkl;ojL5)Cync=h#ijyOUQEFP*shO%z;=Kb>*l2@6L{r@l-b}7nx?&bUvZi;CE4B-OXTKv+6H?i zsG=J7Z_==TGugHM+uN=Uv;E8B^2p-y$oe*mWJsyyVYYt0=LXf*M=B@SYiHG`x1MHc z%4m^??3N(HJgB}klOi(((&X9YlVGO@J3QF#!8Q-JdT^}=*LbkSgL#6pX{D=ZVr{Xx zsI}!=@tC-<-k-bwD*uHa{J@4&#q#gJ^@9iijk`6vmY=l-UP)NLFCjmfkqC|AZ9vJd z`Sob8`#f!{ipLmRoEc5fy)e{&kg2_!z22KV*yzCq4-yZKHjgOh4IUiv;IIdW2wtxC zf=VqTB~PvXeCVJTeZ2<< zJlOBSJ`b+*V6O*zJlO5QE`q-=_kvlsO2$j8N-|4HiZ@T4DxUtp+pbel0yY@IkH znKX=eV+D8mhjw_d-Ggl&Z1vz;53ccGiwE-_Y$iCY3J&NqHu6=$Uzj^pJp2E?;UZoZ zeNOcE(IziyqX!#2NC;4?u`yv*t?bLVb!!MwjoUM-aSKt6kJcYZSIkzU1nnBC`7rxF z@Em)?1;315^RA+Kx6Rq-zxLE$seboJB@h20X@sRHcx-y zpZ!J3Jhi%1LN7Coha`9BDOE*ZY@b43Y$5t$3(*%_h`!juOCdxbYtQIoEkqw{A^OZk5+Jzn*cXB8BCt0C zdkpx;TFs#|tt-*+y{=7r&?*(*1(Rr%XE{qTc&eQgSG=}R{dU3Vz~dlH@N;7BRP%8Z zA$cmj>ek}i>3!K&q2YbmJU5Y3``z)YyCSeN0y`qGJp$Vzur&hLM&OzVY%$=6GdBhs zXv1GA8ZxmlcFg4gS(8lH#Xk-Em#0(H4eYbBvC4Rrdxa+JwaKXY#Woz-RdTv(g8#;z zi?qcllX}6(>j+1cfI}Q31RUcSCBPb|qN$6yk(f^U9HTs1_cIw|kch37!LMm<*3&vP{bCtSY06E#vSOZ4+8N78v;ChQMs0V%cl z{*>S2tdNnd38Fx9JU8~7r?mKRB7;@HtoW#dMMXP@c*ky~6^0y^X-qDtWVyxqlF{qe zE4KpDuX%?07}ZC9d=3dBg>`DlVs=zMnm`DU)8eXIKo&KP3W$M|76_|Mab?K(E?f~H zBftlEWVy3%`zLS3#GbYO!|6Kh^tY%^fq2LtWb%JirM}!-siS`@D)m>TN@;Ow9RESP zMo-dz$Ql|KF%^u999P%W?PU3f?J8Lqy*$YGPY2;b^h&w9NKS@*-5wO;h=7M3h6m2&#xU5< z+u`_-tpThjeKE6H1aep>Tp;qWFCv)hBCt0Cdm^wq0=puxGXgszuss6X4EWq=RzIH# zQB{Sg${X0=5))g$EN^upRGK``@h~1Ap5TYGq8;=G!4k#hP2eCQwxsnH0_96aUmt&(LS#gDsC+ z7;FA>O^{Fv_OCU=IL8n>?8_9Z&28_Z{-Rl_W31I}Mfc0FlsB(}P(Lau4P`*y+ImZ?PAmM%RQJ)Xew1i5-K1%~V}z2H)M1B&{j>j@gv9 z6IG`;!thN!()_{nv4#Bpd}<+oz#i^f_<^5$^o!3u^^Qls|NQN9B8r+(%}=K}I#UYM zT%;Vc%-@&24v3CHJ)q^qZ2lgH&Ki$$)*p7lslmbQR2Fzu<2;xrev+bw0=~k8 zK?UzvRmZhBBcpRuW-Cg0ANuv*{ml2W3Tx^ZHmzm+WG8lNi!({W!v8;yn+91MTw|vv zT_IR0z87;xiu%xJzwotlOOx=B9M$FddzV<(qLNh*MyqP)g0#@%9n zqBUM)2Th6j_}M$vG^#NU)^2`KIEa@y;4Ac?wx5_}6A7i7w(dD=Qe-F3%)!@CRz5Pv z-Y!(y#AZ$a!VSS_!CrPC^1^=1&E}J- zZ6Icd-()o+PGb!BmyJSL^~qG!8I-9~n(r1oTKw4?Y%6rM`0roE?2Kb`#jn9Fz^w33 z4g-Q^7prO{miMLJ@?c*&3pBFBI8ju$l5+RTt66xXdc`5{RI8Ky95jYru>mzU=0{bJdF9O#^U~dHWL|}IW zc12)k1a?GVdjz&cU~2@fjleY#*kZuNk#t-$SZwQx8H_xl6Z>iN4>*RXZVt^w0$!eM z{;ox(#Zw(v6#0SQ`}c49KBzKNXSVpy%af4Nw>Yg1DfBDuIfT!d_~K{jY>+xD1%`0c zRzN2Co%t`-7lC`s7H1{m{mvJ#DL3w?rOhWs%N(yR4cC9zFk zOk0}olLWsgjg9yQUvuJEsmpu+wONs&o)urhZauH_#&3%8h3z3;d^88BHSV(>nBRoM z&h(O=s$h5~_M5w1R@}z-O{TMj+a9B))HtCotWxG(1K#2jDILMg(u_)*Z}s>#h=arM z$1QuC;+cNGpWdXcLZs5PMa_!8c%i{k=4-TJ1pm!q1_C>v8mE-pu6-NC5#CnjH5M@@ zE}WGoNs^_mpo$NGNk`xiC|w6(+bj^BF_k#=vsrthc;M16e&&0RW4HqqwiIV?=p#5_&_41H30^6OP1`H6z+wI>5-%b!y)el zHAabQ@~AIV;c-$;F&bD`s3~jTp)R)g$657BeT%76>HOlOb~1+o=Chz%Rn>ZQtMhU7 zZH~aE2qY0W+B^}7O#qI>n8Oh`6oG>Vd~yWScvi98;T&7)dKf|MLiWsx!>~u*D*6D$ zgzZe0X@ZH}SWY=M&5Hl}S7v{lMGT%5|3*`qHRTkcvtKLR80g4LeoHlC?K2%1Dj|Cn zE6NmVu{S8#i#L7EYEg}~s1`rlQ;T>Qlty)GQGKazsTQC&hS1v0BmrP0YVCa-ZpG9L zB(cIQkCHSm=szI>p`su9dIOTc1jG-GRM;wVJ`_nK`inH_mXGXxks^O?K#>?^A_ah+ z=`ydZFLkf)YrMCTVrTK^@nz*Qy^vPFDy`JtB2_)cqz`X4f5$Kt!k93X8iCTfZfa{V zgD5k6N1)6ngpZ9f^YY%FXq6_l>ljT&#jnyaqLn6iQ=r}&8-@xAR4*cO4U5x6!2*F<1T1m+{KIRcvuxSWpEpd}hF=5?+3xgX`D zd~jpTm_*=c^QhP5h6o&qz~KlSion4LTpxi01{}2Aa=rv(OLJW#Ku2S8V|!IvhGLMN zE1OxIS*Ov`dQ+wL$HMkS;JOIxjliA=?2f>$2<(i&jtFdzz_ti%jli`LxF!NyA}}9; z%@NoXfsGN^5P>8DN1LyV{TF~EG3Iat4n^Q#1g?+3fe7q3;Qv-fGGyv|(7KgbIiOjMaadr@1nMd-jxJ4oc(hXeyZ`<=J&^r%UjCo( zZu&pr8-MqS|8+f(u*JOmiLAKv3GH*5;Dhg$Hj0T#@rk7PEEpdhg*Kv}{*A17{5M}T z7yHx?e=_6E-|-!aV);{g`h?3Cj?9XNi2;sCsyww*Nd#39k|uaAqY~OzFqTLJSp1IS z$>=(I3y|DgM{mKbKjj|GdjQL%EC=APOdhmPitT|>YrZvI=NNx$M0wXn;F<^|5jfhs zC6b2#9EmZ9BXB4J2MzeY%#woY8v)IVu>vknN~5YQC8~=erFyK*HQ$t(Q%EvOpHV#{ z8EkG}0wK`Gql6r^8?cCp_H_`%!TvR(D1c1H5L_R>eINq+Bd{+5*F|7&1olK=cLa7t zV5b3d!3gEytd;V)9v=qA_k_;a9$(uQfvpj^HUif~U`qt%Bd|FFn;(v`y#Qgi7a%P6 z0)*{efUw>R5Jq+Z!ptr}7}^Esa~hSgj3!C{bdLGiw=Zq-jIrO-T?i12f{&b zh{Hv1fN;_qAl&o@2uHmE!c}j8aMl|j-1P0$TSr1$0V#hDRKL5^!e;OsCIjJv}C;qWj(xI7Hd$2t%W@Io9e@B)MryZ}AbfpCPU zxc81`qvuDWh2V;lKIVf?uIR?FY*)3LO^gAj7tWt;PwlTH*|7}yw>W>YJt5`!!t$8; zx~XwVLgQR}av{n2yK|15xe%M;4Y6HpEY7Tz|5r-n_$7u5GFoV(RbFNz0|p8YKF?R$ zGYiY{zw@u8sQ9pa{*~zO+3=sqC-3BjxpCNHDfA~7&|%MK7t_b?KP!Fncya#bynY6K zdMV``1`22z%cb3pa$k45& z%AH<#!C`jJMmqB=D#&bOV!v> zIzV37&P$JKm2cSaFftVl6W3oaq-Wz$j4Zqm|I@yOlS$F6jW@6?zYboN;B{x6!M zeXRJ^PuT|WSn-*evbx`0B5IVV9_mqw$?_((My`-PPvd4r!PY3X#$tp4a8#K&arj6F z`sEIUyULLIA3M;8JJ7`rgcrV$4?lbX!V{mMXQs2(`7vRDI=dgs)v}FnRofqR>Ex#g z(DpY7W*6I-U#XIHp@mg>)!=;8qn@d7a@?gs3vf#9(x3(Cic8bw_V&wY{bZ3BfBG4Y zqBq}@u4AF)nM$(QPjX3!VpWTsI<9V_XG4elwS{n?c=`)^52gG_xmerDYm%X3$*&TH zf|})dKT(?Z>>Pr}s7>$GpEQ&-ty&sNs+2y%iP!Rzqa1LQu6FOh`^H+4FT~rg`9TV5z*cF^3Us966Lz_ zdPZAlF&A)R)c5tv+H4ca09{#87q3#F9Y!mpabeo5WATuH1TI5wtb+VgmT`~e+GC%R zg9~lzR#c-#@!2of+;7CW-zeU;syz2KIy#z&Qyq3zHxNF}-sTkHQ-tdYFA{Df#A{IN zN<#brwKfsr>8EuS;lqTR33c4~YQhHz=LswmS zA!N^NhTw^ct`MO(!Zn1?Q?1JgpCP4a;QPB?2l4e6`iL1Q&TTGyf_Hq4qGGaO_6 zGn%jVDR04;Kj9c$k+Z$yYS&V)4paUbpYkmmR~#v@5Sa2UpYm(GNDIbt3z{Cx4jgcN zbofHr;-%)kN-dUBb1(IZyr#v#?bQ1#+&m^H7fpgSy0}Rz>Q7lwS7=35ZH}}@@0?7G zkj&t5Jj^`qo|hM4j??7TvkU2)Ig4%I66Ov)rY*O81h`yvVg)qy=NS1x*jaLxFh8_HFx#Zu~(Uh1ruYQb1;LDPfT zT&R9F6td9^S?{RcVku<37c!OaQqfcSR?X0F<(`C1&i5X{Qo zEnMY(3?Zj9vv(3OITwp0$0yP4b8-ZBAlJnH&>uDODNXEYnK|a!9n9Zq4eY3K(+9zQ z3Tkk-x*UZpnv;fVLDwy=q~M|^^0qZeWsWiW9WV<_)_fGnoijFI(|W$H_{l#qjJPgh z#C64cdNATT!-%XEs?{vMMz!QsBVv0B-0nzv2W9Rww7eZ?2UXa~B*V>;P!3!NC)vW?QZUGI0-h+06yZ@VE5f4c$t_ZhoyCC<5l{MiIDD!YINFAtwINR9OVTO*(rs zBKBq#Pogral6-nd@`2sK=!uOzp|Z$!T>L{^&S=njQ4aRj4_53fjCmJ*hztIt&B3<2 z`SnZ$n5l_5Ezs;KY;JK#0VV1@B&{_Dez?#Ur$bwlr z>(r{2kO4F2Me;+Nx_IN2FwPjOS(mO-=P@~3t2INX^VOPMmPpSAW^6KFqgbxjk)4(n z*Kg1vlj;!b0y>cJAq+chnOGm(ds=?Fd;+Y4Nr{G@C+$-xXn0C``J~{Q-`4m^9EE@zUBl0uz~fWmY9=Tx58I zJHwzEX<^N4{+~uQUUp6k+=LfanI>@X=AjB`MYaq!uqk}$y^01GO)zP=YF3yAp-t90 zoRTRn-giXjeo;DY$(s8?ZPZ~)HZKVA6ui;==@cG+%3j9vAG4vz?!EwXG?h=^IS2QS znWa99k(aZc2IMi#88 z=3V?2Cna1^2Q_0 zH*N9UymGchG#xhi2=z-Z+=0W=v$Z^Jv64*jQ2h?sWhwjFHeAmm^l{?3bUs*Hj~u;Y zjp0E)^VNnA`2gWXK0x@94-lT@1N6^3(0e-2yF1XkI?y{i&_f;Q9UbWH9q4Tx=)n&3 z)(-ST9q0!;5TakG%RlQtKhS}`zXLtcf!^GK?(aZva>#aYRGa~?b>L|8m;*ON;79}x zN8nHd4o2Ym2povO{s`=gz;zMW8-YC$*d2jg5!e}l9TC_bfo&1k8i8vgaE$>s+I}>v zCxa!zK#%hS9i!KmtSqKaw!~uRBd|FFn0_=XaEqy!%>!G}ul!4iCZ2|iGQ z_m|*(CHT4$ytf4JDZ#r-@U9ZPvjp!b!P`slwi3Lx1YcW%uPMP>O7MIM-dut=mEesf zI4QwLn>UvFvkM<7#UC!ghf46l5`29LJ`mwQP5sQ1PK>O$%@QJj9#1OaYVoB{8;4wt z95SaXi0ImoN9%1f)IpCT5d~obQYenqpfRzl2BB<*e^l!1{tEJxpnQKNcW7SXv&HR{ z1Z~iP{gnfd(PK*x!(&V3Qcvu!oX8VdBj2WPDx|_SGZiv|mAb8bjM22*ADa)nuLNIL zg7=o-JtcT|3EowLcb4ECC3t&;_p!5%UVHEbRIts@jkaYXTfF09xN}PPNZBgd7K@;| zTTAe@CHR^Wyrl%sm*CAMcvA`9Sb~!XPirL~x=|}x|J8ZEq3`)f-}B+V=RFo;UP8CwX~0XYccozVyR=&xiV+5B5D@-}ii=?|FaU^S-|4 z>-wJe_C4?Ed*0pmysPhdXW#RVzUS?I&)fQ*xAr|>+xL7;-}9Ef=lQOui!K>J>3pt%$jDMGU7@`o1-{A_k8`eR;Uu zqA!L!4f=+$fT`FD}Jz=-ZAQ5nYNqRw2lC4S7PNz1Fq%YyW zL@EY*p*>dIwpfhcYC3`%rxsB+R9Xoh#gu>!Z34HyXdom6_r1X>KFcfRwjb|fUo4?2 zW5vd$sbk65U+cf>nCwn|- zRlePC8Z&iSt@x8)(Y<5MzZyjuCq9EsBbE>Mc;vkcii-~VVo){q#Z0e=L1)mHXL3ah z3XHxyQ3=^y&iIt*%Y(I2Ip*tWR>M;diWd&}Vy45DK+=J2XxCaJ%uvl_W(*yB@m>EW zJ89?HvgUv1d|R>n**{(jFR9?f92f-W6|Y9gIfwhEdb`s6=m?&>>}Y>gHX@{}+&mvy zWF$GRgYMBfYN?$SD7*LwU)7!qvy+*rwi>q_cswCsz`r+6YoqpY3%RIh9;GF+={ zMaP3tmKbHLyjx_{miQ>gTg~A`+I-kv*ns}Y5(rMtY0PBN)jMX0?R_yLD`Hq(eR)dO zo&lL!qcvSS=rvpMR=Oev-BGz@Y}iX^T1q}OmHnZKTqlJmoAo+bTHTk1Who)@VOdI; zeOQ(fsvnl6g!_kODG`HVSxVGlSe6pG7?!0(KZa!~5tLzBN)%>TmJ-PsmZe04hGi)c zrD0i0RBBk35*8YkrG%D-WhvpQVOdIuYgm>NCL5ULgPD6=&{^#j_KKPBE8^*U!rd=R zlun8Vc+z2MfBI#f+GAvD47bWjEQa(D7{cY zAQR9tR7EWN5>*)3yJRVmiD6kvbYobS5+NCu zr9@eVWhtTBVOdJJcUYDZG9H$tgq??FDWU6uS$-?krSuSnQ+Q(8`C8a1t_$XbsogTi zo(zxaUBz=B&+O*B+No9s8>YEL?4NdHE969}!bR!K;B5)}KC(36a>@#OKSh-r4vOmQ z?>bGM%<_zp2hh{T@8L!$ZrnL@kVrN_N#o6Ne}jT7dEAqEU3(mSN$2C?tmH)x4-@cU z)QP!VY|?{fO^GfIY&uy=glbrplsX5xIV?-^4YFMIBDAg9sFU0pR)QzzFP=PM52ah4Jd|d6@=$u^$wO(CCl94lo;;LBk^H@8DBt{1 zTpb3pSfNhvi=q$(bf#HH1b428*-Ol4;r{ho&dCVtT~;fBk_Z1*HCcv|Mz8o#vgpY} zNunnYC5N6oloWdMP%`MrL-DvL55?i0JQRO>@=)CE$wTqBClAHho;(y^d-70R?a4#& zv?mY6(VjdMk9qP?9OlVG@s}qL#a$$?ABwk{lS&+dwLEbM&ho?|7|Rof;44oYf~`Dp z2(I$PA(+Y&hu|p^Zvy=nGCKO6<4_$3*hiO*N>MGE&A-ap;==SCysl{FYe;pm6q!)g zH|p`^>vLJl2BhSOOg%XS4|?5(U_nnDf&)Eq2nO`TA^6V|hhRTX9D;y6aR~bH#39JX z6NjK468~Y?Yu4pY=G(M;jN9BtRDA1(g<{@ca`k^&pnG}NgyD;@t?VP25y$gla4w=v zDVBeny9B<%u8#&_2wwAw4Z&)jI0UD8;t-7Hi9_(2Cl0}8o;U=TdEyXE=7~e_m?sXw zVkG_po%Uqna@buSWU}UeqsuX)@uT$GZX+rBWHYDl++qjs3#4? zh@LbMA9~V2Z0Jb?aiJ#-#DtzS5D$9NKrHA<12L2*4a85LG!Q#^(m>oq(&ww`WZeJc zEJRlk&5a>qv6zCeNom1Vk7$G?>>5TGkz6dLr8#$yAr$tnlB-el$zB&DDcP$@O4zEC zAgPSl%qcYPXAmk>5VNI=KgXvpk6i=EW+;V_FPAfgQNQ-v$gK0$U$3gQhbXQ#DGZj&J> z#alj3&6{7+(IV2eDvj&hJ?)*OjeDAzQeyJy2|q!?7zsN3a2{WNKl^br@}u|ax?D6? zDxX}u1ySBg-ihWjmB}jtzWPVB?38^{YglSY`idT5V?YiCGw32+RW(aDjED7IN&X+^ z%VuzFo9Y@J^Ea-;K^h2bm(g2l2i`tI-|K1>%$V(?s2^m8S2c%6eBw_&9ux-e`gH*M zt@t!m=vNpBsWK+tomWp4W3SzZ>*^6h_li6Px({}stki+@&*$bq>gP!VX`d$zq{;9(m--VQbVkaQ_ndeF?He!%;-f7q)VPOkScl7K$_%9 z11XXx4Wvh&G>~3+(m-nANdswxCk><&B>iO7938OIiqHS}gx~H`Jom$XsrK)G;P-ww z#hSJF^3)8bO^Plojs?KUt{0;v( zyYf<3)_^jmLw){78zoL%XI3j*a;%E6O`=xQGr|TrNR=(p2`LKimT!g8}y#u^71_M0#|y9s17#E)P^$q6f@1+B|?a@%jwlOgv!#U*ZV^xDrnoz>|2w0FJ~H z22cu57(gdHVE~ozgaI^ygn7d;;;d~twi3{roJ87m#Yto6Q|qDuq{NFJKuA1c02%Rw z0Yt7(hTgVF1POgaP!z69!NVPZ&TeNEl@SH9uL=BpE<4{LKOM!V?Bi3r`q8 zD?DKUrSOCSbixw`tbR`zu=Ys+U$j@QV;Hz*{Y$~tQnz2Nu(jm-@iYg1+yffJQ8##P zr*W6XP2j>^dxIj_Zh~`eer>)5FVDF;q`%E! z@;}>m^=Y9h$zQws7OCH4`MBTCE|VxGns4T9u0yrUONEc}RJU(gv~I!k?SRMr9>lYo zdANwyR8rn)5H8c=7BoXb(g5UYqeapH^cs@}AlR5R0L8|n0cbEL4M2o3X#gsWNdu5! zOd5a=W6}VG7?TE|#F#VyDaND$XfY-YK#VbI0LF_+18`nU8i4g;(g3_?Nxw6e&2{f{ zdaf*dV%^S!#akXyo9>{|0hi)?7NL4rHq~@nal)mJG0CrMlGPLbduk1c3MmLF`ngYUXB2+AmsR`9MK@QvL%N2i)1U&vAwQE zQ;Yjpn@pSH0mAjn-3(WMoF$@q+M|%)zbreZf0fR!AX<@dIy}#oipohGzL+Bma&xWo z_>#A7xD*|{}#{iFsvh(YK-GPf2lpGbi6*OXq=d_ zC5((Xp&h%4T*qhao+qIkyllubqu)aziMpv*CiMyh%9Hen%%OC!4`jgU=z|F_>48sK zial@>o~0;Td!+d62Mhrg3Ev&fvBbKtP`P)Zdj662NW5Rl{2g+x%gSxOc?($3+{o*G z2aTn<)X3{ft~I~9ij)2LocE+xOhRV3<>1jL8u=O>qO_;yKM>q(cZ%V@#ZsX~3bxJa zQ`K}lnHZP#nEzq^qe`f^q$;Qt<0f?%|LKWFG1}1^toD1?M~czK;y3v2>LAT)1nQcR z4IMD&oURU-<8MX>%*P0>&{YQG#c%UUL$6d%Fc2s+UQK(aT<0-We39#`xG-QoJE5PK z>*qH8ys9{SYSI3_IC^UFf}B|7Q|3xv6s^Y7)upqc9P<23hX1GLJLnP3lj7`R@yAaz znqNryCLRfr_N1nPZdK(_ALYNgbtU=_T;9+K&IdL{7|c2$zfxSG-C9t~C%GfdXu*6bZF?(pV{fevaPE{Sqnj>f@8B*q|u8(<8r1v-2t& z7KVfi_W;8>&+>Ju&njCb>Sf48@!#pvRel{Uz}z*xnk0jyO_8o*q|qyg-eCH-hEosy1k z$i1rPtutYVg|h-Dj26fa9OAVV?@>&ggo(phM$GK~Wd)s)jA78@E#C{jka0hqBfIzu z23*dTraqMZZ|HqEsaE9^J401h-I|OPxlVC%hTi}E!Qli@FR#>91r>FCDTQbho;0h;-vAfQkxhWroys((?MrA9I zd$r8<6{}-hwu+9$wK%fkg>#F=&)A7n9JzL2w!d{qRam|?BIHOYUu0SF2F3-c+akC< z%(9pdA<~|!oGvcey@GY6*G-cMfg=(pUzOufJIY|ooKDCa`hYglm>^oRxm~zAT8!hK z0Gr^GOcX2!&*V7k;`lS@NGS;^FV|`s5uHPsiZ-%Q>|yH-OmlKBuiJfLL?&9S6*8ux zuY8W0LbfQ;8NmS(Kuk)9za^YGsK6l_fSF+$087YM7S^yW?Z*KHRz)jbZtWt|@P4 zLao-#6eNny_)7B4Z~|gP*mmxUU%q$og6?aS{|i_dqz$y+n$9W%)9;F}3LsZT0Mv@+ z>6@59y4h~@guB0)Pe$w}#PoicC-O}29ZSFGv3%@4xRc5@xV%h0N>~l>S@b~M)oQ`X zI1dHlQ9PP=YkhX=LeE9QHEvFRKXj$msTL5X#8el+tHqTEp;}yWXJ3R@D?V7$Ic_bk zT2D>I`{gxNjRGdxsOGJH`RLLGc(HB+@`-Z`7qWZLss)RWoxj0MQmm%XLtTf8jP_VQ zVR<+wXEak+l^!2O$i4TECxpQ2{=x|KIHGRs+(4uOex4}0h!~n6z=h*xB&4 zgrDvyu0Gv{a-(;Iwkh0-Q<4Pn!fZm1>rP-r^0Fdv%ti&CuKSH!&m$6m$Ec2PeA#Xo zDAGpMPbg%?U3khc>xQbXe3e^pNCs>KGv_`QvA9z1s}o@cL+;C-PCa~zQ2R6&!}BjI zZ0^fGMq?I0^}3=PajOtV&AO?`O#nrHE)vN84K zziHSdQbx$62A1|xN)&KWe7%ixiN^ly(>j*{xMqL$`2eoppFJDE4g0e%2XO2D?5hFX zyFa@RsY|aN-k-e%$77vRg)ie5sH}A_0uDr`(Y&v+E(1xpNdt+Xgf~816WPv+Ij-E) z%pd~DdIw=iJQ3oG3?0BC&BwQELrw3yN(b;Fvxk9Jhe~e2LNZ~tm_0AVlk=KvEzp~0 zIk|i>F+0HNL!CWpPjpbRc*0MG434dA#vVF17F2?MxoPZ+>!d%^%t+Y?yYgR47$%l0=0 zFfpDmfQ9h{MtJZyl7R_Nq*IdtN*OrH&Ol1yxEIKp#z%io&mr@1j>K-9Cp8t_#_D zdEpbeAm9LrVHGWh8|#-3P`@@;DZ16)Qjb=3d*+=-uVA=5dIh`X(JRQNN3S579=(EO zdh`l{>Cr35rAMzImL9!=RC@FZLg~>f$fQTFAd()v0u6Zd3MAmsD^P$(uRs7qe{Ms% zSz@DHzCK_BG{Iv?R2R^_faVo^L#aHG$ z0;6tFjNQ?u%}>!CIN(#eSRk(MhjI&J@dn7TpsSjBTV3@eU6p7PfX@6b?f((JI*_5) z_~Ywv;6crkcLf5&PL9H6039;5X8&qxMbw>;vZKF{mrA9G%5SH9WdEPuO-@WR3 zL|Jzhg>sVTo_6wvTy-txOanDh?r$%_Et+LX6{nyzA7B1=S&|}<-Bo|%T9G0we2S2M6x&{BN?r`n2os3Q zCQRV*GzbcOJVSm!zLtEzSQ`&tRKAtga&}17M$v7HaI*NSS3t^%d4>Q?<5_h1lMOA? z6LBL?sj|-E25mgq6(Q>vyOf^I8$2r`PT^&?cz|$*aG6jJoS$O~$rJMz3FX-N8N$oe zA7H3(>6Fa^20+6YZY*YxReXpe1D3U?-qp(ZWMYfS*EtoXp=D$+5>Z@DYOI(`Yz;_? z0%4Ch>wcvHY#q%p?7#HW@BB~IGD(cAYGFlViCoVma5QKnGcOS5j-;6ik~>-PE1{yJKQ=zEh%{ z5L%J8v}A%AFlDCG9x(iW(Y5EjKD@ZP-js z%>vC@=*&93$gRokDMP{;(xWI}b}LEw=6dlP)HBg5%AKtf`S8`5PuT|`$eHw%c&cW_ zwWf4joQVmln=@3G+!QWjMa&ctgF0_$^CPP#X5Iu*Tlw*Z`2*36NM^izP{*N@2%u(SG;8_ zh$5>kwvp7h?mvC$3I39)T9Rg!YOP+p^J}_7pm-|*cewok0hhGBfgr0FfBw}by;me= zt$MjILKPRGSZm_`*>Uy+$oi8Ys>_9l;i%1jcRpooho7>#%YpQ4rAjb z4CBO#VI1@p!#G_YMtiF}jQD;1n;XWAj2H8HNheHcY^HH?=rjGA+fO?>DyYMdUH z92>YwA1z}m87(~UYP8g0m=>eR5u#adgLYhphgBYZ&D7SMc`4&YV!AU6owi}N}> zSZXdBmhc1tj%IfBhObAPVN+Qu>YT9u&wjK>Us7!FL)~;GmjN^%J?}#76M}Nt)EA`33e( z0%z&mkn=)#)aHvYXpSG~ZAl4iq`FdI!nh5XAvI$ZX2Z)=$M7E7=v6SimF5!_)2?US zRRG$d5%%SQxu9UM*mU_-V9S4c-mv9MdVx#~0`pGlF>{MAZCOMG3tFAr_0obR0El&NG_|vWy zth2Q>Q)k^${;LV%_Lgx3-R&(}Bej;cc)DsWk8F+O5=d5bc+Qs0%`TDxkeJBVJj>QL zs;vG`jW7D)scP|MwwI=5#Z?t$d7V1Nq<(0esdCukqK#FTpV-_rJu@w+1z}zSP#ev3 zY-Lxc!!$HZVAz4)-kxNp{>ft2j!>f;#;irs8mWSamQ1X+(YPt`Sjf&=5AUVdO`2!l zm|9I}AxTNe%OF&}2^afEFrY%cLRwPv^7?vu+}>beuh)q$Tlypg=x{L)KGYJXB-1l> z_zRRy>jQr=(&aBk#9s&vwkwgp07C^#68MY6_=^!OEAKUWw8LNcr?mcs0j$ldQAbi& zLm+DL>WBgCGKNrun(SW|JLV`rJUzUKUNr&+C*lPm9I7A-5WSr}$clOKW109dQ#xdU zA7l9U@@CfM$Lz)VJb_dQcY!=~iv*Q@9Y_Ki(fm^8mJB|3gxf@@P^T#ma{}t+w1a6Y zN+xSX)u{aRfV3r!bu|A1=SjC513hVN_>1P)M8SGCOzjkgjB z0S3#B3eU%{M`a$hl;xb1eQl_iEB`7v7qKjQkA>Qjf2=cT)+!_Jyo*3*Qss-(FluvU zp1Wb-=qk*Obv-+2>?dedJDK}CICK5h#~R-ZCY33cO1n5EOf(vXJBC$xm{ zJwutHcaxyyteTcnToK0;rGl1VZdyqxC13|KwJ}a26(4on>`z#AG?ezGarKYtpixMP zbsnc?-BvF#N{lSiHfJtqrCTEjsduKS;crrNE6-+FUVb~)-1V~>#){XxTlLUJt9srr zg2`|F>R`VA#jKUm4*pR^DZ7_zi!&h`WW)zWLk9*$uh_G6>c%$*GD#pvU9zy@N zF$DLtHA#y9m>efd-OWHKgv}M%fB1$E6ui9Qqm=?>1PhlaqepV77xhL!W-~RSyy+8^ zY+Ds)08WcwpJ73aiDYWN7!hobvLey~m1a^omN9Qc>!7Mm&wW6(za@1y3N*G^*g68P zEC!m#3l-ykD+69bLswGe$;<f=?4laaRd}#ZtQ0Ba(mdIgU>R*6Zfmhi zbEku7>T77fc!8i4hgJ)xO^KX5_;|xiJV(_i*B;r2tUWRvR8Os`-kx8( z0!@Dip=wQ?_*QS`PJBKjzHgp)^7l>kPJG{N@5J{_c#r?{_1UbS78-{lJXgL%j$6o) z(m~odnAJg9SPHj*$;UT9S9OY998tzUZDXx3D%#%%%7aN43;ctUG~_O&QRS?Kv^6&x z$589hvmF3499!y%q9Bp(+=C4St`-D2Dqe?!xC-!uB(vn@pomZ1W7m&NQkIfr$kcKY!4p>0Oej8v9bi&zk&a;de}s({mP+MNHKJV(EnGo6+&&cC$DN}?a@e$N27FIEMG)d%dV{Gy}0vZOU)n4 z^!N;7Oe}gzM$>P|&J=%IfnBsVRf;FiFHPN;CJFz4v;X-k;l-4BZfba@m3F+4I<;R^ zot%)y>0)JaB6j<%GK?|Q9P0|bk12$De^$N!33|UN{f~;#Y`<7(OsM$<)L-B*K0YH80N$L5}BV7`c=9t-U?Gos3z5n!zYXA@Hd!bw%10UZON;P zaik?xgU($q(?@-f=fPj)0>Ob_P0L>u=b)*bvKfs?Pu-SU*8Hux9faVs-wwakzup_Y zi@mhYaC8FO?c4jyjBk+)+}(fak*S)g>G$_RMS&IUC_TiRPT%!dJ}LHf>hxm^SKfc0 z@_y&wypP?d3rG*-YZ#Qj(PC97pZ!OJKWkN7(^tj+V{qQb?qk#cGGn5+@!Z%rtV-}^ zrCEr2VJGV-H6C&s%rOTM?qN;VPa~&|pI$Up5bl{gALh)mDPD|KjuSyvI@+Dqk!FEn zYLj9)HGjE~Tgun0*0)MiT{CP9o${*VaOcTM9gBpy172n(^K;8w+j&$>^@Y&1d0)9p z6AJ+Zb`ld9bYZe4gI_m+-y~A7`8<}*?GcqnYl_i(uvteZfcCdYS!FFW^YWnz=BEMk z*`=(#ids{owihZ0vx@y{#-6$zmNZ%59`g}PVW;n+K>CVpZG9NTc>=bXH&rr7&5n^eRXGwTf+Y#(N=bYD|7)kmt#J^2Xz1|H&eaOIs( z5>9~ttDaZhgAs>%${G6{7U@>{RIR+C-hx;o2DCuNfI7nIA=#6g&qTR}28xvN=2Dw& zZo5!$gbnWz9LA62l@oL7!;zJ}_dvxCh4ArCYq1znLF`)Hs&~8n(`gGwxl}pP(eigk z&?5537pLMEb*XZBytq*PCaR3V2j_QN6Sa&<$Ulb0hxqdvkgZ~!e>@& z7lNEx<};x5rt&^(^e22v5>dA;HYjn1pbw4JV7mE8_GIwMFnU5#qqSW2P<-INO3&!` zyu+c+Sf~ba9phHV5Qf8Ry8hcH|MOY%&#PtJiZ3jN^+hvWsqZcuU#7E3tR!hs$3%8) ze+YWEgn}2TE>Gwq^(|Khu<97DxqA5xW(u=aM{|HM{#SEsaEknmAk138MhiSGJ-Y+ zCcqQ-f_uF2>1 zqQ7*_+4J1${d|QtQ1dLKyk4fi8eCk_?iu*}%Dj4qY*c(&FeoCjjS&P4{ZkL~IpfGe z@25uoWkbNL3xD#tHs#fuHG%FsJlWx3mO2}@=0zCn(@qOBwPJExjrW4<%v+2b5scky(>5zJA zEv%^jsy_Wq^RhZot#Ve6%2!79C~Q1ekFLg}dek%?)uW;DsGddQQ9bL!qk5KxNA;`< zkLpMT-lKY^yhruSc8}_r=pNNG$BFth2;a|m>+a40 z9#u1_igZ;C>8i#qv_}@spFNw`wp8+b;pzGV= zZtu{mO)-HS^;|fAr-?J12P`3dFt2&9f#cLaqwrNf2UczVYG&B3l)a^cAvwpAXG@W< zRE41T`T{u9_VebOf5}9KjBB@RK5W-nK6@J#O4@u6=v>!5abtz$62isb6;a9 zgH1fD2a$MG4-WCD9`xZ+J($CzdXR=k_23Jlekx6C*hOn@WHO(S@dV?==Cz1&1xC&J zF$7)P$2Gbvo1IqG$66FJ+7!rTF9oPGQ`rA`B=pdN(gQ7My$A|2OzR1X>>YT)6(%LgA0wCEm8#&jBOT67OK>qhrr zv=IG~wBzC&UPao54b%|!RTC%uLe==(%qUB*wwjnkhP=oozRD18(|fe3B7c0LS0?dgPgmK z?m^Jq=pH29jqX9z-RK@<-Hq-+*xl$Jq}`3~LEPQw9^~DP?m^%o`l)7?pRdYoMh%pD z2?t$WFV#Fr_g^cX`zX>elTGpks}CfJw1ES>u|?sd7T{aV7oK!3--XoPYW`McsF0M| z;s-A@7>u`w;Vmx80~p+O@wfnK+#hwHV72050oY_0?-79Vp?FXLn$6+?0doM)t0E{} zi;EuyKvPhO51gG7jKKSCPaY!$c#78{R0Gs0)3iC!CZdXf z#-MYrC6(2?JYEcsaNj4}G_Xite+FyWEL?s$A|+-xkwXhaqCLuNP`i)C$I@_Yr;77R zC^sAGA~sr1&(efB38QsBPNI~F5E8cDMNj6nJgdd0A2lPnseFSoGszuHQH)^a3a!dP zq|-(7^;musKlNB6mmRxgUqt*WXRR(TY@jaJVy@;_MsqehVK{EPqAkehd`^SY-?kiC~NY!-WC%7G+bi_0Qc56D9lYe(lcp}SH6 zIo@N{aS(N_u+rrABpqhY$%^2lD#(a^kP2Ri0*LR90QLDHQcid714qp}6JUzTZ3(&t zYdh$3h~uMFc(SpWuTuAOAYDk4MTRQM&K2X=$N0`sTp5i%wvgU`UvTrI%%D;28Mvl? zOJ%Ix&d0@0zwBJQwUFFt$NOw1U!AYXUnaJ9P2S#L8OyJ(vv{7N>*eVXO)ZfL+8|v5 zLN(ZO6iTi-$F89pT7B7KQws??!A{ae#&W#Mt7(^3y;2FWyb`h4bx}YG(tV1I~ig$Tu6Oe~yN#{lOa({#(9p zd+{%>C-dt3Wghdf|L{)~Ge!*GYNESg&V7Z3ONC`q1HEaDty&)HEaSZ9Iwf2pcF@Il zc(nHSY34w*!CpMHSAEI*lmx%jBMx@?jvkS)8{H!ocB6Yl!)|nsc-W2Z5fQu5lhm4y zWKvZbqz)I`Bdm0z)y4t2dxVyd`*%muHL{%3<(H3-l$a&Rqj-7g(8odFuWh00Dt;|J zX}^obyDGPuI2mq}WSW?~$2rA{X*^jfTmTI*>arlr#wFx}&x0lSIWgB3i*bq=m=drB zOo_21i4CdDS~0`JJ;Bx_vLtf#5F&Q6wP!2;>l``#@vpPa8Q_%ijAen@V2G2pPL{yn zvHhZj$^IYHjt{pCv9s=&)bPnRD%#lyX?!D z;=KM0^5FW9^w-}bsQ<`-`UiH0`p>BTwk~UaVo3Gpq;-G&Wo0{{{v)COP1T=+N7Vmg zs=syyI;_u_;=KNptNI_K@4Nj^k78Zd*Z&?t{n^+B^Y-?CV3nxnRnDPBAI4b1j`9)!n9;HBcf%Yf{y3wOlbilgpQ4n-< zvt|b6?okwUbN5K#-RK@EycSIkM9H`3h)7a+!&3W}r@a99s<<8t5vvu=cI8cFiW3eR$OTELz!^ z6m&|&aWK5JnCVB&g4_)u*gB*rRT`Wneu2R0Y4R6;b_{wdl(n;X_fNVDdCl|q0*wlH zMRZHlEFaL=S=s#Bi5?a90EJ01?#rp!(5D{o@#s?ycx0byz$5z<10LC@7VyYErGQ8F z5ps|0BjX;~N5nm{kAxHXu6ouypGnOy%FG#{xn;l_kWBWOu|Z)TOcF4erU;l0)0zyh zw%T(VrMGL~lTlrag?w!$d~mzXjEUkZS%t8sU{vho&M)#k*?41PB_SW)?jiI_?8e#j zY`#-g(ah84kEEtrfV#>M;B}{q$KCQpY06aNgjK5sMZkqNqM99gurKlUY4o_0|*;r<>WfD-*bCiUMabE8u#zVrPQFO441Ort)P}t|B7n6REnJKuHUm(fEQZ zrG)TBmhe*Bm-vQOxFjccR$^Pg-K)#gv63~d8{#W(4fvm?h(a}x8n(F{`{<&N8_A}{A?}cn8h!?<}`ze=U-C3|KV!!=H+U!{IHw`6PIVO2F%ct)C$kN^LRdiD7PzW z>~7EiCQ>q^7&|kE*H&+Xk1MZ#4<}PnoZm#_INuPrU2*%te4x}jJlt36s?O{fD;}nh zR$A%(FX?@(WOVz5&ig$4=)<+*9m~=?ye~Ztvr#*FT9sBEd%jDjSBhMXU%sRXT8Z8A zuik`T^*T<`HNeHM(4VHul^ATt!&rtAbWsu`{&EsdOcC@!an%Cn*o>vY8P+df;TB`up+w%W>)gEs)Vdtbsso2W_3R-ZyH`WD^sn}Gd7y9u-z1!8nsA4 zkZ)m&BO22AtgypklV(Kze0lYI!4H}S5k*-U@Py6BGdRfo49ZgP`oKR`$r(4n=nsMAjzN&{haYJ6dx+kVd3@wLdKxzIGN;3ha33Y?@ z5;mO^rRfu_9E10XRUSE+Cp4lXRC#2dNac}z0+mPhiBlfg$MAV%AG_y~eaxOm_OW_I z{w#~YP1#c@&C0_~qBEvI*q6|nA~}>uO~(NiiV^|{dSrBVAY#|E5FeB@mZccsh0*4J z!5PnwJOTkX3?X`-X{J3$;gW~BbpByW9RYukXmi0?p>?uvCaWB=SzZl8A9w1_>*Gy5 zvX3+M$UeT*Bhx_x29@d?#b(bgcXJjGghi{H%Omohi1&`Bm)UOGm^AIIDbo}%7g$Pd zgoq{tnOWzvbX1A zavY0pH8K^Fatfa>P0d6cADbc5F!F&OwFLv_r9kEp+fc}qe&7@OvM3i=AT6ek z)3Te-)X_Oi6d$rJHCpNJ>hsIEGY?@Mcl8O)Qjb6jA3BrSM@q*aOiKwE_IZMbH z2h-=nlHqP&j`%gj_ZI6Q$j}Hmxt@d4G)~gG%E>e2$WER?mX&@)`v7E`T9m9Tcl|J( zyei-P*-7Oot|*w+Rt?!+QABbxg(Ww?UPwe5x3Pk2cyK^?0@fg}pOLOc(T!rcc~Wn> z5G@p=a=jiZ?=H-+sE5{XNk;VbTaphwq9hx7L`g36h>}d`5hZ!hBT7<=N0cNKk0?ne z9#N7^i1@EfypWGbE|5fdsb}}mL`o2fU9+MMibQ@sp^n;o)IL7m2R5`P9z$Ovmu!Y% zo1aI8jv5%#Sm;{VmXsM|^BiiS>AZR8Tx}t#w`L@)&P&-*Ef7GZ@3Cuk{R$(^5qTcZ zs~{>)U@kA`r(3Bn*NkmK=mZ}iu#M@IZv)Tc7EM-!OdUvM^W9l1r3SObkNiZqI2L?( zf}`Q$P%BK(*;DLNLiJ$`jGbuBXzJFnRk0T2Gc?0IsjF;jABBB{!sNih^2z*sVgWTV zALQ?jxjb7)?%)iK#MeyiZT@`9T!!#=dm_)ywr3>fPP7`PuWa(A<=32T^RC{%bI!zd zmx-iCVpp}DJwjtt_#{5g!Bn=0nQqzZkx?$RSD$OG$w1{;A98_AD=YqJ)Uf|3s8EV1 zocp&|ooz#0(JL#XWfnz50zykAa~thY757Ru0%@^Us_^7o@)IJFcw}RNtvmQ-c^1BR z_Bi!e2E56_OS)WbIrqrr^S7KiqiEf@!Ow9mA#I4*RUHh@J2P2FdlXy$>=z(zT|jYJ z(HPkkJcdh&s#{$v#l1^YSyEwyny|0fGv>{O^Qafs+`Eu+IBSkgmy~AbKx4h_W75&| z|6LnN6IU~nn&-Oh6cZksX^W0Qv__(W{M#{-w$Nm9%8KeAzUeT0)3glwbE`FP+L{OL znqv+?ORa@%DR?nuhVx(%amkBb9j&uX#OS*R0k$r0fvTf&?wjo5Ini zCb3*Xheq~PR2te;EsnzGjxNq%Ndezf(vdp9QqqrlL`gU55hcB-N0fA;9#PVVdPGU) z_K1?a?Gcl)im0tkAS=n)MBJ057{VGG1a4ACcLi7LcABTnam0gjTqdy0IU#=Tn0urE ztS&64cd{Q-x%2cKstI;;(i4n#QheyMU-;U&JeiZO0(HaI;vD{&w}KGeu%xaIDv9=9 zv65Kt5han{BTC}DN0dZ)k0^=p9#N8pJ)$#Yu|G;uu;(aAz(oAwnrxNZwP~l8)8O5` zil^g=_J(n2Z^2-T-VPj68~fYWNYPYPqhI4j88wscnN_+i3O)pN6x_DwLg^|kL9HNo z7G2K*dkCBlMsk87SpMnHjL3pRL!y&3`zx=e_eqhd8loRk=}O0 zy-M*$Dt)7-y=+@5vQOX}93x4LN@h~b+ZUQ|PvMc;@NROvjj82rm^%=>+E4cb-9_Ia zxaiQY1snV$3==saq6x)W3rv$`*EjBhHIt3f<6o20 zl=Qr@~zEV&K>l|*~+CWDM z;3e9-23ineG>DQJXJ{1-sqQF{4j=NSfl|P<3Z_+52#Mk?O|&b)Q6n?)(ik*o%nV*g z(AOk*OHk35h*1(lc)!2rS$pkWr%r1!Gw)w-L7#QmYp=a7&w6g_S zbOkK6{`u_YtYeclpW}zDIapx|xA*eEYVi@07_jeM%nqEpn0&Fx%KIF7a*QTcg%4}T zl&bwJOZ|1lRf>ltj3Enc2`>s~(bpHAT3jndV6mC3(|}bBAvYI2#Wo@laD&@>b954# zb?xgT*G0j}1ewdu1f{NrYxNxyq>rqgH2SF|ZM*K>)9G3vxI0PM=yUQGE!PacIS0&$ zNjO7FMisL}#}^CXT92jdrt~jY&tt z7$=M?(+kSvN53D!A!W0FX@m00Y+@O`OBVmZwS&n|1oeRiPdr1hzYu-+JAdv6-hb2 z|M-6H<9G{DW&V|<@aMu;7V7HWZ%e1LZD;xA_pcU2m{TG9j3IW0KWvykwt1f&Xs!J8 zyI+IT_zI|Q0phB}eB1C#{NfuKhhsw{5r9Vo#UNThc&xCAHIA=fZ+alCnXA5~V#d(e zvc+drT(#%=Xr47Znk<-VIO&)wx3{etUH(DDGys&-@&_9p2yL5MAX?_sB1xLfS(kZY zvyAg%(QxyuVC@HOV9mBrF+#FKgoXA_MJ-Tvh<2a}ffCke8w8C8lYebNtnaM~Xt4!8*fYRNvmp|K{KQ&JE)(wY2goVKxEK(dqHs^lgnNZa zxL3l3dtyVvJzFwk4C6#YxXNP{IYF(gPv}(T%$Bg&b_G;-0cQewLsuLT+ z_<=o`+CDRhl#5a%-3wG=4{4zPuiQ0Dho#DTkNG@URcCXqTH#>yn(nrY+=8 z2*(V}FvaxN_sVZZED>ZMC)q)-zN)iupb{?L`W`1osQ@s4BcQ46yl7JgoL0o7VzF## zByAg#0ZfFUKcRb(BrTmATQE7Sf+#iE;t;2s2THMaL2b@qX3H`*EZa5t6IR)H@9-|U z{km8qH;l|}sA(Hz8@k#?ZbM<)$ZcqCtK2WO@);TF=tRfX2IIRmS}3+TC(k@~7G%)C zDYzgXa4jZoOC}$0Odvy}TzO#xAKCK)0K~@}2m-*MFlH=go2_!(iD&d%t!Ts0$3{&s6F%4dCKf5El zy*|6gSQSl|TYjMs7n%-^guf>KnNYb$uhZAtg6*8=`U}w;?Y#avMT(mHU>Qb7O$5 z1h!H8wzF6TFu>J1Wj>B%n6Q!Y1A77(2z(rf-bc9*1!9Srrsz9puJ`IOFgJW36w$`2 zF4BHxvtEEK=l)8;6LhkzF>grpRcpy@i1m%!hHT%+Z3y^{TxidTS!;;;jk2-TLPw3< zhVcQ=j1taKzX_N54r7s!R*@3IyB0RClQyi^A?}e zK2tc=?;9KM>&y^fwl z3nnpO)`dcCQ@UHZzuA`bptaN|6O6zbZpHSZOHr9Uc^SPrWx#R*V-~dr0edmEs-Z_DtF_C+(nULilncsNuhHEB7 zo?GQt@4w;U@f7{jafEj>&$N6c3nLn(gWGA-^zEF0ZC^HInt? z+xNfuPsWMM2!JDii}46x9!}6owUx}RUr{+pFF7@MK*s<;#~;bL=}1SM#F_Oz(n9@k zwSBAK4>JsIh8Up$E=obqgIQ#YcJEOQZydQyd*NY|7;>&d5t=t2|I?wb^F^aW09&|X*CBr)nDH8HAB)kx?AM1$C-jpCX)Zk&gI-Y$kF8qSvtW>vuIJq z&n=W=FUO>5eAgggK{#k%PW~d!I4|GH^-5LsA(Y*7j6SwyW>~e!>c&4Edl-wljj1ZG zwsgfzPPoV=26eSAky;oWE*%{7T3Y0mdv2blAX_Qr(Z9ANaAJzKWEpw0rdok5HPs4W zGg-dxmDAjDuo8gH^6qck zce8P2ljSF=ZbsEv4I6+NlR}54GSIpc<}az#D-j?e?%}B3KT1L3Kxdx{TrV%YakMGu zjT}eF(E2LT_KPX}0^fytqH{MM!J(ppkP2I9^<3<574e50Wl?#xfQ~`ui+bT=Ev{p< z3ckrIFh@}c*Yx43`R%zy9Cpjz<;|*hRn;7;<#;;FOJ^nIM0{Xa9s^F{cy8?E$}cL` zxn;w?DlKbs^_-Q}E`R$~)4k6Yh8@lf(#RrR=pZLB=}R!y>yFD;wOEHtzS<})*Spn5 z^}WitHD#Pc2c!`&wwfDdzck+-|%#^d8muIV*37MvJe43RwnYT`jI3LCj2l<3nEAz~BID z)u>Q;+1a^jvNEm{dKxRg|B1i8hV2+h02N@#=-56|{@{Bby=7wM!>%+REfH(npYwg` zb8WInz~QYLN4RNa8N;p~l|9)S>q0nHtN;W8i&!T zInyq0SOmluMG~n~mV|1zm3<9Q_6|KU()8L}$Lx%a+Fz2;aF|=Wb~~p|{1Y39U<_rD zerv8mGNsY8TOEGJ%RaXl=H(mh34_?e(4CDKoYrY9cG6jl-PtW-mc62Ku*=@yspuo6 zy-@RGh|yMthw@)Wt-T+ld1rFuWzGmqh?P=N>({CGc{a+sm~zaw%6)Wtgopg2_)M$==OFGc?94SRaa<8fQk$I+;p_4YS}t#8wx|A~vG9&;Viu z=UhELuivim*DLWclZb2YlqTXLsQRrHpQexQm>Xz`cjdIXH?mI(!0q1f!^{ByW2YLU z$g2CUWXvYq6Pd!}*xNBC@3<~f?C0P#bzVMR@oW?&7Cas!8EZE;=l06)-L)#LZ4_ig zQJ!F;sx=_4UKE}z*@-)h!^ggj>9AWA^}vh|B(Nn#lnYKt1Leu2dh%q_Ie9WEn>?Ac zOrA_?98V_wjVF`h#*;~7HAq>q1}RI{AZ5uKq%2v3 zlqGABvSbZXmaIX_k~K(KvIZ$j)*xlc8l)^)gOnv}kg{YAQkJYi3awRAz4UM^pA;{i zh~VUj2uz-cpyY`N0-lHf;E6c>o~V?(M|S^v4)mckZXH5t+#UdbvxYP6)VVp+N0~{k zt`JY!4e&CES2k1gZK*t^!u$H?#d2JaMhx^+z1S{q=Vnis@A89FkRhC-2%i=vz)(yU zLMCr8Zo=C3)G`=3Wk8{!Xq4pqXgcQWy^28Vi3qZuhyd$}2(F%p!0L$zs-B2|>WK)Z zo`^t7;077ksY%!H4EY$oOZ>4Oo+&8 zO-;yQ&%L}XvnhL7hhXygmYZqJ7aqzKNkSw6t4o0Zi2xoNz@ZV%?`G_T!(#k`T&I8s zrLejG!=@AHvJD;z9v9`h_?Xo0^57lSW7@@Iw2kpGsomwi|5iO_Ym>7b*ak{5%84m) zT4#u8iCs2Ka4rE|gJG^_JfdQsiHL|j5z(+GA`iKM`}nKaRkh*}fl>B9DQB;lfl$Ik7I?BH~fB&8!M@$^SI?70i)uj8Q6qtGNtnWj3Q#<{&>Qo6?8;j>vQ|kSI#Xo|<7j5jBQubuH}V519a(~uj$A=XPYi)msf3o93p(nbIerSBM_SN7n~;Sh{F*4d?~^Y zYK(w`FL*9gYUlB2hU-BY9uXcPx8KXlhaY^0>);~j{eV|1vuv52^v7s~lPEOoiP@m8 z-IxZ-&4Yj7z0DZUaKuPkrNXBw}xbUIb`Dr`f^ zj4HK63iN1w!6AC3sy@g1vE|fzwlkVu=LiIwyJ|5T%i{#6s}vrq$(^Vww+U#MU%%@^ zzE{~UzxlO$|9o8L3HBk;Zoa452{;GMs9gPPXIm05#gFE%>HK?%c|=*1fM^)wn%2ug zj_(r8z)Xc%Q5H-9o$8|wmP7;xr>!HrFlil3OQp2;uh1~V`c04NL)NOQDT4yK&v!U| zZ{tsMV7dCTi^%yWU1{~98JcPA1y|6{mfvECWtD>N41hDWh3;LIS$PJ>sQ}mT3VI&k z{TGdfc0$E&a2B{%euQ=z$S|{=^4(LqZ2C52!CTm?S0R~*)Tl}uMj8sUkHH6;ddVSR z^^#s|r^?tLu!I)#dIG+LQMCpF`zA4poI#B(U0rpCqu;aTjj=NzPcLSnaoF8+Yo&}9 zH9Nr#rHs*7lrnL-OH&F5pPiA}-_zMOZ0cq@!YnzJGzpENqKfdKyBYX%IM1V&E0Zi4 zmOqW$S5>%HCRyQH4P?n$4RloZAO4*@s}J2Mj<_O#Y~S+drAS+drAS+drAS+drA9o4;|;KH(8=k^b+ zc!4-JnADN1f{?Aa)4@c=EKJNl{yZ68XpAjb0_6&YPs<&*4u#WwxCU_B4bufL#+t3r?n!`l94N`3P+}_O4f=%D;#Nh^|V$5 z+S5qU?djfjK2=G0!`z$!vic^o9!Yr&_K0;NSLO$D22pF|!8nLE0JlH-&U=3oUTmVg z8?6pIUIxOP1*2fE_wEt65UeRdWIav@V`3O)v@Vk&}h5T$vN7LR@pSxtUPp zL9x~B>vQ{HG!0T2mTsn*~ntAW)x1Thr`+sGLHMxVY>xQUPHQeQo!OGHB* zHKOLZM$kNJ#LS~c$UJHo-J^!hJ!+WTqlU$a-aDR8YYC4uQ1A7g9dgwQVf$B{v#wcS^>A%sd87;j$Fzu6 zX^t712=nZv7mS_#YN!XD@?Rf&?6Dk^rBL)UIhz(wrb1c=#kQ8BX6EVRqG#*)(v59l$R6EY$^hhSk%q9UfauSe1V=}D2K~CE{FwWL* zHpac9;;)sbzGljO4(>11Ina_lV-f&DyGzH}SGZ-duQCSQyM90?XrFvb_r9}f`5b`P zkO=6N7WqIVCa*p(ew}p>-_EtIoM-y>rh%k?EFYP2JIeM)iEP`w0OrgbpXRm-n1=6z z7tHp&F%9a#jhG3D%xmQuW8{m?m?DoFL*!9ohCFJFkVlOP@~BaKj~cc2s8M>48kHw{ z<9IP$GfOMo=C;Z$c43LFV~Eo!a-u5*%wVQ>Evwqp<3dcKkUJXDX*>k-!=Py0bIS71 z06bwrO;qGsDKJ|V=#>vsAnEQBq0qX>h483a zVS54NX99w~%gTqp^5$E{w-bN=r(Q!u{=y#i7=DZ(8ft20wR&)3^13bexjxPiLFsHMun`trqZ?}Q1rvI%*AQFSUUhfPp z!zN&=OgAQlRA+TgbDDlj%wa9c3hG}ZKMOWjb(3XBuYAj2`#jl5S5+pkleDTeXne1) z72|n5%1W)stMR&?YkaOpjmPzeSwv}vt?oA ziery!s~F|Riu<2`yJE#rK*l{0&VNjSpSa@0jEaEVv>qxMI|Td*uER3l4^w?lczMK1x*#XJf&AoNO_eLio#@Vhhd|7V{6zf^&C$ z)l<-&xQ=MR;@}j}maHer-FD&!-)_VYE9yx6ye$y>&e?q=Xd{1!mn;b#PJ}g>>+6;T z2oI-RI7|-to0joj_e}0{m1N-LPaVRJ+Q{ETll_|)s3P#6o&)zuHRLf(|U*;AI6vPAV8rt2UVxk5%8L{w|5X0R!6@adD2by1`n}NLwv87DMJ+S2|^I? z2x5Ro5CS}c2;dO}0FS_@cmyuRBk(95fkPqkmLi`x^h7fYzlXAlO$P>9U2}OK|H>e6 zO$4&Fu+X>>LuPrIxFGR=T8DgW>S4{l`IQ?!5D&f(eVuf}VpS}gxRZ>~;-m^{7Vo|& zB=Cd2^3Jb0z-W|FI=c}yUtr6e4`W?$CX>mz8$b+=uik*&}dk9)T)(1e)X#@s76GphrY* z@4(Nssyp*mXjZO5pN_&*E`HXS%ER2s!{VWy7C?-l+DAT$ac+;S7NW-Br;BjR2&)GN zmbewfSzY|pmGd*~hG^kPr)H!BP}eR1gd}>lK#9hY?J~oYUHu-jCw67&JbU7}xBTvB zuG66=xdSniUFqE?gdyyKQj?Ap%Wr(*bFYKvLr-J(+o%DuORYb7i9oE=Wuc0n!oD>c zOi{TIdb{^6X+hjA1xGJwyl_A=-EFj#9wP2Us%TxKhp}tpbd86N(ijSOzh(d*)mnF| zwX9R|LER}%Yc)Fsjj6wKsNO)|ka6W0a;R4fq0!Al_DH5HM(3+7n`V!60Z*D??@?>% zyqR(9QM>L@ds&a-gStmt;o?2Q#}L!R73s@*B*PW+m+$kFHZiP6T%WGB+|oR?t9hz! zpoedYCf051ym{4aiQhA9+wDRSp@c#(LIFq{Z16~npiG1gC@_K~x5Y zhbV}kRsQqWy1lpB0U>a;tsm{4h}oFdUdl{)&DW`|_g!u~5>o&s2~>nR(qoThI;AyL zKBU{lcvBdfy3Jg_-1l`=%X7o`91D{4uf|NvIvjfBlDY-mgn>Bu7J6dr*$LWIzL_tJ z0&0j>qeXcGFB${g(GX1PNAhOTJr&<`(BhFE$#ZbZ-*;>qpnTIoaf82`2i$^(OmrT$ z*HI5luSX`T2n?_1!0vhkX4fOU>=76WkLW9g!ZM5O&2b=iX#KtE@BR>n01ecN<(3JDeEEqh*=D0Uyu4hFN}N?4*dw`=umH&vTk&R zX(wuBGt#cq%13FtX62)_bu;wnrrewps)>N05smV?MYO%>IT$+}Kp2=xb2;mZx|pTA z7L(xAc^!`g z)}n|@U5=~s1HAoQ3XmPKzIvu3mF4Y!t`^!kQInK(SVo*jY*&0>+?H7Ah{vRG9|E^~KqyOaP z8A=9c`98i?Xk?%$@3)u8X=&$HhOkvb{K3^_j(_)()l^>dO|@qZ7xNUhEnX8yV7Vo% zh`NIOit_bVY@kDI(7kf1_dV@ix`2`yf2&d-`e~)4%PzkhOCggVqOxfrUjMU+kr?Eg zAezG2@?XE{#ujK%;kFHQ_Haoomn%e3SaMxtO^TA6@gQsEuR72~RxZH`J<{9<-@Fpk z$a!KdR%=hIC?BvH6n-nVwfGlop?nafBg1=Y@xk0PZdZ@my|*DAoLVS>@Hh!Qu7)iSYRVC=5v%6%Q3SdhHY1uvpTViX1+9<;p9fP{un5TwuG)mly zeTde$0sw%f@q+9z$&*yYE(yzM!n9vnI+8#XR@yEb3KhwPOc6JNV0#2*OPj(&NQbvf zQ8xN5gp@;7NZSwf$P{a%D@+^8E1QuvmsdW5D>>A+Offg&TYvEr%*_kHp@B6etPY8$ z5`(0NG7;Mki8-LnH4K1>={-k`G>=RVI{Fc7;ZReT zc6wJ%cz)=&SjZzQoE^#7^#)xY^jE&)55mX?`?%NzLhL}o5WAhatvyo9HjRa;WMVQl z{~LSeAAu%k_#sNGQ{ZFwn{Z!<xgAuHoKN!Kd@!$oA zoQgQ^J=07uvMZ*h)=k*(3Nen&@7dFP@JKcY7|{{zptocMGw2USu!8^ zd2l4bD@;ar>{SWl!cWjJnny3RR4_?)r6>7ldX3eDm!7|3&w%^zWJ&SeyRUnfxia95 zR2(nlu=4gM9bvzn1xL%~{Od<}aJUDv9vtSuMh`Z4u-=1p9;_vJU#pUlwDmB2j;#D* zCe}ZB@?%4w*jA`Ft#UoWM!6m@YL3>SezODdsNxq%fD>z3w=b<4?3~=C;7CA;f)E!g z@)&>;$j)KGZ0~|(nx{qv#TiCFtZo*(QW{GME&!$m_qZ0Tn~K%p7fqOw$J3IVWwA?q zrW}_u7h-ED$0yn7QAeyZ6Yc>u*OiHj^1s3UF`eN0CRE?$qV!k0X_n+eb6f>&|6QO< z#?Ib!){RJg?{WxC`%)b%*iGj-ZPw-rt8&fd@`r-Ra4EOka1|YQ zo3|_*D{t{stM_W8r1H;R`#Ix)T7u0}$asdlF}KQtRJy76-d4ZeJJ6Eb?pLV0jESO} zUPjI~4$AjEh)qH7GYlxB^1fE@3)sv=lU(0hD9Vq1Y>F|b2p#BM$919KRfBrpm-jU7 zeNA??B-S`+_dHnb!72}CJec;N>%o)u`MW39cJD93~t$tGyo= zCLOyR&M8J2M=r@})%4}~H|jIFHpQ)S>~g$#EHN^ZmzNWqImAieZ?zUq&aP~z+r2XLw9gfu+AOjaXqzv4TaFkeyf@<>jCs)Zpyff~ zLGD3Du$p>Yv$twtO(*LjxeZuK%z5wqdH3c5I62e~rI4;4H+4B1Iw#)DIEV%sKqVcA z%Za7`(Ep znplUdTf5Cyt52(Nka5WKVgLv~qq~b##H1Dm6|qSka_G^ zkJRTPcNhysmN2FwzZO%GNsFn-nZ;CO$6_k-U@;XLub7J5R!l_}OR0CaF%oG1WE*rW zbBAoujVGOm=H^c2D`7ymyD-z^Wz2z0PN61L#pY@GCV5B-84BCx-%vUO?Xo3hhH-*q zpY#A0+#jWe%H$lN7LJ~n@5l=d1w^5hGgj`yi4_kHJD+_Jnw8IYa7|v_f-UAmK7-Bj zNc*A_qWBO2dDN3V#OiD2zxw4*e_;H%q{ChrKU~1QmG%e;NLwrU{1y6`-sLrYGlHh9 zHA?Ppz^oFYX`KgM*kX~m%cpITW#zHHayaI9YjJ93aO|h>zW#~#zs^qKP40&}%I#1e z8$^qT&b7qjm!?DKv}~GgS83Fmru~%7|HS+b_d}`=GEOL7SRe78T#H$Eg-m?N%msn5V2)ET(&xGtN!fXptaY{p?N)DRkT0TH%ycfuveC?QPIw~Cxkm3QEP z@JKegw@JYPSfKLZS^8CnRlvc8W?#mzNZ+d!IN$7wSQWLK{pX3U1f^%~gKx^c~< zcV>rKl4;xjfHd9t!ggN28o#yZNO}3j7BIrcKFhN63P{|O4`!L*Vq42TU0(I90H!t% z+C2RtMX7^Z73EL~o*3_kv`{%=oV@kc&T-l~UT)e&I|t@f$r@?j7!OB0J2r9+jf|zV zn>daEpYDV7aIm0>%g(l&&wpt0>nCu7%T+ZWo&+xn69SZ+-wyk7ZH0Yi*aW zKTa0Q8UM*$tM(3iIU8JJq55lO!5VAQ!mf3uyI%vBz0k}?G<+>!Cw~C-0B@clg zeIS}6b(RKO!~uq-J@aOREw{@Jc;QwV`gw0*sNXGqr2F;evzIY#>kZ%_%jV{s;e{DG*s6n zU2Ss3mHkcC*oCmMQABm(3u|lnFVwk_IvdaWo9zQa&Q)7ym(`E_RMpzYY1UZzz@#oI z@-Gg|hZe3;x0av%7T5h!ciKcA;E**o%!^^fzqNcf#Wqk(N6DN%`H=KCi$YXilFP|a zU&8&Qe@X5qm-hm-WQi$VH=K+QYBNIZpHx+MY`~+eVAQ-!{u51*b#2(ad*=V( z-uK=sm6^dFIOvVv?uNrDRK8aaLVIVQEr^bglz>e4t+9Z)b78W)3BxN}%z>*0W_QVi z-^>?PPFxyxdEA!`9V;<{fdc4aR{(btvO{{!ZEa_&>h&6izq%cr3)$H#66IhwerNAS zD4D$lq}j!d-U@7+0Xlg(CY0k^?B3Ou?@-*ng(E;S*X@{!)Sc3N2Baaj_ZL}AX2FaafS+ibZ6kjx24Ua11e>Rkwr`40r8>q^+}&H=9RLibsC zD*kM4wv%iX4x<9b{PB;ztHwNevP#js#obZw`9)^?Ck&0OM5N_qGw8u zOK%CA&YQEB1)%mWAS&5KpKa~tOX^O$>ih{93Go?|B)A6H=%vWQYPGaOKpT4mK<6w0 zA3u_SH59@Lq8$I@JGxAXRnOt$rNI-zdXSim)SXupFPVi6mHOO^x+ zz2gfV#TnVQ(7~SdA~sQd)FR$Y4b~>!Z*5~Ztl5~o8PKriHEcHLEw-H`$o80QXP|BC z$6v;Vl7VBvo`G@H+GJw`?=unBimO;_n@qIHoVKbYlsJAxoDc7a62~uz?}6Xww`fvJ zWK8$12xCr*Inzw>?%Im)u~VQ`FCfwmQT37J7|q)7_JP!;XaHuCR3 z*bPStmW1Q0{i#fVcmc=?0%>bEY}(_5Z;}f?!=_&n(L((l0a zW>uxq0;qBml99VZ?%D(-)2Jejd^c#X@hq!T-K;b%MDM>c)=|)o@t{&MZbEj9n}{9b zCSWW6=eZf}aAP4H>}PKNz~AY}N#e>gx!Jdg$rsRUeiwy~kR}|B_7PDdASGzbZtpBK zmVs6f0}sijB|P7aK1i!+H_fW}LFD#w{VwznhL<%+%hT}d%brUu*DQ|!v@Ff}KSn(( zO;->*X_|rOCyb6=erUd50R=$20JH^!iHw=NvItm!gYgCHXwzV}WxK2D zZdRHCBDTiV4>4}ahZr~2LyVi^A;xDKU}EBA%r{{&#!ZxraT6pJKiwuZ`XrS3OARhV zdO)_f4b#tKdPjB%4aW85Uq7&o~y#%-O%xUG^Hw>1*uG>tFPNW4AR`T(J| zdLPKUZ}|D*g;%eWo<+A++`4h0mRWDzD4A7o+`BI-_2tS{TpHXCM5w%HN_Iu7G&$)> zSS4KoV9w^MDdsppB6`A9sgnf9!mr)KX#~hwl=m&x5k1qYUM+c_aS^VjS~GRyUW*M2 z{iF3JVIaJl@KnNsgg-}k2jOXiw-cUBcpKsAg!>3jAlys%bizllt=dHR5aBZj?D&Zm_nw9dA zH9EXYy9lAJYEggjLmQPg3&d8G#Zd~Y}LU=vl z&l29p`%eRjFu}))(bRuBwI4RS?-1g*|`(}oX7<)Z3P>^eNRg} z004ogEAHt(z>-z3{|CMPV_vs2ym~$ASgejqfH>_WRd1dFLrc|m0PqZ*MEL#h!sCig zfh)*YacP8~Wh(Vcv?LCK%~@nWLSrSfOf)H*;Nl4aM+FGZ!io*?T-0BuiGXlp>_Krh z#uJPLyf4;!+|pX+eKt2(9{nARMnGRCGuvG3(U@e6!AmjnBj=_43ne8}yl{>TPNFU1 z&5+Kvv;WBmmI)O zkXtFcR}OZZ*17_|;lk5ei`cNwXJN;c{-rtT9J+nDWKC)MI71?~yIsCYiq8x2qb)7v zxS4NX_;gv#b;G5muDCG5TzrF}kZB}epG`4tLC`5C&jv7=HtG_nZGZ+7*@}?00hnOm znIjG)`Ev{}=Y*Gi@ELfXPVWk{z)hRQLt)>sgPydj2U%Sv+ldaX&Ap97S^9*IPH%)K zer#fa%>xl|2A0cNbZwMoaISoNehv$Dt|Z`0h)usueO;N_kcTy5-X_A_C9DLXQT9uu zUe2W+*t;!)06IL|X)2ei7a)N=sXoiNpZRa;1+u_!FV@ox@5PxYG@9*?hH@J6Uis;V zT#2Av+X5)YLatgd+i@9g?vS=i?zo?Vav4tBT$R9d-q;%CJMC_jav$0Qo*^>BJXP{0 ztNcbgd|(_j0)U?5kNzfey3ahHIn!q3^sf+*XyItK>5fDLTP+3#%zP+70|p9%F=oy9 zT4~ZJHLqiaD0F0n%Y5P03}QBF&G2xepkW|Y=43wyM0g0?;A$V(psyrv%?DF71)i5V zrQ8^Zc*>S(oS!k~2XO>&nj3WW5N*NO%XgsxxU z(P2OJ-#Uk5FXZpTM+E9|`E@th27IJW1QuaNt|wTEoPG3!(DM2!L1k<%=MqP%xq43l4u20m+0-!k@*)&pL_0_Wwg4ue@!dcz&A>d=C_c3!E5fy=Fqx~`fI$N0f?R-w^ zE+DOX|5*t4G%E|wQh~?*pD5h>wQS>N$9F6gKqx@=e?-B72Be4CnHrjRvFHuqE_;Y9 zRoba~a-L?dnNGfbvD+Vj0(tt`{J@oTmDmf-T|qGn)geDq2#sxPARGB?1z2-#%E0)A z1EUW&wi0Y_;JrM0)L`oE#`Qpe-i(7X>MvOg9cN(dY&yDvO?-~GHkhd@zVl-&3=H0cvath7G7PC~G(~W*9x1pgdBt4&v!cvYc4!4gr|X-2iA_K8i*l z|9L)4h0@Wj1+w{f&K$pML)-jO2pdBftdSH8R22}COuvc`|i6h@896U}#via%|z-U<1n z@a{=K4A9effBT@v%LY(uAfG*6Uw<~&$f77eObre~6dKiys=pUzN%9#}F%jL~UtfaO ze8H^IfOA7Fi>w#c&xx7@gaUE7hiet0*rh?Bn##4r`jU;^#v@(F!h=6Rqg0whn>Oihk&cR7;5ir%Cg1Rt7EO=2> zrk>Bwa)1^%QwN}jd}eTA zxaj=L`Y^N5j*I56zHUz#o8#L`pX`LYoP;kLJ z6QJcbjBS@)U>=1FK_C}ly=7|YJFaV;DhBx>n=<3*jl6-Yon=MRT8`0%Kje*WUq6L&-OQoqvH&-3#E= z3*>|y^Q~9Y{6$pq5>N!K;Hc{>L1dq(1m#hm4;&;0#{j6>(I$6#FfHNfu&^3uoq+8T z9*`N9`n$s8oGOw$gIWmAf;9}sAirq^f=AJ=a4jm^+p&^gY7^rofJA|I87_&4fX|De(RU4lh zj@R%T&vAVCWv%h!!^^}E9v^;1n=8*%+ZP{ZKZUl3Uk04}zYJXeiq=5;%2os(Ly3vzZkZpHgEAZZwVKv&A%w5@F^O*MU4eaW1B82*;P-KfrqN@ zpBJ8xs(OM~^#rf#JXLk$54zzAs_G~Q$7R6DB044<#mI6l4^2K*zD&b%iIDoUPz0IE zejpW%>`9N1ta1@E`C{fxJAAoNzW-;l$V|y=$K2V_$E(7G#^gny8zLdR=t`!S9MZqi z?Jw}DiNTaO@AJb;9P|zdHQ^r$a9GWk7}Z^DQ1H2(0{Iv17kWF)*ogkls`Jka$2pBS zF6`9A9~WMvK|C(((!@Vc6aP01z;POYmxP`A!V%UFfM9U3R_Vp@V>+1_KadT&OK3Bk zj@lPNLL$8&C?GIkT3|e-q^K96%76@zy(t_Es2U48Fyy!!t`H6bK9gOvu-5rZ4*Iay zDT#rVDK?UC;z6bxF51uLjzM^phaM8olU~Z0O=e#ML(^;Y!th*VSZ!xFoZl^v+Fc&? z>qxiTn8=sBfQ`DBgiFqoVTIL$JOJG9+_Q(Vo!-ovA6y(Rp3lx>5MFftWpjoFAPT<- zyQk~G2J1jS^LhWplABo*NWwGPe8Jtcki<3uloedLWwPEH(7php;9s{TCQbS+$qQl4 zLU=Lk$Jzz;cAYrWD+e#ubanC1%-H5m&bm?oVQ<7C_4(XHNNn76`q<7((IgS-OTxmQ@Urv6;rI_=S*pud?jPX7oV)H?@DX=Iq{Dhdpcfgb1G27~Pd%IAil;`O z)*Yfx%7T6pK=Kv@N> zw0NC^v^l8~41f%3{mGh=4Q|=R$1P7-R#2?9-JMxz>D`1n0R6wV|GGR1FA`#qv|!8u zbXlUEeGo0>0%%Hz#nJ|ymw>?lTv&RIsu~;#i$n#$2X{=9M}&<{w)>g#h5@g)k?CKU z&orOs&$-UxsMxj8qX@<#;AI>ki5C(MGNgIoessJMkExj{kuCKvmLfZH6L$kH&k(rS zU7RuVAIN;VXEN`FAxg1H&z-?E1xAonyT6Z169!^%VU3UbM*W2rT>zglWH~SaTp*kT z@Q5X)SmGa3t4oNZ04^=Fu{AYb#Id9)UMf6ET72+woLK12dZ!ntIvP}hR*7KI>gKY$ zAeKU`1hmDLmd^csyA0qARuD9xs-t7k;UF=kYdV z5{Sbu?+5AA-m^^cjRoY6{;#6$e))7~jOc~%xIimYR&<5wUMgby()uOI*?Hq7q->wB z&%=0aL+@lyFN{?(nVZW`{G%=E&6Pdh=JNB0H|_a0(>9UMO;yQFRmn|5B{xyB%T4Vd z2b%DT{;!J7G%68Ze&v8MTdXCbGb>$qHA??6obIFaABBrv^P_G!U4!BX7DFIW3#*GU zu;p%wjT|yzy8~^lB5k>b3vGmRmh=Eks}TgLpk6L=-U`1OUV#!nvhP6Tj`JZ}!C6k# zdpBFLSr}-0_Avd3l!PP2`1CxG8&F%-K*njUeXJa*@NHQllpq$&Hg>+TrVHyJKXK*W z*z$fD;@d}A>_JS&hU}!~k=SH&Ts+3Ew+z~kyh<$}TGY3yQ_J;y+1SsF{3 zW$7@K-ZYfnI+Q*ghcMfAE~{d=31ac1w-i_Lur_)W%XY&l)hpp4M;J-7x-x? zhHTSd#>c!}&S?d$6UTi)1S8By#G?W-@J)Rzwj72C;Z{vCb|mnGcqlcT;l0&ZB^hlw z5|j_yp&K5-jWfnX+N@<1)IY!t04&#VKk*bF7RevuOBa^nbzQSlwFh~9mN2+5-hPB$1o|5K{nzV~&mUKe;{r{v9%7D$2 z-7Mi`N3s7&%lJbqp!(CzjA=4@ zWPs7v69781;f0ccUjO56I65Li^%@d+YllW;vLL6SRh5J8N%_Ud0cNh0GS|>Prrt7V zN(Myl=L;~njIp1T(pDYyO!nR(0h$3~lz>%@bPJP5v@%<=tUOsD%`VAy^cvC-G7Sb@ z5Kc-{jxm{V{c2mvUQ{H7W=jC3w@iC>WSC*!qI_jXdO&`f>MG9bh-2h^J(_F7z`9I(E5c~#QMP)?PY5uoTB~oEc~notC2sS z7*1gW0yJBmTzGaO7j2OgV@#|>vZaX8~i!x@s9-%1Pg z`cYI+#h)0SElGhtsTQYWsf{k^VM-d|I4;b(!umgx`9k zt1IfY{GZbMoch~FO1Hsb0HqP=_^dI=M{b8Jb6zeFfi13%vmm87b_5u8NofFCd-MMOMk#TJ86rVtZ8Jle-Z`ct-55e884ZU}m-h z;RTaG>S>|)aL7LV&d~mF$Upqfce%-D??F^~;c24l#p%LWjF-yh>#-pc?gzk-$jl49x{P=aw54GpjmM9AD89rD-YlnR|2qI0=Kk$qg0FfoS>xq>rO| zk}uzmlK4k|4i=1?TWleo);i0|74@m4*k{lHQrHfA%4<+^JF}FYc6fS`J?)KnI?dCI z?P(bCwAaE*-!f+Q^>V*Yk?92U!KhzRF8%Q;4$Q;DRb`ZU)5AJNzbv!Eq5s)2kWL=3+Es+3Nkz6vf0( z@HNROoBEQ+vHr0YS-(TA{ul)%jZ z2+ValyysXwrq;s)W-OQm71F|i;!Qt42|{l zP+IG&ITvP#T+Icr5>K@z*l>&58j+f9aihH17dO&oW86qHb@lhYJJp)Hx_ecz=a`mx z9*4Zw*21^vvKB5tOM{m0k66G_3s)LgfaXDRXeewl@kI_p;g$}>R-DV828EK(J%k1k zH43e!n0-FK$fD1oV->}a7Zv1IT``z%7jm_Umw$zi=STSbD`DQkbm;w!AOH`KkgM`# z<rIURZ+3WmeD|UeNdVkYux`XtF^qThZ?X|nf z-q?8UcG9aGuYH8{Vd*u%Lpu@I=4x?lD(OYit3qri9PTvdzCzVT6IS)L*t%80n;}*h zUk{s#J@h(wQx_JnD3UCz^08T*iu3kRemy%ue3s!*NoI^a4^^?x8stOhogwpjYn2aT zs)19=lJV-XOtmrR(zI2B>D5$2m)_TLEvjU6(~AHIj@r|3HeO`#(u*jq^djS%Uewak zD46}d?FMvkA~VTdEtiF^Tcl*rV?+Smq|n}eDL8A9KVl{ijFrEO`%80jJW(F2&2wtZ zLUPg}(|_P&bAe<)wmt=A6pkTp`ZT_4d1g>zd9$Z61eO=nG&yMQePL`c`_YCu)isr# z>ygK@3s{5WXJqw*FK8fNbe@3_O|$;-y&I*=BN}z z%h9N3g12!stxYZK8{daYlVad9L?4Fg!@UOztc8gp1o7LmjKk|sW*6y&ss)#nFA0ZN zt;sIBG$nXo-@$0|U4yFhLm$8O<}-eC{U1K_tN+)v&#-!m@+KH6>Z@ffaIDK(?jM9P zc0VDYbNIN>ME7>Q1AI{N#re>4O-i$TebnQF#^?6ab5Dn%bj?@$^O~>rbj??je(hN0 zDPJDCLW33rk%AU1%)m@0Y`CM7T)R^!Qfi7|WC*`IjQinyrr{cDUfPj1sMr`=uL|Xm zV=Guu^bqiHuV?y=oVN98j@+5VD*`fGzK>_Ra!9uCuZPPM8PY*q9ikt)O^AaNaKWyU zEVdQfU{TPM+7TqxiQZej2$)5`r@~lVyRKpaOEazzvfZ1w$0ju+_=mf7+-%7ZH#Pvm z-&1z56TD|uXKwmxJLfa-4D_jHK)JP6UB%0Wx(Xk9dU-bzrj;O>mlh*Cc2`Gj?hq)(kpOu)47_86{344|Garu;xm+FmZ!3 zju_}@vP`SEqjTp0Jt=6&8rx0h+o7kOOi7ava2sip6HIN(NK#zOjam6SEm(2gYD{&a z5WBY15H)F#90sr(7uYXkD}v6gwq1&fv9e2;43@+u*D{{NYAxe=x|Z=gUCVf$u4Oz= z*KD_^Yqs0dHQVj!n(g*<&32Ri?nJ&$?vTbc5G@51a7yE7B(W-n1{pN-Ehvjb0edv1EwcFW`}w$CssygVhLP2M#idmF*pE3) zefFR=hn-%*V3e>vScNk9I`uzYqCDKm$~7A>whWY7qrozHsa+nyw@_d+d+AK1_WNn6 zHes^N{MzBhYIo>e-e;?rj`JDpOJygSvA=`&2Jux3XDlE|>4VM!VQ~K^s}Miv#xQ{kmPY@wdEPT^Ukn zyess$0X=D5ZG_bgf}4M2CUl7t``XQ6V{0Idj*!z({aP(x#24B}9P>NFAcS?pWAQk> zfT2QIit8wvLR0bx9o15{qk~$?_H->}dm3ggIO+CuEoFNeHgehXS~B$KwPfh&S~B!> zEg6#jR`kw1if{vTf@Hs}#tw}eeMSmf5Iiw-dNhQN9Bm|$CAQw?7cb4Hmw&{dIbAlK zB(>E=!YU8uGxRtbaww_;qYv69d%WgwT)IP}Gpw|@zV4znzY<8-V9NZNXQBd?er-$y z-d6j?;4Ch$S-#pM-D^OES``ViNLpMsMsnkdXuIcT1B{D@VdBf`o{UY0=vbmmwGi%8 zQ48Uou7z+pHZe^RyP1~ASabzDy!Tp!{EOhwmGb@Y9rxA?e9y+iYopJ$5?s7O!@ zQ^)FOTiO!5nG5CP7Y$OUceE|TDic{T8b~pFkO0&34|5?9jB&v4N5k<@o4O@OYSMAT+lm7?){y(pz&5kE~cn4$4>B7!c z<1MwkWlvsNJ)y|X8E}vmKPuYt;L{n4X@C3HF;l~pi+JB-Z_aahbLR{zr+Q)WQKn-T z);~6OHf%drJ+(D8Hl@FI+k!ksGE3DzUZ_qJYjXmis$4r)pZnDNuQ6{Yv29{9Z>6#C zMp)31KN{aIk2#f?+Q|463Gqab&x2^A6h zm~ceIz;DKw}bAXJCw6L$sicY%T{)_Uc?RM=U7T&+9BsU|D?v^wvBD~N|i+$6=AZ&G56 zn}itS?sLN5b)OR+cb^j;H!eJuHx69!PfrwGS1M1yFR!@KvxsX4^+UYep4c+C@S;y> z_iJ{UIJl_2G(UaSd>ic>*hpTlCK_D^D_3MMik8SZm1ueJRahDeIT=BmFlH9+ZfkXS zUd?;{H6=}?(S1`D?+G8MbMm^vdU`oEQVYa;PKasd8_c$Ppk zUpm;O{wiB_hzhcmu;XkkaRTZOM*fOETV|MJ!%weTNCnQd0x5YQtUAwRhFAf+^zuWO z>SiyQH0`VSJl#!BS@Y0}ER+&Du$U4uhM^f69r!rS9?ZD<&Uz3wXRl|re3&URPiPt< zUcitf(YiQ$V)C2Q~T|!Y2SpKEKHwsy5gOAq;0=0~+}KJxc*PhuK2h;E75SL74WszF8q2xAKEw3VISzGMD74xd zF+?L)n#~HDch|mlH znj1tozH%7;1~*c(Yl|Q^z?i6{k=`lOO^EiI&1eC^k|LH}uda!S%w%&fcdEIU%QKN^ zX`&#^g}eyQ=hsFh1pIK-dR*i*rvdxTWIn~R<{JD@Rf+haYslfCzHtN=*Z z(EF1X%AM-A#Cw1YWA$wxS(Y5OkK7xqHcpPu*^votcDw7gYRuRy~cYy5Cn2QG8K>M=e=*>xkSp>O0z*tIH`-?WWLD7<*ZzmTpt~nsiTTB z9Tc=lJ}xz{S%t_mZ*MT6#;d=wEmnW6C-SD+sdj$w4J!-rLhVQ5gU3K^tW#>f>A+{s1}jYP{k?u<=AO$MX9GV6Q5qJO;adO~8b>*_5v(Qf1y?b5S|f)EPE zYC!ZQIv6>y@oC%mz)jeyD)W9$A96wYgh4rb0uq1g`h3^l>f>80>YI%9A?Ga&;Lr`P zsTZtg+rN#2PLA#a9Kd9WMPNkBKVmM;SDqCaVSIvv*8dgblislL3FmJZ9HG0URj<$! zc}cV0$V=MwMqbjeH}aB}y^)tR?Tx&oZExfyje8?6Y26!nN%LOi{bla-aMYb8jsPOp zoU=j=c989LJ&71n0Ul-`N%_^1OYO|~;a2%H7-|6|5GZ#))l0m3UtV^Tvl>PxD~D(^6L71YV-88MT0e6B|o z{2324^qr(XtKO$v(xEl-k{+#*XFSqSeMz6zD3^3fi{0Q@h4Tgz%M5P%2nn^t&5|X}=B5)}6WhI_64l}!-~8g+zxB2&_8_Ho z=O4TOEnl5DAIC}a2e19Ps|M2wt`1!z5Xd0!;qvLM#8Eh_MSQ2BfA*G~`4ul=%gPSI zR7`|KE|Zu|;qmHMb2?5;gdtqyOo&KTlARslT=-Zm)hTJOKR|JF{Kje=vLqW|$;iS& z!V(V<3I8Qp>(+RV_Um|kB*gdv4U`u>6RV*uZ8IX8pE9|E1wihp#cj@*Dte%f-d;yP zSV!-uqaUfG2kYovb@XnxB8uiusR`bY;a^w(0F((eM<7XPIi?dzj_HJsV>+SYm`>;_ zrW2})>4c_YI-#hTPUuPLYjQS$qL?!bpqdpgd1Zz;l-FvI5DOZK8)#v^I|&T zyO>V6E~XQni|K^pl)i1MSbKF#4nAeC%x-CIvUh(bI}J&7Vvt1E@FOjOK--WA1i0Oi zKmZMrKp^=K>w+RS&%e|uc3H;mk*S; zzQ!j-DiWn1WRkRV3UGcS7tbC=9LY9e1NWhox`lnPk#qLQpBwkf=e~&#ZRQ7GC+!30 zT~H zKhx&+s3AgLG_g)&z4ZV0K@y?Ts#@}O2MAT`aTGXX<8DR+NHSXKa$2Ls8kd^Ed9Qpw za4v`ZEIl3BYdcGxgO;;ankc)Ao?bBM%sVMb24r_AN4TziE3?Ud& z{S6R`Q+5jLzyVXJ8weby9|F50I8TDu*NX>BoM6PHMn1(Y#x$6WuGMM2Qm5B6I6s!qB;?Rn0pa#V1|A+N_0jT^*kry`jvwzakuT4f*2QFNM0 zjKf`-rpCJE19!jwO%vN$rxWwjvJC6!LKcbKdds+&`6~>a+9gx$ zs^~y}E0Ix)iHvH(7$n`|1ZEQr9p^f2i)0$1#J8rtCeAhGB;GaUBpw!B<3aM zB=#lcBnBqsBo-#+Bqqjl{;*X{`q)dJT)}u0GCnl(1E2%C=ejbpdo;UF^<6S0hb@y# ziIB-PJ17enXBg1(hXAr|BI%84Pp%N%6&-kUj=q6|sYyu&*Xl|F7}i(6Rz&q54m~jq$ zS{yo7%gZ=)twvTeS})bT+QH0?9cKIO= zsjS36v%|SpdZ||VfzLs8K{~(VSAmPSb~{>NEU}$wP7~vqauVyAauV~IauWNQauV;C zauWBKauWZSauNraauN^dIfuI-EU(PlT(zx{&^@m7Ch>>q?ZhFboWvuhoWv!joWv)l zoP_^UPQrjGCtrcT5*G9_8<*ih<_;T;-m%?{u~-uF@5>|!@AyA;f@*qLiM8I9SW|pg zjQg=|no#!Z);C&KhSAv#%-k&9K+nzW299oKHxOJiyMg7J*$q_J%x>VjW_APVrR-R~X9%Hf?4%P--)~fmfT^4dmL)Zmig5 zc4OH#vm0x-ncY~x&Fsc1PT5~?SLfJdqRU-+wU~5|iAm0$R*X3WQ(QVh!{%*F_5dx8 zJ7qAp3ZRDyIDMjEmXAUFdXKV_Gj79yVfh${PO?MA)MzIg^}|oBL((eDH*3u+LZ@+h zc{deFW+}Fb<{ayMRh!$PKli$E`NAcKP-D zZb)TRoHDA?vWXj+#BvJ`uBkJrRTakMOwG^AW$x7cTRF$l5ucK*Fd?*Tf{R0(+7Chg z74rsZdL3<7SUFiQk=-B~&Flu{Xl6IaM>D%YLz>wQa?#9g z(2QnwgK#vn8`Ptj-5?>&>;@faW;cjQGaK-~CRE?-rv=e|iY?C^jF?TxQ_51 zLOJQXn{Wf+K|)=Hplja`Bh+>8x(-{{y~{)Ct%NYm4!>AIKjafFM6M-e`P zism@N`w7{>Di0D)={ey9A%X+YBh{gS>`jH8j-Yyt&GES7EyD43mjWoZ?DXC(T{!#h zr^lFVMm(>@-CBwn{DtxZK)w8rR@CwYJleEQ%uN5tWp|`7GtT>w%QI0etz6fpnvr&I-`^Q;Q|Ea$r@!1YnMBdQ8WSyUA`m6Ko; zSgiu5Rt2OmstTOONe~K{yPVUi0y+Rv6*!$UwG>#R8cweY%rpu-8QTsDtW|+0R|RDE zR@Lwnwx}quP6eJ)6);=E2%~R%=bCUVFSxC`WzLp=4&WX`W+{6{LG$%RX_hheyi@*= z=L0>zC_cXtAzZr4`1}v9pAPb)?$6sje0*X<2&3_PGG63%UypQpzb&?K`BPj=3>BMd z6zf!#OjVIWPeJ{>_D-W(qB*_tZ)k!X6FF&#&14}X#`kW63&6i8`y`NWe6`83hVY_( z=?NxD<-xgyHSC0r!#{?h_YFK&&U` z8lP^P^CM2nQBf&2I4x&a!n=P z(oYteDzZ75uzsl3H2D35^_XCpsb~a|HSc6pO*xs{Zj;ZK&6!Duf|+*tnng~6tYW^} zHgTFaCXK~>{i5upbpRqO_j=s&-|TVBlC$!y7Pox>SK*O2Sl&;TJU%GFG`i&Ec)isB zX$8VhD=;J)to+1~n6R?I5EHzzzz{>cvcM2?yt2R$qdZjLJrk{Ic6;+H+3%GigKJ7_ zMaDx?WE4(S8fT4}uj_MUXsI4h(qhlF;^?uI!)#0nHqyos?o@O`~z`IF5<&#IxM(%}K#o zItRhMP5WWr)igtTYKwUIvGV>*Jo%WmoZxY#>4EhfW0xHDLRwStgaBhG3oi`C%D<|< zXS(TUg*EdXF1~Zbh$f!hly(b5sAC?GO=~Qu6{Au7bxA#Mot0H3mr_W3t{j~ru^iHG z%Ug09rdo_`I#Z^D5itCiESLP}~y|S}ADn0l&_G)^0uh{Ss=La>6bIcfM zj?Gtr0Fld6emkBjsR5Wm3H@3vCZ8&OA|0vO5+vJ_l*Zru!bkss;)-?gJY*oK{-+OME*v{wPlAm*_ zS#IZUg$BMbM9&64jJ#JO73#WjPD&!i&g`Jr0_Gwu&e(JM`ciU{k;^%5G-RFCFS+ih z!ay6@1v05=JRl>s!$v8+KFyM`Bft6lv`n(9&&%E?)dY&|l+RfC`NPuZpTXy!!RI;E zSbcsI*JYrW%c{@MLP$(LX3X^YS$+O1eBP`P^7)=wgjKIolbE2Va^|YavW&slQ}c_f zDi4=9iu+%UuAE*NZ>zcwSKa?W-I7h2-sN?pk%Mwn)oL2Mq5#p@AsqEfXzPbI=^1M^ z2VIT@t*Qk_An&f{yX*$b^%owb83>yaBz+tUs~xY~H*G!;5EtnU4%e~2Vx+8Cf6TZx zyu2)SOlQfbW%n(SN1DqxyGTp;!AL}r!>ZXdhi7F~VXDJ6P{Bc1y$P9eML8}ip#x*| z%(Af(Y9r2-Pmw^^E>C7=L`)$f&|nOwyGbiLhnhgIs5^7&z)6X5DAa9w<(ax(|s+=bRIg0s*zyR9c2Ly# z=oVYVC}>9n%~8Cq?SuRKk1^NUdsjtmZO{GsRwcFOnrlAC9COSu#vF4@J4C3B8#To& znRK28&($@#sm6=aKPEnSoINjKU#2qJ8+l&#yk;AyRF9EqG`hYu=b)qHg>YZ6P-m#h<-&S*gc=M;usZl z3k6BXf<}gLnvJwizfL>fXptxxSNbq;PhQ$xsz15IHSZ);mRojp##{Xcz8C%5*DvOTNoEUA0eszQQU68PK%W4}(Em?fFdEde$F zC{&W)+yt{E_PGgWNv?Af%#vc~CYUAB&P^~&x}B9^&Zhph^mn?c-<-Xv-}X&?256Rq zJ*#0Pm?dq`O)yLHo||Bn6h1dW`s+q8`IQM4%o1zcC$xy_^yl%YVpi0r>h4ZT2R!HS zJXz$~IZm<2E)ejuox`F+?!ZOdj--joo0QEnmL(t}{eW_kS~Hn*sTrWz1Gp`C=7j&@~-U zE6L;Gtg4nO3J)+)r-tjVjAFxZ$R@E))d77VSDWI&O&P3toQ_+)4hf6s)x{9}8X?7Q z&|*3dDvV<(8iK})OJ5&x|3u*uC6J9JPU*}uG#lF#+C^w9YC0i)pX{>46d-A06U&<^ z(4@Or6y8sx?DlRONsdI~y-}Yb((>bI#2(ruUv7|oGVCFP88B;L&A71cZkg^g?lYmI z-z15Y@lo%l!6$7Zj2}?EIK~gCT0Ck%x#Cd+>J*O}P@s6!fXc+92Ba^K8j!a2U3V0)m`q| zb!^I7+E#O6q*j0NfWjYVb-G|bJ|&pr_6-zdW(lL;`R2&g545xyZeunu??iS&<09-$ zBG)j69uM{+U1ywwO86)x*g*ixWR7}57K{mjd&S$ixS1o*;bx9RY$3Os@BgqVms)3_ zqpF9);-|Vk?Qy*mpVZcQ@sn-~4%7DnMnc#R=H zZPZ3j2E8)QrbOfcf!YyfK!oy1RJ!SyCOewGL% zPJUtZ<2TgP)_s}MT_45ZFczk*(|kh9B_&)_+B&1C<{7FqYOr%E;I8O1@*a4`g2tg? zoF%^Dr&u)c9v*t|D>vj*%phedEo@V*Mp|Zaj%LtcspWLn3u-qe40M$BkX2){7?uhv z7xAPLiR?L6PqF-ebD=tH@asx#p*%vPN6nHDGzb9wv2uc`?WMa7g^idFaFssR1AL@M z4RDSgHNY!+)BtzrQ3L#-M-6ad9yP#wdDH;6#L=#j=Ja8#Q)mZ9hJ(jHBrZ(3}bBy43Rf!s&W1fvjBI1)S?fl64KSA9XAC|ZYB<_ zjM7+w+cwZ5pRVu5k;3rgu8X~V457_oNXIssphf5u5iDiyqw(i3_<+IzC66q2w`wPK z`j&4(IbV;NnfxSg%}xQ25THd$TYYC@V6MIfwng1)^QBl?51+f9%W`O+?yqCHbd#cT zq|+i{m5B0#Llhhth-wdTnC&GkB09Y^9#PDW=v$9HMc-=d5q)d1NA#`4MC?qn{8!%! z5U&I1-&*ve*8O`?@SRfG4o%dwwTOx(yy>dQgNk>krtJi$^cZZ?nGL$&!$PUqqJ{}>2qHme-h`vR_Bl?yIkLX(9+QO1DT=aOYKaagW8mE;ozO7%huY z^jS=|>h2v&^~0el?g!HHaC*tNHJ*)$I4zYVP}MHS>A>aAh>E z^=dZzpG7=pLp8dov#r%W0%vH>*&khfrA0*IZ=`u66K!psV!JF>Ln79DuI^*CBpS1t zIPXLWxLMgXaeuP0JK~pYRnDwBHBAb$gJ!pUNBav|x902{D;KX8S6u8Wz7SmL$sE=JI-qP;FVTOHv}Y^2LXkd*YH2pGn5o z3v|x}em4tU9_Qxr_J9d@b9s9#^0&etOZ>6iAE&C>|DODsqqNlgxi`XLlTy{f{rlZ! z%uaL8c)FZ6B10f>$XVF`hl=2OSrxhU*R-&ufEi^}kis<&>~*vvwC$(0c!1h%w(oPu*~In2Az=e7ER)}q ze~AB{LYf5G75?H&XxDUuhlo(j%jDMl#=u0FrBvS|mEH4EuA7E{sR`|~5D@AngfqD= z5f~!v_s&Mj?=O+=`%9$y{t{`vzeI}fFLB!XOPsX+5~r-c#0ksGY5kK*vZRFI-vA@% zL7eVha-8h`5~sSq#EI@Nahm%}oaFuz=ZL?=8R9Q-e)vnA9lZP?ONW1{m7pEu zY8#pQJhodMWEt+v-Ye)wr@BqyO z<_cx28n>H9->P?UVG>(xj}coK?Sr}zduFXJ>c4Lyn@%}Zs^6$Om8B~B3hYL7%=NE6 zO>|rwDq%(oh2d?aM?M;n8u?44Mg9^gk-tPb;T@xWJ0l^Fb~+=0mA{>lkXhOc?=r30&shYy zpwL+f$=W(2A%^eTIWHlO2ZcSa_5ZGTeu)F{YKg zjN6NdTB$h7!$bRTddL(Gbj5` z-!!JOE!~`t|MWgQs+Wbci;;(iKlPcaXw@>91;f;j-8U=8w?2E5MoKNP%yV)Gd|&t+ zn!7w$+BpeMB*7;?Cx;e*nW;`|Z@726`8v|y4v6`+fv1+&nj3p&uqqtPgQ50c?*~FGi!APxk6K-N1bXeHuDg3u)*wr}H_AKiMeTt-{cVkA425 zCGLOyZa+B-p?T!ql3eWkh6Qb8MMMU>0%E*Aj;zwn`N-Im5X3@4gL7c-SIVNTmN{8| z+CM?79CMO=un#@!45!cJFMi|$u{Zzxz`bQ}cB*581%Q!1n~gS>V@|R+ZWEDOX44>| z4In9N*{KQ#^ME#2SRS7%hBiMq@DV}TfT+xKawzSA`)rC>+Bpd{4FYx5HuUtNSc_FSn1^m} z`&W_olMGbW?Z+OxQaRLZ%RDE?mp^M=wsdnof>=G=u`WOQ;2S<2Tk!a!pZRz!+E92- z?nj(NTDmzOe=?`&onO7Ygr)@tvv6GF&7V0`V+NDaNSoLwBXB^@;;gkeEYziD;+Vga1ZryZ|%D&3rq{{-@>#+_gJR#}RbJvZU|tYwyN&d0Y=N)ID_5xy4#Su=GF zk3U+q+qy8A9jd*(S`8EDmMq7dWLFrqIN7GOsH~d(_qUeNp?}xU>K_#5bA2E?Wd3+|1h^>OFDmw!6; z@w=b;)<`(Mmh00{t?w;1EmV*g4(n3L>|K5+CH!oR=avN)9ve)jS*xKkY)EP(MrdV_s&uFW_j%P}X}Yx>Zy zWC%ZZZ&kD^9L&Q|J=90jd{%wyEw3wQl`_xCu`7}crJM8d3)QTGdNIM|-85O%IgZBX zqK5u!`Xuoqos*CxSQj_QPt2;~Bs*K#3Al5)ILd?$bmK4u z>{7G;A$JLuVB!LEn`ibZLo!Oass?ixnk_s>6fkNQ3 z*ha#5lx)hA<=8+vjVH?n?7jP1g}fRRDfh&Rvk{A;<-L7B*CDtrOQKxZHzG}&jA?Ww z6){Lb=&LY?KolBj@6Jm9I79w*n0i;qZv6PrI19_f@WOzZ)RL@N%67_0JGcf*7drr_ zVynGunRx97Z$5Bv?^QRyX7gI^zft*E`!5gEes4Q1;LsjUI^!WV3z;uo3vsp!J+Qtm zIwj}!UWE#Ig0s*P-5P75<)`G!J#^|R`KdsB#T2~IimComSD%t&2old4Z1B)V(4;+|HCoCT$<_zw`-p?QG0oD95-pR%WLLz3^F)F zjz7YBGo9GPQF)oW8?&`2T=)4_Azu^$dDKd=_;$FL!IBdTW2v~dtEjo18=ng(5|1S~ z@!L$V0R0dk?wYnz_ZM-p5d38`+05E1v;5=n?qEvHg|2)&UO4d()yTsGXpdgP{&N#h z-ZHGR_Pbr*FovMUMLWK36uyFR#YsCl*s#!=o6|FF(yW&@7PldS*}PB>x6{AH#$7rw z5U6y07By<%N1|rfi%raPFHEE};q-buT*BsO(Kw?!??U8lroq%?$T{WHh{|9z!>Unv zOc_jAip&wzv0TjDn4F&{N7Z{XshC%)YQ~RD>h-if`zNoVEE}fN=}I2c%`-8*(bl~z zdpNN$B!gxY3TnO72{I-!t3_xAmOT;?G*@;13i_XvcV&HELNjSTS6R^eT>E1CzM0xS z|2#VqFM~zhoy>1&awG2Iu;=c^MH)JvU4JB*{37C~Df^6wvIOSC0AQoI)~D554&){K+es9?Mw%)*7+$d5{Ju* z0g3}T@FV>WRN%pOX)WOsvqSI*c3NLl!;C0wH%H1InPP?Jg`xRsA&#gZzyRm$fcZFr zMdvAaQ87KtQxITmx92D@r)Z$nDJj}h@uOl%o+^p!Zjeh(R8W3W!>?{u*`Ts1zpN1_ z;E2U)I6;kgj2afrZp0E?u~-tk$+W{klE@DWNBVF2VUL0v$KrmTMw7w zqh;AgyNGy6u~g;%lr60zW|#jo9JN>ye9g4O+rPjeJC$FLhj21z@ORQq>O~^b`o%Lu zyYZQD%$)5=8WZUdNnsOi&TegLyR}>;E~(D<%NDrExS%I89_B>jumX1|wPGw3CNLgm zQ(6UE8Do8AfI~H{{Yae5%(CYv_Kx0}#LN}tG91QP&OZ9rZa;>LH(9bL#e7<0hmZm; z|IaT*)wlzV^JOitQ3yJ&V+ES;+V3f!>Vgh~>D|Qd)=1n3ZJ(%Mhk{cN7QLYDfO@R$ ze|pfi3O#5Wg&wqRLJ!&|p$Bb?(1W%?=t0{a^q_4HdeF88J!l()9<*&e589@l2W?Bw zgSMgPLEFyrpl#-PaIDv%(O!^YFMDj8c%Ig_lRRjfNglMVBoEp~k_T-Y$%D3u zi;ug!{l!=IJ-v*TjZZJCGS}!uRVEuT>WU$5tu&v^huT1QIyTC=Ugi#j=J!GQe%s?3 zC*b&UG?O~svh4eg6t3<4D{5VxVHCw?ZtIL28XP}Kiv9Em=lAizld4QS?~p(~1jMj{ zIBtIAIc@5&U`?dB&}S(dav$_Za|mRptk>*xM#Dj4BDj$VQc?`b8xd}OD&`_yi-iw_ z7-G|wMQj9}+q>P1z?QoX3kV5%1t zttkY6k_1(TQ@to7$Ak37$ns#6k>|mv$`YwpR%MOUi>fS=dQp{CQZK5qOzK5d)=9mn zXdBSqp=cq{A7x~|ucDmy@CE2sWaxq4B4iYtrlmu2N9NU#C))ZwGFEc$9 zlm^$mvHL-DRwHnfhmNy>)?t{!8V z2>Y<}g8*tX0cI1asC{{6Bvk$$_odhd;&cv~)`(_Ox0>Kwe}=89yaPfe=*Mkr9@GN& zoU1pyKkA#b(i+qxgYdank|Yvkk=zy`sw|RoifMvp*mHkE+;riQ)0@v+zh2S%u`}e) z%Ju72toCsq75$`68$CLT(Wn5{>>ep~fuIvIou5oqCiq)&3SI{jbL9nl#ZLNC$% zPqgVAUImlos+P3)#uwHZj+xe4_I6g2PT8=qK{*kp61iBbChPp*RD%4mt)<9v67q99vhi09j z#C8ZN0Gtn-+rPlomop7{N2Uk*Bo&e2!x0?2qcw&P!v*-+lv9p&_!47hhwqNu;U%wR z#Uf#%i)08X%$(8jV4E{GnV5Z>Z2{9)mP@X$%N<%QDcr=7{2@)k*@&W{DrPIpf}-FC z_>?5(mWWo5wbFMjb>;b{{|{T>=;8R1t`m}g{HTyLp*4+Z%JME#0!m}hIMo*H=VYhq z%Sk{+&u4XWG?!D$(@DHj|M+%i=%6p9jQiYT|YnS7tI44b9)u?D15mn=JS!6G!x4 zxQet0&M_qX;-C1{B&OAPi{$Tsw@4&>Zi&%MfyifqHd*fjokW~WP~1mjbv+UBTwBD- zr&;7Q*5dWfeWbd!2yIy>$px(?it3u>cWyp5H6$>m<+Vk_q5_oo3SH^Q(&-uKqI(2l zGhKR zE6H@Ank_|5YUl#rv#@t$Qtx;(RHf8@CNSJ=Lq{1hsb!q~W32C*x4M%X)u&dW$l}Y} zO?Re?86H~_d0Vk};w9T3IoUu=TXFVb0L4YMO|6b8?1Jo^S7AL--@4?Xaf>$Mqa z<0Zu$u}wX*um{A{^o1(e`x0sJOpRg@5x0ue8`gf!QdAa*IB0mWHaP;liWA97itgUwWzPZh&c%!kOpt1;r?HBxafe#~I# z47|HP1V?Q!gcdiw&Ap_ctYXf`{|POwoOJTwOE7jdpcA znj?1&Pb6Ffd2^=vZZm^r)$YGJ&mz%Av&bnep`$x=u9K41G!J&5qzfMpp%dv=mzbA%d9nDYNVf^`^O&}=m7PLSw?T1; zvqhV-G?Hoft8HeCJsOs4%_Y^(8wHmE||y}(=!)S;wxj&d_{Y%nf@k6Z2;X`*${hjbA7;=$}=Lu`$Jjy&XQ_EFoM zqF7r5Tq=B&GnrvHAEk{~kz)a$RwkZLbU!aVp8?A|a zA}f%@HeGD{g9EqTXvPa!c>JHbRoC3;8cC4bVmi4n@^|DRuvNuX)x7iPY zAlJfv(<_F?I><5t*rk9I}0iJyiQ9#?0o=nu@Pm z7V+oqRBdmx!}G)Q%##T0mrzq{*pcDepk~{4P^wPBmDqtLYggGB#wZdu>OpU4y1$8 zVpi42!01YIt$QQd)=E~JHgKd$%%A{CjSGr_qT=~#!<9z#IY3Wiwo)rQ!7+l&Vj9r>VJnRP+US6iIxrjJ5bbGKLax5!uO7NN2; z2Ex`MTFu(2sn7+yv=n;Ia#C;#4!~-r=q?r^U#~-!yu)#GEf4gqgnT)PD#(|!M8ZyyEM*e&x+84MCe+VM zEnMo_75N74Dei53uZ5r4jAPNVm5oEaBNDm0$4(@6ucI6#BcS2gxZoC}eAlMpSU*H; zH_m&7f^BC6_P}>K#f!7kX@j9r6opMClo5KCg+zxq8MP$4haPZhSHZmmpGCCVJH6ku zLAaJ;FS~s;Dx|8SQDz)z+F_6R|5xE<+f_Wkv3_u>NUQh}V#{RDI-P}|GP|^=%GyH2 z*6T)9_STHkr^Z82tRa=Fnoz4~CKq)p3tWBBGgmiPmWKW9Ej zb;kKJPp+?d_~QRKA5i~fBfFDIMEYrdHoPhv_i6?ae@W@ti?!!1xA%am_i=b=LlQoE$2__+ZzcYSV$a`v-6&hdu(M!| z*5S5I-G;mrISeRGJ5B~C}!I?XdQx^kUG`5C4m>N5F-diPYHyJ9PxrU zr&0=NA%W#xl5M2Et3I2ortV789Z>lpFo$btpzcip(J1CoO|48#?a>4;keCRIKzhP$Mx~vlIbq! zX1lt_Zk}jvemScdIpK?8GbZvYHWkHY*6)h`4smEu5;rz9$BE%xC}NIAnl<=N`Xmz? zO$&UFtC?JVjSq;vmO=yjTUxW0GGkFfm-Fy9Yb$wweOnLnwsHwje_N%IwYJjG50=Y8 zCTa>S8RQ{+YN`{vMSLRll_(;LT*X-R84kO9Ac_ZJSh2t3CIvoFqMT+1m_`MzsAnt_V%I5j7bKZ;uKtb9%vz4`9&o?Z1rz5S*ZN04!KTVP-HP z2Z_VzArro9Fd>&Dk^5#_QVyAZ*I;^ZfenvCrrbT4l53YJ`Gdctz?B^FURKwr~=dx%OdgoaFrUmW|NG=LH!GW2g? zgO)Vr9i&>vmu$AFoTU9%?AXQ%dv9@b4+Vi+L74pSRuC4n&2!fkxD|xOx)p>4-3r2j zZUtdMw}P;sTR~XRtss`Q-qqrQ-I^{pmQU|PT};x%k5f~kM(NMHc}u6y3P>0$2SbUB zU%q|dTW(TH@Zq<-$2i$E{OA!o94G?vBVCd>H8uoOWcN~};a|#|4`Vt$j^>h9?1SFS zTr~{`AHLQttkdwwBOmeOLa`cBDThT9W<2%!!+*S~Y>efNsVrKlVC^XN0hANk>Q6bN ze0dqPevqcu%!6NeL;2CtRUfSoeI%xA>bLgZ^ieyNk%mhz|HXG>`4(%bl*c~kO&2_? z_6P6yKul?2gDrhwvpms0PA3n~q>x!rU$=`Nm86?#vxg;> zF$~XS7P0a*F(l=v&3buU(_KGZyp_29XlIl(Bc%;#F}j5RbF-S5pk{=Sh?vyQUVKY;WTJ^VD04`Q zP5Fxy!i|!;kwF-il^7=dY=vQ255ovX4AY#>de{}y2;g-Qvq9|2df1iquq#$U9_1Lo zF8t4x*cJ1}R26m!7nH3+u&jq*u^T@6N>d_NOk*D`^8jLHp+c;zhgdOId1}g2A(owd zp~MogVp~8gDIMYmkV^2M#Ec(4PUte+Ll@S3tTPQ=MkYoXoIfzRq#=wMtuST`=V{UA zxEKRpUWS8H5aOBof7W7zCOK4#T^9OKi$vXsJ}da-xC44V%llAU1<3A#Hyr&{hxYmp=s3zafBuI6(jQJV+bg@ot`7Ot)jqZo@FM6 z?4_`g*3DlEY)1G*nyDjEPGd#9Wcf0%BX!y*`TmG&l zSqY|o0(NesXr1d!58U~p@B`Q!^U^P3D=o7eYNsvM1T&s+>hHE{M#jxp!eiZ5&0^hF z&4Qx^Q1Jw`xeSizKZ(0+RW-M0tOe0zX}(E}`t9$-=Q0863=SP(tHa_9jTLl3YNdVqz{ z11y6c0K6UmxE=ts9ssZ&0IVJWs2w5!;eQ(jOFQ$wpeR?}1aw|r>4{a*A0 zJu9FM;hGdod=^=4D6db8P8z1ak--fWIlZ#K=Uw{&3eZL;~dRz#Zi@(;BLcWfGZ*bpYh z`^J;U`_7Yxee21?zW3x|=T1HB?5T&HKlQLPs2+9>)x*xBdf0hX4?C0UVdqjk>};xs zodSB;NuYhB4c~@@qOFvgDNowmThqB5mM!M@J z8@pJ@oVyquMc#f})R)O=Xs*(JgQOS<-KCUh^c}HV;N|)|hD!$#bY7 z9~f|amQ4T|EMdwqR5q%Ntt_h!n>8uR1=S{Hxt`ifxdz%xxdhrvxdPftxd7Trx&GNp zx%}Bnx%$~lx%fS!wTU|>eWs(61uryyY}xY{JQV^G4VomTtq6NQn8JhIlnFlIOJ)d? zqo8O{WZH2nBXo7ORFjsu1MX%*3J8{vqOTMIpj>*bVdcteFXh5(FXg&xFXggpFXgIh zFXf_ZFXftRFXfVJFXf8+jMlZ8JIj-2tV5|N+{!eY*lhh1sM-S)I}^BU3(d5J%%nt+ z;XGX~(wN!&)imry>8RYctUX-^GBzKRF&!&IWPl+@EBuXb|NLT}cr}*Jh&7RLwPR%+z z5Ar;o=K-EC;JKgYQ+Ud$*$a8f#^pskS&Fb_NzKOPG@i0;;S`&Z^e)eBymRo)Y+Rno zbDDQiQ#mgSJZ0l@0#DhvOz@P`vlsJZmUK?%DVvuwc*^DlTUWDrS;|v3FHhq+!&8gq zR-VkrFin3K@YE%i^Lfe(+G3vDh-aQlAv?}%0anN=1`?+S);4;ufvE>JIC>OZ?*Vl} z-z&Pv>OLN}JtzaIJIu0-m1B|Z2V$<0bk|O#QbQ7MPBdevJyDCHqI=Fnt}qWK3!7x9 zL2DhIUs$U~&;x0)YZJK|u~PeGH{AjLYd1mlm|<9W;*RL)gznxMgN&(mO(evA_>)W% z|vO0Avkw zQwmzs-E~H_uFlR4oJ0&g=PGAgVmdAb|Iwpw{8wXj2D5R&U*{aU5v?}QF)QGh#I1dR z9`CPb_6_n;L}JsTv4@+|P@J;^Og{%u%OYdmWiKnnm*&^x-E%C3>5Q8jyK9Sca6GRv zf!QT>>D%calYSJoCi77#`7&b0i?z;Z$+%bOFshxQxSm_HO8#s-vSECtUTm$_pvqG{ z6P)-vg$O-6YxsI1R!-e>Pfy~{fAbDPjGB|hxy72l+wPxMylI7prnj6NZrlyJKzX$B z(0y{i1%-ej^9|czf3nUdD&~V_4B^|d(3B$N$@;J-TZ*#joKlMfl&W*<2O66vruV#l z=bg7bm~L#}6@*DTCx)v%a8kI&1IxnOJ#ccE@xar=yF9Qw z-0Xp8gk2tZX4vh4-wPk~z_Y?_9(Z=R-2=}FdpvMTxW@yhhP@tmZn)0_&lAGV{xyVc zL_Q6SD1%F~$1_;?#o{~?Wvae(k7l)IywZ!Au7G8X&&4@A#yd%p4*bk|O?CHNS$ua9 zvI3m@V98@A=3E}%8|*(R6y5`Zem%T$JqUL09evw(mz8|vkDo~Xz*uT12Jo+SRuxN& zb9KOWm1xARceaY9n(<>1Rqk5xTJt#<3)|AZ3?wgO(m}mXCB1KGX;n#VAj$SQvYk#gX@&7AfYDgU|C~KZ8NFq?j?(u2 z#VKK!Jc@c2U8l}lm`#e6+rDC{=qhUtH~wBWky(9n>Ugp0=tEGgeVV*7B-GM1kzJkou59j<9r+F&nV^zZai+Tb)iR8W@_Grp49H_B0zF>W<8V3CTwL~z(Kc?20jF3pR@>LbQKG62vn@Q9l9 z#y#T6ot`e1F`gg2x2AOGg=_a{Ms0o7M667r8`aSEbV(o3P<||9e5UT^R!_HsP42~F$ z9kL;qc8ZN{Z(&Yg<>*&X%D5(JU#fk?YE^G)(}*n~?S#v&o&7IMMjA0!3s&RUM2jWj zV_%!z|0~)Qj_Yrcu*-p?UWSA3NsVSrq-z&#dGG+&4{k4N-t%QI8qHCgQ{%&>Ph9A%<)*XY2Os;| zWtk5xh52g)B|ecTwoEhXls;DW7iu`9&Cz}UBrp>)>EnH?f&V)^Z!9Z;-C6m?2sqS?o*8ZClfebVf4DIIIcr~L%=sWMjztO1-(?$PQ(ix(#@Ljtb3WkiOWg(f5z=wA0WHiL&8&rOGw#To z;3fOxAWiR=(`yae{@N60gv-uU47GT}Ds}?K69LRB+CRG@Y>{mGU?xyyFqrI-P-vOn zHa$0!ePGu05n!Qk*%0`R4%A|lmCwv#C5&79-L%0vhPCX}cq3@H@pa3yB3h*+Q)L#nUas@>MLi5XNl9Gc42~^h^si3H_dhU_6RvSx6q{ zo^2tfVDTIajS@P=LSuwZwa|E&N5iw?c`M2{%=U}i z{YdfNxbT(=Y)ctu%qO?JAW4lI4Bs)>l$4zp!ZGfOb$k+}Zt5qX&a+reM!P+6V$I(4W@se?{vY1Z~4*fzs^ zz&TqG*K@9*Dwq7Ti%x;kD&c`fuUVWeY4^?dw2BT3yGu%yM(&KU5!b>Y)*abbS6ygQ ziPVVE14;rqYpOdkAtgOHh`q24I=6LfNNw$(A0FG&;sV_d!2}TXLGc3C@EsnuUd6E0 z`kwY{hDdXmbW+7((p&xA_T7bj+C4FS^>-i0+kcntAd!LVt=0G+3%J~MS08L`WSBdz z$6z1lDZ-eNjXV?;1Kbi!$^yEKOc8mQ`4dOjiIw@B6yxY*m1G_Vhu;jxavT1xCq^wv z^)2Vy^?bX%uSk+v+@8L;F^kg`zxQNVolEwq01RQ}gcOQ1@jLyo@MgDX;Oy*pID|c> z7nqg47Ix0mSHV}MtEGr72axj1_A>P{-SLVDd_VK8#Aze#tVmManHc5`;-~}`Q5CmA z0-Givd1M;kMy$@2bg8B~IZw@5~o3B1uJ4bgwTXT5z+I zpf67(wr`$?r#VBqtmJ~rQqg9{zRGoBc$)P7_3#JWiIT&&a|NbcTPzdNT9)W0COye> z;rjL6c^Vy|BPA4(ClsNE1=Gn|>gO0AjyMeJD1J<{Uf_t0Bg$7EWsWq%8}8-<=*eLq zsSG3>+xz!;XVV;)kMqtZUJCiYy}MPcVEUWSklR=X0rD%Dsjc?sP?k`rHNBWOg}|Pl zrR~4jZPV_(O8Nm3LJ%Q=NYbbQDEG!5>o)r$7Jtq}o2>$JnV8eu>SRXmBRqoqcK)Vtl%{80V3&r^nl(UFqg0qM<+c^#8T+ zy{o?QKewFrC$)`59(8XAPeV;uh3mz+t&$SGCpZcEm!2N3J8xJ zC!~PCpUXSObnm^ii~K{C8(VeromFrc#*Pl@Y-VrLEY1JZz~?=QfA^_*INJ~qf{e)v zDji;o>6pslnu_iIVHBlYB8{5Hinf|V2yP^5e_fgiDGiw+RwCtT>Mg-*swMWrEtGE> zZ}zSRqzLJ}v!q`yyd*my6!F%<8fw(RXYE;`5nxMzHwY=v?v0QXw=c4DQ6-d?=39w* z7S;A*cBiu{=c`xWM`D)doFP9)tLO*O{M6(UjM=D0997_#rp99dZ3#3gT=B6MCw%2` z5k+jAv(H^wECfX1k0(R>OpYWi$)tnU`eZXJBRO z;$~`yA~Kj|Mj(4+h=3uN#tyN#NEb`JT*tzdkZX@4#YL#(ooOaL%Ze$1FX>@K7Z*=^ zQZ^noZ=4uEkB!|;RrLW0xRoYJmL*A=W(>?k+F3h+?x8i25m31nleX&d3AB1JzM1>V z&cgzD1m9Hrc|ng6Lfy8_`aza}Ypy_ajwdt9P+ydZ4jMNOk(I?l~_n)=tznu`6eG zzswq)n&q}8DBvJuRuspCs~F^SxDtou>-&9IF!rFiG~de&n^K4$6W;l;R=D$#^3sQ@ zvC={A&ul{rdX?tjFgu9F7<-6KdXceROE0>yp1tq2gDt|jZejQ6i0HkWc69BmtL=_; zYd#07f|AZTl%3^>Yi7l& zs+qnxpV)vBhBob-s}pnVdQRlR2*c#!oEPD)%H}uU)_{w>*)NdQm~Sc5(-W_KQMS5D zy!zKCeu=m+JMZojIyg8mdO~r{5)}OYj+@e>X@eR&qM7yPVA(y zL9BV_F*C>-*AYUm@ZuuhqBZWFIL8vkR+~r*=}_QQsj)IT)Fm7kV_CD3UZkW7z2Zff z8iS5~TY9hTrZ|gE$i7hL!F~!8T(YV#P&s-|W!3}PRu2SQJ&nLZIH(*k%kZsSs`Qz>4jaV6^|VnYULh+ke^(*H$fe20aY>Obo_0Lk#>V( z${GCI79)gWW?)=lZegs+ereQxX%f(8ZKVa+1`lQeeW^W>zUY$|Mwsq`Uc5XOgt;NtG;~zH4clP+#E| zm{`VI73}_XCAG5T4hNc6;N`Jst}klqi*)_s&KUfXs#!fYkH_dLGL{Wx?eApTzwhgd zd+2!z>@+$hm`BNBZ}@ntcnTnglk+_fz`uDxGNETyQ-n??k>UrNDd*Fv0*)70y6WvbdTaT(SM#;)eS_ZXNt6HEM|o z%>KcT(w%Y0|_ zADDIiWJnB;0$P(CS#WLfHSuwOpZNH&!t~*Oi~AR$VHR#jlZ7XO2cl@XKZ=$}nfF_; z6e)Kw4tmJOzvMF)@!d?d#RFcUDb(tiZGxk<`L# z4%Wq&ubr6xGU~C01Tg?Y{N9^eGGJo)@o33V%BbvYkG*DXrfq`vEmfHsdn@X9feT=$nqM0?c)+ATy zo^Z`)VHk{sW-<+jin8!Y;j+KQL0Ljz_s1C18iCg^V#t5|e&@#dc5Oo2JkW6{T`7+c zCf9hF;~I0TA(t-gu=UF=+-Z~-<551MoZ>$PZGBOHJkp)wzfJrL`{OmmWBM2L$7>45 zHjAgGHfgvpz@4w*)KkImY zS*Go>hncr5&;>0EShtvu2T?++xTv5=!%v7%c`;&v8F`@H0Yce|aPYe%PGs21+*2}+ zCYuPuG&uhJuzf@=jXjGosZtS|!0fwpv2^l43zYjn#EHRyK+4yc7$=DBze#1Vu|}(ToiFON6rc;V4Gsoe=w;FH4IYaAqd-w^U2sTxonwK4 zPvl&QjHpLcoVqQ&h)VT%Jbr}Tk9qe6+_}Bq_SmoJJy{2PZ&ersY;9)HWiIv=!2f(u zMNI^7ZAXSu!9ujO`R@w_rPj7bN zJARfuBT@#|T^Ro*Ym1i^YdA~Hn~}I5_tBuAX_Tx;q*Js9W%)n@>tpB=wC=}7f#R1U zK}I3|WtiH^bD2g87aHJ$tgB5sro4`1)*VzxC@^U+)~{9P%|!#BIjLmU*ab`#Igy4NulU zNS-|(`1K8i`l+3us}F*`qqyuFgjub8;E=5>23yH%t0=scMX!~Y(#k?pQDYz?=2$1a zN{Mvn-yss(EeG5%13K8i-*^IuXg>kulQRX8{A8Fslf;8RWkiSve=JXj8d6o67IyH* zPyXbbA5z7|C=>wOn|Ms%rLxm3n3T~j-8eCEa zdcos*K|dI4Y5iQR1^rm;Gh6#|%tCQJN*mF1AUTBVUiDTbr0p zFY`%No7j_BkUPXCiYnBuLd_~vt3qZTi?mal@M6$*&8tsLgVUjjzV#9Xa8o{UnF8#E zPyCevTmmxjCIv7-op`4L*qlt{$VD)H z?6%0gFVPOm_We_KBYf%7YVr z&e_J?=VPVPA>*||Lr+Oatg`T=K4>*t#-=*OF%*}5}JM>Y$4I0zez zf(ny5BdiJ9V;f>R59toK#yV^hFs&QW5D~>@VmHSTsC&VRtXm##&7+Z)Q4?fx=(GmW zrPDmT0>5iACS=cq$hx4GhYQw)8H?01f}0tOym#ZI`xzB@I*7g8Q%}_J*#!0x7&?0$ zceZs*UE3rH13IkbX9(dNmqHpC?YTo_K%>?Csg)kP5bY+pk^uDKuxyb)@fiX-M@8(E zu3op8Gf5#is{l=2x~`k7(~yQIv6sQ^!c1Gl?Nkmju=)&%M$1o!8&v&pxCQN~p^tzc z4Y$~_-n<^|1;OW%9E|jW!@Xd$7xXjXR+t|Nx1hDmYXhOm!t!1)>jjN0d0HW)=uq^J z@q49z3=0(4iCX|-jBW!10bshKvfTbs2%`KJpht=02K8A z2j8l40YK{k0P6w3>H&c20YK^j0O|q2=>dT00YK>i0OULNkt(|XYXFy95VUyWVhzWGk)Tn{voOei)&Jd*!Aq*(#X!~yCYDIm;%=e=d*pe2I;ts209Hyexx-w7eEINT1 z9olEh^@6}9Lfh^nAa(*J?g;hF(RALC)rDL$LCphSr|e#}u;;IFl8I06L~A%@r2!l6 z4eRve0#QxA0)hG_kXG|a+)&0fBpt?v3RInr)5una-ZFv6Nrk!vR13n?I?~cGMQKo` z!aN!Zu&27&6mxrsYklZ1DS=(U$!BeS$k6|Y`U+bGVd5>uTnNyobw%ch$QAS1cUsiG z6BMO%8_}qGD15)Q)q(C8!x%CmyQTjBli3K*r}D50JJ z=Db^(kO?v`rcf6tmg`n3V3`2GOt4lCfX%_8g2VJXtg1p*N#SwE-Qh%s(%+|Hhb$E$ zq|pL2D%y%LU$T~8DhXgr(Lal&SAN;mfRE+W?6i#nvUJK1Y+L7FZG1u&SAcPT+L5PLzg`->^<9L^)aJCBF!EH`gf9 zN)QDnXL=yB30?;%(*D?B74-`tFj@_mP|^FVDuj{GEb}55D9cP4WLG43M%|#b(>p4u zcfeP~IH;dZF5~oCxl(6gVN9rXj8`&SKCWB=Kgd}Olbjh%lSRtqOG9lo&`AN0z82jl z>zv|IKFG-7nwft{yc}y4#N6O)wLhv3>W_CYFFVM>#O8-Jp2tEzJwxKl|-U!?5o`nPhs80#P z9$;FM4aa|Gl=MEW9T^tr*(M_qcEyS)n$dC*jqqs2Rj5vE57)4=a>|cRa{9|Aex-1P z2*|s1Tu^PWMY!myh}lxH6XoG(n30mZ% zwcCp2;fifzN>K9{&_Z{B=hAmtMvS*?Obh_ha54@cMOXnbgew=}0#`P8sJy|O!h}D9 zN#sTtmy>Zd2G5qlv(53?0jW?ef>`^t4A1d-tC58LppKpo==q96c`7sOD1cL{0g&A0 zx+@!qY=+|}!SP?YE4h?NzN?t ziR9dF1{cS~$_I`|OGS2iVm}A(0{@cjH)@5`luKg#nip@s1KHnw0BC$vG=%2Ue`)hi znQn+llZ4!?G+g0u*AopRc9dqVcp_gJtDbimtxMLja8|kS;C#sjo%>=G)9}qZp90oX z1{YDkL8$R~9%{Fb|_cFrJs*W=s%)3$Gi$>>ESD`swlrZu+11~s>Ln4lE7@S@2N zcZbQc{}&S{fBUrUq#r*0q8I#+XMg{>kGycZW}Ui0m*4rx4f}?#`}k?wPygEuZ#?D` z>+U;kX8Y;2e|_7v*IxS-f-qp7?(~tR-aB@3@AVx!nV>Ib? z@@D#He)DnrH8ta8!2RPcqNDY2>_rgt_0p*^Y$~4|EQRaFIq8+K6aC_^&O37jd2$Qw zAq012rN+8+EQ%(G^Qw)dB)|7A{W+~@ELLI&t0&N92{bTW$I2YrXQbWhq(rVcqE_nU zmT%R18rd5bx{J_I>%|X$`Uth8ZXvY@*E&-Eo<969KOg(X3p2{u`u_CQ`@estu>ARN`m7rN z2)_LEt>Z7h`(DLf{NKNuFZjnVS*%TiPY_!bbm^NGr<% zkKX>Rr!jT6pMLhT*B*Vs^YT3ey~PJlo4JwJ6bTKlqKf3&lITDIy2(2sOxA7x`|odV zEbR2(s=3UMG`#=Yw?DxkZLEgCKv3I06FZTt*nWEBj~D*lQ~&15+h=a*CfCvQ3_`uQ z9&>!>v?A}NEoxQr7mzZ)V}b#jzTmREx*Dq+C_I_Dv6uXY8+xTA{n7n3wOXI4|NF5l zRy5p)f7Xw=cy`J3^g}|i3M7nZiJ;(Wgoe8J9}W9%xZwt^iwsZyfR=y-MI(qE8JRi% zageddE5x~dW~Q7qU|+d}9z3nLg2(pPD(w0XHLsWhLVbF41LA5vbK?wuddS^st%2G? zO84B3kw((~zzN+%cTvEFpNW{BDla-P+3W`>zO)5&FB1vWC&d#&wa$q>bOiUHn|&n3 zrakKJ=J0{W-K$K=G~61Xqjbi8q6dzzgt`qE@zcQkrWRZ`nF)ijrU@;?Ly6r6G(T+E<&TyZ zZEx6`!=Gp{LYCI+(?|>GZwBAHE$!D;rqWf?bfWDF7HeruKvd24c9OrnMDwKmGu4CG z+`hh!Scx|}xNaDC>(A7#jR4-ZxM>&--oc6uPl#oZDnavCZ@pcR&lno+*mZz$qzKj{ z&sHe*q~vS{ng|Z2D$PPk@z^BzJ-pNm$1jVkoT1c;%m}yNSUbvBXD_I)5H`B{3$ayE z&F?QnDyg!R-(Xqi{*=$9sK!wCJALSc^w17dH=~pPvm_m6$3#SLuO|Hbo1~^afZqB3WkG4M+l|V#b63>_m zLF&>0!$P9slim`%2D}J(b@)p&k#PAbFh%fgpsS~a`+ORkgs(yj#nz3n@N%%jXDEq2 zyE{ygX{W(HP)^Z66}gg|vZ#}iP;;5;*-YFlGy+cvCUZY1nl&7SDu-CmR6gD%iPNe= z_u{NOi&MZ9Rx}vjoxCC3xJVL=708Q9ywk9TAi#S= zMrhTrHKe76a67FULM7;<)DUUWG0o(NpEabVzq&+#!iwQ8_)SA(UZ*`Muc5{E5(O|I z!`=}5+*=!{8wNPhOCBT8Y7wa+pBw9jsr7K$dOYv(c@q04kjkVN)mNzZXLpAdcN
S9{4$}KtykioDc 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
+=>$3~? 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ⅅ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