From d28399b51aafde7e792b21b2fd8839015da3e0b3 Mon Sep 17 00:00:00 2001 From: birb Date: Sun, 13 Apr 2025 19:58:45 -0500 Subject: [PATCH] working SSB! --- package-lock.json | 45 +- package.json | 4 +- src/app.css | 2 +- src/app.html | 1 + src/lib/spectrogram.js | 530 + src/routes/+page.svelte | 553 +- static/encoderWorker.js | 4 +- static/libopus-encoder.js | 34698 ---------------------------- static/libopus-encoder.min.js | 27 - static/libopus-encoder.min.js.mem | Bin 51846 -> 0 bytes static/libopus-encoder.wasm.js | 1815 -- static/libopus-encoder.wasm.wasm | Bin 1123229 -> 0 bytes svelte.config.js | 11 +- 13 files changed, 1133 insertions(+), 36557 deletions(-) create mode 100644 src/lib/spectrogram.js delete mode 100644 static/libopus-encoder.js delete mode 100644 static/libopus-encoder.min.js delete mode 100644 static/libopus-encoder.min.js.mem delete mode 100644 static/libopus-encoder.wasm.js delete mode 100644 static/libopus-encoder.wasm.wasm diff --git a/package-lock.json b/package-lock.json index 706a992..70b9945 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,11 @@ "dependencies": { "buffer": "^6.0.3", "extend": "^3.0.2", + "file-saver": "^2.0.5", "opus-decoder": "^0.7.7", "readable-stream": "^4.7.0", - "socket.io-client": "^4.8.1" + "socket.io-client": "^4.8.1", + "tcadif": "^2.2.0" }, "devDependencies": { "@sveltejs/adapter-static": "^3.0.8", @@ -1290,6 +1292,18 @@ "node": ">= 0.6" } }, + "node_modules/csv-parse": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.6.0.tgz", + "integrity": "sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==", + "license": "MIT" + }, + "node_modules/csv-stringify": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-6.5.2.tgz", + "integrity": "sha512-RFPahj0sXcmUyjrObAK+DOWtMvMIFV328n4qZJhgX3x2RqkQgOTU2mCUmiFR0CzM6AzChlRSUErjiJeEt8BaQA==", + "license": "MIT" + }, "node_modules/daisyui": { "version": "5.0.17", "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-5.0.17.tgz", @@ -1480,6 +1494,12 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -1819,6 +1839,15 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -2167,6 +2196,20 @@ "node": ">=6" } }, + "node_modules/tcadif": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tcadif/-/tcadif-2.2.0.tgz", + "integrity": "sha512-20UPYtzjBH7NagwNzBtBwJ7PIHnZwjJSPx9UhxGfkzkgUC+iAWRZzH3pJW/7nut37r3ofIMDQtw+UV4BQigylA==", + "license": "MIT", + "dependencies": { + "csv-parse": "^5.5.3", + "csv-stringify": "^6.4.5", + "moment": "^2.29.4" + }, + "bin": { + "tcadif": "bin/tcadif.js" + } + }, "node_modules/totalist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", diff --git a/package.json b/package.json index 1fbc307..11f89ff 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,10 @@ "dependencies": { "buffer": "^6.0.3", "extend": "^3.0.2", + "file-saver": "^2.0.5", "opus-decoder": "^0.7.7", "readable-stream": "^4.7.0", - "socket.io-client": "^4.8.1" + "socket.io-client": "^4.8.1", + "tcadif": "^2.2.0" } } diff --git a/src/app.css b/src/app.css index eb8a800..56b2480 100644 --- a/src/app.css +++ b/src/app.css @@ -4,4 +4,4 @@ @theme { --font-sans: "Inter", system-ui, "Roboto", sans-serif; --font-mono: "IBM Plex Mono", SFMono-Regular, monospace; -} +} \ No newline at end of file diff --git a/src/app.html b/src/app.html index 5f534fb..ec534e3 100644 --- a/src/app.html +++ b/src/app.html @@ -17,6 +17,7 @@ rel="stylesheet" /> + remoteham %sveltekit.head% diff --git a/src/lib/spectrogram.js b/src/lib/spectrogram.js new file mode 100644 index 0000000..db74e7d --- /dev/null +++ b/src/lib/spectrogram.js @@ -0,0 +1,530 @@ +// acquired from https://www.arc.id.au/Spectrogram.html + +/*================================================================= + Filename: Spectrogram-2v01.js + Rev: 2 + By: Dr A.R.Collins + Description: JavaScript graphics functions to draw Spectrograms. + + Date Description By + -------|----------------------------------------------------|--- + 12Nov18 First beta ARC + 17Nov18 Added offset into data buffer ARC + 08May19 this.imageURL URL added + bugfix: fixed isNaN test + Changed sgStart, sgStop to start, stop + Added options object to constructors ARC + 10May19 Enabled Left to Right as well as Top to Bottom ARC + 11May19 Added RasterscanSVG ARC + 12May19 Added blankline for horizontal raster scans ARC + 13May19 Eliminated unnecessary putImageData ARC + 14May19 Removed toDataURL, not used drawImage is better + bugfix: SVG RHC names swapped ARC + 02Jun19 bugfix: startOfs not honored in horizontalNewLine ARC + 03Jun19 Flipped the SVG and RHC names for waterfalls ARC + 04Jun19 Unflip SVG and RHC for horizontal mode ARC + Swap "SVG" & "RHC" strings to match fn names ARC + 05Jun19 bugfix: WaterfallSVG scrolling wrong way ARC + 10Jun19 bugfix: support lineRate=0 for static display + bugfix: ipBufPtr must be a ptr to a ptr ARC + 11Jun19 Make ipBuffers an Array of Arrays, if lineRate=0 + use all buffers else use only ipBuffer[0] ARC + 13Jun19 Use Waterfall and Rasterscan plus direction + Use Boolean rather than string compare ARC + 16Jun19 Use const and let ARC + 20Jun19 Change order of parameters ARC + 21Jun19 Add setLineRate method ARC + 06Jul19 Released as Rev 1v00 ARC + 25Jul21 Refactor using class, arrow functions etc + Added RasterImage object + Use object.buffer as input not array of arrays ARC + 25Jul21 Released as Rev 2v00 ARC + =================================================================*/ + + export var Waterfall, Rasterscan, RasterImage; + + (function(){ + class Spectrogram { + constructor(ipObj, w, h, sgMode, rhc, vert, options) { + const opt = (typeof options === 'object')? options: {}; // avoid undeclared object errors + const pxPerLine = w || 200; + const lines = h || 200; + const lineBuf = new ArrayBuffer(pxPerLine * 4); // 1 line + const lineBuf8 = new Uint8ClampedArray(lineBuf); + const lineImgData = new ImageData(lineBuf8, pxPerLine, 1); // 1 line of canvas pixels + const blankBuf = new ArrayBuffer(pxPerLine * 4); // 1 line + const blankBuf8 = new Uint8ClampedArray(blankBuf); + const blankImgData = new ImageData(blankBuf8, pxPerLine, 1); // 1 line of canvas pixels + const clearBuf = new ArrayBuffer(pxPerLine * lines * 4); // fills with 0s ie. rgba 0,0,0,0 = transparent + const clearBuf8 = new Uint8ClampedArray(clearBuf); + let offScreenCtx; // offscreen canvas drawing context + let clearImgData; + let lineRate = 30; // requested line rate for dynamic waterfalls + let interval = 0; // msec + let startOfs = 0; + let nextLine = 0; + let timerID = null; + let running = false; + let sgTime = 0; + let sgStartTime = 0; + + // Matlab Jet ref: stackoverflow.com grayscale-to-red-green-blue-matlab-jet-color-scale + let colMap = [[ 0, 0, 128, 255], [ 0, 0, 131, 255], [ 0, 0, 135, 255], [ 0, 0, 139, 255], + [ 0, 0, 143, 255], [ 0, 0, 147, 255], [ 0, 0, 151, 255], [ 0, 0, 155, 255], + [ 0, 0, 159, 255], [ 0, 0, 163, 255], [ 0, 0, 167, 255], [ 0, 0, 171, 255], + [ 0, 0, 175, 255], [ 0, 0, 179, 255], [ 0, 0, 183, 255], [ 0, 0, 187, 255], + [ 0, 0, 191, 255], [ 0, 0, 195, 255], [ 0, 0, 199, 255], [ 0, 0, 203, 255], + [ 0, 0, 207, 255], [ 0, 0, 211, 255], [ 0, 0, 215, 255], [ 0, 0, 219, 255], + [ 0, 0, 223, 255], [ 0, 0, 227, 255], [ 0, 0, 231, 255], [ 0, 0, 235, 255], + [ 0, 0, 239, 255], [ 0, 0, 243, 255], [ 0, 0, 247, 255], [ 0, 0, 251, 255], + [ 0, 0, 255, 255], [ 0, 4, 255, 255], [ 0, 8, 255, 255], [ 0, 12, 255, 255], + [ 0, 16, 255, 255], [ 0, 20, 255, 255], [ 0, 24, 255, 255], [ 0, 28, 255, 255], + [ 0, 32, 255, 255], [ 0, 36, 255, 255], [ 0, 40, 255, 255], [ 0, 44, 255, 255], + [ 0, 48, 255, 255], [ 0, 52, 255, 255], [ 0, 56, 255, 255], [ 0, 60, 255, 255], + [ 0, 64, 255, 255], [ 0, 68, 255, 255], [ 0, 72, 255, 255], [ 0, 76, 255, 255], + [ 0, 80, 255, 255], [ 0, 84, 255, 255], [ 0, 88, 255, 255], [ 0, 92, 255, 255], + [ 0, 96, 255, 255], [ 0, 100, 255, 255], [ 0, 104, 255, 255], [ 0, 108, 255, 255], + [ 0, 112, 255, 255], [ 0, 116, 255, 255], [ 0, 120, 255, 255], [ 0, 124, 255, 255], + [ 0, 128, 255, 255], [ 0, 131, 255, 255], [ 0, 135, 255, 255], [ 0, 139, 255, 255], + [ 0, 143, 255, 255], [ 0, 147, 255, 255], [ 0, 151, 255, 255], [ 0, 155, 255, 255], + [ 0, 159, 255, 255], [ 0, 163, 255, 255], [ 0, 167, 255, 255], [ 0, 171, 255, 255], + [ 0, 175, 255, 255], [ 0, 179, 255, 255], [ 0, 183, 255, 255], [ 0, 187, 255, 255], + [ 0, 191, 255, 255], [ 0, 195, 255, 255], [ 0, 199, 255, 255], [ 0, 203, 255, 255], + [ 0, 207, 255, 255], [ 0, 211, 255, 255], [ 0, 215, 255, 255], [ 0, 219, 255, 255], + [ 0, 223, 255, 255], [ 0, 227, 255, 255], [ 0, 231, 255, 255], [ 0, 235, 255, 255], + [ 0, 239, 255, 255], [ 0, 243, 255, 255], [ 0, 247, 255, 255], [ 0, 251, 255, 255], + [ 0, 255, 255, 255], [ 4, 255, 251, 255], [ 8, 255, 247, 255], [ 12, 255, 243, 255], + [ 16, 255, 239, 255], [ 20, 255, 235, 255], [ 24, 255, 231, 255], [ 28, 255, 227, 255], + [ 32, 255, 223, 255], [ 36, 255, 219, 255], [ 40, 255, 215, 255], [ 44, 255, 211, 255], + [ 48, 255, 207, 255], [ 52, 255, 203, 255], [ 56, 255, 199, 255], [ 60, 255, 195, 255], + [ 64, 255, 191, 255], [ 68, 255, 187, 255], [ 72, 255, 183, 255], [ 76, 255, 179, 255], + [ 80, 255, 175, 255], [ 84, 255, 171, 255], [ 88, 255, 167, 255], [ 92, 255, 163, 255], + [ 96, 255, 159, 255], [100, 255, 155, 255], [104, 255, 151, 255], [108, 255, 147, 255], + [112, 255, 143, 255], [116, 255, 139, 255], [120, 255, 135, 255], [124, 255, 131, 255], + [128, 255, 128, 255], [131, 255, 124, 255], [135, 255, 120, 255], [139, 255, 116, 255], + [143, 255, 112, 255], [147, 255, 108, 255], [151, 255, 104, 255], [155, 255, 100, 255], + [159, 255, 96, 255], [163, 255, 92, 255], [167, 255, 88, 255], [171, 255, 84, 255], + [175, 255, 80, 255], [179, 255, 76, 255], [183, 255, 72, 255], [187, 255, 68, 255], + [191, 255, 64, 255], [195, 255, 60, 255], [199, 255, 56, 255], [203, 255, 52, 255], + [207, 255, 48, 255], [211, 255, 44, 255], [215, 255, 40, 255], [219, 255, 36, 255], + [223, 255, 32, 255], [227, 255, 28, 255], [231, 255, 24, 255], [235, 255, 20, 255], + [239, 255, 16, 255], [243, 255, 12, 255], [247, 255, 8, 255], [251, 255, 4, 255], + [255, 255, 0, 255], [255, 251, 0, 255], [255, 247, 0, 255], [255, 243, 0, 255], + [255, 239, 0, 255], [255, 235, 0, 255], [255, 231, 0, 255], [255, 227, 0, 255], + [255, 223, 0, 255], [255, 219, 0, 255], [255, 215, 0, 255], [255, 211, 0, 255], + [255, 207, 0, 255], [255, 203, 0, 255], [255, 199, 0, 255], [255, 195, 0, 255], + [255, 191, 0, 255], [255, 187, 0, 255], [255, 183, 0, 255], [255, 179, 0, 255], + [255, 175, 0, 255], [255, 171, 0, 255], [255, 167, 0, 255], [255, 163, 0, 255], + [255, 159, 0, 255], [255, 155, 0, 255], [255, 151, 0, 255], [255, 147, 0, 255], + [255, 143, 0, 255], [255, 139, 0, 255], [255, 135, 0, 255], [255, 131, 0, 255], + [255, 128, 0, 255], [255, 124, 0, 255], [255, 120, 0, 255], [255, 116, 0, 255], + [255, 112, 0, 255], [255, 108, 0, 255], [255, 104, 0, 255], [255, 100, 0, 255], + [255, 96, 0, 255], [255, 92, 0, 255], [255, 88, 0, 255], [255, 84, 0, 255], + [255, 80, 0, 255], [255, 76, 0, 255], [255, 72, 0, 255], [255, 68, 0, 255], + [255, 64, 0, 255], [255, 60, 0, 255], [255, 56, 0, 255], [255, 52, 0, 255], + [255, 48, 0, 255], [255, 44, 0, 255], [255, 40, 0, 255], [255, 36, 0, 255], + [255, 32, 0, 255], [255, 28, 0, 255], [255, 24, 0, 255], [255, 20, 0, 255], + [255, 16, 0, 255], [255, 12, 0, 255], [255, 8, 0, 255], [255, 4, 0, 255], + [255, 0, 0, 255], [251, 0, 0, 255], [247, 0, 0, 255], [243, 0, 0, 255], + [239, 0, 0, 255], [235, 0, 0, 255], [231, 0, 0, 255], [227, 0, 0, 255], + [223, 0, 0, 255], [219, 0, 0, 255], [215, 0, 0, 255], [211, 0, 0, 255], + [207, 0, 0, 255], [203, 0, 0, 255], [199, 0, 0, 255], [195, 0, 0, 255], + [191, 0, 0, 255], [187, 0, 0, 255], [183, 0, 0, 255], [179, 0, 0, 255], + [175, 0, 0, 255], [171, 0, 0, 255], [167, 0, 0, 255], [163, 0, 0, 255], + [159, 0, 0, 255], [155, 0, 0, 255], [151, 0, 0, 255], [147, 0, 0, 255], + [143, 0, 0, 255], [139, 0, 0, 255], [135, 0, 0, 255], [131, 0, 0, 255], + [ 0, 0, 0, 0]]; + + const incrLine = ()=> + { + if ((vert && !rhc) || (!vert && rhc)) + { + nextLine++; + if (nextLine >= lines) + { + nextLine = 0; + } + } + else + { + nextLine--; + if (nextLine < 0) + { + nextLine = lines-1; + } + } + } + + const updateWaterfall = ()=> // update dynamic waterfalls at a fixed rate + { + let sgDiff; + + // grab latest line of data, write it to off screen buffer, inc 'nextLine' + this.newLine(); + // loop to write data data at the desired rate, data is being updated asynchronously + // ref for accurate timeout: http://www.sitepoint.com/creating-accurate-timers-in-javascript + sgTime += interval; + sgDiff = (Date.now() - sgStartTime) - sgTime; + if (running) + { + timerID = setTimeout(updateWaterfall, interval - sgDiff); + } + } + + const setProperty = (propertyName, value)=> + { + if ((typeof propertyName !== "string")||(value === undefined)) // null is OK, forces default + { + return; + } + switch (propertyName.toLowerCase()) + { + case "linerate": + this.setLineRate(value); // setLine does checks for number etc + break; + case "startbin": + if (!isNaN(value) && value > 0) + { + startOfs = value; + } + break; + case "onscreenparentid": + if (typeof value === "string" && document.getElementById(value)) + { + demoCvsId = value; + } + break; + case "colormap": + if (Array.isArray(value) && Array.isArray(value[0]) && value[0].length == 4) + { + colMap = value; // value must be an array of 4 element arrays to get here + if (colMap.length<256) // fill out the remaining colors with last color + { + for (let i=colMap.length; i<256; i++) + { + colMap[i] = colMap[colMap.length-1]; + } + } + } + break; + default: + break; + } + } + + const verticalNewLine = ()=> + { + let tmpImgData, ipBuf8; + + if (sgMode == "WF") + { + if (rhc) + { + // shift the current display down 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(0, 0, pxPerLine, lines-1); + offScreenCtx.putImageData(tmpImgData, 0, 1); + } + else + { + // shift the current display up 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(0, 1, pxPerLine, lines-1); + offScreenCtx.putImageData(tmpImgData, 0, 0); + } + } + ipBuf8 = Uint8ClampedArray.from(ipObj.buffer); + for (let sigVal, rgba, opIdx = 0, ipIdx = startOfs; ipIdx < pxPerLine+startOfs; opIdx += 4, ipIdx++) + { + sigVal = ipBuf8[ipIdx] || 0; // if input line too short add zeros + rgba = colMap[sigVal]; // array of rgba values + // byte reverse so number aa bb gg rr + lineBuf8[opIdx] = rgba[0]; // red + lineBuf8[opIdx+1] = rgba[1]; // green + lineBuf8[opIdx+2] = rgba[2]; // blue + lineBuf8[opIdx+3] = rgba[3]; // alpha + } + offScreenCtx.putImageData(lineImgData, 0, nextLine); + if (sgMode === "RS") + { + incrLine(); + // if not static draw a white line in front of the current line to indicate new data point + if (lineRate) + { + offScreenCtx.putImageData(blankImgData, 0, nextLine); + } + } + } + + const horizontalNewLine = ()=> + { + let tmpImgData, ipBuf8; + + if (sgMode == "WF") + { + if (rhc) + { + // shift the current display right 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(0, 0, lines-1, pxPerLine); + offScreenCtx.putImageData(tmpImgData, 1, 0); + } + else + { + // shift the current display left 1 line, oldest line drops off + tmpImgData = offScreenCtx.getImageData(1, 0, lines-1, pxPerLine); + offScreenCtx.putImageData(tmpImgData, 0, 0); + } + } + // refresh the page image (it was just shifted) + const pageImgData = offScreenCtx.getImageData(0, 0, lines, pxPerLine); + if (ipObj.buffer.constructor !== Uint8Array) + { + ipBuf8 = Uint8ClampedArray.from(ipObj.buffer); // clamp input values to 0..255 range + } + else + { + ipBuf8 = ipObj.buffer; // conversion already done + } + + for (let sigVal, rgba, opIdx, ipIdx=0; ipIdx < pxPerLine; ipIdx++) + { + sigVal = ipBuf8[ipIdx+startOfs] || 0; // if input line too short add zeros + rgba = colMap[sigVal]; // array of rgba values + opIdx = 4*((pxPerLine-ipIdx-1)*lines+nextLine); + // byte reverse so number aa bb gg rr + pageImgData.data[opIdx] = rgba[0]; // red + pageImgData.data[opIdx+1] = rgba[1]; // green + pageImgData.data[opIdx+2] = rgba[2]; // blue + pageImgData.data[opIdx+3] = rgba[3]; // alpha + } + if (sgMode === "RS") + { + incrLine(); + // if not draw a white line in front of the current line to indicate new data point + if (lineRate) + { + for (let j=0; j < pxPerLine; j++) + { + let opIdx; + if (rhc) + { + opIdx = 4*(j*lines+nextLine); + } + else + { + opIdx = 4*((pxPerLine-j-1)*lines+nextLine); + } + // byte reverse so number aa bb gg rr + pageImgData.data[opIdx] = 255; // red + pageImgData.data[opIdx+1] = 255; // green + pageImgData.data[opIdx+2] = 255; // blue + pageImgData.data[opIdx+3] = 255; // alpha + } + } + } + offScreenCtx.putImageData(pageImgData, 0, 0); + } + + const createOffScreenCanvas = ()=> + { + const cvs = document.createElement("canvas"); + if (vert) + { + cvs.setAttribute('width', pxPerLine); // reset canvas pixels width + cvs.setAttribute('height', lines); // don't use style for this + clearImgData = new ImageData(clearBuf8, pxPerLine, lines); + } + else // data written in columns + { + cvs.setAttribute('width', lines); // reset canvas pixels width + cvs.setAttribute('height', pxPerLine); // don't use style for this + clearImgData = new ImageData(clearBuf8, lines, pxPerLine); + } + offScreenCtx = cvs.getContext("2d"); + + return cvs; + } + + // ===== now make the exposed properties and methods =============== + + this.newLine = (vert)? verticalNewLine: horizontalNewLine; // function pointers + + this.offScreenCvs = createOffScreenCanvas(); + + this.setLineRate = function sgSetLineRate(newRate) + { + if (isNaN(newRate) || newRate > 50 || newRate < 0) + { + console.error("invalid line rate [0 <= lineRate < 50 lines/sec]"); + // don't change the lineRate; + } + else if (newRate === 0) // static (one pass) raster + { + lineRate = 0; + } + else + { + lineRate = newRate; + interval = 1000/lineRate; // msec + } + }; + + this.clear = function() + { + offScreenCtx.putImageData(clearImgData, 0, 0); + }; + + this.start = function() + { + sgStartTime = Date.now(); + sgTime = 0; + running = true; + updateWaterfall(); // start the update loop + }; + + this.stop = function() + { + running = false; + if (timerID) + { + clearTimeout(timerID); + } + // reset where the next line is to be written + if (sgMode === "RS") + { + if (vert) + { + nextLine = (rhc)? lines-1 : 0; + } + else + { + nextLine = (rhc)? 0 : lines-1; + } + } + else // WF + { + nextLine = (rhc)? 0 : lines-1; + } + }; + + //===== set all the options ================ + for (let prop in opt) + { + // check that this is opt's own property, not inherited from prototype + if (opt.hasOwnProperty(prop)) + { + setProperty(prop, opt[prop]); + } + } + + // make a white line, it will show the input line for RS displays + blankBuf8.fill(255); + // make a full canvas of the color map 0 values + for (let i=0; i // deps - import BufferQueueNode from "$lib/queue"; + import saveAs from "file-saver"; import { untrack } from "svelte"; import io from "socket.io-client"; + import ADIF from "tcadif/lib/ADIF"; import { fade } from "svelte/transition"; + import BufferQueueNode from "$lib/queue"; import { OpusDecoder } from "opus-decoder"; + import { Waterfall } from "$lib/spectrogram"; function clamp(val, min, max) { return Math.min(Math.max(val, min), max); @@ -14,6 +17,12 @@ return arr.reduce((prev, cur) => prev + cur, 0) / arr.length; } + const modes = { + voice: "Voice", + ft8: "FT8", + psk31: "PSK31", + }; + // state vars let status = $state("disconnected"); let remoteState = $state(); @@ -22,8 +31,13 @@ let dbm = $state(0); let dbmList = $state([0]); let pwr = $state(0); - let swr = $state(0); + let swrList = $state([0]); + let swr = $derived(avg(swrList)); let context = $state(); + let micGain = $state(1); + let outputGain = $state(1); + let micLevel = $state(0); + let clipping = $state(false); let recorder; let sunits = $derived.by(() => { let average = avg(dbmList); @@ -34,6 +48,33 @@ } }); let socket; + let canvas; + let bands = $state([]); + let currentBand = $derived.by(() => { + try { + let bandKeys = Object.keys(bands); + let bandValues = Object.values(bands); + return bandKeys[ + bandValues.indexOf( + bandValues.find( + (band) => + band.edges[0] <= remoteState.frequency && + band.edges[1] > remoteState.frequency + ) + ) + ]; + } catch { + return ""; + } + }); + let clubName = $state(""); + let clubEmail = $state(""); + let logbook = $state([]); + let outputGainNode; + let logCallsign = $state(""); + let logTime = $state(""); + let logRstTx = $state(""); + let logRstRx = $state(""); async function enableMic() { recorder = new Recorder({ @@ -49,9 +90,24 @@ context = new AudioContext({ sampleRate: 48000 }); } + // when output gain is changed + $effect(() => { + let gainNode = untrack(() => outputGainNode); + let gain = outputGain; + if (gainNode) gainNode.gain.value = gain; + }); + + // when mic gain is changed + $effect(() => { + let leRecorder = untrack(() => recorder); + let gain = micGain; + if (leRecorder) leRecorder.setRecordingGain(gain); + }); + // when the file is uploaded we do the thing $effect(async () => { if (files && files.length > 0) { + console.log("connecting :3"); status = "connecting"; let rawKey = await files[0].text(); try { @@ -65,11 +121,20 @@ let queueNode = new BufferQueueNode({ audioContext: context, }); - queueNode.connect(context.destination); + outputGainNode = new GainNode(context); + queueNode.connect(outputGainNode); + outputGainNode.connect(context.destination); + // temporary workaround to keep latency from getting too bad, need more empirical testing though + setInterval(() => { + queueNode.disconnect(outputGainNode); + queueNode = new BufferQueueNode({ + audioContext: context, + }); + queueNode.connect(outputGainNode); + }, 120 * 1000); socket = io(json.url); window.socket = socket; socket.on("connect", () => { - status = "connected"; socket.emit("auth", rawKey); }); socket.on("disconnect", () => { @@ -79,7 +144,7 @@ remoteState = state; }); socket.on("dbm", (d) => { - dbm = Math.min(d, -33); + dbm = clamp(d, -121, -33); dbmList.push(dbm); if (dbmList.length > 25) dbmList.shift(); }); @@ -87,7 +152,8 @@ pwr = p; }); socket.on("swr", (s) => { - swr = s; + swrList.push(swr); + if (swrList.length > 10) swrList.shift(); }); socket.on("audio", (chunk) => { queueNode._write( @@ -97,6 +163,37 @@ () => {} ); }); + socket.on("login", (info) => { + bands = info.bands; + clubName = info.clubName; + clubEmail = info.clubEmail; + socket.emit("getLogbook"); + status = "connected"; + }); + socket.on("logbook", (logs) => { + logbook = logs; + }); + socket.on("error", (err) => errors.unshift(err)); + // i'm actually not sure we need to do this but meh + let untrackedRecorder = untrack(() => recorder); + let scriptNode = + untrackedRecorder.audioContext.createScriptProcessor( + 4096, + 1, + 0 + ); + scriptNode.addEventListener("audioprocess", (e) => { + let data = e.inputBuffer.getChannelData(0); + clipping = false; + for (let i = 0; i < data.length; i++) { + if (Math.abs(data[i]) >= 1) { + clipping = true; + break; + } + } + micLevel = Math.min(avg(data.map((x) => Math.abs(x))), 1); + }); + untrackedRecorder.recordingGainNode.connect(scriptNode); } catch (e) { console.log(e); errors.unshift("Invalid key!"); @@ -105,6 +202,32 @@ } } }); + + // submit entry function + function submitEntry() { + if ( + logCallsign.length === 0 || + logRstRx.length === 0 || + logRstTx.length === 0 || + logTime.length === 0 || + !/^[0-9]{1,2}:[0-9]{2}$/.test(logTime) + ) + return; + let date = new Date(); + socket.emit("newEntry", { + TIME_ON: logTime.replace(":", "").padStart(4, "0").padEnd(6, "0"), + CALL: logCallsign.toUpperCase(), + MODE: "SSB", + QSO_DATE: `${date.getUTCFullYear()}${date.getUTCMonth().toString().padStart(2, "0")}${date.getUTCDate().toString().padStart(2, "0")}`, + RST_RCVD: logRstRx, + RST_SENT: logRstTx, + FREQ: (remoteState.frequency / 100000).toString(), + }); + logTime = ""; + logCallsign = ""; + logRstRx = ""; + logRstTx = ""; + } {#if status === "disconnected"} @@ -113,7 +236,7 @@ >

freeremote

{#if context} -

Please upload your key below to access your remote station.

+

Please upload your key below to access your remote station.

{:else} -

{remoteState?.frequency}

-

{dbm}

-

{sunits}

+
+ + {#if remoteState?.mode === "voice"} +
+
+
+
+
+
+ +
+
+ +
+
+ {#each [7, 6, 5, 4, 3, 2, 1] as i} +

{ + e.preventDefault(); + if (e.deltaY < 0) { + socket.emit( + "frequency", + remoteState.frequency + + 10 ** (i - 1) + ); + } else { + socket.emit( + "frequency", + remoteState.frequency - + 10 ** (i - 1) + ); + } + }} + > + {(() => { + let digit = Math.floor( + (remoteState?.frequency % + 10 ** i) / + 10 ** (i - 1) + ); + if (isNaN(digit)) return 0; + else return digit; + })()} +

+ {#if i === 3} +

.

+ {/if} + {/each} +
+
+
+
+ + + + + + + + + + + + + + + + + + + +
+ + +
+

{sunits}

+
+
+ + +
+

{pwr}W

+
+
+ + +
+

+ {(() => { + if (swr > 50) + return "∞"; + else + return ( + 1 + + Math.floor( + (swr / 11) * + 0.5 * + 10 + ) / + 10 + ); + })()}:1 +

+
+
+ + +
+

Mic

+
+
+
+
+
+

Output gain

+
+ +
+ | + | + | + | +
+
+ Muted + 100% + 200% + 300% +
+
+

Mic gain

+
+ +
+ | + | + | + | +
+
+ Muted + 100% + 200% + 300% +
+
+
+
+
+
+
+

Logbook

+ +
+
+
+ +
+ + +
+ + +
+
+ +
+
+ {#if logbook.length === 0} +
+

No entries found.

+
+ {:else} +
+ + + + + + + + + + + + + + + {#each logbook as entry, i} + + + + + + + + + + + {/each} + +
CallsignModeFreq (MHz)RST (sent)RST (rcvd)Date (UTC)Time (UTC)Delete
{entry.CALL}{entry.MODE}{entry.FREQ}{entry.RST_SENT}{entry.RST_RCVD}{entry.QSO_DATE}{entry.TIME_ON} + +
+
+ {/if} +
+
+
+
+ +
+ {/if} +
+ {/if}
diff --git a/static/encoderWorker.js b/static/encoderWorker.js index 3ec1dc1..157f6f8 100644 --- a/static/encoderWorker.js +++ b/static/encoderWorker.js @@ -3,10 +3,10 @@ var OggOpusEncoder, OpusEncoderLib; if(typeof require === 'function'){ - OpusEncoderLib = require('./libopus-encoder.js'); + OpusEncoderLib = require('./libopus-encoder.wasm.min.js'); OggOpusEncoder = require('./oggOpusEncoder.js').OggOpusEncoder; } else if (typeof importScripts === "function") { - importScripts('./libopus-encoder.js'); + importScripts('./libopus-encoder.wasm.min.js'); importScripts('./oggOpusEncoder.js'); } diff --git a/static/libopus-encoder.js b/static/libopus-encoder.js deleted file mode 100644 index 74d5e17..0000000 --- a/static/libopus-encoder.js +++ /dev/null @@ -1,34698 +0,0 @@ - - -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module !== 'undefined' ? Module : {}; - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - -(function (root, factory, globalExport) { - - var lib, env; - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['require'], function (req) { - lib = factory(root, req); - return lib; - }); - } else if (typeof module === 'object' && module.exports) { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - - // use process.env (if available) for reading Opus environment settings: - env = typeof process !== 'undefined' && process && process.env? process.env : root; - lib = factory(env, module.require); - module.exports = lib; - } else { - // Browser globals - lib = factory(root); - root[globalExport] = lib; - } - -}(typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this, function (global, require) { -'use strict'; - -var Module = {}; -Module['isReady'] = false; -Module['onready'] = null; -Module['onRuntimeInitialized'] = function(){ - Module['isReady'] = true; - if(Module['onready']) setTimeout(Module['onready'], 0); -}; - -if(global && global.OPUS_SCRIPT_LOCATION){ - Module['locateFile'] = function(fileName){ - var path = global.OPUS_SCRIPT_LOCATION || ''; - if(path[fileName]) return path[fileName]; - path += path && !/\/$/.test(path)? '/' : ''; - return path + fileName; - }; -} - - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -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; -}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; -ENVIRONMENT_IS_WEB = typeof window === 'object'; -ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; -ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var read_, - readAsync, - readBinary, - setWindowTitle; - -var nodeFS; -var nodePath; - -if (ENVIRONMENT_IS_NODE) { - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require('path').dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - -// include: node_shell_read.js - - -read_ = function shell_read(filename, binary) { - var ret = tryParseAsDataURI(filename); - if (ret) { - return binary ? ret : ret.toString(); - } - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); -}; - -readBinary = function readBinary(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; -}; - -// end include: node_shell_read.js - 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) { - // suppress ExitStatus exceptions from showing an error - 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) { - var data = tryParseAsDataURI(f); - if (data) { - return intArrayToString(data); - } - return read(f); - }; - } - - readBinary = function readBinary(f) { - var data; - data = tryParseAsDataURI(f); - if (data) { - return 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') { - // Prefer to use print/printErr where they exist, as they usually work better. - if (typeof console === 'undefined') console = /** @type{!Console} */({}); - console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); - console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); - } - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document !== 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); - } else { - scriptDirectory = ''; - } - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { - -// include: web_or_worker_shell_read.js - - - read_ = function(url) { - try { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - } catch (err) { - var data = tryParseAsDataURI(url); - if (data) { - return intArrayToString(data); - } - throw err; - } - }; - - if (ENVIRONMENT_IS_WORKER) { - readBinary = function(url) { - try { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - } catch (err) { - var data = tryParseAsDataURI(url); - if (data) { - return data; - } - throw err; - } - }; - } - - readAsync = function(url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - return; - } - var data = tryParseAsDataURI(url); - if (data) { - onload(data.buffer); - return; - } - onerror(); - }; - xhr.onerror = onerror; - xhr.send(null); - }; - -// end include: web_or_worker_shell_read.js - } - - setWindowTitle = function(title) { document.title = title }; -} else -{ -} - -// Set up the out() and err() hooks, which are how we can print to stdout or -// stderr, respectively. -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.warn.bind(console); - -// Merge back in the overrides -for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = null; - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments']; - -if (Module['thisProgram']) thisProgram = Module['thisProgram']; - -if (Module['quit']) quit_ = Module['quit']; - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message - - - - -var STACK_ALIGN = 16; - -function alignMemory(size, factor) { - if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default - return Math.ceil(size / factor) * factor; -} - -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; // A pointer - } else if (type[0] === 'i') { - var bits = Number(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); - } -} - -// include: runtime_functions.js - - -// Wraps a JS function as a wasm function with a given signature. -function convertJsFunctionToWasm(func, sig) { - return func; -} - -var freeTableIndexes = []; - -// Weak map of functions in the table to their indexes, created on first use. -var functionsInTableMap; - -function getEmptyTableSlot() { - // Reuse a free index if there is one, otherwise grow. - if (freeTableIndexes.length) { - return freeTableIndexes.pop(); - } - // Grow the table - try { - wasmTable.grow(1); - } catch (err) { - if (!(err instanceof RangeError)) { - throw err; - } - throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; - } - return wasmTable.length - 1; -} - -// Add a wasm function to the table. -function addFunctionWasm(func, sig) { - // Check if the function is already in the table, to ensure each function - // gets a unique index. First, create the map if this is the first use. - if (!functionsInTableMap) { - functionsInTableMap = new WeakMap(); - for (var i = 0; i < wasmTable.length; i++) { - var item = wasmTable.get(i); - // Ignore null values. - if (item) { - functionsInTableMap.set(item, i); - } - } - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func); - } - - // It's not in the table, add it now. - - var ret = getEmptyTableSlot(); - - // Set the new value. - try { - // Attempting to call this with JS function will cause of table.set() to fail - wasmTable.set(ret, func); - } catch (err) { - if (!(err instanceof TypeError)) { - throw err; - } - var wrapped = convertJsFunctionToWasm(func, sig); - wasmTable.set(ret, wrapped); - } - - functionsInTableMap.set(func, ret); - - return ret; -} - -function removeFunction(index) { - functionsInTableMap.delete(wasmTable.get(index)); - freeTableIndexes.push(index); -} - -// 'sig' parameter is required for the llvm backend but only when func is not -// already a WebAssembly function. -function addFunction(func, sig) { - - return addFunctionWasm(func, sig); -} - -// end include: runtime_functions.js -// include: runtime_debug.js - - -// end include: runtime_debug.js -function makeBigInt(low, high, unsigned) { - return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); -} - -var tempRet0 = 0; - -var setTempRet0 = function(value) { - tempRet0 = value; -}; - -var getTempRet0 = function() { - return tempRet0; -}; - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary; -if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; -var noExitRuntime = Module['noExitRuntime'] || true; - -// include: wasm2js.js - - -// wasm2js.js - enough of a polyfill for the WebAssembly object so that we can load -// wasm2js code that way. - -// Emit "var WebAssembly" if definitely using wasm2js. Otherwise, in MAYBE_WASM2JS -// mode, we can't use a "var" since it would prevent normal wasm from working. -/** @suppress{duplicate, const} */ -var -WebAssembly = { - // Note that we do not use closure quoting (this['buffer'], etc.) on these - // functions, as they are just meant for internal use. In other words, this is - // not a fully general polyfill. - Memory: function(opts) { - this.buffer = new ArrayBuffer(opts['initial'] * 65536); - }, - - Module: function(binary) { - // TODO: use the binary and info somehow - right now the wasm2js output is embedded in - // the main JS - }, - - Instance: function(module, info) { - // TODO: use the module and info somehow - right now the wasm2js output is embedded in - // the main JS - // This will be replaced by the actual wasm2js code. - this.exports = ( -// EMSCRIPTEN_START_ASM -function instantiate(asmLibraryArg) { -function Table(ret) { - // grow method not included; table is not growable - ret.set = function(i, func) { - this[i] = func; - }; - ret.get = function(i) { - return this[i]; - }; - return ret; -} - - var bufferView; - var base64ReverseLookup = new Uint8Array(123/*'z'+1*/); - for (var i = 25; i >= 0; --i) { - base64ReverseLookup[48+i] = 52+i; // '0-9' - base64ReverseLookup[65+i] = i; // 'A-Z' - base64ReverseLookup[97+i] = 26+i; // 'a-z' - } - base64ReverseLookup[43] = 62; // '+' - base64ReverseLookup[47] = 63; // '/' - /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ - function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { - var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); - for (; i < bLength; i += 4) { - b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; - b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; - uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; - if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; - if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; - } - } -function initActiveSegments(imports) { - base64DecodeToExistingUint8Array(bufferView, 1025, "QAAAbCIAAEIPAAASBgAATQIAANs="); - base64DecodeToExistingUint8Array(bufferView, 1056, "7QAAAJkAAABJAAAAHgAAAAwAAAAH"); - base64DecodeToExistingUint8Array(bufferView, 1089, "QAAAk10AAL1wAADteQAAsn0AACR/AABIzQAALSsgICAwWDB4AChudWxsKQAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAAQAJCwsAAAkGCwAACwAGEQAAABEREQ=="); - base64DecodeToExistingUint8Array(bufferView, 1217, "CwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAAL"); - base64DecodeToExistingUint8Array(bufferView, 1275, "DA=="); - base64DecodeToExistingUint8Array(bufferView, 1287, "DAAAAAAMAAAAAAkMAAAAAAAMAAAM"); - base64DecodeToExistingUint8Array(bufferView, 1333, "Dg=="); - base64DecodeToExistingUint8Array(bufferView, 1345, "DQAAAAQNAAAAAAkOAAAAAAAOAAAO"); - base64DecodeToExistingUint8Array(bufferView, 1391, "EA=="); - base64DecodeToExistingUint8Array(bufferView, 1403, "DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS"); - base64DecodeToExistingUint8Array(bufferView, 1458, "EgAAABISEgAAAAAAAAk="); - base64DecodeToExistingUint8Array(bufferView, 1507, "Cw=="); - base64DecodeToExistingUint8Array(bufferView, 1519, "CgAAAAAKAAAAAAkLAAAAAAALAAAL"); - base64DecodeToExistingUint8Array(bufferView, 1565, "DA=="); - base64DecodeToExistingUint8Array(bufferView, 1577, "DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGRmF0YWwgKGludGVybmFsKSBlcnJvciBpbiAlcywgbGluZSAlZDogJXMKAGFzc2VydGlvbiBmYWlsZWQ6IDAAY2VsdC9jZWx0LmMAAAAAAAAAAJ0+AEBePgDABD4AgO0+AECJPgAAAAAAwEw/AADNPQ=="); - base64DecodeToExistingUint8Array(bufferView, 1745, "/wD/AP8A/wD/AP4BAAH/AP4A/QIAAf8A/gD9AwAB/2Fzc2VydGlvbiBmYWlsZWQ6IE1BWF9GUkFNRV9MRU5HVEggPj0gcHNFbmNDLT5mcmFtZV9sZW5ndGgAc2lsay9WQUQuYwBhc3NlcnRpb24gZmFpbGVkOiBwc0VuY0MtPmZyYW1lX2xlbmd0aCA9PSA4ICogc2lsa19SU0hJRlQoIHBzRW5jQy0+ZnJhbWVfbGVuZ3RoLCAzICkAAAAAAAAwdQAAcBcAACDR//8g0f//YXNzZXJ0aW9uIGZhaWxlZDogZW5jQ29udHJvbCAhPSBOVUxMAHNpbGsvY2hlY2tfY29udHJvbF9pbnB1dC5jAGFzc2VydGlvbiBmYWlsZWQ6IDA="); - base64DecodeToExistingUint8Array(bufferView, 2048, "/fr06dS2loN4bmJVSDwxKCAZEw8NCwkIBwYFBAMCAQDS0M7Lx8G3qI5oSjQlGxQOCgYEAg=="); - base64DecodeToExistingUint8Array(bufferView, 2112, "38m3p5iKfG9iWE9GPjgyLCcjHxsYFRIQDgwKCAYEAwIBALywm4p3YUMrGgoApXdQPS8jGxQOCQQAcT8AAAAAAAwjPFNshJ20zuQPIDdNZX2Xr8nhEypCWXKJorjR5gwZMkhheJOsyN8aLEVacoeftM3hDRY1UGqCnLTN5A8ZLEBac46oxN4TGD5SZHiRqL7WFh8yT2d4l6rL4xUdLUFqfJarxOAeMUtheY6lutHlExk0Rl10j6bA2xoiPkthdpGnwtkZIThGW3GPpcTfFSIzSGF1kavE3hQdMkNadZCoxd0WHzBCX3WSqMTeGCEzTXSGnrTI4BUcRldqfJWqwtkaITVAU3WYrczhGyJBX2yBm67S4RQaSGNxg5qwyNsiKz1OXXKbsc3lFx02YXyKo7PR5R4mOFl2gZ6yyOcVHTE/VW+Oo8HeGzBNZ4Wes8TX6B0vSmN8l7DG3O0hKj1MXXmbrs/hHTVXcIiaqrzQ4xgeNFSDlqa6y+UlMEBUaHacscnmUQsKCQoJCgnvCO8ICgn8CBcJ7whICxQKWgk/CQoJ4gjiCOII4giSCLcJJAkkCQoJCgkKCSQJJAk/CTIJkAzOCiQJJAkKCeIIrQifCNUIkgicCaoJPwlaCVoJWglaCT8JZwkKCZcN8AtPCJ8I4gjiCOII7wgKCdUI0gxFDBQKWgnHCK0InwiSCJIIQggAEAUPrQg8CjwKZwkKCVoJPwkaCGoMrAw/Ca0I+QmCCSQJCgl3CK0ICg2gDaYKkgjVCJwJMgk/CZ8INQgyCXQJFwk/CVoJdAl0CXQJnAk/CcMOLQ6CCd8JPwniCOII/AifCAAItgyZDJkKHguPCRcJ/Aj8COIITwi/DOQMwQr2Co8J1QjVCMcITwg1CDkLpQtJCj8JZwkyCZIIxwjHCEIImQx9DEkKFAriCIUIxwitCK0IXQhqDO4MtApnCeII4gjiCO8IkghCCEUMyAycCQ0I7wjECT8JtwmCCYUIsw3SDAoJjApXCqoJPwlaCSQJTwhfDc8N3gvwC/wIngetCOII4gjiCEwNJg0nCH8KOQsyCXQJ4giqCewJsA6gDZ4HZApRC98JWgk/CZwJ1QjUC8gMtApIC7QKaghPCO8IugjHCG8OSQ7pB7EHZAqMChQKxAkXCT8JhwxVDTIJGghIC0gLJAm3CccIdwgKDSYNHgvcChcJagjiCO8IQggNCBcJ/AiFCHcIhQg/CUkKjAqMCvkJZwmCCa0I1QitCK0IJAl0CS8KjAreC6wM9gpIC6oJGgj8CAoJMglMCa0IaghPCO8IxAnpCukKPAoUCj8JXA6BDroILgeFCMEKpgpxCtEJnwjpClgMpgr5CR4L0QmFCFoJrQiFCNSylIFsYFVST009Ozk4MzEwLSopKCYkIh8eFQwKAwEA//X07Onh2cu+sK+hlYh9cmZbUUc8NCsjHBQTEgwLBQCzioyUl5WZl6N0Q1I7XEhkWVw="); - base64DecodeToExistingUint8Array(bufferView, 3232, "EAAAAABjQiQkIiQiIiIiU0UkNCJ0ZkZERLBmREQiQVVEVCR0jZiLqoS7uNiJhPmouYtoZmRERLLaubmq9Ni7u6r0u7vbimebuLmJdLebmIiE2bi4qqTZq5uL9Km4uaqk2N/aitaPvNqo9I2Im6qoitzbi6TbytiJqLr2uYt0udu5imRkhmRmIkREZESoy93aqKeaiGhGpPariYuJm9rbi//+/e4OAwIBAP/+/NojAwIBAP/++tA7BAIBAP/+9sJHCgIBAP/87LdSCAIBAP/867RaEQIBAP/44KthHgQBAP/+7K1fJQcB"); - base64DecodeToExistingUint8Array(bufferView, 3472, "////gwaR///////sXQ9g///////CUxlH3f////+iSSJCov///9J+SSs5rf///8l9RzA6gv///6ZuSTk+aNL///t7QTdEZKv/AAAAAAAAAAD6AAMABgADAAMAAwAEAAMAAwADAM0BAAAgAAoAFC5kAYAIAADACQAAQAwAAIAMAACgDAAAQA0AAJANAADgDQAABxcmNkVVZHSDk6KywdDf7w0ZKTdFU2Jwf46dq7vL3OwPFSIzPU5can6ImKe5zeHwChUkMj9PX25+jZ2tvc3d7REUJTM7Tllre4aWpLjN4PAKDyAzQ1FgcIGOnq29zNzsCBUlM0FPYnF+ipuos8DR2gwPIjc/TldsdoOUp7nL2+wQEyAkOE9bbHaImqu6zNztCxwrOkpZaXiHlqW0xNPi8QYQIS48S1xre4mcqbnH1uELEx4sOUpZaXmHmKm6ytrqDBMdLjlHWGR4hJSltsfY6REXIy44TVxqe4aYp7nM3u0OES01P0tZa3OEl6u8zt3wCRAdKDhHWGd3iZqrvc3e7RATJDA5TFdpdoSWp7nK2uwMER02R1FeaH6IlaS2yd3tDxwvPk9hc4GOm6i0wtDf7ggOHi0+Tl5vf4+fr8DP3+8RHjE+T1xrd4SRoK6+zNzrDhMkLT1MW2x5ipqsvc3e7gwSHy08TFtre4qaq7vM3ewNER8rNUZTZ3KDlae5y9ztERYjKjpOXW59i5uqvM7g8AgPIjJDU2Nzg5KissHR4O8NEClCSVZfb4CJlqO3zuHxERklND9LXGZ3hJCgr7/U5xMfMUFTZHWFk6Guu8jV4/ISHzREWGd1foqVo7HAz9/vEB0vPUxaaneFk6GwwdHg8A8VIzI9SVZhbneBja/G2u1JDm0LbQttC20LbQttC20LbQttC20LbQuTC5MLbQseC5AMDQycC/AL8AvCC8ILwguTC5MLwgucC0gLHgseC6YKUA+uD6ULhwyHDHYL8AseCzIMrAxtCx4LPAr5CdwKbQu8DX0MwgsfDMsLSAttC20LbQttC0gLSAtIC0gLSAvBCr4TvhN2C/UNOQ3wCw0M6QpYDFgMnAseC9EJ7AnBCkgLTBE1EIwKwQqcC8ILbQseC6ULywttC20LbQttC0gLpgokDssLnAvwC/ALOQv2CvALkAznC6UL2wzbDKUL7gyvC2sUlhPsCQoNxg05DX0MFgwwDaULjApXCn8K6QoeC3EK2RM2FAcSTBGcCVEL5wuHDGEMfwq0CkgLHgvpCh4LjAoyDEgLkwttC20LbQttC5MLkwuTC5MLbQttC5MLkwuTC2oQhwylCx8MwgtIC0gLbQucCzkLZAvLC5wLwgt9DDkLsA6wDqwMHwylC0gLbQtIC5wLdgvpCukKHgtIC0gLZAoOD64PhwwyDKwMdgvnC5MLkwsNDB4L6QrpCukK6QoUCgUP8A8dDbwNFgy0CsILdgsyDA0MHgseC1cKVwoeC/YKGxQeE5kMBQ9xDWEMUQtVDXsNjAoUCnEKtAoeC/YKwQoNEM0O2wxYDG0LSAtIC20L6Qq0CukKtArpCh4LSAv2CtkTvhPnC9kNrAzwCw0MgAsfDFELtAq0CrQKHgvpCjwK1RDVECwL3wmHDDANMA0DDAMMMA3wCx4LVwoUCqYKwQrwC2QL9gpIC7QKfwpRCx8MTgxODJAMYQzwC8ILkwseCxcRKg9tC0gLHgtICx4LHgtIC0gLSAseC0gLbQtICx4LpQtkC2QLpQulC/ALMgyQDE4M8AvCC5wLnAucC20LtAqFEDUQ7gwTDW0LkwtIC6ULpQseC+kKtAoeCx4LHgvpCvAPrg8fDMILbQttC20LSAttC20LHgseCx4L6QpIC9wKBxLfEWEMcQ2HDKULUQveCzIMtAp/Cn8Kfwq0CukKjAo1EK0QzQ5JDqYK3ApIC0gLwgucC20LHgt/Cn8K6QpIC3cQ4g3BCh4LHgtIC0gLSAttC20LSAttC20LbQuTC0gLNhQ5E9UIaA3NDpcNEw0eC+4Mlw1ODFELnAm3CcEKbQt7DWUOMgx9DB0N5wuHDIcMpQuQDA0MbQttC38K7AmCCaULwgvpCukKtArpCh4LnAvwCx8MTgxODE4MHwzCC8ILgAs5C38KpgrcCsILaA3ZDR0NrAzwC8ILkwttC0gLHgvLC4ALUQvCC8ILnAvLCx8M8AvwC8ILSAseC20LbQtIC1APfw/CC30MHQ2QDNsM2wyXDXgOcQ2mCoUInAkUCi8K4czJuLevnpqZh3dzcW5tY2JfT0Q0MjAtKyAfGxIKAwD/++vm1MnEtqemo5eKfG5oWk5MRkU5LSIYFQsGBQQDAK+UoLCyra6ksa7EtsbAtkQ+QjxIdVVadoiXjqCOmw=="); - base64DecodeToExistingUint8Array(bufferView, 5255, "AWRmZkREJCJgpGueubS5i2ZAQiQiIgABINCLjb+YuZtoYKtopmZmZoQBAAAAABAQAFBtTmu5i2dl0NSNi62Ze2ckAAAAAAAAATAAAAAAAAAgRId7d3dnRWJEZ3h2dmZHYoaInbi2mYuG0Kj4S72PeWsgMSIiIgARAtLri3u5iWmGYodotmS3q4ZkRkRGQkIig0CmZkQkAgEAhqZmRCIiQoTU9p6La2tXZmTbfXqJdmeEcoeJaatqMiKk1o2PuZd5Z8AiAAAAAAAB0G1Ku4b5n4lmbpp2V2V3ZQACACQkQkQjYKRmZCQAAiGniq5mZFQCAmRreHckxRgA//799AwDAgEA//784CYDAgEA//770TkEAgEA//70w0UEAgEA//vouFQHAgEA//7wulYOAgEA//7vslseBQEA//jjsWQTAgE="); - base64DecodeToExistingUint8Array(bufferView, 5584, "////nASa///////jZg9c///////VUxhI7P////+WTCE/1v///755TSs3uf////WJRys7i/////+DQjJCa8L//6Z0TDc1ff//AAAAAAAAAABkAAMAKAADAAMAAwAFAA4ADgAKAAsAAwAIAAkABwADAFsBAAAgABAAZiarASAOAAAgEAAAIBQAAGAUAACAFAAAgBUAANAVAAAgFgAAAAAAAFzKvti235rinOZ47Hr0zPw0A4YLiBNkGWYdSiBCJ6Q1+ff29fTq0srJyMWuUjs4NzYuFgwLCgkHAEAAy5YA18OmfW5SAAAAAKsWAACuFgAAeACAQADongoA5gDz3cC1AGQA8AAgAGQAzTwAMAAgq1UAwIBAAM2aZjMA1auAVSsA4MCggGBAIABkKBAHAwEAAApn8g5WzeQdCmfyDnVSggxZmgQZdVKCDEYRMQrtA2IURhExCtoC1wf5xq0P2gLXByK2UgXa+qQKIrZSBQAAAABG8y4eK+NLDh9mgBgcLB0K2mFIEu2c9AbsMBML45ClBO2kHQIK32sDAAAAAAAAAAAqr9XJz/9AABEAY/9hARD+owAnK71W2f8GAFsAVv+6ABcAgPzAGNhN7f/c/2YAp//o/0gBSfwICiU+AAAAAAAAh8c9yUAAgACG/yQANgEA/UgCMyRFRQwAgAASAHL/IAGL/5/8GxB7OAAAAAAAAAAAaAINyPb/JwA6ANL/rP94ALgAxf7j/QQFBBVAIwAAAADmPsbE8/8AABQAGgAFAOH/1f/8/0EAWgAHAGP/CP/U/1ECLwY0CscMAAAAAAAAAADkVwXFAwDy/+z/8f8CABkAJQAZAPD/uf+V/7H/MgAkAW8C1gMIBbgFAAAAAAAAAACUa2fEEQAMAAgAAQD2/+r/4v/g/+r/AwAsAGQAqADzAD0BfQGtAccBE/WV5lkS8ykfBlQg"); - base64DecodeToExistingUint8Array(bufferView, 6304, "vQCo/WkCZ3d1AGH/0vsIdDQA3QCo9nRu/P8RAury5WbQ//YCjPClXbD/iQN17wZTnf/MA4LvZkeV/8cDi/AnO5n/gANh8q4upf8FA8/0XiK5/2MCofeYFtL/qQGh+rQLYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlcl9wcml2YXRlX2Rvd25fRklSLmMAYXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL3Jlc2FtcGxlci5jAAYAAwAHAwABCgACBhIKDAQAAgAAAAkEBwQAAwwHB2Fzc2VydGlvbiBmYWlsZWQ6IGluTGVuID49IFMtPkZzX2luX2tIegBhc3NlcnRpb24gZmFpbGVkOiBTLT5pbnB1dERlbGF5IDw9IFMtPkZzX2luX2tIegBhc3NlcnRpb24gZmFpbGVkOiBmc19rSHogPT0gOCB8fCBmc19rSHogPT0gMTIgfHwgZnNfa0h6ID09IDE2AHNpbGsvY29udHJvbF9jb2RlYy5jAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jLT5zQ21uLm5iX3N1YmZyID09IDIgfHwgcHNFbmMtPnNDbW4ubmJfc3ViZnIgPT0gNABhc3NlcnRpb24gZmFpbGVkOiAoIHBzRW5jLT5zQ21uLnN1YmZyX2xlbmd0aCAqIHBzRW5jLT5zQ21uLm5iX3N1YmZyICkgPT0gcHNFbmMtPnNDbW4uZnJhbWVfbGVuZ3RoAGFzc2VydGlvbiBmYWlsZWQ6IENvbXBsZXhpdHkgPj0gMCAmJiBDb21wbGV4aXR5IDw9IDEwAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jQy0+cGl0Y2hFc3RpbWF0aW9uTFBDT3JkZXIgPD0gTUFYX0ZJTkRfUElUQ0hfTFBDX09SREVSAGFzc2VydGlvbiBmYWlsZWQ6IF9mdD4xAGNlbHQvZW50ZW5jLmMAYXNzZXJ0aW9uIGZhaWxlZDogX2JpdHM+MABhc3NlcnRpb24gZmFpbGVkOiBfbmJpdHM8PUVDX1NZTV9CSVRTAGFzc2VydGlvbiBmYWlsZWQ6IF90aGlzLT5vZmZzK190aGlzLT5lbmRfb2Zmczw9X3NpemUAYXNzZXJ0aW9uIGZhaWxlZDogbiA8IDI1AHNpbGsvc3RlcmVvX2VuY29kZV9wcmVkLmMAYXNzZXJ0aW9uIGZhaWxlZDogaXhbIG4gXVsgMCBdIDwgMwBhc3NlcnRpb24gZmFpbGVkOiBpeFsgbiBdWyAxIF0gPCBTVEVSRU9fUVVBTlRfU1VCX1NURVBTAAAAAADgcCwPAwIBAP7twIRGFwQA//zimz0LAg=="); - base64DecodeToExistingUint8Array(bufferView, 7328, "+vXqy0cyKiYjIR8dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQCzYwBHOCseFQwG"); - base64DecodeToExistingUint8Array(bufferView, 7392, "x6WQfG1gVEc9MyogFw8IAPHh08e7r6SZjoR7cmlgWFBIQDkyLCYhHRgUEAwJBQIAzBwAAOAcAADwHAAAD4OKipubra0="); - base64DecodeToExistingUint8Array(bufferView, 7472, "RV1zdoOKjYqWlpuWm6CmoIOAho2NjZGRkZabm5uboKCgoKamra22wLbAwMDNwM3gHB0AADAdAABAHQAAAAAAAAQGGAcFAAACAAAMHCkN/PcPKhkOAf4+Kff2JUH8A/oEQgf4EA4m/SEAAAAAAAAAAA0WJxcM/yRAG/r5CjcrEQEBCAEBBvVKNff0N0z0CP0DXRv8Gic7A/gCAE0LCfgWLPoHKAkaAwn5FGX5BAP4KhoA8SFEAhf+Ny7+DwP/FRAp+hs9JwX1KlgEAf48QQb8//tJOAH3E14d9wAMYwYECO1mLvMDAg0DAgnrVEju9S5o6ggSJjAXAPBGU+sLBfV1Fvj6F3X0AwP4XxwE9g9NPPH/BHwC/AMmVBjnAg0qDR8V/Dgu//8jT/MT+UFY9/IUBFEx4xQASwPvBfcsXPgB/RZFH/pfKfQFJ0MQ/AEA+ng33PMsegToUQULAwcCAAkKWHAdAACgHQAA8B0AAC4CWlddW1Ji"); - base64DecodeToExistingUint8Array(bufferView, 7856, "bXh2DHFzdXdjO1dvP29wUH58fXyBeX4XhH9/f35/eoWChmV2d5F+Vnx4e3eqrWttnB4AALAeAADAHgAACBAgYXNzZXJ0aW9uIGZhaWxlZDogdHlwZU9mZnNldCA+PSAwICYmIHR5cGVPZmZzZXQgPCA2AHNpbGsvZW5jb2RlX2luZGljZXMuYwBhc3NlcnRpb24gZmFpbGVkOiBlbmNvZGVfTEJSUiA9PSAwIHx8IHR5cGVPZmZzZXQgPj0gMgBhc3NlcnRpb24gZmFpbGVkOiBwc0VuY0MtPnBzTkxTRl9DQi0+b3JkZXIgPT0gcHNFbmNDLT5wcmVkaWN0TFBDT3JkZXIACAoMEAAAAAAAAAB9MxoSDwwLCgkIBwYFBAMCAQDGaS0WDwwLCgkIBwYFBAMCAQDVonRTOysgGBIPDAkHBgUDAgDvu3Q7HBALCgkIBwYFBAMCAQD65byHVjMeEw0KCAYFBAMCAQD569W5nIBnU0I1KiEaFRENCgD++evOpHZNLhsQCgcFBAMCAQD//fnv3L+cd1U5JRcPCgYEAgD//fv27d/Ls5h8Yks3KB0VDwD//v333KJqQyocEgwJBgQDAg=="); - base64DecodeToExistingUint8Array(bufferView, 8320, "HzlroM3N////////////////RS9Db6bN////////////////UkpPX22AkaCtzc3N4P//4P/gfUo7RWGNtv//////////////rXNVSUxcc5GtzeDg////////poZxZmVma3Z9ipGbprbAwM2W4LaGZVNPVWF4ka3N4P///////+DAlnhlXFldZnaGoLbA4ODg/+DgtpuGdm1oZmpvdoORoK2D"); - base64DecodeToExistingUint8Array(bufferView, 8496, "8b6yhFdKKQ4A38GdjGo5JxI="); - base64DecodeToExistingUint8Array(bufferView, 8528, "g0qNT1CKX2iGX2NbfV1Me3N7"); - base64DecodeToExistingUint8Array(bufferView, 8560, "gADWKgDrgBUA9LhICwD41oAqBwD44apQGQUA++zGfjYSAwD67tOfUiMPBQD658uogFg1GQYA/O7YuZRsRygSBAD98+HHpoBaOR8NAwD+9unUt5NtSSwXCgIA//rw38amgFo6IRAGAQD/+/Tn0rWSbksuGQwFAQD//fju3cSkgFw8IxIIAwEA//358uXQtJJuTDAbDgcDAQ=="); - base64DecodeToExistingUint8Array(bufferView, 8720, "gQDPMgDsgRQA9blICgD51YEqBgD64qlXGwQA++nCgj4UBAD67M+gYy8RAwD/8Nm2g1EpCwEA//7pyZ9rPRQCAQD/+enOqoBWMhcHAQD/+u7ZupRsRicSBgEA//zz4simgFo4Hg0EAQD//PXn0bSSbkwvGQsEAQD//fjt28KjgF0+JRMIAwEA//768eLNsZFvTzMeDwYCAQ=="); - base64DecodeToExistingUint8Array(bufferView, 8880, "gQDLNgDqgRcA9bhJCgD614EpBQD86K1WGAMA/fDIgTgPAgD99NmkXiYKAQD99eK9hEcbBwEA/fbny59pOBcGAQD/+OvVs4VVLxMFAQD//vPdwp91RiUMAgEA//746tCrgFUwFggCAQD//vrw3L2Va0MkEAYCAQD//vvz48mmgFo3HQ0FAgEA//789urVt5NtSSsWCgQCAQ=="); - base64DecodeToExistingUint8Array(bufferView, 9040, "ggDIOgDnghoA9LhMDAD51oIrBgD86K1XGAMA/fHLgzgOAgD+9t2nXiMIAQD++ejBgkEXBQEA//vv06JjLQ8EAQD/+/PfuoNKIQsDAQD//PXmyp5pORgIAgEA//3369azhFQsEwcCAQD//vrw38SfcEUkDwYCAQD//v3159GwiF03GwsDAgEA//79/O/dwp51TCoSBAMCAQ=="); - base64DecodeToExistingUint8Array(bufferView, 9202, "AgUJDhQbIyw2QU1aaHeH"); - base64DecodeToExistingUint8Array(bufferView, 9232, "/jFDTVJdY8YLEhgfJC3/LkJOV15o0A4VICozQv9eaG1wc3b4NUVQWF9mYXNzZXJ0aW9uIGZhaWxlZDogX2Z0PjEAY2VsdC9lbnRkZWMuYwBhc3NlcnRpb24gZmFpbGVkOiBmcmFtZV9sZW5ndGggPT0gMTIgKiAxMABzaWxrL2VuY29kZV9wdWxzZXMuYwBhc3NlcnRpb24gZmFpbGVkOiB3aW5fdHlwZSA9PSAxIHx8IHdpbl90eXBlID09IDIAc2lsay9mbG9hdC9hcHBseV9zaW5lX3dpbmRvd19GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiAoIGxlbmd0aCAmIDMgKSA9PSAwAGFzc2VydGlvbiBmYWlsZWQ6IG9yZGVyID49IDAgJiYgb3JkZXIgPD0gU0lMS19NQVhfT1JERVJfTFBDAHNpbGsvZmxvYXQvc2NodXJfRkxQLmMAYXNzZXJ0aW9uIGZhaWxlZDogT3JkZXIgPD0gbGVuZ3RoAHNpbGsvZmxvYXQvTFBDX2FuYWx5c2lzX2ZpbHRlcl9GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiAwAGNlbHQvY2VsdF9scGMuYwBhc3NlcnRpb24gZmFpbGVkOiBuPjAAYXNzZXJ0aW9uIGZhaWxlZDogb3ZlcmxhcD49MABhc3NlcnRpb24gZmFpbGVkOiBtYXhfcGl0Y2g+MABjZWx0L3BpdGNoLmMAYXNzZXJ0aW9uIGZhaWxlZDogbGVuPjA="); - base64DecodeToExistingUint8Array(bufferView, 9816, "AwAAAAIAAAADAAAAAgAAAAUAAAACAAAAAwAAAAIAAAADAAAAAgAAAAUAAAACAAAAAwAAAAIAAABhc3NlcnRpb24gZmFpbGVkOiBsZW4+PTMALi9jZWx0L3BpdGNoLmgAYXNzZXJ0aW9uIGZhaWxlZDogSyA+IDAAc2lsay9mbG9hdC9zb3J0X0ZMUC5jAGFzc2VydGlvbiBmYWlsZWQ6IEwgPiAwAGFzc2VydGlvbiBmYWlsZWQ6IEwgPj0gSwAAAQAAAAEAAAAAAAH/Af8C/gL+A/0AAQAB/wL/Av4D/gP9B/4HAAAAAAAC////AAABAQABAAEAAAAAAAEAAAAAAAEAAAABAAAAAAD/AgEAAQEAAP//AAAAAAAAAf8AAf8A/wH+Av7+Av0CA/38A/wEBPsF+vsG+QYFCPcAAAEAAAAAAAAA/wEAAAH/AAH//wH/AgH/Av7+Av4CAgP9AAEAAAAAAAABAAEAAAH/AQAAAgH/Av//Av8CAv8D/v7+AwABAAABAAH/Av8C/wID/gP+/gQE/QX9/Ab8BgX7CPr7+QkAAAAAAAAAAPsI/wb/BvwK+gr+Bv8G+wr3DP0H/gf5DRAYImFzc2VydGlvbiBmYWlsZWQ6IEZzX2tIeiA9PSA4IHx8IEZzX2tIeiA9PSAxMiB8fCBGc19rSHogPT0gMTYAc2lsay9mbG9hdC9waXRjaF9hbmFseXNpc19jb3JlX0ZMUC5jAGFzc2VydGlvbiBmYWlsZWQ6IGNvbXBsZXhpdHkgPj0gU0lMS19QRV9NSU5fQ09NUExFWABhc3NlcnRpb24gZmFpbGVkOiBjb21wbGV4aXR5IDw9IFNJTEtfUEVfTUFYX0NPTVBMRVgAYXNzZXJ0aW9uIGZhaWxlZDogRnNfa0h6ID09IDgAYXNzZXJ0aW9uIGZhaWxlZDogdGFyZ2V0X3B0ciArIHNmX2xlbmd0aF84a0h6IDw9IGZyYW1lXzRrSHogKyBmcmFtZV9sZW5ndGhfNGtIegBhc3NlcnRpb24gZmFpbGVkOiBiYXNpc19wdHIgPj0gZnJhbWVfNGtIegBhc3NlcnRpb24gZmFpbGVkOiBiYXNpc19wdHIgKyBzZl9sZW5ndGhfOGtIeiA8PSBmcmFtZV80a0h6ICsgZnJhbWVfbGVuZ3RoXzRrSHoAYXNzZXJ0aW9uIGZhaWxlZDogbGVuZ3RoX2Rfc3JjaCA+IDAAYXNzZXJ0aW9uIGZhaWxlZDogKmxhZ0luZGV4ID49IDAAYXNzZXJ0aW9uIGZhaWxlZDogbmJfc3ViZnIgPT0gUEVfTUFYX05CX1NVQkZSID4+IDEAYXNzZXJ0aW9uIGZhaWxlZDogYnVmX2xlbiA+PSBwc0VuYy0+c0Ntbi5waXRjaF9MUENfd2luX2xlbmd0aABzaWxrL2Zsb2F0L2ZpbmRfcGl0Y2hfbGFnc19GTFAuYw=="); - base64DecodeToExistingUint8Array(bufferView, 10934, "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"); - base64DecodeToExistingUint8Array(bufferView, 15393, "DwgHBAsMAwINCgUGCQ4BAAkGAwQFCAECB2Fzc2VydGlvbiBmYWlsZWQ6IGQ9PTEwIHx8IGQ9PTE2AHNpbGsvTkxTRjJBLmMAYXNzZXJ0aW9uIGZhaWxlZDogRCA+IDAAc2lsay9OTFNGX1ZRX3dlaWdodHNfbGFyb2lhLmMAYXNzZXJ0aW9uIGZhaWxlZDogKCBEICYgMSApID09IDAAYXNzZXJ0aW9uIGZhaWxlZDogaWZhY3RfUTIgPj0gMABzaWxrL2ludGVycG9sYXRlLmMAYXNzZXJ0aW9uIGZhaWxlZDogaWZhY3RfUTIgPD0gNABhc3NlcnRpb24gZmFpbGVkOiBLID4gMABzaWxrL3NvcnQuYwBhc3NlcnRpb24gZmFpbGVkOiBMID4gMABhc3NlcnRpb24gZmFpbGVkOiBMID49IEsAYXNzZXJ0aW9uIGZhaWxlZDogKCBMUENfb3JkZXIgJiAxICkgPT0gMABzaWxrL05MU0ZfVlEuYwBhc3NlcnRpb24gZmFpbGVkOiBzaWduYWxUeXBlID49IDAgJiYgc2lnbmFsVHlwZSA8PSAyAHNpbGsvTkxTRl9lbmNvZGUuYwBhc3NlcnRpb24gZmFpbGVkOiBwc0VuY0MtPnVzZUludGVycG9sYXRlZE5MU0ZzID09IDEgfHwgcHNFbmNDLT5pbmRpY2VzLk5MU0ZJbnRlcnBDb2VmX1EyID09ICggMSA8PCAyICkAc2lsay9wcm9jZXNzX05MU0ZzLmMAYXNzZXJ0aW9uIGZhaWxlZDogTkxTRl9tdV9RMjAgPiAwAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jQy0+cHJlZGljdExQQ09yZGVyIDw9IE1BWF9MUENfT1JERVIAYXNzZXJ0aW9uIGZhaWxlZDogZCA+PSA2AHNpbGsvTFBDX2FuYWx5c2lzX2ZpbHRlci5jAGFzc2VydGlvbiBmYWlsZWQ6IChkICYgMSkgPT0gMABhc3NlcnRpb24gZmFpbGVkOiBkIDw9IGxlbgBhc3NlcnRpb24gZmFpbGVkOiBzdGFydF9pZHggPiAwAHNpbGsvTlNRX2RlbF9kZWMuYwBhc3NlcnRpb24gZmFpbGVkOiBuU3RhdGVzRGVsYXllZERlY2lzaW9uID4gMABhc3NlcnRpb24gZmFpbGVkOiAoIHNoYXBpbmdMUENPcmRlciAmIDEgKSA9PSAwAGFzc2VydGlvbiBmYWlsZWQ6IHN0YXJ0X2lkeCA+IDAAc2lsay9OU1EuYwBhc3NlcnRpb24gZmFpbGVkOiAoIHNoYXBpbmdMUENPcmRlciAmIDEgKSA9PSAwAGFzc2VydGlvbiBmYWlsZWQ6IGxhZyA+IDAgfHwgc2lnbmFsVHlwZSAhPSBUWVBFX1ZPSUNFRABhc3NlcnRpb24gZmFpbGVkOiBzdWJmcl9sZW5ndGggKiBuYl9zdWJmciA8PSBNQVhfRlJBTUVfU0laRQBzaWxrL2Zsb2F0L2J1cmdfbW9kaWZpZWRfRkxQLmMAYXNzZXJ0aW9uIGZhaWxlZDogcHNFbmNDLT5pbmRpY2VzLk5MU0ZJbnRlcnBDb2VmX1EyID09IDQgfHwgKCBwc0VuY0MtPnVzZUludGVycG9sYXRlZE5MU0ZzICYmICFwc0VuY0MtPmZpcnN0X2ZyYW1lX2FmdGVyX3Jlc2V0ICYmIHBzRW5jQy0+bmJfc3ViZnIgPT0gTUFYX05CX1NVQkZSICkAc2lsay9mbG9hdC9maW5kX0xQQ19GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiBwc0VuYy0+c0Ntbi5sdHBfbWVtX2xlbmd0aCAtIHBzRW5jLT5zQ21uLnByZWRpY3RMUENPcmRlciA+PSBwc0VuY0N0cmwtPnBpdGNoTFsgMCBdICsgTFRQX09SREVSIC8gMgBzaWxrL2Zsb2F0L2ZpbmRfcHJlZF9jb2Vmc19GTFAuYwBhc3NlcnRpb24gZmFpbGVkOiBzUmFuZ2VFbmNfY29weTIub2ZmcyA8PSAxMjc1AHNpbGsvZmxvYXQvZW5jb2RlX2ZyYW1lX0ZMUC5jAGFzc2VydGlvbiBmYWlsZWQ6IHBzUmFuZ2VFbmMtPm9mZnMgPD0gMTI3NQ=="); - base64DecodeToExistingUint8Array(bufferView, 17025, "Dyc0PURKT1RYXF9jZmlsb3J1d3p8foGDhYeJi46PkZOVl5mbnZ6goqOlp6iqq62usLGztLa3ubq7vb7AwcLExcfIycvMzc/Q0dPU1dfY2dvc3d/g4ePk5ufo6uvs7u/x8vP19vj5+vz9/wAAAAAAAAAcKzQ7QUZKTlFVV1pdX2JkZmlrbW9xc3R2eHp7fX+AgoOFhoiJioyNj5CRk5SVl5iZmpydnp+goqOkpaanqKmrrK2ur7CxsrO0tba3uLm6u7y8vb6/wMHCw8TFxsfIycrLy8zNzs/Q0dLT1NXW1tfY2drb3N3e3+Dg4eLj5OXm5+jp6uvs7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAAAAAAAAAAgdKTE4PkJGSk1QU1ZYW11fYWNlZ2lrbG5wcXN0dnd5ent9fn+BgoOEhoeIiYqMjY6PkJGSk5SVlpeYmZqcnZ6fn6ChoqOkpaanqKmqq6usra6vsLGxsrO0tbW2t7i5ubq7vL29vr/AwMHCw8PExcbGx8jIycrLy8zNzs7P0NHR0tPT1NXW1tfY2Nna29vc3d3e3+Dg4eLi4+Tl5ebn6Ojp6urr7O3t7u/w8PHy8/P09fb29/j5+fr7/P3/YXNzZXJ0aW9uIGZhaWxlZDogMABzaWxrL2VuY19BUEkuYwBhc3NlcnRpb24gZmFpbGVkOiAhcmV0AGFzc2VydGlvbiBmYWlsZWQ6IGVuY0NvbnRyb2wtPm5DaGFubmVsc0ludGVybmFsID09IDEgfHwgcHNFbmMtPnN0YXRlX0Z4eFsgMCBdLnNDbW4uZnNfa0h6ID09IHBzRW5jLT5zdGF0ZV9GeHhbIDEgXS5zQ21uLmZzX2tIegBhc3NlcnRpb24gZmFpbGVkOiBlbmNDb250cm9sLT5uQ2hhbm5lbHNBUEkgPT0gMSAmJiBlbmNDb250cm9sLT5uQ2hhbm5lbHNJbnRlcm5hbCA9PSAxAGFzc2VydGlvbiBmYWlsZWQ6IHBzRW5jLT5zdGF0ZV9GeHhbIDAgXS5zQ21uLmlucHV0QnVmSXggPT0gcHNFbmMtPnN0YXRlX0Z4eFsgMCBdLnNDbW4uZnJhbWVfbGVuZ3RoAGFzc2VydGlvbiBmYWlsZWQ6IGVuY0NvbnRyb2wtPm5DaGFubmVsc0ludGVybmFsID09IDEgfHwgcHNFbmMtPnN0YXRlX0Z4eFsgMSBdLnNDbW4uaW5wdXRCdWZJeCA9PSBwc0VuYy0+c3RhdGVfRnh4WyAxIF0uc0Ntbi5mcmFtZV9sZW5ndGgAAACAuwAAeAAAABUAAAAVAAAAAJpZPwAAAAAAAIA/AACAP8BGAAADAAAACAAAAHgAAAALAAAA8EYAAOBHAAAQSAAAgAcAAAMAAADwSQAAEH4AAEB/AAD4fwAAMEoAAIgBAABQZgAAMGcAAMBo"); - base64DecodeToExistingUint8Array(bufferView, 18114, "AQACAAMABAAFAAYABwAIAAoADAAOABAAFAAYABwAIgAoADAAPABOAGQ="); - base64DecodeToExistingUint8Array(bufferView, 18181, "WlBLRT84MSgiHRQSCgAAAAAAAAAAbmRaVE5HQTozLScgGhQMAAAAAAAAdm5nXVZQS0ZBOzUvKB8XDwQAAAAAfndwaF9ZU05IQjw2LycgGREMAQAAhn94cmdhW1VOSEI8Ni8pIx0XEAoBkImCfHFrZV9YUkxGQDkzLSchGg8BmJGKhHt1b2liXFZQSkM9NzErJBQBopuUjoV/eXNsZmBaVE1HQTs1Lh4BrKWemI+Jg312cGpkXldRS0U/OC0UyMjIyMjIyMjGwby3sq2oo56ZlIFo"); - base64DecodeToExistingUint8Array(bufferView, 18416, "CAAIAAgACAAQABAAEAAVABUAGAAdACIAJAAAAAAAAABqHI04UrseOghp3DqC7Vc7iWOyOwMqBTww3Dk8tD53PByjnjzR8sU8/obxPJurED0FrSo9hMJGPVPmZD0RiYI9h5+TPcuypT3Rvrg9Or/MPVSv4T0Uivc9DiUHPtn0Ej5fMR8+aNcrPorjOD4wUkY+lB9UPr9HYj6OxnA+sJd/PlJbhz5gD48+mOWWPnnbnj5w7qY+2BuvPvtgtz4Ru78+RifIPrei0D54Ktk+lLvhPgxT6j7e7fI+Bon7Pr4QAj8fWgY/JJ8KP1DeDj8rFhM/QUUXPyVqGz9zgx8/zo8jP+aNJz90fCs/P1ovPxkmMz/n3jY/mYM6PzMTPj/FjEE/d+9EP386SD8nbUs/zoZOP+WGUT/xbFQ/jjhXP2npWT9Ff1w/+vleP3NZYT+vnWM/wcZlP8/UZz8RyGk/0qBrP25fbT9QBG8/9I9wP+YCcj+9XXM/H6F0P7/NdT9X5HY/sOV3P5fSeD/jq3k/c3J6Pycnez/nyns/nV58PzXjfD+cWX0/vcJ9P4Yffj/ecH4/q7d+P8/0fj8mKX8/hlV/P756fz+WmX8/zLJ/PxTHfz8c138/guN/P93sfz+2838/ivh/P8j7fz/W/X8/B/9/P6X/fz/o/38//f9/PwAAgD/gAQAAh4gIO/////8FAGAAAwAgAAQACAACAAQABAAB"); - base64DecodeToExistingUint8Array(bufferView, 18972, "cGkAADBt"); - base64DecodeToExistingUint8Array(bufferView, 18992, "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/////////////////////wAAAAAAAAAAKQApACkAUgBSAHsApADIAN4="); - base64DecodeToExistingUint8Array(bufferView, 26250, "KQApACkAKQB7AHsAewCkAKQA8AAKARsBJwEpACkAKQApACkAKQApACkAewB7AHsAewDwAPAA8AAKAQoBMQE+AUgBUAF7AHsAewB7AHsAewB7AHsA8ADwAPAA8AAxATEBMQE+AT4BVwFfAWYBbAHwAPAA8ADwAPAA8ADwAPAAMQExATEBMQFXAVcBVwFfAV8BcgF4AX4BgwE="); - base64DecodeToExistingUint8Array(bufferView, 26416, "KAcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcoDxccHyIkJicpKissLS4vLzEyMzQ1Njc3OTo7PD0+Pz9BQkNERUZHRygUISkwNTk9QEJFR0lLTE5QUlVXWVtcXmBiZWdpa2xucHJ1d3l7fH6AKBcnMzxDSU9TV1teYWRmaWtvc3Z5fH6Bg4eLjpGUlpmbn6OmqayusbMjHDFBTllja3J4foSIjZGVmZ+lq7C0ub3Ax83T2Nzh5ejv9fsVITpPYXB9iZSdpq62vcPJz9nj6/P7ESM/Vmp7i5ilsbvFztbe5u36GR83S1tpdYCKkpqhqK60ub7I0Nfe5evw9f8QJEFZboCQn625xM/Z4ury+gspSmeAl6y/0eHx/wkrT26Ko7rP4/YMJ0dje5CktsbW5PH9CSxRcY6owNbr/wcxWn+gv9z3BjNfhqrL6gcvV3ubuNTtBjRhia7Q8AU5apfA5wU7b57K8wU3Z5O74AU8caHO+ARBeq/gBEN/tuoAAAAAAAAAAODg4ODg4ODgoKCgoLm5ubKyqIY9JeDg4ODg4ODg8PDw8M/Pz8bGt5BCKKCgoKCgoKCgubm5ucHBwbe3rIpAJvDw8PDw8PDwz8/Pz8zMzMHBtI9CKLm5ubm5ubm5wcHBwcHBwbe3rIpBJ8/Pz8/Pz8/PzMzMzMnJyby8sI1CKMHBwcHBwcHBwcHBwcLCwri4rYtBJ8zMzMzMzMzMycnJycbGxru7r4xCKA=="); - base64DecodeToExistingUint8Array(bufferView, 26994, "YADAACABgAEgAIAA4ABAAaABQACgAAABYAHAAQgAaADIACgBiAEoAIgA6ABIAagBSACoAAgBaAHIARAAcADQADABkAEwAJAA8ABQAbABUACwABABcAHQARgAeADYADgBmAE4AJgA+ABYAbgBWAC4ABgBeAHYAQQAZADEACQBhAEkAIQA5ABEAaQBRACkAAQBZAHEAQwAbADMACwBjAEsAIwA7ABMAawBTACsAAwBbAHMARQAdADUADQBlAE0AJQA9ABUAbQBVAC0ABQBdAHUARwAfADcADwBnAE8AJwA/ABcAbwBXAC8ABwBfAHcAQEAYQDBACEBgQEhAIEA4QBBAaEBQQChAAEBYQHBAQkAaQDJACkBiQEpAIkA6QBJAakBSQCpAAkBaQHJAREAcQDRADEBkQExAJEA8QBRAbEBUQCxABEBcQHRARkAeQDZADkBmQE5AJkA+QBZAbkBWQC5ABkBeQHZAQUAZQDFACUBhQElAIUA5QBFAaUBRQClAAUBZQHFAQ0AbQDNAC0BjQEtAI0A7QBNAa0BTQCtAA0BbQHNARUAdQDVADUBlQE1AJUA9QBVAbUBVQC1ABUBdQHVAR0AfQDdAD0BnQE9AJ0A/QBdAb0BXQC9AB0BfQHdAQIAYgDCACIBggEiAIIA4gBCAaIBQgCiAAIBYgHCAQoAagDKACoBigEqAIoA6gBKAaoBSgCqAAoBagHKARIAcgDSADIBkgEyAJIA8gBSAbIBUgCyABIBcgHSARoAegDaADoBmgE6AJoA+gBaAboBWgC6ABoBegHaAQYAZgDGACYBhgEmAIYA5gBGAaYBRgCmAAYBZgHGAQ4AbgDOAC4BjgEuAI4A7gBOAa4BTgCuAA4BbgHOARYAdgDWADYBlgE2AJYA9gBWAbYBVgC2ABYBdgHWAR4AfgDeAD4BngE+AJ4A/gBeAb4BXgC+AB4BfgHeAQMAYwDDACMBgwEjAIMA4wBDAaMBQwCjAAMBYwHDAQsAawDLACsBiwErAIsA6wBLAasBSwCrAAsBawHLARMAcwDTADMBkwEzAJMA8wBTAbMBUwCzABMBcwHTARsAewDbADsBmwE7AJsA+wBbAbsBWwC7ABsBewHbAQcAZwDHACcBhwEnAIcA5wBHAacBRwCnAAcBZwHHAQ8AbwDPAC8BjwEvAI8A7wBPAa8BTwCvAA8BbwHPARcA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"); - base64DecodeToExistingUint8Array(bufferView, 32316, "MHwAADBt"); - base64DecodeToExistingUint8Array(bufferView, 32338, "GAAwAEgAYAAIACAAOABQAGgAEAAoAEAAWABwAAQAHAA0AEwAZAAMACQAPABUAGwAFAAsAEQAXAB0AAEAGQAxAEkAYQAJACEAOQBRAGkAEQApAEEAWQBxAAUAHQA1AE0AZQANACUAPQBVAG0AFQAtAEUAXQB1AAIAGgAyAEoAYgAKACIAOgBSAGoAEgAqAEIAWgByAAYAHgA2AE4AZgAOACYAPgBWAG4AFgAuAEYAXgB2AAMAGwAzAEsAYwALACMAOwBTAGsAEwArAEMAWwBzAAcAHwA3AE8AZwAPACcAPwBXAG8AFwAvAEcAXwB3AHgAAACIiAg8AgAAAAUAGAADAAgAAgAEAAQAAQ=="); - base64DecodeToExistingUint8Array(bufferView, 32620, "UH4AADBt"); - base64DecodeToExistingUint8Array(bufferView, 32642, "DAAYACQAMAAEABAAHAAoADQACAAUACAALAA4AAEADQAZACUAMQAFABEAHQApADUACQAVACEALQA5AAIADgAaACYAMgAGABIAHgAqADYACgAWACIALgA6AAMADwAbACcAMwAHABMAHwArADcACwAXACMALwA7ADwAAACJiIg8AwAAAAUADAADAAQABAAB"); - base64DecodeToExistingUint8Array(bufferView, 32804, "gH8AADBtAAAAAAAAlYsAADeYAAD/pQAABLUAAGfFAABF1wAAweoAAP//AABhc3NlcnRpb24gZmFpbGVkOiBmbCtmczw9MzI3NjgAY2VsdC9sYXBsYWNlLmMAYXNzZXJ0aW9uIGZhaWxlZDogZnM+MA=="); - base64DecodeToExistingUint8Array(bufferView, 32930, "zkAAAMhAAAC4QAAAqkAAAKJAAACaQAAAkEAAAIxAAACcQAAAlkAAAJJAAACOQAAAnEAAAJRAAACKQAAAkEAAAIxAAACUQAAAmEAAAI5AAABwQAAAcEAAAHBAAABwQAAAcEA="); - base64DecodeToExistingUint8Array(bufferView, 33040, "SH9BgUKAQYBAgD6AQIBAgFxOXE9cTlpPdClzKHIohBqEGpERoQywCrELGLMwijaHNoQ1hjiFN4Q3hD1yRmBKWEtYV0pZQltDZDtsMngoeiVhK04yU05UUVhLVkpXR1pJXUpdSm0ociR1InUijxGREpITogylCrIHvQa+CLEJF7I2cz9mQmJFY0pZR1tJW05ZVlBcQl1AZjtnPGg8dTR7LIojhR9hJk0tPVpdPGkqayluLXQmcSZwJnwahBuIE4wUmw6fEJ4Sqg2xCrsIwAavCZ8KFbI7bkdWS1VUU1tCWElXSFxLYkhpOms2czRyN3A4gTOEKJYhjB1iI00qKnlgQmwrbyh1LHsgeCR3IX8hhiKLFZMXmBSeGZoaphWtELgNuAqWDYsPFrI/ckpSVFNcUmc+YEhgQ2VJa0hxN3Y0fTR2NHU3hzGJJ50gkR1hIU0oAABmPwAATD8AACY/AAAAPwCGaz8AFC4/AHC9PgDQTD4CAQ=="); - base64DecodeToExistingUint8Array(bufferView, 33424, "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"); - base64DecodeToExistingUint8Array(bufferView, 36211, "QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNWFzc2VydGlvbiBmYWlsZWQ6IF9rPjAAY2VsdC9jd3JzLmM="); - base64DecodeToExistingUint8Array(bufferView, 36320, "QI4AAACRAAC8kwAAdJYAACiZAADYmwAAhJ4AAOyfAACooAAAHKEAAGihAACgoQAAwKEAANihAADkoQAAYXNzZXJ0aW9uIGZhaWxlZDogX24+PTI="); - base64DecodeToExistingUint8Array(bufferView, 36416, "AQ=="); - base64DecodeToExistingUint8Array(bufferView, 37124, "AQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAADAAAABQAAAAcAAAAJAAAACwAAAA0AAAAPAAAAEQAAABMAAAAVAAAAFwAAABkAAAAbAAAAHQAAAB8AAAAhAAAAIwAAACUAAAAnAAAAKQAAACsAAAAtAAAALwAAADEAAAAzAAAANQAAADcAAAA5AAAAOwAAAD0AAAA/AAAAQQAAAEMAAABFAAAARwAAAEkAAABLAAAATQAAAE8AAABRAAAAUwAAAFUAAABXAAAAWQAAAFsAAABdAAAAXwAAAGEAAABjAAAA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"); - base64DecodeToExistingUint8Array(bufferView, 42145, "QMpFG0z/UoJas2Kia2B1YXNzZXJ0aW9uIGZhaWxlZDogcW4gPD0gMjU2AAAAAAAACA0QExUXGBobHB0eHyAgISIiIyQkJSVhc3NlcnRpb24gZmFpbGVkOiBjb2RlZEJhbmRzID4gc3RhcnQAY2VsdC9yYXRlLmMAYXNzZXJ0aW9uIGZhaWxlZDogYml0c1tqXSA+PSAwAGFzc2VydGlvbiBmYWlsZWQ6IGViaXRzW2pdID49IDAAYXNzZXJ0aW9uIGZhaWxlZDogQyplYml0c1tqXTw8QklUUkVTID09IGJpdHNbal0AYXNzZXJ0aW9uIGZhaWxlZDogZmluICE9IGZvdXQKSW4tcGxhY2UgRkZUIG5vdCBzdXBwb3J0ZWQAY2VsdC9raXNzX2ZmdC5jAGFzc2VydGlvbiBmYWlsZWQ6IG09PTQAYXNzZXJ0aW9uIGZhaWxlZDogc3QtPnNpZ25hbGxpbmc9PTAAY2VsdC9jZWx0X2VuY29kZXIuYwACAQBhc3NlcnRpb24gZmFpbGVkOiAhY2VsdF9pc25hbihmcmVxWzBdKSAmJiAoQz09MSB8fCAhY2VsdF9pc25hbihmcmVxW05dKSkAYXNzZXJ0aW9uIGZhaWxlZDogY291bnQ+MAAZFwI="); - base64DecodeToExistingUint8Array(bufferView, 42642, "gD8AAABAAABAQAAAgEAAAKBAAADAQAAA4EAAAABBAACAQQAAwEEAABBCAAAwQgAASEIAAGBCAAB4QgAAhkIAAJBCAACeQgAAsEIAANRCAAAGQw=="); - base64DecodeToExistingUint8Array(bufferView, 42738, "gD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAABAQAAAQEAAAIBAAACgQAAAwEAAAABBAAAAQX58d21XKRMJBAIAAP//nG5WRjszLSglIR8cGhkXFhUUExIREBAPDw4NDQwMDAwLCwsKCgoJCQkJCQkICAgICAcHBwcHBwYGBgYGBgYGBgYGBgYGBgYFBQUFBQUFBQUFBQUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAwMDAwMDAwMDAwMDAwMDAwMCYXNzZXJ0aW9uIGZhaWxlZDogIWNlbHRfaXNuYW4odG1wWzBdKQBhc3NlcnRpb24gZmFpbGVkOiAhY2VsdF9pc25hbihub3JtKQAAAAAAAAAz8AEN+/rw+Qv6ahoc8hXjBxLu7xXv9xTn/d4wC/Ph7OL3AvQF/wgJCQjzEu/e+xH1APwKAgoP+AL/AAUN/fAB+wMH5PMGJP0TxO/kB/Xi+QLW6/0G6iH3B+IV8hj17O779AzPzs8QCdv/CSLz4eEMECzWAvcI7voJJBMLDQzrA+T0AyEZ8gsBotkS9PXx+TE0CtUJOQgV+g7xLPgH4vP+9xn+gRL1zBrlGwr2BysG6CkK7uUKEQkK7/YU+hY3I7AkGejcDwntWBNAzd0RAPkp8BsED/8S8C/ZyvgN5+xm7vssC+RHAs37BQKt9+MIFcs62/kNJgki/9cVBOjc3+sgS/4BvP8v4yAUDL+pBRD0GCgPBxPm7xEG/tvi9yCB2QDh5QTqF/qzI8Mg2+gN9f/Y/RH5DQs77QoG7gANA/rpEwvvDf+wKMtF48oA/CHn/iYjJPEuAvPw+PgM6PfJ+/cgCwcM7vaq2jYl5xLVB+Xlyg0JFkYGI/kX8dT6B76rICjt9/kM8QcCBt0LHAAaDgEBBAwSIxbu/Q7/Bw748v0E/e35/+flGeb+Ierl5wT3BxUa4gr37AsbCgXuDvwC7/v59/MPHQH28PYjJPnq1BEeFhX/FvUg+PkF9gUe7B3s3gz8+gbzCvu8/xgJE+jAHxMb5kvTKSfWCAYX4hDnHiII2v0SEOEW/PcBFAkm4ADTAPrzC+fg6h/o9fX8/BTeFhQJ5xv7HOMdBhX67jYE0hcV8uEk1+gEFgoLByTg88zvGBzb3P8YCdojMBIC/y0KJxjaDQjwCBkLB+P1BxTi2tMO7uT3QT0Wy9rwJC4U2SDD+vrc3+7kOGUtC+Tp48MU0QIwG+8BKAEDzQ8jHBYjNcPjDPrrCgPsAucB+h8L/QH2zAZ+l3p/gH9/gH9sDH8wgNyAf3+AgH9ZgH+AgIB/f4CAo64UfUGufya2UVioTzPRkeYOU6iQGCObYp3Q0y5TxLEt7NcJBDQ2XfYEDQN7Bl6Ru/LhCgw1sfXr/tS4XEHHONp/yIB/f4BWdbWAf+2dkH+Af9BydoCAde/6eYB/gFI2ln9/32TZ6RKy3uP/4n/mf4B+gBvpsYiBf0hCHQe+yIuAIKgAAECoAAAZAAAAIA=="); - base64DecodeToExistingUint8Array(bufferView, 43904, "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"); - base64DecodeToExistingUint8Array(bufferView, 48048, "j6gfgILDVd12gMN/gO+Af2j3gCEtfwVTVICrgNMwy4Auf+99ddeLpYG8/6ewIGoHpLsAALC7AAAYAAAAAgAAAAE="); - base64DecodeToExistingUint8Array(bufferView, 48132, "BcEjPel9oz0llvQ94nQiPqwcSj7dJXE+NLqLPrR3nj7kv7A+rYjCPiXJ0z4YeuQ+GJX0PsgKAj8cfAk/SZ0QP8ptFz/A7R0/nx0kP1T+KT8ukS8/4Nc0P2PUOT/wiD4/0/dCP6sjRz8XD0s/2LxOP60vUj9qalU/zm9YP5pCWz+O5V0/S1tgP26mYj9kyWQ/m8ZmP2+gaD/3WGo/gPJrP99ubT8L0G4/yhdwP+BHcT/hYXI/TWdzP5ZZdD8MOnU//wl2P4rKdj+7fHc/wCF4P2K6eD+dR3k/S8p5PyRDej/ysno/Oxp7P8h5ez8g0ns/yCN8PzdvfD/ytHw/XvV8P+AwfT/sZ30/t5p9P7TJfT8G9X0/ER1+PxhCfj9OZH4/04N+P/2gfj/tu34/w9R+P7Prfj/vAH8/hxR/P40mfz9DN38/qkZ/P+NUfz8PYn8/L25/P2R5fz++g38/P41/PxiWfz84nn8/wqV/P6Osfz8Qs38/9bh/P3e+fz9yw38/Gch/P2zMfz9b0H8/BtR/P2/Xfz+D2n8/Zt1/PxXgfz+C4n8/zeR/P+bmfz/N6H8/kup/P0bsfz/I7X8/KO9/P3jwfz+m8X8/w/J/P7/zfz+69H8/lPV/P172fz8n938/z/d/P3f4fz/9+H8/lPl/Pwn6fz9/+n8/9Pp/P1n7fz+t+38/Afx/P1T8fz+Y/H8/2/x/Px79fz9Q/X8/gv1/P7X9fz/n/X8/Cf5/Pzv+fz9d/n8/fv5/P4/+fz+w/n8/0v5/P+P+fz/0/n8/Ff9/Pyb/fz83/38/R/9/P1j/fz9Y/38/af9/P3r/fz96/38/i/9/P5v/fz+b/38/m/9/P6z/fz+s/38/vf9/P73/fz+9/38/zv9/P87/fz/O/38/zv9/P87/fz/e/38/3v9/P97/fz/e/38/3v9/P97/fz/v/38/7/9/P+//fz/v/38/7/9/P+//fz/v/38/7/9/P+//fz/v/38/7/9/P+//fz/v/38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8="); - base64DecodeToExistingUint8Array(bufferView, 48944, "5lo0OHdOMznT2ck5kpEzOsxgjDph+8k6mX4JO8uAMzvVJWM7dy6MO6iKqTtFuMk7h6bsO+guCTyuZh089wIzPJP/STxPWGI8XhF8PC6Rizy9x5k8XKyoPPM8uDyBecg87l/ZPDnw6jxjKv08NQcIPRDMET3N5Bs9YVAmPcsOMT0AHzw9/oBHPcY0Uz0/OF89aYtrPUUueD1pkII9ezCJPeD3jz2K5ZY9e/mdPbEzpT0hk6w9UBi0PTPCuz1PkcM9EoTLPQKb0z0f1ts91zPkPa+07D0hWPU9qB3+PaGCAz7yBgg+x5sMPt1AET409hU+RbsaPhGQHz5UdCQ+y2cpPjNqLj6NezM+Ups4PsXJPT4cBkM+WVBIPnqoTT63DVM+UoBYPggAXj5UjGM+8iRpPiXKbj4ke3Q+rDd6PgAAgD6r6YI++diFPoXNiD5Qx4s+N8aOPvfJkT6z0pQ+JuCXPg/ymj5sCJ4+HCOhPv9BpD7QZKc+sYuqPhy2rT5U5LA+0xW0PrpKtz7ogro++b29Pg38wD7iPMQ+VoDHPkfGyj6VDs4++1jRPnql1D7x89c+HETbPtmV3j4I6eE+pz3lPlOT6D4M6us+r0HvPhya8j4O8/U+iEz5PiKm/D4AAAA/76wBP7xZAz95BgU/8rIGPylfCD/6Cgo/VrYLPyxhDT98Cw8/E7UQP/JdEj8IBhQ/Q60VP4JTFz+2+Bg/3JwaP9U/HD+P4R0/+YEfPwQhIT+MviI/o1okPxf1JT/WjSc/8iQpPyi6Kj+YTSw/Ad8tP3JuLz/K+zA/+YYyP+0PND+nljU/BBs3P+WcOD9YHDo/PZk7P4MTPT8qiz4/AABAPxVyQT834UI/d01EP8O2RT/rHEc//n9IP+zfST+SPEs/4ZVMP+rrTT95Pk8/j41QPyvZUT8dIVM/c2VUPw2mVT/r4lY//BtYPy9RWT9zglo/ya9bPw7ZXD9D/l0/WB9fP0s8YD/8VGE/amliP4V5Yz88hWQ/oIxlP36PZj/WjWc/uodoP/Z8aT+cbWo/illrP9FAbD9PI20/BAFuP/HZbj/zrW8/HH1wP0lHcT98DHI/tMxyP/CHcz8QPnQ/E+90P/qadT+zQXY/P+N2P41/dz+tFng/fqh4PwE1eT80vHk/GD56P526ej/CMXs/d6N7P7sPfD+fdnw/Ath8P/QzfT9lin0/RNt9P7Mmfj+PbH4/66x+P6Pnfj/aHH8/f0x/P4F2fz8Cm38/0Ll/PxzTfz/F5n8/y/R/Py/9fz8AAIA/BAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAiAAAAKAAAADAAAAA8A=="); - base64DecodeToExistingUint8Array(bufferView, 49986, "gD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD7QJbQ+lzmtPgmlnz767Ys+zaxlPvipKj40MNI9WvENPVrxDb00MNK9+Kkqvs2sZb767Yu+CaWfvpc5rb7QJbS+h4qxPhuDlj5gI0k+xEKNPcRCjb1gI0m+G4OWvoeKsb6HirG+G4OWvmAjSb7EQo29xEKNPWAjST4bg5Y+h4qxPpc5rT7NrGU+WvENPfipKr4JpZ++0CW0vvrti740MNK9NDDSPfrtiz7QJbQ+CaWfPvipKj5a8Q29zaxlvpc5rb59Pac+0osKPtKLCr59Pae+fT2nvtKLCr7Siwo+fT2nPn09pz7Siwo+0osKvn09p759Pae+0osKvtKLCj59Pac+CaWfPlrxDT367Yu+lzmtvjQw0r3NrGU+0CW0PvipKj74qSq+0CW0vs2sZb40MNI9lzmtPvrtiz5a8Q29CaWfvhuDlj7EQo29h4qxvmAjSb5gI0k+h4qxPsRCjT0bg5a+G4OWvsRCjT2HirE+YCNJPmAjSb6HirG+xEKNvRuDlj767Ys++Kkqvpc5rb5a8Q090CW0PjQw0j0JpZ++zaxlvs2sZT4JpZ8+NDDSvdAltL5a8Q29lzmtPvipKj767Yu+YXNzZXJ0aW9uIGZhaWxlZDogc3QtPm1vZGUgPT0gTU9ERV9IWUJSSUQgfHwgY3Vycl9iYW5kd2lkdGggPT0gT1BVU19CQU5EV0lEVEhfV0lERUJBTkQAc3JjL29wdXNfZW5jb2Rlci5jAGFzc2VydGlvbiBmYWlsZWQ6IHN0LT5zaWxrX21vZGUuaW50ZXJuYWxTYW1wbGVSYXRlID09IDE2MDAw"); - base64DecodeToExistingUint8Array(bufferView, 50672, "4C4AAOgDAACwNgAA6AMAAIA+AADoAwAAIE4AAOgDAADwVQAA6AM="); - base64DecodeToExistingUint8Array(bufferView, 50740, "4C4AABAnAAAQJwAA+CoAAPgqAACAPgAAvDQAALw0AACYOgAAmDoAACBOAACAPgAAgD4AAFBGAABQRgAAwF0AAFBGAABQRgAACFIAAAhSAAAAfQAA8FUAAPBVAABgbQAAYG0AAAD6AABwlAAAcJQAAFDDAABQwwAADQAAABEAAAARAAAAEwAAAAAAAAAIAAAABAAAAOF6VD/2KFw/nMcAABAAAAAEAAAAmplZP65HYT+cxwAAIAAAAAQAAADBymE/w/VoP5zHAAAwAAAACAAAALgeZT+DwGo/pMcAAEAAAAAIAAAAqMZrP9ejcD+kxwAAUAAAABAAAAAxCGw/16NwP6zHAABgAAAAEAAAANejcD+F63E/rMcAAIAAAAAQAAAAMzNzPzMzcz+sxwAAoAAAABAAAACPwnU/j8J1P6zHAADAAAAAIAAAANnOdz/Zznc/tMcAAAABAAAgAAAAmpl5P5qZeT+0xwAAwMcAACAAAADgyAAAIAAAAADKAAAgAAAAIMsAAEAAAAAAAAAAJZHguiDq7z8AAAAAAADwPyWR4Log6u8/3ksrz82o7z9aH/+a5jzvP1XPF7Xap+4/vqBk9qLr7T/XkG46uArtP4voz2UHCOw/td5vtOPm6j9YAHQU96rpPyJyVTQxWOg/UMWuabXy5j9Y5LYByH7lP5RFJ2y7AOQ/RytKS9184j+po+NqZPfgP6qpl6W+6N4/FsR6gkjv2z9LZsyPhQnZPz/p4VfuPdY/wmpufT+S0z+gvqdqaQvRPytyXzkIW80/J5liL5D3yD+hB8qvF/HEP8pirICMSsE/IsW+bFQKvD9hhQCFH0G2P4/ecB+5NbE/Q4TJnk7DqT8he3vfEXiiP/NHKOi855g/We0O5+l1jj8hAg6hSs1+PwAAAAAAAAAAwVNMzh7i7z8AAAAAAADwP8FTTM4e4u8/z0LImg2J7z8MbeeYf/buP4gSLXk8Le4/mk30twwx7T+1sMC6ngbsP8yZDhlms+o/3Hksx3U96T9RqyK7VqvnP5U2yU3cA+Y/davnpPdN5D93AJvei5DiPxOB6h9E0uA/xgDD0dky3j9TPgRVo9faP9kIYcE/ndc/qGoG4Z+M1D9uJH0YKa3RP1rvefZDCc4/GwBgK1cuyT9RlmsbkM7EP4vsWq3Z68A/6dYpXn4Kuz/fF/rUby61PwYNgUwAOLA/yr1E5fQvqD+mFfjtmHihP0v1U9J5Q5g/lM+f9I0BkD8Abjc9/6iDP95pGUbNmXU/4IWMy+EoYz/8qfHSTWJAPwAAAAAAAAAAuaajkCLa7z8AAAAAAADwP7mmo5Ai2u8/hQsW2ntp7z9ERs1417DuPyZTw4bAtO0/M9ouXVZ77D+pzhc5EwzrP6nqcSGHb+k/cuaRHgqv5z/W0WnEadTlP8CnpBSV6eM/OaAA5Ur44T/qgxvfzQngP1Vq1TJCTdw/Q13e+5+s2D8PWvbBhT7VPx8F28pDDdI/oGc3IxhBzj+Mi3rz4frIP/CuSIb7TMQ/dOMnH8w3wD/uYYrNIm+5PztOVcoAirM/6GEuyuhXrT8kM80qInmlP7tpbfnMgp4/Iix0b4/vlD8+Ed0W2YyLP13CX5umMoE/UAiy2AUHdD+ByCq+BBtlP9zuq5Ov21I/G8qaom1GNz8="); - base64DecodeToExistingUint8Array(bufferView, 52000, "yFEM0oT07z8AAAAAAADwP8hRDNKE9O8/9pUH6SnS7z/a08TxMpnvP9T9ENkPSu8/fp+7blvl7j9hwT+d2WvuPx3X8SV13u0/an9v7Dw+7T/J6jXBYIzsP3ckRQEuyus/Hrx+2gv56j860L80dxrqP/UlI4D+L+k/8kBDgz076D8OB1Pe2D3nP/fyr6N5OeY/TMjFIMkv5T/OuHiRbCLkP/+ZWhkBE+M/L5wx7RcD4j9j2QbNMvTgP01ahnKBz98/zY9k+zW+3T8VxjeQBbfbP+AHrag9vNk/YDMKk/PP1z/zHfzEAfTVP0qFZ/gFKtQ/5808FGBz0j+NyjQ3MtHQP9jRevDBiM4/ryd4Eiqbyz/ISJPeedrIP7XPWyMfR8Y/PVdCFB/hwz+1zQFAHajBP026kLvGNr8/LgwmONRzuz9mkgUKxAS4P4BUFsd55rQ/YkhOJm4Vsj+kFYSXhRuvP+yy6yCnlqo/l6hBRZOTpj8+eC/vWAmjP9XnrEfI3Z8/bM9NFzl2mj/08djo/8mVPw8LtaZ5x5E/VRds+h67jD/+pLEosveGPzy3lup+JYI/pfu1zFROfD9nH1R3n8J1PwXEfxU7dXA/dH+znJ1vaD/T8PMAksBhP/dS2/qnI1k/P8Gs7XlAUT/xQgCR+sJGP3uyzVM+gDw/JlGSIvCPMD/HVG5gehQhP32Jfzcgqws/8WjjiLX45D4="); - base64DecodeToExistingUint8Array(bufferView, 52545, "0VAAAAAAAAU="); - base64DecodeToExistingUint8Array(bufferView, 52564, "AQ=="); - base64DecodeToExistingUint8Array(bufferView, 52588, "AgAAAAMAAAC40A=="); - base64DecodeToExistingUint8Array(bufferView, 52612, "Ag=="); - base64DecodeToExistingUint8Array(bufferView, 52627, "//////8="); - base64DecodeToExistingUint8Array(bufferView, 52868, "4NA="); -} - - var scratchBuffer = new ArrayBuffer(16); - var i32ScratchView = new Int32Array(scratchBuffer); - var f32ScratchView = new Float32Array(scratchBuffer); - var f64ScratchView = new Float64Array(scratchBuffer); - - function wasm2js_scratch_load_i32(index) { - return i32ScratchView[index]; - } - - function wasm2js_scratch_store_i32(index, value) { - i32ScratchView[index] = value; - } - - function wasm2js_scratch_load_f64() { - return f64ScratchView[0]; - } - - function wasm2js_scratch_store_f64(value) { - f64ScratchView[0] = value; - } - - function wasm2js_scratch_store_f32(value) { - f32ScratchView[2] = value; - } - - function wasm2js_scratch_load_f32() { - return f32ScratchView[2]; - } - -function asmFunc(env) { - var memory = env.memory; - var buffer = memory.buffer; - var HEAP8 = new Int8Array(buffer); - var HEAP16 = new Int16Array(buffer); - var HEAP32 = new Int32Array(buffer); - var HEAPU8 = new Uint8Array(buffer); - var HEAPU16 = new Uint16Array(buffer); - var HEAPU32 = new Uint32Array(buffer); - var HEAPF32 = new Float32Array(buffer); - var HEAPF64 = new Float64Array(buffer); - var Math_imul = Math.imul; - var Math_fround = Math.fround; - var Math_abs = Math.abs; - var Math_clz32 = Math.clz32; - var Math_min = Math.min; - var Math_max = Math.max; - var Math_floor = Math.floor; - var Math_ceil = Math.ceil; - var Math_trunc = Math.trunc; - var Math_sqrt = Math.sqrt; - var abort = env.abort; - var nan = NaN; - var infinity = Infinity; - var emscripten_resize_heap = env.emscripten_resize_heap; - var emscripten_memcpy_big = env.emscripten_memcpy_big; - var __wasi_fd_close = env.fd_close; - var __wasi_fd_write = env.fd_write; - var abort = env.abort; - var setTempRet0 = env.setTempRet0; - var legalimport$__wasi_fd_seek = env.fd_seek; - var __stack_pointer = 5296384; - var i64toi32_i32$HIGH_BITS = 0; - // EMSCRIPTEN_START_FUNCS -function opus_encode_native($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { - var $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = Math_fround(0), $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = Math_fround(0), $48 = Math_fround(0), $49 = Math_fround(0), $50 = 0, $51 = 0, $52 = 0; - $15 = __stack_pointer - 624 | 0; - __stack_pointer = $15; - $14 = $15; - HEAP32[$14 + 616 >> 2] = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $13 = -1; - label$1 : { - if (($2 | 0) < 1) { - break label$1; - } - $23 = ($4 | 0) < 1276 ? $4 : 1276; - if (($23 | 0) < 1) { - break label$1; - } - if (($23 | 0) == 1) { - $13 = -2; - if (HEAP32[$0 + 144 >> 2] == (Math_imul($2, 10) | 0)) { - break label$1; - } - } - $19 = HEAP32[$0 >> 2] + $0 | 0; - $22 = HEAP32[$0 + 4 >> 2]; - $38 = HEAP32[$0 + 108 >> 2] != 2051 ? HEAP32[$0 + 116 >> 2] : $38; - $13 = HEAP32[$0 + 168 >> 2]; - HEAP32[$14 + 416 >> 2] = $14 + 612; - opus_custom_encoder_ctl($19, 10015, $14 + 416 | 0); - HEAP32[$14 + 544 >> 2] = 0; - $20 = ($5 | 0) < ($13 | 0) ? $5 : $13; - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - if (HEAP32[$0 + 44 >> 2] < 7) { - break label$9; - } - $29 = HEAP32[$0 + 144 >> 2]; - if (($29 | 0) < 16e3) { - break label$9; - } - $41 = 1; - $5 = Math_imul(HEAP32[$0 + 112 >> 2], $2); - if (($5 | 0) >= 1) { - $13 = 0; - while (1) { - $16 = HEAPF32[($13 << 2) + $1 >> 2]; - $21 = $16 > $21 ? $21 : $16; - $17 = $16 < $17 ? $17 : $16; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $24 = HEAP32[$0 + 7640 >> 2]; - $30 = HEAP32[$0 + 7636 >> 2]; - run_analysis($0 + 188 | 0, HEAP32[$14 + 612 >> 2], $6, $7, $2, $8, $9, $10, $29, $20, $11, $14 + 544 | 0); - $16 = Math_fround(-$21); - $5 = 0; - if (Math_fround(Math_fround(1) / Math_fround(1 << $20)) >= ($16 < $17 ? $17 : $16)) { - break label$4; - } - if (HEAPF32[$14 + 580 >> 2] > Math_fround(.10000000149011612) ^ 1) { - break label$5; - } - $21 = Math_fround(HEAPF32[$0 + 18128 >> 2] * Math_fround(.9990000128746033)); - $5 = Math_imul(HEAP32[$0 + 112 >> 2], $2); - if (($5 | 0) < 1) { - break label$8; - } - $13 = 0; - $16 = Math_fround(0); - while (1) { - $17 = HEAPF32[($13 << 2) + $1 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($5 | 0)) { - continue; - } - break; - } - $26 = Math_fround($5 | 0); - if (Math_fround($16 / $26) < $21) { - break label$6; - } - $13 = 0; - $16 = Math_fround(0); - while (1) { - $17 = HEAPF32[($13 << 2) + $1 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($5 | 0)) { - continue; - } - break; - } - break label$7; - } - $24 = -1; - if (HEAP32[$0 + 7648 >> 2]) { - tonality_analysis_reset($0 + 188 | 0); - } - $30 = -1; - break label$5; - } - $16 = Math_fround(0); - $26 = Math_fround($5 | 0); - if (Math_fround(Math_fround(0) / $26) < $21) { - break label$6; - } - } - $21 = Math_fround($16 / $26); - } - HEAPF32[$0 + 18128 >> 2] = $21; - } - HEAP32[$0 + 140 >> 2] = -1; - $41 = 0; - $5 = 1; - } - $51 = $5; - HEAP32[$0 + 18120 >> 2] = 0; - if (HEAP32[$14 + 544 >> 2]) { - if (HEAP32[$0 + 124 >> 2] == -1e3) { - $5 = $0; - label$19 : { - label$20 : { - $13 = HEAP32[$0 + 14228 >> 2]; - if (($13 | 0) != 1002) { - if ($13) { - break label$20; - } - $13 = $14 + 564 | 0; - break label$19; - } - $13 = $14 + 572 | 0; - break label$19; - } - $13 = $14 + 568 | 0; - } - $46 = Math_floor(+Math_fround(Math_fround(Math_fround(1) - HEAPF32[$13 >> 2]) * Math_fround(100)) + .5); - label$18 : { - if (Math_abs($46) < 2147483648) { - $13 = ~~$46; - break label$18; - } - $13 = -2147483648; - } - HEAP32[$5 + 140 >> 2] = $13; - } - $6 = $0; - $5 = HEAP32[$14 + 576 >> 2]; - $13 = 1101; - label$23 : { - if (($5 | 0) < 13) { - break label$23; - } - $13 = 1102; - if (($5 | 0) < 15) { - break label$23; - } - $13 = 1103; - if (($5 | 0) < 17) { - break label$23; - } - $13 = ($5 | 0) < 19 ? 1104 : 1105; - } - HEAP32[$6 + 18120 >> 2] = $13; - } - $16 = Math_fround(0); - if (!(HEAP32[$0 + 120 >> 2] == 1 | HEAP32[$0 + 112 >> 2] != 2)) { - $16 = compute_stereo_width($1, $2, HEAP32[$0 + 144 >> 2], $0 + 14260 | 0); - } - $5 = $2 ? $2 : HEAP32[$0 + 144 >> 2] / 400 | 0; - label$26 : { - label$27 : { - $13 = HEAP32[$0 + 164 >> 2]; - if (($13 | 0) != -1e3) { - if (($13 | 0) == -1) { - break label$27; - } - $6 = HEAP32[$0 + 144 >> 2]; - break label$26; - } - $6 = HEAP32[$0 + 144 >> 2]; - $13 = Math_imul($6, HEAP32[$0 + 112 >> 2]) + ((Math_imul($6, 60) | 0) / ($5 | 0) | 0) | 0; - break label$26; - } - $6 = HEAP32[$0 + 144 >> 2]; - $13 = (Math_imul($23, $6) << 3) / ($5 | 0) | 0; - } - HEAP32[$0 + 160 >> 2] = $13; - $5 = ($6 | 0) / ($2 | 0) | 0; - label$29 : { - label$30 : { - label$31 : { - $7 = HEAP32[$0 + 148 >> 2]; - label$32 : { - if (!$7) { - $8 = (Math_imul($6, 12) | 0) / ($2 | 0) | 0; - $13 = ((($8 | 0) / 2 | 0) + ((Math_imul($13, 12) | 0) / 8 | 0) | 0) / ($8 | 0) | 0; - $23 = ($13 | 0) < ($23 | 0) ? $13 : $23; - $13 = (Math_imul($8, $23) << 3) / 12 | 0; - HEAP32[$0 + 160 >> 2] = $13; - $8 = 1; - if (($23 | 0) < 2) { - break label$32; - } - } - label$34 : { - if (($23 | 0) < 3 | (Math_imul($5, 24) | 0) > ($13 | 0)) { - break label$34; - } - $29 = Math_imul($5, $23); - if (($5 | 0) > 49) { - break label$31; - } - if (($29 | 0) < 300) { - break label$34; - } - if (($13 | 0) >= 2400) { - break label$30; - } - } - $8 = $23; - } - $13 = HEAP32[$0 + 14240 >> 2]; - $13 = $13 ? $13 : 1101; - $6 = 0; - $2 = HEAP32[$0 + 14224 >> 2]; - $15 = ($5 | 0) > 100 ? 1002 : $2 ? $2 : 1e3; - $1 = ($5 | 0) == 25 & ($15 | 0) != 1e3; - $23 = $1 ? 50 : $5; - label$35 : { - if (($23 | 0) > 16) { - $2 = $23; - break label$35; - } - if (!(($23 | 0) == 10 | ($15 | 0) != 1e3 ? ($4 | 0) != 1 : 0)) { - $1 = ($23 | 0) < 13; - $15 = 1e3; - $2 = ($23 | 0) == 12 ? 25 : 16; - break label$35; - } - $6 = 50 / ($23 | 0) | 0; - $1 = 3; - $2 = 50; - } - label$39 : { - if (($13 | 0) >= 1104) { - $4 = 1103; - if (($15 | 0) == 1e3) { - break label$39; - } - } - if (($13 | 0) == 1102) { - $4 = 1101; - if (($15 | 0) == 1002) { - break label$39; - } - } - $4 = ($13 | 0) < 1105 ? ($15 | 0) == 1001 ? 1104 : $13 : $13; - } - $23 = HEAP32[$0 + 14192 >> 2]; - $13 = 0; - if (($2 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $2 = $2 << 1; - if (($2 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - $2 = $3; - label$44 : { - label$45 : { - switch ($15 - 1e3 | 0) { - case 0: - $13 = $13 - 16 | ($4 << 5) + 96 & 224; - break label$44; - case 2: - $13 = ((($4 | 0) > 1102 ? $4 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$44; - default: - break label$45; - } - } - $13 = $13 + 240 | $4 << 4 | 96; - } - HEAP8[$2 | 0] = $13 | ((($23 | 0) == 2) << 2 | $1); - $13 = $1 >>> 0 < 2; - if (($1 | 0) == 3) { - HEAP8[$3 + 1 | 0] = $6; - } - $13 = $13 ? 1 : 2; - if (HEAP32[$0 + 148 >> 2]) { - break label$1; - } - $0 = ($8 | 0) > ($13 | 0) ? $8 : $13; - $13 = opus_packet_pad($3, $13, $0) ? -3 : $0; - break label$1; - } - $42 = $29 << 3; - $9 = HEAP32[$0 + 40 >> 2]; - $34 = HEAP32[$0 + 44 >> 2]; - $8 = HEAP32[$0 + 112 >> 2]; - $10 = $13; - if (($5 | 0) == 50) { - break label$29; - } - $44 = 1; - $10 = Math_imul(Math_imul($8, -40) - 20 | 0, $5 - 50 | 0) + $13 | 0; - break label$29; - } - $42 = $29 << 3; - $9 = HEAP32[$0 + 40 >> 2]; - $34 = HEAP32[$0 + 44 >> 2]; - $8 = HEAP32[$0 + 112 >> 2]; - $10 = $13; - } - $10 = $7 ? $10 : (($10 | 0) / -12 | 0) + $10 | 0; - $32 = $34 + 90 | 0; - $25 = (Math_imul($10, $32) | 0) / 100 | 0; - $36 = Math_imul($9, 12) + 20 | 0; - $18 = (Math_imul($25, $9) | 0) / ($36 | 0) | 0; - $10 = 127; - label$49 : { - label$50 : { - switch (HEAP32[$0 + 124 >> 2] - 3001 | 0) { - case 1: - $10 = 0; - break label$49; - case 0: - break label$49; - default: - break label$50; - } - } - $10 = HEAP32[$0 + 140 >> 2]; - if (($10 | 0) >= 0) { - $10 = Math_imul($10, 327) >> 8; - if (HEAP32[$0 + 108 >> 2] != 2049) { - break label$49; - } - $10 = ($10 | 0) < 115 ? $10 : 115; - break label$49; - } - $10 = HEAP32[$0 + 108 >> 2] == 2048 ? 115 : 48; - } - $11 = HEAP32[$0 + 120 >> 2]; - label$53 : { - label$54 : { - if (($11 | 0) != -1e3) { - if (($8 | 0) != 2) { - break label$54; - } - HEAP32[$0 + 14192 >> 2] = $11; - $8 = $11; - break label$53; - } - if (($8 | 0) != 2) { - break label$54; - } - $8 = ((Math_imul(Math_imul($10, $10), 2e3) >>> 14 | 0) + (HEAP32[$0 + 14192 >> 2] == 2 ? 16e3 : 18e3) | 0) < ($25 - $18 | 0) ? 2 : 1; - } - HEAP32[$0 + 14192 >> 2] = $8; - } - $25 = !(HEAP32[$14 + 544 >> 2] | $41) & HEAP32[$0 + 184 >> 2] != 0; - HEAP32[$0 + 56 >> 2] = $25; - $11 = $44 ? Math_imul(Math_imul($8, -40) - 20 | 0, $5 - 50 | 0) + $13 | 0 : $13; - $11 = $7 ? $11 : (($11 | 0) / -12 | 0) + $11 | 0; - $11 = (Math_imul($32, $11) | 0) / 100 | 0; - $27 = (Math_imul($11, $9) | 0) / ($36 | 0) | 0; - $33 = HEAP32[$0 + 108 >> 2]; - label$57 : { - if (($33 | 0) == 2051) { - $11 = 1002; - HEAP32[$0 + 14224 >> 2] = 1002; - $25 = $0 + 14224 | 0; - $33 = (($6 | 0) / 100 | 0) > ($2 | 0); - break label$57; - } - $18 = HEAP32[$0 + 136 >> 2]; - label$59 : { - if (($18 | 0) == -1e3) { - $31 = $0; - $27 = $11 - $27 | 0; - $17 = Math_fround(Math_fround(1) - $16); - $21 = Math_fround(Math_fround($16 * Math_fround(1e4)) + Math_fround($17 * Math_fround(1e4))); - label$61 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $18 = ~~$21; - break label$61; - } - $18 = -2147483648; - } - $39 = $18; - $16 = Math_fround(Math_fround($16 * Math_fround(44e3)) + Math_fround($17 * Math_fround(64e3))); - label$63 : { - if (Math_fround(Math_abs($16)) < Math_fround(2147483648)) { - $11 = ~~$16; - break label$63; - } - $11 = -2147483648; - } - $11 = $39 + (Math_imul($11 - $18 | 0, Math_imul($10, $10)) >> 14) | 0; - $11 = ($33 | 0) == 2048 ? $11 + 8e3 | 0 : $11; - $18 = HEAP32[$0 + 14228 >> 2]; - $18 = ($27 | 0) < ((($18 | 0) == 1002 ? $11 - 4e3 | 0 : ($18 | 0) > 0 ? $11 + 4e3 | 0 : $11) | 0) ? 1e3 : 1002; - HEAP32[$31 + 14224 >> 2] = $18; - if (!(!HEAP32[$0 + 48 >> 2] | 128 - $10 >> 4 >= ($9 | 0))) { - HEAP32[$0 + 14224 >> 2] = 1e3; - $18 = 1e3; - } - $11 = (Math_imul($44 ? 9e3 : 6e3, $2) | 0) / ($6 << 3) | 0; - if (($23 | 0) >= ($11 | 0) ? !(($10 | 0) > 100 & $25) : 0) { - break label$59; - } - $18 = ($11 | 0) > ($23 | 0) ? 1002 : 1e3; - } - HEAP32[$0 + 14224 >> 2] = $18; - } - $25 = $0 + 14224 | 0; - $6 = ($6 | 0) / 100 | 0; - $33 = ($6 | 0) > ($2 | 0); - if (($2 | 0) >= ($6 | 0)) { - $11 = $18; - break label$57; - } - $11 = 1002; - if (($18 | 0) == 1002) { - $11 = $18; - break label$57; - } - HEAP32[$25 >> 2] = 1002; - } - if (HEAP32[$0 + 176 >> 2]) { - HEAP32[$25 >> 2] = 1002; - $11 = 1002; - } - $27 = 0; - label$69 : { - label$70 : { - label$71 : { - $18 = HEAP32[$0 + 14228 >> 2]; - if (($18 | 0) < 1) { - break label$71; - } - if (!(($11 | 0) != 1002 ? ($18 | 0) == 1002 : 0)) { - if (($11 | 0) != 1002) { - break label$71; - } - $6 = 1002; - if (($18 | 0) == 1002) { - break label$70; - } - } - $6 = 1002; - $45 = 1; - label$73 : { - if (($11 | 0) != 1002) { - $43 = 1; - $6 = $11; - break label$73; - } - $31 = 0; - if ($33) { - break label$69; - } - HEAP32[$25 >> 2] = $18; - $45 = 0; - $27 = 1; - $6 = $18; - } - $31 = 1; - break label$69; - } - $6 = $11; - } - $45 = 1; - $31 = 0; - } - label$75 : { - label$76 : { - if (($8 | 0) != 1 | HEAP32[$0 + 14232 >> 2] != 2 | (HEAP32[$0 + 68 >> 2] | ($18 | 0) == 1002)) { - break label$76; - } - if (($6 | 0) == 1002) { - break label$76; - } - $8 = 2; - HEAP32[$0 + 14192 >> 2] = 2; - HEAP32[$0 + 68 >> 2] = 1; - break label$75; - } - HEAP32[$0 + 68 >> 2] = 0; - } - $33 = $0 + $22 | 0; - $13 = $44 ? Math_imul(Math_imul($8, -40) - 20 | 0, $5 - 50 | 0) + $13 | 0 : $13; - $13 = $7 ? $13 : (($13 | 0) / -12 | 0) + $13 | 0; - $8 = (Math_imul($32, $13) | 0) / 100 | 0; - $39 = $0; - label$78 : { - label$79 : { - label$80 : { - label$81 : { - label$82 : { - label$83 : { - label$84 : { - if (($6 & -2) == 1e3) { - $7 = 1; - $11 = 1002; - $32 = 0; - $8 = ($34 | 0) <= 1 ? ($8 << 2) / 5 | 0 : $8; - $8 = $8 - ((Math_imul($8, $9) | 0) / (Math_imul($9, 6) + 10 | 0) | 0) | 0; - $9 = $8; - if (($6 | 0) != 1002) { - break label$84; - } - break label$83; - } - $11 = 1002; - if (($6 | 0) == 1002) { - $32 = 0; - $7 = 1; - if (($34 | 0) > 4) { - break label$83; - } - $8 = (Math_imul($8, 9) | 0) / 10 | 0; - break label$83; - } - $9 = $8 - ((Math_imul($8, $9) | 0) / ($36 | 0) | 0) | 0; - } - $8 = $9; - $32 = 0; - if (($18 | 0) == 1002) { - silk_InitEncoder($33, HEAP32[$0 + 180 >> 2], $14 + 440 | 0); - $32 = 1; - $6 = HEAP32[$0 + 14224 >> 2]; - } - $7 = 1; - if (($6 | 0) == 1002) { - break label$83; - } - $7 = 0; - if (HEAP32[$0 + 84 >> 2] ? 0 : !HEAP32[$0 + 14252 >> 2]) { - break label$82; - } - $11 = $6; - } - $13 = Math_imul($10, $10); - $9 = (Math_imul($13, 2e3) >> 14) + 12e3 | 0; - $10 = (Math_imul($13, 2500) >> 14) + 11e3 | 0; - label$89 : { - label$90 : { - $6 = HEAP32[$0 + 14252 >> 2]; - if (!$6) { - $13 = 1105; - $22 = 1; - if (((HEAP32[$0 + 14244 >> 2] < 1105 ? 2e3 : -2e3) + $9 | 0) <= ($8 | 0)) { - break label$80; - } - if ($6) { - break label$89; - } - if (HEAP32[$0 + 14244 >> 2] < 1104) { - break label$90; - } - $10 = $10 - 1e3 | 0; - break label$89; - } - if (($8 | 0) < ($9 | 0)) { - break label$89; - } - HEAP32[$0 + 14240 >> 2] = 1105; - HEAP32[$0 + 14244 >> 2] = 1105; - $13 = 1105; - break label$79; - } - $10 = $10 + 1e3 | 0; - } - if (($8 | 0) >= ($10 | 0)) { - $13 = 1104; - $22 = 1; - break label$80; - } - if (!$6) { - $13 = 1103; - $22 = 0; - if (((HEAP32[$0 + 14244 >> 2] < 1103 ? 9700 : 8300) | 0) <= ($8 | 0)) { - break label$80; - } - $13 = 9e3; - if ($6) { - break label$81; - } - $13 = HEAP32[$0 + 14244 >> 2] < 1102 ? 9700 : 8300; - break label$81; - } - $13 = 9e3; - if (($8 | 0) < 9e3) { - break label$81; - } - HEAP32[$0 + 14240 >> 2] = 1103; - HEAP32[$0 + 14244 >> 2] = 1103; - $13 = 1103; - break label$79; - } - $13 = HEAP32[$0 + 14240 >> 2]; - break label$78; - } - $13 = ($8 | 0) < ($13 | 0) ? 1101 : 1103; - $22 = 0; - } - HEAP32[$39 + 14240 >> 2] = $13; - HEAP32[$0 + 14244 >> 2] = $13; - if ($6 | $7 | (HEAP32[$0 + 88 >> 2] | $22 ^ 1)) { - break label$79; - } - $13 = 1103; - HEAP32[$0 + 14240 >> 2] = 1103; - } - $6 = $11; - } - $9 = HEAP32[$0 + 132 >> 2]; - if (($13 | 0) > ($9 | 0)) { - HEAP32[$0 + 14240 >> 2] = $9; - $13 = $9; - } - $9 = HEAP32[$0 + 128 >> 2]; - if (($9 | 0) != -1e3) { - HEAP32[$0 + 14240 >> 2] = $9; - $13 = $9; - } - if (!(($6 | 0) == 1002 | ($29 | 0) > 1874)) { - $13 = ($13 | 0) < 1103 ? $13 : 1103; - HEAP32[$0 + 14240 >> 2] = $13; - } - $6 = HEAP32[$0 + 144 >> 2]; - label$97 : { - if (($6 | 0) > 24e3) { - $22 = $13; - break label$97; - } - $22 = 1104; - label$99 : { - label$100 : { - label$101 : { - label$102 : { - if (($13 | 0) <= 1104) { - if (($6 | 0) >= 16001) { - $22 = $13; - break label$97; - } - if (($13 | 0) > 1103) { - break label$102; - } - if (($6 | 0) < 12001) { - break label$101; - } - $22 = $13; - break label$97; - } - HEAP32[$0 + 14240 >> 2] = 1104; - if (($6 | 0) >= 16001) { - break label$97; - } - } - $22 = 1103; - HEAP32[$0 + 14240 >> 2] = 1103; - if (($6 | 0) >= 12001) { - break label$97; - } - break label$100; - } - if (($13 | 0) > 1102) { - break label$100; - } - if (($6 | 0) > 8e3) { - $22 = $13; - break label$97; - } - $22 = $13; - if (($13 | 0) != 1102) { - break label$97; - } - break label$99; - } - $22 = 1102; - HEAP32[$0 + 14240 >> 2] = 1102; - if (($6 | 0) > 8e3) { - break label$97; - } - } - $22 = 1101; - HEAP32[$0 + 14240 >> 2] = 1101; - } - $13 = HEAP32[$0 + 18120 >> 2]; - if (!(!$13 | ($9 | 0) != -1e3)) { - $11 = $0; - $18 = $13; - $9 = HEAP32[$0 + 14192 >> 2]; - label$107 : { - label$108 : { - if ((Math_imul($9, 18e3) | 0) >= ($8 | 0)) { - $10 = 0; - if (!$7) { - break label$108; - } - $7 = 1; - $6 = 1101; - break label$107; - } - if ((Math_imul($9, 24e3) | 0) < ($8 | 0)) { - $10 = $7; - break label$108; - } - $10 = $7; - $6 = 1102; - if (!($7 ^ 1)) { - break label$107; - } - } - $7 = $10; - $6 = (Math_imul($9, 3e4) | 0) < ($8 | 0) ? (Math_imul($9, 44e3) | 0) < ($8 | 0) ? 1105 : 1104 : 1103; - } - $13 = ($6 | 0) < ($13 | 0) ? $18 : $6; - HEAP32[$11 + 18120 >> 2] = $13; - $22 = ($13 | 0) > ($22 | 0) ? $22 : $13; - HEAP32[$0 + 14240 >> 2] = $22; - } - $13 = 0; - label$113 : { - if (!HEAP32[$0 + 48 >> 2] | $7) { - break label$113; - } - $6 = HEAP32[$0 + 40 >> 2]; - if (!$6) { - break label$113; - } - $7 = 125 - (($6 | 0) < 25 ? $6 : 25) | 0; - $9 = HEAP32[$0 + 52 >> 2]; - $10 = ($9 | 0) == 1; - $11 = ($6 | 0) < 6; - $13 = $22; - label$114 : { - while (1) { - $6 = $13 << 3; - $18 = HEAP32[$6 + 41864 >> 2]; - $6 = HEAP32[$6 + 41868 >> 2]; - $6 = Math_imul(($18 - ($10 ? $6 : 0) | 0) + ($9 ? 0 : $6) | 0, $7); - $6 = (Math_imul($6 & 65535, 655) >>> 16 | 0) + Math_imul($6 >> 16, 655) | 0; - if (($8 | 0) > ($6 | 0) | $11) { - break label$114; - } - if (($13 | 0) > 1101) { - $13 = $13 - 1 | 0; - HEAP32[$0 + 14240 >> 2] = $13; - continue; - } - break; - } - HEAP32[$0 + 14240 >> 2] = $22; - $13 = 0; - break label$113; - } - $13 = ($6 | 0) < ($8 | 0); - } - HEAP32[$0 + 52 >> 2] = $13; - HEAP32[$14 + 400 >> 2] = $20; - opus_custom_encoder_ctl($19, 4036, $14 + 400 | 0); - $13 = HEAP32[$0 + 14224 >> 2]; - if (!(($13 | 0) != 1002 | HEAP32[$0 + 14240 >> 2] != 1102)) { - HEAP32[$0 + 14240 >> 2] = 1103; - } - label$118 : { - label$119 : { - label$120 : { - label$121 : { - label$122 : { - label$123 : { - if (HEAP32[$0 + 176 >> 2]) { - $11 = 1101; - HEAP32[$0 + 14240 >> 2] = 1101; - break label$123; - } - $11 = HEAP32[$0 + 14240 >> 2]; - if (($13 | 0) != 1e3) { - break label$123; - } - if (($11 | 0) > 1103) { - break label$122; - } - } - if (!(($13 | 0) != 1001 | ($11 | 0) > 1103)) { - HEAP32[$25 >> 2] = 1e3; - $13 = 1e3; - } - $7 = HEAP32[$0 + 144 >> 2]; - $6 = ($7 | 0) / 50 | 0; - if (($6 | 0) < ($2 | 0)) { - break label$121; - } - $9 = $13; - break label$120; - } - $9 = 1001; - HEAP32[$0 + 14224 >> 2] = 1001; - $7 = HEAP32[$0 + 144 >> 2]; - $6 = ($7 | 0) / 50 | 0; - if (($6 | 0) < ($2 | 0) | ((Math_imul($7, 3) | 0) / 50 | 0) < ($2 | 0)) { - break label$119; - } - break label$118; - } - $9 = 1e3; - if (($13 | 0) != 1e3) { - break label$119; - } - } - $13 = Math_imul($7, 3); - $10 = ($13 | 0) / 50 | 0; - if (($10 | 0) >= ($2 | 0)) { - break label$118; - } - if (($9 | 0) != 1e3) { - break label$119; - } - if ((($7 << 1) / 25 | 0) == ($2 | 0)) { - $6 = ($7 | 0) / 25 | 0; - break label$119; - } - $6 = (($13 | 0) / 25 | 0) == ($2 | 0) ? $10 : $6; - } - $13 = ($2 | 0) / ($6 | 0) | 0; - if (($30 | 0) != -1) { - HEAP32[$0 + 7640 >> 2] = $24; - HEAP32[$0 + 7636 >> 2] = $30; - } - $13 = encode_multiframe_packet($0, $1, $13, $6, $3, $4, $27, $20, $12); - break label$1; - } - if (HEAP32[$0 + 14248 >> 2]) { - HEAP32[$0 + 14248 >> 2] = 0; - $43 = 1; - $31 = 1; - $32 = 2; - } - $13 = HEAP32[$0 + 160 >> 2]; - $30 = 0; - label$129 : { - if (!$31) { - $18 = 0; - $4 = 0; - break label$129; - } - $18 = 0; - $4 = 0; - if (($9 | 0) == 1002) { - break label$129; - } - $6 = HEAP32[$0 + 14192 >> 2]; - $4 = Math_imul($6, 40) + 20 | 0; - $9 = (Math_imul(Math_imul($4, 200 - $5 | 0) + $13 | 0, 3) | 0) / 3200 | 0; - $4 = (((Math_imul(($23 << 3) - ($4 << 1) | 0, 240) | 0) / ((48e3 / ($5 | 0) | 0) + 240 | 0) | 0) + $4 | 0) / 8 | 0; - $4 = ($4 | 0) > ($9 | 0) ? $9 : $4; - $30 = ($6 << 3 | 4) < ($4 | 0) ? ($4 | 0) < 257 ? $4 : 257 : 0; - $18 = ($30 | 0) != 0; - $4 = $18; - } - $39 = $4; - $40 = $3 + 1 | 0; - $22 = $23 - 1 | 0; - ec_enc_init($14 + 440 | 0, $40, $22); - $34 = $2 + $38 | 0; - $4 = $15 - ((Math_imul($34, HEAP32[$0 + 112 >> 2]) << 2) + 15 & -16) | 0; - $20 = $4; - __stack_pointer = $4; - $31 = $0 + 14280 | 0; - $15 = HEAP32[$0 + 112 >> 2]; - $9 = memcpy($4, $31 + (Math_imul($15, HEAP32[$0 + 172 >> 2] - $38 | 0) << 2) | 0, Math_imul($15, $38) << 2); - $27 = (Math_imul($2, $13) | 0) / ($7 << 3) | 0; - $6 = $0; - label$131 : { - if (HEAP32[$0 + 14224 >> 2] == 1002) { - $13 = silk_lin2log(60) << 8; - break label$131; - } - $13 = HEAP32[$33 + 8 >> 2]; - } - $4 = HEAP32[$0 + 14200 >> 2]; - $13 = $13 - $4 | 0; - $13 = Math_imul($13 >> 16, 983) + $4 + (Math_imul($13 & 65535, 983) >>> 16) | 0; - HEAP32[$6 + 14200 >> 2] = $13; - $24 = $0 + 14208 | 0; - $15 = silk_log2lin($13 >> 8); - $6 = HEAP32[$0 + 112 >> 2]; - $13 = (Math_imul($38, $6) << 2) + $9 | 0; - $4 = HEAP32[$0 + 144 >> 2]; - label$133 : { - if (HEAP32[$0 + 108 >> 2] == 2048) { - $4 = (Math_imul($15 << 16 >> 16, 2471) | 0) / (($4 | 0) / 1e3 | 0) | 0; - if (($2 | 0) < 1) { - break label$133; - } - $15 = $4 << 16 >> 16; - $7 = ((Math_imul($15, $4 >> 16) + (Math_imul($4 & 65535, $15) >> 16) | 0) + Math_imul(($4 >> 15) + 1 >> 1, $4) | 0) - 8388608 | 0; - $10 = $7 << 16 >> 16; - $15 = Math_imul($4, -471) + 268435456 | 0; - $4 = $15 >> 6; - $37 = $4 & 65535; - $36 = $15 >> 22; - $35 = Math_fround(Math_fround(((Math_imul($10, $37) >> 16) + Math_imul($36, $10) | 0) + Math_imul(($7 >> 15) + 1 >> 1, $4) | 0) * Math_fround(3.725290298461914e-9)); - $7 = Math_imul(($15 >> 21) + 1 >> 1, $4); - $4 = $4 << 16 >> 16; - $47 = Math_fround(Math_fround(($7 + Math_imul($36, $4) | 0) + (Math_imul($4, $37) >> 16) | 0) * Math_fround(3.725290298461914e-9)); - $48 = Math_fround(Math_fround($15 | 0) * Math_fround(3.725290298461914e-9)); - $4 = 0; - $49 = Math_fround(Math_fround(0 - ($15 << 1) | 0) * Math_fround(3.725290298461914e-9)); - $17 = HEAPF32[$0 + 14212 >> 2]; - $21 = HEAPF32[$0 + 14208 >> 2]; - while (1) { - $15 = Math_imul($4, $6) << 2; - $26 = HEAPF32[$15 + $1 >> 2]; - $16 = Math_fround($48 * $26); - $28 = $16; - $16 = Math_fround($21 + $16); - $28 = Math_fround(Math_fround($28 - Math_fround($47 * $16)) + Math_fround(1.0000000031710769e-30)); - HEAPF32[$0 + 14212 >> 2] = $28; - $21 = Math_fround(Math_fround($49 * $26) + Math_fround($17 - Math_fround($35 * $16))); - HEAPF32[$0 + 14208 >> 2] = $21; - HEAPF32[$13 + $15 >> 2] = $16; - $17 = $28; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - if (($6 | 0) != 2) { - break label$133; - } - $7 = $13 + 4 | 0; - $10 = $1 + 4 | 0; - $17 = HEAPF32[$0 + 14220 >> 2]; - $21 = HEAPF32[$0 + 14216 >> 2]; - $4 = 0; - while (1) { - $15 = $4 << 3; - $26 = HEAPF32[$15 + $10 >> 2]; - $16 = Math_fround($48 * $26); - $28 = $16; - $16 = Math_fround($21 + $16); - $28 = Math_fround(Math_fround($28 - Math_fround($47 * $16)) + Math_fround(1.0000000031710769e-30)); - HEAPF32[$0 + 14220 >> 2] = $28; - $21 = Math_fround(Math_fround($49 * $26) + Math_fround($17 - Math_fround($35 * $16))); - HEAPF32[$0 + 14216 >> 2] = $21; - HEAPF32[$7 + $15 >> 2] = $16; - $17 = $28; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$133; - } - $17 = Math_fround(Math_fround(18.900001525878906) / Math_fround($4 | 0)); - $21 = Math_fround(Math_fround(1) - $17); - $16 = HEAPF32[$24 >> 2]; - if (($6 | 0) != 2) { - $4 = 0; - if (($2 | 0) > 0) { - while (1) { - $15 = $4 << 2; - $26 = HEAPF32[$15 + $1 >> 2]; - HEAPF32[$13 + $15 >> 2] = $26 - $16; - $16 = Math_fround(Math_fround($21 * $16) + Math_fround(Math_fround($17 * $26) + Math_fround(1.0000000031710769e-30))); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF32[$24 >> 2] = $16; - break label$133; - } - $26 = HEAPF32[$0 + 14216 >> 2]; - if (($2 | 0) >= 1) { - $4 = 0; - while (1) { - $15 = $4 << 3; - $7 = $15 | 4; - $28 = HEAPF32[$7 + $1 >> 2]; - $35 = HEAPF32[$1 + $15 >> 2]; - HEAPF32[$13 + $15 >> 2] = $35 - $16; - HEAPF32[$7 + $13 >> 2] = $28 - $26; - $16 = Math_fround(Math_fround($21 * $16) + Math_fround(Math_fround($17 * $35) + Math_fround(1.0000000031710769e-30))); - $26 = Math_fround(Math_fround($21 * $26) + Math_fround(Math_fround($17 * $28) + Math_fround(1.0000000031710769e-30))); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF32[$0 + 14216 >> 2] = $26; - HEAPF32[$0 + 14208 >> 2] = $16; - } - label$142 : { - if (!$12) { - break label$142; - } - $16 = Math_fround(0); - $15 = Math_imul($2, $6); - if (($15 | 0) >= 1) { - $4 = 0; - while (1) { - $17 = HEAPF32[($4 << 2) + $13 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $4 = $4 + 1 | 0; - if (($15 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if ($16 == $16 ? !($16 < Math_fround(1e9) ^ 1) : 0) { - break label$142; - } - memset($13, 0, $15 << 2); - HEAP32[$24 + 8 >> 2] = 0; - HEAP32[$24 + 12 >> 2] = 0; - HEAP32[$24 >> 2] = 0; - HEAP32[$24 + 4 >> 2] = 0; - } - $21 = Math_fround(1); - label$145 : { - if (HEAP32[$25 >> 2] != 1002) { - $4 = 1; - $36 = $20; - $10 = $20 - ((Math_imul($2, $6) << 1) + 15 & -16) | 0; - __stack_pointer = $10; - $26 = HEAPF32[$14 + 580 >> 2]; - $52 = HEAP32[$14 + 544 >> 2]; - $13 = $23 - $30 | 0; - $27 = Math_imul(((($13 | 0) < ($27 | 0) ? $13 : $27) << 3) - 8 | 0, $5); - label$147 : { - label$148 : { - label$149 : { - label$150 : { - label$151 : { - label$152 : { - $24 = HEAP32[$25 >> 2]; - if (($24 | 0) == 1001) { - $6 = (HEAP32[$0 + 52 >> 2] << 1) + (HEAP32[$0 + 144 >> 2] == (Math_imul($2, 50) | 0) ? 2 : 1) | 0; - $12 = HEAP32[$0 + 148 >> 2]; - $15 = HEAP32[$0 + 14192 >> 2]; - $13 = ($27 | 0) / ($15 | 0) | 0; - if (($13 | 0) < 12e3) { - break label$152; - } - $4 = 2; - if (($13 | 0) < 16e3) { - break label$152; - } - $4 = 3; - if (($13 | 0) < 2e4) { - break label$152; - } - $4 = 4; - if (($13 | 0) < 24e3) { - break label$152; - } - $4 = 5; - if (($13 | 0) < 32e3) { - break label$152; - } - $4 = 6; - if (($13 | 0) < 64e3) { - break label$152; - } - $4 = HEAP32[($6 << 2) + 50840 >> 2] + (($13 - 64e3 | 0) / 2 | 0) | 0; - break label$151; - } - HEAP32[$0 + 36 >> 2] = $27; - $12 = HEAP32[$0 + 14256 >> 2]; - if ($12) { - break label$150; - } - $6 = $27; - break label$147; - } - $4 = Math_imul($4, 20); - $7 = $4 + 50720 | 0; - $20 = HEAP32[$7 >> 2]; - $4 = $4 + 50700 | 0; - $6 = $6 << 2; - $37 = Math_imul($20 - $13 | 0, HEAP32[$4 + $6 >> 2]); - $4 = HEAP32[$4 >> 2]; - $4 = ($37 + Math_imul(HEAP32[$6 + $7 >> 2], $13 - $4 | 0) | 0) / ($20 - $4 | 0) | 0; - } - $4 = $12 ? $4 : $4 + 100 | 0; - $4 = Math_imul(($11 | 0) == 1104 ? $4 + 300 | 0 : $4, $15); - $6 = ($15 | 0) == 2 ? ($13 | 0) > 11999 ? $4 - 1e3 | 0 : $4 : $4; - HEAP32[$0 + 36 >> 2] = $6; - $12 = HEAP32[$0 + 14256 >> 2]; - if (!$12) { - break label$149; - } - $27 = $6; - } - if (HEAP32[$0 + 148 >> 2]) { - break label$148; - } - $6 = $27; - break label$147; - } - $21 = Math_fround(Math_fround(1) - Math_fround(exp(+Math_fround(Math_fround($6 - $27 | 0) * Math_fround(.0009765625)) * .6931471805599453))); - break label$147; - } - if (HEAP32[$0 + 176 >> 2]) { - $6 = $27; - break label$147; - } - $28 = Math_fround(8e3); - $7 = 13; - label$155 : { - label$156 : { - label$157 : { - $50 = HEAP32[$0 + 14240 >> 2]; - switch ($50 - 1101 | 0) { - case 0: - break label$155; - case 1: - break label$157; - default: - break label$156; - } - } - $28 = Math_fround(12e3); - $7 = 15; - break label$155; - } - $28 = Math_fround(16e3); - $7 = 17; - } - $17 = Math_fround(0); - $37 = HEAP32[$0 + 112 >> 2]; - if (($37 | 0) >= 1) { - $20 = 0; - while (1) { - $6 = Math_imul($20, 21); - $13 = 0; - while (1) { - $16 = HEAPF32[($6 + $13 << 2) + $12 >> 2]; - $35 = $16; - $4 = $16 < Math_fround(.5); - $15 = ($4 ? $16 : Math_fround(.5)) > Math_fround(-2); - $16 = $15 ? Math_fround(.5) : Math_fround(-2); - $16 = $15 ? $4 ? $35 : $16 : $16; - $17 = Math_fround($17 + ($16 > Math_fround(0) ? Math_fround($16 * Math_fround(.5)) : $16)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($7 | 0)) { - continue; - } - break; - } - $20 = $20 + 1 | 0; - if (($37 | 0) != ($20 | 0)) { - continue; - } - break; - } - } - $13 = (0 - ($27 << 1) | 0) / 3 | 0; - $16 = Math_fround($28 * Math_fround(Math_fround(Math_fround($17 / Math_fround($7 | 0)) * Math_fround($37 | 0)) + Math_fround(.20000000298023224))); - label$161 : { - if (Math_fround(Math_abs($16)) < Math_fround(2147483648)) { - $4 = ~~$16; - break label$161; - } - $4 = -2147483648; - } - $13 = ($4 | 0) > ($13 | 0) ? $4 : $13; - $13 = ($50 & -2) == 1104 ? (Math_imul($13, 3) | 0) / 5 | 0 : $13; - $6 = $27 + $13 | 0; - HEAP32[$0 + 36 >> 2] = $6; - } - $15 = HEAP32[$0 + 112 >> 2]; - HEAP32[$0 + 8 >> 2] = $15; - $7 = HEAP32[$0 + 14192 >> 2]; - HEAP32[$0 + 12 >> 2] = $7; - $4 = HEAP32[$0 + 144 >> 2]; - HEAP32[$0 + 32 >> 2] = (Math_imul($2, 1e3) | 0) / ($4 | 0); - $13 = 8e3; - $12 = 8e3; - label$164 : { - label$165 : { - switch ($11 - 1101 | 0) { - default: - $12 = 12e3; - $13 = 16e3; - if (($11 | 0) == 1103 | ($24 | 0) == 1001) { - break label$164; - } - celt_fatal(50496, 50583, 1755); - abort(); - case 0: - break label$164; - case 1: - break label$165; - } - } - $13 = 12e3; - $12 = 12e3; - } - HEAP32[$0 + 28 >> 2] = $13; - HEAP32[$0 + 20 >> 2] = 16e3; - HEAP32[$0 + 24 >> 2] = ($24 | 0) == 1001 ? 16e3 : 8e3; - label$167 : { - if (($24 | 0) != 1e3) { - break label$167; - } - $42 = $44 ? ($29 << 4) / 3 | 0 : $42; - if (($42 | 0) > 7999) { - break label$167; - } - HEAP32[$0 + 20 >> 2] = 12e3; - HEAP32[$0 + 28 >> 2] = $12; - if (($42 | 0) > 6999) { - break label$167; - } - HEAP32[$0 + 28 >> 2] = 8e3; - HEAP32[$0 + 20 >> 2] = 8e3; - } - $12 = $26 >= Math_fround(.10000000149011612); - $13 = $22 << 3; - HEAP32[$0 - -64 >> 2] = $13; - $20 = HEAP32[$0 + 148 >> 2]; - HEAP32[$0 + 60 >> 2] = !$20; - label$168 : { - label$169 : { - label$170 : { - label$171 : { - if (!($18 ^ 1 | ($30 | 0) < 2)) { - $13 = ($30 << 3 ^ -1) + $13 | 0; - HEAP32[$0 + 64 >> 2] = $13; - if (($24 | 0) != 1001) { - break label$168; - } - $13 = $13 - 20 | 0; - HEAP32[$0 + 64 >> 2] = $13; - if (!$20) { - break label$169; - } - break label$171; - } - if (!$20) { - break label$170; - } - if (($24 | 0) != 1001) { - break label$168; - } - } - $6 = 1; - $20 = (HEAP32[$0 + 52 >> 2] << 1) + ((Math_imul($2, 50) | 0) == ($4 | 0) ? 2 : 1) | 0; - $18 = $0; - label$173 : { - label$174 : { - $13 = ((Math_imul($4, $13) | 0) / ($2 | 0) | 0) / ($7 | 0) | 0; - if (($13 | 0) < 12e3) { - break label$174; - } - $6 = 2; - if (($13 | 0) < 16e3) { - break label$174; - } - $6 = 3; - if (($13 | 0) < 2e4) { - break label$174; - } - $6 = 4; - if (($13 | 0) < 24e3) { - break label$174; - } - $6 = 5; - if (($13 | 0) < 32e3) { - break label$174; - } - $6 = 6; - if (($13 | 0) < 64e3) { - break label$174; - } - $6 = HEAP32[($20 << 2) + 50840 >> 2] + (($13 - 64e3 | 0) / 2 | 0) | 0; - break label$173; - } - $6 = Math_imul($6, 20); - $29 = $6 + 50720 | 0; - $24 = HEAP32[$29 >> 2]; - $6 = $6 + 50700 | 0; - $20 = $20 << 2; - $27 = Math_imul($24 - $13 | 0, HEAP32[$6 + $20 >> 2]); - $6 = HEAP32[$6 >> 2]; - $6 = ($27 + Math_imul(HEAP32[$20 + $29 >> 2], $13 - $6 | 0) | 0) / ($24 - $6 | 0) | 0; - } - $6 = Math_imul(($11 | 0) == 1104 ? $6 + 300 | 0 : $6, $7); - HEAP32[$18 + 64 >> 2] = (Math_imul(($7 | 0) == 2 ? ($13 | 0) > 11999 ? $6 - 1e3 | 0 : $6 : $6, $2) | 0) / ($4 | 0); - break label$168; - } - if (($24 | 0) != 1001) { - break label$168; - } - } - $6 = (Math_imul($2, $6) | 0) / ($4 | 0) | 0; - HEAP32[$0 + 64 >> 2] = ($6 | 0) > ($13 | 0) ? $13 : $6; - } - $6 = $0 + 8 | 0; - $12 = $52 ? $12 : -1; - if ($32) { - $13 = 0; - HEAP32[$14 + 432 >> 2] = 0; - $7 = ($4 | 0) / 400 | 0; - $20 = Math_imul((HEAP32[$0 + 172 >> 2] - $7 | 0) - HEAP32[$0 + 116 >> 2] | 0, $15) << 2; - $29 = ($20 + $0 | 0) + 14280 | 0; - $24 = HEAP32[$14 + 612 >> 2]; - gain_fade($29, $29, Math_fround(0), Math_fround(1), HEAP32[$24 + 4 >> 2], $7, $15, HEAP32[$24 + 60 >> 2], $4); - memset($31, 0, $20); - $15 = HEAP32[$0 + 172 >> 2]; - $4 = Math_imul($15, HEAP32[$0 + 112 >> 2]); - if (($4 | 0) >= 1) { - while (1) { - $16 = Math_fround(HEAPF32[(($13 << 2) + $0 | 0) + 14280 >> 2] * Math_fround(32768)); - $16 = $16 > Math_fround(-32768) ? $16 : Math_fround(-32768); - HEAP16[($13 << 1) + $10 >> 1] = lrintf($16 < Math_fround(32767) ? $16 : Math_fround(32767)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - silk_Encode($33, $6, $10, $15, 0, $14 + 432 | 0, $32, $12); - HEAP32[$0 + 72 >> 2] = 0; - $15 = HEAP32[$0 + 112 >> 2]; - } - $4 = Math_imul($2, $15); - if (($4 | 0) >= 1) { - $15 = Math_imul($15, $38); - $13 = 0; - while (1) { - $16 = Math_fround(HEAPF32[($13 + $15 << 2) + $9 >> 2] * Math_fround(32768)); - $16 = $16 > Math_fround(-32768) ? $16 : Math_fround(-32768); - HEAP16[($13 << 1) + $10 >> 1] = lrintf($16 < Math_fround(32767) ? $16 : Math_fround(32767)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $13 = -3; - label$181 : { - if (!silk_Encode($33, $6, $10, $2, $14 + 440 | 0, $14 + 620 | 0, 0, $12)) { - $13 = HEAP32[$0 + 80 >> 2]; - label$183 : { - label$184 : { - $4 = HEAP32[$0 + 14224 >> 2]; - if (($4 | 0) == 1e3) { - if (($13 | 0) == 8e3) { - $11 = 1101; - break label$183; - } - if (($13 | 0) == 16e3) { - break label$184; - } - if (($13 | 0) != 12e3) { - break label$183; - } - $11 = 1102; - break label$183; - } - if (($13 | 0) == 16e3) { - break label$183; - } - celt_fatal(50602, 50583, 1863); - abort(); - } - $11 = 1103; - } - label$187 : { - if (HEAP32[$0 + 96 >> 2]) { - $13 = HEAP32[$0 + 18132 >> 2]; - HEAP32[$0 + 72 >> 2] = !$13; - if (!HEAP32[$14 + 620 >> 2]) { - break label$187; - } - if ($13) { - break label$181; - } - HEAP32[$0 + 14248 >> 2] = 1; - $43 = 0; - $4 = HEAP32[$0 + 14192 >> 2]; - $13 = Math_imul($4, 40) + 20 | 0; - $15 = (Math_imul(HEAP32[$0 + 160 >> 2] + Math_imul($13, 200 - $5 | 0) | 0, 3) | 0) / 3200 | 0; - $13 = (((Math_imul(($23 << 3) - ($13 << 1) | 0, 240) | 0) / ((48e3 / ($5 | 0) | 0) + 240 | 0) | 0) + $13 | 0) / 8 | 0; - $13 = ($13 | 0) > ($15 | 0) ? $15 : $13; - $30 = ($4 << 3 | 4) < ($13 | 0) ? ($13 | 0) < 257 ? $13 : 257 : 0; - $39 = ($30 | 0) != 0; - break label$181; - } - HEAP32[$0 + 72 >> 2] = 0; - if (HEAP32[$14 + 620 >> 2]) { - break label$181; - } - } - $13 = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $1 = HEAP32[$0 + 14192 >> 2]; - $0 = HEAP32[$0 + 144 >> 2] / ($2 | 0) | 0; - if (($0 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $0 = $0 << 1; - if (($0 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - label$191 : { - label$192 : { - switch ($4 - 1e3 | 0) { - case 0: - $0 = $13 - 16 | ($11 << 5) + 96 & 224; - break label$191; - case 2: - $0 = ((($11 | 0) > 1102 ? $11 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$191; - default: - break label$192; - } - } - $0 = $13 + 240 | $11 << 4 | 96; - } - HEAP8[$3 | 0] = $0 | (($1 | 0) == 2) << 2; - $13 = 1; - } - break label$145; - } - $20 = $36; - } - $13 = 21; - $4 = $11 - 1101 | 0; - if ($4 >>> 0 <= 3) { - $13 = HEAP32[($4 << 2) + 50860 >> 2]; - } - HEAP32[$14 + 384 >> 2] = $13; - opus_custom_encoder_ctl($19, 10012, $14 + 384 | 0); - HEAP32[$14 + 368 >> 2] = HEAP32[$0 + 14192 >> 2]; - opus_custom_encoder_ctl($19, 10008, $14 + 368 | 0); - HEAP32[$14 + 352 >> 2] = -1; - opus_custom_encoder_ctl($19, 4002, $14 + 352 | 0); - label$196 : { - if (HEAP32[$0 + 14224 >> 2] == 1e3) { - $13 = HEAP32[$0 + 112 >> 2]; - $10 = $20 - (((Math_imul($13, HEAP32[$0 + 144 >> 2]) | 0) / 400 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - break label$196; - } - HEAP32[$14 + 336 >> 2] = 0; - opus_custom_encoder_ctl($19, 4006, $14 + 336 | 0); - HEAP32[$14 + 320 >> 2] = !HEAP32[$0 + 76 >> 2] << 1; - opus_custom_encoder_ctl($19, 10002, $14 + 320 | 0); - $13 = HEAP32[$0 + 148 >> 2]; - $4 = HEAP32[$0 + 14224 >> 2]; - label$198 : { - label$199 : { - label$200 : { - if (($4 | 0) == 1001) { - if (!$13) { - $13 = HEAP32[$0 + 112 >> 2]; - $15 = HEAP32[$0 + 144 >> 2]; - $5 = (Math_imul($13, $15) | 0) / 400 | 0; - $10 = $20 - (($5 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - $4 = 1001; - break label$198; - } - HEAP32[$14 + 256 >> 2] = HEAP32[$0 + 160 >> 2] - HEAP32[$0 + 36 >> 2]; - opus_custom_encoder_ctl($19, 4002, $14 + 256 | 0); - HEAP32[$14 + 240 >> 2] = 0; - opus_custom_encoder_ctl($19, 4020, $14 + 240 | 0); - break label$200; - } - if (!$13) { - break label$199; - } - HEAP32[$14 + 304 >> 2] = 1; - opus_custom_encoder_ctl($19, 4006, $14 + 304 | 0); - HEAP32[$14 + 288 >> 2] = HEAP32[$0 + 152 >> 2]; - opus_custom_encoder_ctl($19, 4020, $14 + 288 | 0); - HEAP32[$14 + 272 >> 2] = HEAP32[$0 + 160 >> 2]; - opus_custom_encoder_ctl($19, 4002, $14 + 272 | 0); - } - $4 = HEAP32[$25 >> 2]; - } - $13 = HEAP32[$0 + 112 >> 2]; - $15 = HEAP32[$0 + 144 >> 2]; - $5 = (Math_imul($13, $15) | 0) / 400 | 0; - $10 = $20 - (($5 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - if (($4 | 0) == 1e3) { - break label$196; - } - } - $6 = HEAP32[$0 + 14228 >> 2]; - if (($6 | 0) == ($4 | 0) | ($6 | 0) < 1) { - break label$196; - } - memcpy($10, ((Math_imul(HEAP32[$0 + 172 >> 2] + ((($15 | 0) / -400 | 0) - $38 | 0) | 0, $13) << 2) + $0 | 0) + 14280 | 0, $5 << 2); - } - $4 = HEAP32[$0 + 172 >> 2]; - $15 = Math_imul($4 - $34 | 0, $13); - label$203 : { - if (($15 | 0) >= 1) { - $4 = $0 + 14280 | 0; - $15 = $15 << 2; - memmove($31, $4 + (Math_imul($2, $13) << 2) | 0, $15); - memcpy($4 + $15 | 0, $9, Math_imul($13, $34) << 2); - break label$203; - } - memcpy($31, (Math_imul($34 - $4 | 0, $13) << 2) + $9 | 0, Math_imul($4, $13) << 2); - } - $16 = HEAPF32[$0 + 14204 >> 2]; - if (!($16 < Math_fround(1) ^ 1 ? !($21 < Math_fround(1)) : 0)) { - $13 = HEAP32[$14 + 612 >> 2]; - gain_fade($9, $9, $16, $21, HEAP32[$13 + 4 >> 2], $2, HEAP32[$0 + 112 >> 2], HEAP32[$13 + 60 >> 2], HEAP32[$0 + 144 >> 2]); - } - HEAPF32[$0 + 14204 >> 2] = $21; - $5 = HEAP32[$0 + 14224 >> 2]; - if (!(HEAP32[$0 + 14192 >> 2] != 1 ? ($5 | 0) == 1001 : 0)) { - $4 = $0; - $13 = 16384; - label$208 : { - if (($8 | 0) > 32e3) { - break label$208; - } - $13 = 0; - if (($8 | 0) < 16e3) { - break label$208; - } - $13 = 16384 - ((65536e3 - ($8 << 11) | 0) / ($8 - 14e3 | 0) | 0) | 0; - } - HEAP32[$4 + 92 >> 2] = $13; - } - label$209 : { - if (HEAP32[$0 + 14256 >> 2] | HEAP32[$0 + 112 >> 2] != 2) { - break label$209; - } - $4 = HEAP16[$0 + 14196 >> 1]; - $8 = HEAP32[$0 + 92 >> 2]; - if (($8 | 0) > 16383 ? ($4 | 0) >= 16384 : 0) { - break label$209; - } - $21 = Math_fround(Math_fround(1) - Math_fround(Math_fround($8 | 0) * Math_fround(6103515625e-14))); - $13 = 0; - $15 = HEAP32[$14 + 612 >> 2]; - $12 = 48e3 / HEAP32[$0 + 144 >> 2] | 0; - $6 = HEAP32[$15 + 4 >> 2] / ($12 | 0) | 0; - if (($6 | 0) > 0) { - $26 = Math_fround(Math_fround(1) - Math_fround(Math_fround($4 | 0) * Math_fround(6103515625e-14))); - $7 = HEAP32[$15 + 60 >> 2]; - while (1) { - $4 = $13 << 3; - $15 = $9 + $4 | 0; - $16 = HEAPF32[$15 >> 2]; - $28 = $16; - $17 = HEAPF32[(Math_imul($12, $13) << 2) + $7 >> 2]; - $17 = Math_fround($17 * $17); - $35 = Math_fround(Math_fround($21 * $17) + Math_fround($26 * Math_fround(Math_fround(1) - $17))); - $4 = ($4 | 4) + $9 | 0; - $17 = HEAPF32[$4 >> 2]; - $16 = Math_fround($35 * Math_fround(Math_fround($16 - $17) * Math_fround(.5))); - HEAPF32[$15 >> 2] = $28 - $16; - HEAPF32[$4 >> 2] = $17 + $16; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($6 | 0)) { - continue; - } - break; - } - $13 = $6; - } - if (($2 | 0) > ($13 | 0)) { - while (1) { - $4 = $13 << 3; - $15 = $9 + $4 | 0; - $16 = HEAPF32[$15 >> 2]; - $28 = $16; - $4 = ($4 | 4) + $9 | 0; - $17 = HEAPF32[$4 >> 2]; - $16 = Math_fround($21 * Math_fround(Math_fround($16 - $17) * Math_fround(.5))); - HEAPF32[$15 >> 2] = $28 - $16; - HEAPF32[$4 >> 2] = $17 + $16; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAP16[$0 + 14196 >> 1] = $8; - } - label$215 : { - label$216 : { - if (($5 | 0) == 1002 | (Math_clz32(HEAP32[$14 + 468 >> 2]) + (HEAP32[$14 + 460 >> 2] + (($5 | 0) == 1001 ? 5 : -15) | 0) | 0) > $22 << 3) { - break label$216; - } - if (($5 | 0) == 1001) { - ec_enc_bit_logp($14 + 440 | 0, $39, 12); - } - if (!$39) { - break label$216; - } - $6 = 1; - ec_enc_bit_logp($14 + 440 | 0, $43, 1); - $13 = HEAP32[$14 + 460 >> 2] + Math_clz32(HEAP32[$14 + 468 >> 2]) | 0; - $4 = $13 - 21 | 0; - $5 = $13 - 32 | 0; - $13 = HEAP32[$25 >> 2]; - $4 = $22 - ((($13 | 0) == 1001 ? $4 : $5) + 7 >> 3) | 0; - $4 = ($4 | 0) < ($30 | 0) ? $4 : $30; - $4 = ($4 | 0) > 2 ? $4 : 2; - $5 = ($4 | 0) < 257 ? $4 : 257; - $7 = 0; - if (($13 | 0) != 1001) { - break label$215; - } - ec_enc_uint($14 + 440 | 0, $5 - 2 | 0, 256); - break label$215; - } - $6 = 0; - HEAP32[$0 + 14248 >> 2] = 0; - $7 = 1; - $5 = 0; - } - $12 = HEAP32[$25 >> 2]; - label$218 : { - if (($12 | 0) == 1e3) { - $13 = HEAP32[$14 + 468 >> 2]; - $4 = HEAP32[$14 + 460 >> 2]; - ec_enc_done($14 + 440 | 0); - $13 = (Math_clz32($13) + $4 | 0) - 25 >> 3; - $15 = $13; - break label$218; - } - $13 = $22 - $5 | 0; - ec_enc_shrink($14 + 440 | 0, $13); - $15 = 0; - } - label$220 : { - if (!(HEAP32[$25 >> 2] != 1e3 | $6)) { - $4 = $43; - $8 = 0; - break label$220; - } - HEAP32[$14 + 224 >> 2] = $14 + 544; - opus_custom_encoder_ctl($19, 10022, $14 + 224 | 0); - if (HEAP32[$25 >> 2] == 1001) { - HEAP32[$14 + 432 >> 2] = HEAP32[$0 + 100 >> 2]; - HEAP32[$14 + 436 >> 2] = HEAP32[$0 + 104 >> 2]; - HEAP32[$14 + 208 >> 2] = $14 + 432; - opus_custom_encoder_ctl($19, 10028, $14 + 208 | 0); - } - $4 = $43; - $8 = 0; - if (!($6 & $4)) { - break label$220; - } - HEAP32[$14 + 192 >> 2] = 0; - opus_custom_encoder_ctl($19, 10010, $14 + 192 | 0); - HEAP32[$14 + 176 >> 2] = 0; - opus_custom_encoder_ctl($19, 4006, $14 + 176 | 0); - HEAP32[$14 + 160 >> 2] = -1; - opus_custom_encoder_ctl($19, 4002, $14 + 160 | 0); - if ((celt_encode_with_ec($19, $9, HEAP32[$0 + 144 >> 2] / 200 | 0, $13 + $40 | 0, $5, 0) | 0) < 0) { - $13 = -3; - break label$145; - } - HEAP32[$14 + 144 >> 2] = $14 + 616; - opus_custom_encoder_ctl($19, 4031, $14 + 144 | 0); - opus_custom_encoder_ctl($19, 4028, 0); - $4 = 1; - $8 = 1; - } - HEAP32[$14 + 128 >> 2] = ($12 | 0) == 1002 ? 0 : 17; - opus_custom_encoder_ctl($19, 10010, $14 + 128 | 0); - $12 = HEAP32[$25 >> 2]; - label$224 : { - if (($12 | 0) == 1e3) { - break label$224; - } - $20 = HEAP32[$0 + 14228 >> 2]; - if (!(($20 | 0) == ($12 | 0) | ($20 | 0) < 1)) { - opus_custom_encoder_ctl($19, 4028, 0); - celt_encode_with_ec($19, $10, HEAP32[$0 + 144 >> 2] / 400 | 0, $14 + 432 | 0, 2, 0); - HEAP32[$14 + 112 >> 2] = 0; - opus_custom_encoder_ctl($19, 10002, $14 + 112 | 0); - } - if (((HEAP32[$14 + 460 >> 2] + Math_clz32(HEAP32[$14 + 468 >> 2]) | 0) - 32 | 0) > $13 << 3) { - break label$224; - } - if (!(!HEAP32[$0 + 148 >> 2] | (!$8 | HEAP32[$25 >> 2] != 1001))) { - HEAP32[$14 + 96 >> 2] = HEAP32[$0 + 160 >> 2] - HEAP32[$0 + 36 >> 2]; - opus_custom_encoder_ctl($19, 4002, $14 + 96 | 0); - } - HEAP32[$14 + 80 >> 2] = HEAP32[$0 + 148 >> 2]; - opus_custom_encoder_ctl($19, 4006, $14 + 80 | 0); - $15 = celt_encode_with_ec($19, $9, $2, 0, $13, $14 + 440 | 0); - if (($15 | 0) < 0) { - $13 = -3; - break label$145; - } - if (!HEAP32[$0 + 148 >> 2] | (!$8 | HEAP32[$25 >> 2] != 1001)) { - break label$224; - } - memmove($15 + $40 | 0, $13 + $40 | 0, $5); - $13 = $5 + $13 | 0; - } - label$228 : { - if (!($4 | $7)) { - $4 = HEAP32[$0 + 144 >> 2]; - opus_custom_encoder_ctl($19, 4028, 0); - HEAP32[$14 + 64 >> 2] = 0; - opus_custom_encoder_ctl($19, 10010, $14 - -64 | 0); - HEAP32[$14 + 48 >> 2] = 0; - opus_custom_encoder_ctl($19, 10002, $14 + 48 | 0); - HEAP32[$14 + 32 >> 2] = 0; - opus_custom_encoder_ctl($19, 4006, $14 + 32 | 0); - HEAP32[$14 + 16 >> 2] = -1; - opus_custom_encoder_ctl($19, 4002, $14 + 16 | 0); - $12 = ($4 | 0) / 400 | 0; - $4 = ($4 | 0) / 200 | 0; - if (HEAP32[$0 + 14224 >> 2] == 1001) { - ec_enc_shrink($14 + 440 | 0, $15); - $13 = $15; - } - $7 = $2 - $4 | 0; - celt_encode_with_ec($19, (Math_imul(HEAP32[$0 + 112 >> 2], $7 - $12 | 0) << 2) + $9 | 0, $12, $14 + 432 | 0, 2, 0); - if ((celt_encode_with_ec($19, (Math_imul(HEAP32[$0 + 112 >> 2], $7) << 2) + $9 | 0, $4, $13 + $40 | 0, $5, 0) | 0) < 0) { - break label$228; - } - HEAP32[$14 >> 2] = $14 + 616; - opus_custom_encoder_ctl($19, 4031, $14); - } - $12 = HEAP32[$0 + 14192 >> 2]; - $7 = HEAP32[$0 + 14224 >> 2]; - $13 = 0; - $4 = HEAP32[$0 + 144 >> 2] / ($2 | 0) | 0; - if (($4 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $4 = $4 << 1; - if (($4 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - $4 = $3; - label$233 : { - label$234 : { - switch ($7 - 1e3 | 0) { - case 0: - $13 = $13 - 16 | ($11 << 5) + 96 & 224; - break label$233; - case 2: - $13 = ((($11 | 0) > 1102 ? $11 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$233; - default: - break label$234; - } - } - $13 = $13 + 240 | $11 << 4 | 96; - } - HEAP8[$4 | 0] = $13 | (($12 | 0) == 2) << 2; - $12 = HEAP32[$14 + 468 >> 2]; - HEAP32[$0 + 18136 >> 2] = $12 ^ HEAP32[$14 + 616 >> 2]; - $13 = 1002; - $13 = $45 ? HEAP32[$25 >> 2] : $13; - HEAP32[$0 + 14228 >> 2] = $13; - HEAP32[$0 + 14252 >> 2] = 0; - HEAP32[$0 + 14236 >> 2] = $2; - $7 = HEAP32[$0 + 14192 >> 2]; - HEAP32[$0 + 14232 >> 2] = $7; - label$238 : { - if (!(!HEAP32[$0 + 184 >> 2] | !(HEAP32[$14 + 544 >> 2] | $41))) { - label$240 : { - if (!($51 ^ 1 | HEAPF32[$14 + 580 >> 2] < Math_fround(.10000000149011612) ^ 1)) { - $21 = HEAPF32[$0 + 18128 >> 2]; - $16 = Math_fround(0); - $4 = Math_imul(HEAP32[$0 + 112 >> 2], $2); - if (($4 | 0) >= 1) { - $13 = 0; - while (1) { - $17 = HEAPF32[($13 << 2) + $1 >> 2]; - $16 = Math_fround($16 + Math_fround($17 * $17)); - $13 = $13 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $41 = Math_fround(Math_fround($16 / Math_fround($4 | 0)) * Math_fround(316.2300109863281)) <= $21; - } - if ($41) { - $13 = HEAP32[$0 + 18124 >> 2]; - HEAP32[$0 + 18124 >> 2] = $13 + 1; - if (($13 | 0) < 10) { - break label$238; - } - if (($13 | 0) < 30) { - break label$240; - } - HEAP32[$0 + 18124 >> 2] = 10; - break label$238; - } - HEAP32[$0 + 18124 >> 2] = 0; - break label$238; - } - $13 = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $1 = HEAP32[$0 + 14224 >> 2]; - $0 = HEAP32[$0 + 144 >> 2] / ($2 | 0) | 0; - if (($0 | 0) <= 399) { - while (1) { - $13 = $13 + 1 | 0; - $0 = $0 << 1; - if (($0 | 0) < 400) { - continue; - } - break; - } - $13 = $13 << 3; - } - label$248 : { - label$249 : { - switch ($1 - 1e3 | 0) { - case 0: - $0 = $13 - 16 | ($11 << 5) + 96 & 224; - break label$248; - case 2: - $0 = ((($11 | 0) > 1102 ? $11 : 1102) << 5) - -64 & 96 | $13 | 128; - break label$248; - default: - break label$249; - } - } - $0 = $13 + 240 | $11 << 4 | 96; - } - HEAP8[$3 | 0] = $0 | (($7 | 0) == 2) << 2; - $13 = 1; - break label$145; - } - HEAP32[$0 + 18124 >> 2] = 0; - } - label$252 : { - if (((HEAP32[$14 + 460 >> 2] + Math_clz32($12) | 0) - 32 | 0) > $22 << 3) { - HEAP8[$40 | 0] = 0; - HEAP32[$0 + 18136 >> 2] = 0; - $15 = 1; - break label$252; - } - if (HEAP32[$25 >> 2] != 1e3 | $6 | ($15 | 0) < 3) { - break label$252; - } - while (1) { - if (HEAPU8[$3 + $15 | 0]) { - break label$252; - } - $13 = ($15 | 0) > 3; - $15 = $15 - 1 | 0; - if ($13) { - continue; - } - break; - } - $15 = 2; - } - $2 = ($5 + $15 | 0) + 1 | 0; - label$255 : { - if (HEAP32[$0 + 148 >> 2]) { - $23 = $2; - break label$255; - } - $13 = -3; - if (opus_packet_pad($3, $2, $23)) { - break label$145; - } - } - $13 = $23; - break label$145; - } - $13 = -3; - } - } - __stack_pointer = $14 + 624 | 0; - return $13; -} -function celt_encode_with_ec($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = Math_fround(0), $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = Math_fround(0), $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = Math_fround(0), $64 = 0, $65 = 0, $66 = Math_fround(0), $67 = 0, $68 = Math_fround(0), $69 = Math_fround(0), $70 = 0, $71 = Math_fround(0), $72 = Math_fround(0); - $39 = __stack_pointer - 192 | 0; - __stack_pointer = $39; - $13 = HEAP32[$0 + 8 >> 2]; - $11 = HEAP32[$0 + 4 >> 2]; - $16 = $39; - HEAP32[$16 + 28 >> 2] = 15; - HEAP32[$16 + 24 >> 2] = 0; - HEAP32[$16 + 20 >> 2] = 0; - HEAP32[$16 + 16 >> 2] = 0; - HEAP32[$16 + 4 >> 2] = 0; - $14 = HEAP32[$0 + 36 >> 2]; - $20 = HEAP32[$0 + 32 >> 2]; - $19 = HEAP32[$0 >> 2]; - $18 = HEAP32[$19 + 32 >> 2]; - $24 = HEAP32[$19 + 4 >> 2]; - $30 = HEAP32[$19 + 8 >> 2]; - HEAP32[$16 + 12 >> 2] = 0; - $7 = -1; - label$1 : { - if (!$1 | ($4 | 0) < 2) { - break label$1; - } - $21 = HEAP32[$19 + 36 >> 2]; - if (($21 | 0) < 0) { - break label$1; - } - $37 = Math_imul(HEAP32[$0 + 28 >> 2], $2); - $28 = HEAP32[$19 + 44 >> 2]; - while (1) { - if ($28 << $15 != ($37 | 0)) { - $2 = ($15 | 0) < ($21 | 0); - $15 = $15 + 1 | 0; - if ($2) { - continue; - } - break label$1; - } - break; - } - label$4 : { - if (!$5) { - $57 = 1; - $9 = 1; - $17 = 0; - break label$4; - } - $57 = ec_tell_frac($5); - $2 = HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0; - $9 = $2 - 32 | 0; - $17 = $2 - 28 >> 3; - } - label$6 : { - label$7 : { - if (!HEAP32[$0 + 48 >> 2]) { - $21 = $24 + 1024 | 0; - $26 = ($4 | 0) < 1275 ? $4 : 1275; - $29 = $26 - $17 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - label$9 : { - if (HEAP32[$0 + 44 >> 2]) { - if (($2 | 0) == -1) { - break label$7; - } - $28 = HEAP32[$19 >> 2]; - $42 = (Math_imul($2, $37) + ($28 >> 4) | 0) / ($28 >> 3) | 0; - $35 = $42 >> 6; - break label$9; - } - if (($2 | 0) == -1) { - break label$7; - } - $28 = HEAP32[$19 >> 2]; - $28 = ((Math_imul($2, $37) + (($9 | 0) > 1 ? $9 : 0) | 0) + ($28 << 2) | 0) / ($28 << 3) | 0; - $28 = ($28 | 0) > ($26 | 0) ? $26 : $28; - $26 = ($28 | 0) > 2 ? $28 : 2; - $35 = $26 - $17 | 0; - } - $7 = $2; - break label$6; - } - celt_fatal(42472, 42508, 1547); - abort(); - } - $35 = $29; - } - $2 = Math_imul($11, $21); - $48 = 3 - $15 | 0; - $21 = Math_imul($26, 400); - if (!$5) { - ec_enc_init($16 + 32 | 0, $3, $26); - $5 = $16 + 32 | 0; - } - $53 = $0 + 244 | 0; - $2 = $2 << 2; - $50 = Math_imul($11, $30); - $3 = $21 >> $48; - label$12 : { - if (!HEAP32[$0 + 52 >> 2] | ($42 | 0) < 1) { - break label$12; - } - $21 = (($9 | 0) == 1) << 1; - $28 = ($42 << 1) - HEAP32[$0 + 208 >> 2] >> 6; - $21 = ($21 | 0) > ($28 | 0) ? $21 : $28; - if (($29 | 0) <= ($21 | 0)) { - break label$12; - } - $26 = $17 + $21 | 0; - ec_enc_shrink($5, $26); - $29 = $21; - } - $21 = $2 + $53 | 0; - $27 = $50 << 2; - $12 = ($3 | 0) < ($7 | 0); - $31 = Math_imul($13, 40); - $32 = 400 >>> $15 | 0; - $23 = HEAP32[$19 + 12 >> 2]; - $4 = $24 + $37 | 0; - $33 = $39 - ((Math_imul($11, $4) << 2) + 15 & -16) | 0; - $38 = $33; - __stack_pointer = $33; - $34 = HEAPF32[$0 + 224 >> 2]; - $54 = HEAP32[$0 + 28 >> 2]; - $39 = (Math_imul($37 - $24 | 0, $13) | 0) / ($54 | 0) | 0; - label$13 : { - label$14 : { - if (($39 | 0) >= 1) { - $2 = 0; - while (1) { - $6 = HEAPF32[($2 << 2) + $1 >> 2]; - $10 = $6 > $10 ? $10 : $6; - $8 = $6 < $8 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($39 | 0) != ($2 | 0)) { - continue; - } - break; - } - $6 = Math_fround(-$10); - if (($6 < $8 ? $8 : $6) < $34) { - break label$13; - } - $2 = 0; - $10 = Math_fround(0); - $8 = Math_fround(0); - while (1) { - $6 = HEAPF32[($2 << 2) + $1 >> 2]; - $10 = $6 > $10 ? $10 : $6; - $8 = $6 < $8 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($39 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$14; - } - if ($34 > Math_fround(0)) { - break label$13; - } - } - $6 = Math_fround(-$10); - $34 = $6 < $8 ? $8 : $6; - } - $22 = Math_imul($11, $24); - $28 = $21 + $27 | 0; - $12 = $12 ? $3 : $7; - $25 = ($7 | 0) == -1; - $58 = $31 + 20 | 0; - $31 = $32 - 50 | 0; - $51 = 1; - $10 = Math_fround(0); - $7 = (Math_imul($13, $24) | 0) / ($54 | 0) | 0; - label$18 : { - if (($7 | 0) < 1) { - $8 = Math_fround(0); - break label$18; - } - $39 = ($39 << 2) + $1 | 0; - $2 = 0; - $8 = Math_fround(0); - while (1) { - $6 = HEAPF32[($2 << 2) + $39 >> 2]; - $10 = $6 > $10 ? $10 : $6; - $8 = $6 < $8 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = $22 << 2; - $39 = $27 + $28 | 0; - $7 = $25 ? $3 : $12; - $3 = Math_imul($31, $58); - $12 = ($14 | 0) > ($23 | 0); - $22 = $26 << 3; - $6 = Math_fround(-$10); - $6 = $6 < $8 ? $8 : $6; - HEAPF32[$0 + 224 >> 2] = $6; - $6 = $6 < $34 ? $34 : $6; - label$21 : { - if (($9 | 0) != 1) { - $31 = 0; - break label$21; - } - $9 = Math_fround(Math_fround(1) / Math_fround(1 << HEAP32[$0 + 60 >> 2])) >= $6; - ec_enc_bit_logp($5, $9, 15); - if ($9 ^ 1) { - $31 = 0; - $9 = 1; - break label$21; - } - $31 = 1; - label$24 : { - if (($42 | 0) < 1) { - $9 = $22; - break label$24; - } - $29 = 2; - $9 = $17 + 2 | 0; - $35 = ($9 | 0) > ($26 | 0) ? $26 : $9; - ec_enc_shrink($5, $35); - $26 = $35; - $9 = $26 << 3; - $22 = $9; - } - HEAP32[$5 + 20 >> 2] = ($9 - Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) + 32; - $51 = 0; - } - $17 = $2 + $53 | 0; - $53 = $27 + $39 | 0; - $43 = 1 << $15; - $46 = $7 - $3 | 0; - $25 = $12 ? $23 : $14; - $54 = ($11 | 0) > 1 ? $11 : 1; - $3 = $19 + 16 | 0; - $24 = ($24 << 2) + $33 | 0; - $2 = 0; - while (1) { - $7 = $2 << 2; - celt_preemphasis($7 + $1 | 0, (Math_imul($2, $4) << 2) + $24 | 0, $37, $11, HEAP32[$0 + 28 >> 2], $3, ($0 + $7 | 0) + 192 | 0, HEAP32[$0 + 16 >> 2] != 0 & $6 > Math_fround(65536)); - $2 = $2 + 1 | 0; - if (($54 | 0) != ($2 | 0)) { - continue; - } - break; - } - $2 = 0; - if (!(HEAP32[$0 + 20 >> 2] | (!(HEAP32[$0 + 64 >> 2] != 0 & ($29 | 0) > 3 | (Math_imul($13, 12) | 0) < ($29 | 0)) | ($20 | $31)))) { - $2 = HEAP32[$0 + 24 >> 2] > 4; - } - $64 = HEAP32[$0 + 100 >> 2]; - $52 = $0 + 120 | 0; - $59 = run_prefilter($0, $33, $17, $11, $37, $64, $16 + 28 | 0, $16 + 24 | 0, $16 + 80 | 0, $2, $29, $52); - $66 = HEAPF32[$16 + 24 >> 2]; - label$28 : { - if (!($66 > Math_fround(.4000000059604645))) { - $1 = 0; - if (HEAPF32[$0 + 108 >> 2] > Math_fround(.4000000059604645) ^ 1) { - break label$28; - } - } - if (HEAP32[$52 >> 2]) { - $1 = 0; - if (+HEAPF32[$0 + 124 >> 2] > .3 ^ 1) { - break label$28; - } - } - $60 = +HEAP32[$16 + 28 >> 2]; - $61 = +HEAP32[$0 + 104 >> 2]; - $1 = $60 > $61 * 1.26 | $61 * .79 > $60; - } - $65 = $1; - label$31 : { - if (!$59) { - if (($9 + 16 | 0) > ($22 | 0) | $20) { - break label$31; - } - ec_enc_bit_logp($5, 0, 1); - break label$31; - } - ec_enc_bit_logp($5, 1, 1); - $2 = HEAP32[$16 + 28 >> 2]; - $1 = $2 + 1 | 0; - $7 = Math_clz32($1); - $3 = 27 - $7 | 0; - ec_enc_uint($5, $3, 6); - ec_enc_bits($5, (-16 << $3) + $1 | 0, 31 - $7 | 0); - HEAP32[$16 + 28 >> 2] = $2; - ec_enc_bits($5, HEAP32[$16 + 80 >> 2], 3); - ec_enc_icdf($5, $64, 42528, 2); - } - $62 = 1; - if (!(HEAP32[$0 + 64 >> 2] | HEAP32[$0 + 24 >> 2] < 1)) { - $2 = 0; - $2 = !$20 | ($35 | 0) > 14 ? $2 : HEAP32[$0 + 184 >> 2] != 2; - $36 = transient_analysis($33, $4, $11, $16 + 12 | 0, $16 + 16 | 0, $2, $16 + 4 | 0); - } - $3 = $19; - label$35 : { - label$36 : { - if (!(!$15 | ((HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 29 | 0) > ($22 | 0))) { - if ($36) { - break label$36; - } - $62 = 0; - } - $32 = $38 - ((Math_imul($11, $37) << 2) + 15 & -16) | 0; - $2 = $32; - __stack_pointer = $2; - $1 = ($50 << 2) + 15 & -16; - $38 = $2 - $1 | 0; - $2 = $38; - __stack_pointer = $2; - $4 = $2 - $1 | 0; - $2 = $4; - __stack_pointer = $2; - $40 = Math_imul($13, $30); - $31 = $2 - (($40 << 2) + 15 & -16) | 0; - $7 = $31; - __stack_pointer = $7; - $55 = 1; - $36 = 0; - $56 = 0; - break label$35; - } - $32 = $38 - ((Math_imul($11, $37) << 2) + 15 & -16) | 0; - $2 = $32; - __stack_pointer = $2; - $1 = ($50 << 2) + 15 & -16; - $38 = $2 - $1 | 0; - $2 = $38; - __stack_pointer = $2; - $4 = $2 - $1 | 0; - $2 = $4; - __stack_pointer = $2; - $40 = Math_imul($13, $30); - $31 = $2 - (($40 << 2) + 15 & -16) | 0; - $7 = $31; - __stack_pointer = $7; - $1 = HEAP32[$0 + 24 >> 2]; - label$38 : { - if (($1 | 0) < 8) { - $62 = 0; - break label$38; - } - $62 = 0; - compute_mdcts($19, 0, $33, $32, $13, $11, $15, HEAP32[$0 + 28 >> 2], HEAP32[$0 + 72 >> 2]); - compute_band_energies($19, $32, $38, $25, $13, $15, HEAP32[$0 + 72 >> 2]); - amp2Log2($19, $25, $14, $38, $31, $13); - $49 = 1; - if (($40 | 0) < 1) { - break label$38; - } - $6 = Math_fround(Math_fround($15 | 0) * Math_fround(.5)); - $2 = 0; - while (1) { - $1 = ($2 << 2) + $31 | 0; - HEAPF32[$1 >> 2] = $6 + HEAPF32[$1 >> 2]; - $2 = $2 + 1 | 0; - if (($40 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $56 = $43; - } - compute_mdcts($3, $56, $33, $32, $13, $11, $15, HEAP32[$0 + 28 >> 2], HEAP32[$0 + 72 >> 2]); - label$41 : { - label$42 : { - $6 = HEAPF32[$32 >> 2]; - if ($6 == $6) { - if (($13 | 0) == 1) { - break label$42; - } - $6 = HEAPF32[($37 << 2) + $32 >> 2]; - $1 = 0; - if ($6 == $6) { - break label$41; - } - } - celt_fatal(42531, 42508, 1729); - abort(); - } - $1 = 0; - if (($11 | 0) != 2) { - break label$41; - } - HEAP32[$16 + 16 >> 2] = 0; - $1 = 1; - } - $70 = $1; - compute_band_energies($19, $32, $38, $25, $13, $15, HEAP32[$0 + 72 >> 2]); - if (!(!HEAP32[$0 + 64 >> 2] | ($14 | 0) < 3)) { - $2 = 2; - while (1) { - $1 = ($2 << 2) + $38 | 0; - $6 = HEAPF32[$1 >> 2]; - $8 = Math_fround(HEAPF32[$38 >> 2] * Math_fround(9999999747378752e-20)); - $6 = $6 < $8 ? $6 : $8; - HEAPF32[$1 >> 2] = $6 > Math_fround(1.0000000036274937e-15) ? $6 : Math_fround(1.0000000036274937e-15); - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - amp2Log2($19, $25, $14, $38, $4, $13); - $2 = $7 - (($40 << 2) + 15 & -16) | 0; - $44 = $2; - __stack_pointer = $2; - $67 = $14 << 2; - $45 = memset($2, 0, $67); - $6 = Math_fround(0); - label$46 : { - label$47 : { - if ($20) { - break label$47; - } - $9 = HEAP32[$0 + 236 >> 2]; - $6 = Math_fround(0); - if (!$9) { - break label$47; - } - $1 = HEAP32[$0 + 64 >> 2]; - if ($1) { - break label$46; - } - label$48 : { - label$49 : { - label$50 : { - if (($13 | 0) < 1) { - break label$50; - } - $2 = HEAP32[$0 + 92 >> 2]; - $1 = ($2 | 0) > 2 ? $2 : 2; - $47 = HEAPU16[$18 >> 1]; - $12 = 0; - $3 = 0; - $8 = Math_fround(0); - $10 = Math_fround(0); - while (1) { - $17 = Math_imul($12, $30); - $7 = $47; - $2 = 0; - while (1) { - $6 = HEAPF32[($2 + $17 << 2) + $9 >> 2]; - $41 = $6; - $24 = $6 < Math_fround(.25); - $27 = ($24 ? $6 : Math_fround(.25)) > Math_fround(-2); - $6 = $27 ? Math_fround(.25) : Math_fround(-2); - $6 = $27 ? $24 ? $41 : $6 : $6; - $6 = $6 > Math_fround(0) ? Math_fround($6 * Math_fround(.5)) : $6; - $8 = Math_fround($8 + Math_fround($6 * Math_fround(($2 << 1 | 1) - $1 | 0))); - $24 = $7 << 16; - $2 = $2 + 1 | 0; - $7 = HEAP16[($2 << 1) + $18 >> 1]; - $24 = $7 - ($24 >> 16) | 0; - $10 = Math_fround($10 + Math_fround($6 * Math_fround($24 | 0))); - $3 = $3 + $24 | 0; - if (($1 | 0) != ($2 | 0)) { - continue; - } - break; - } - $12 = $12 + 1 | 0; - if (($12 | 0) != ($13 | 0)) { - continue; - } - break; - } - $2 = 0; - if (($3 | 0) <= 0) { - break label$50; - } - $6 = Math_fround(Math_fround(Math_fround($8 * Math_fround(6)) / Math_fround(Math_imul($1 + 1 | 0, Math_imul($1 - 1 | 0, Math_imul($1, $13))) | 0)) * Math_fround(.5)); - $6 = $6 < Math_fround(.03099999949336052) ? $6 : Math_fround(.03099999949336052); - $8 = Math_fround($10 / Math_fround($3 | 0)); - $3 = HEAP16[($1 << 1) + $18 >> 1] / 2 << 16 >> 16; - while (1) { - $7 = $2; - $2 = $2 + 1 | 0; - if (HEAP16[($2 << 1) + $18 >> 1] < ($3 | 0)) { - continue; - } - break; - } - $34 = $6 > Math_fround(-.03099999949336052) ? $6 : Math_fround(-.03099999949336052); - $10 = Math_fround($8 + Math_fround(.20000000298023224)); - $2 = 0; - $24 = 0; - while (1) { - $8 = Math_fround($10 + Math_fround($34 * Math_fround($2 - $7 | 0))); - $3 = $2 << 2; - $6 = HEAPF32[$9 + $3 >> 2]; - if (($13 | 0) == 2) { - $63 = HEAPF32[($2 + $30 << 2) + $9 >> 2]; - $6 = $6 > $63 ? $6 : $63; - } - $6 = Math_fround(($6 < Math_fround(0) ? $6 : Math_fround(0)) - $8); - if (!($6 > Math_fround(.25) ^ 1)) { - HEAPF32[$3 + $45 >> 2] = $6 + Math_fround(-.25); - $24 = $24 + 1 | 0; - } - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - if (($24 | 0) < 3) { - break label$48; - } - $6 = Math_fround($10 + Math_fround(.25)); - $10 = Math_fround(0); - if (!($6 > Math_fround(0) ^ 1)) { - break label$49; - } - $2 = 0; - while (1) { - $7 = ($2 << 2) + $45 | 0; - HEAPF32[$7 >> 2] = Math_max(Math_fround(HEAPF32[$7 >> 2] + Math_fround(-.25)), Math_fround(0)); - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - $10 = $6; - break label$48; - } - celt_fatal(42604, 42508, 1770); - abort(); - } - memset($45, 0, $1 << 2); - $34 = Math_fround(0); - } - $71 = Math_fround($34 * Math_fround(64)); - $6 = Math_fround($10 + Math_fround(.20000000298023224)); - } - $63 = $6; - $1 = HEAP32[$0 + 64 >> 2]; - if ($1) { - break label$46; - } - $8 = Math_fround(0); - if (($14 | 0) > ($20 | 0)) { - $34 = $55 ? Math_fround(0) : Math_fround(Math_fround($15 | 0) * Math_fround(.5)); - $6 = Math_fround(-10); - $2 = $20; - while (1) { - $6 = Math_fround($6 + Math_fround(-1)); - $10 = Math_fround(HEAPF32[($2 << 2) + $4 >> 2] - $34); - $6 = $6 > $10 ? $6 : $10; - if (($13 | 0) == 2) { - $10 = Math_fround(HEAPF32[($2 + $30 << 2) + $4 >> 2] - $34); - $6 = $6 > $10 ? $6 : $10; - } - $8 = Math_fround($8 + $6); - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $6 = HEAPF32[$0 + 240 >> 2]; - $68 = Math_fround(Math_min(Math_fround(Math_max(Math_fround(Math_fround($8 / Math_fround($14 - $20 | 0)) - $6), Math_fround(-1.5))), Math_fround(3))); - HEAPF32[$0 + 240 >> 2] = $6 + Math_fround($68 * Math_fround(.019999999552965164)); - $1 = 0; - } - if (!$49) { - memcpy($31, $4, $40 << 2); - } - label$64 : { - if (!$15) { - break label$64; - } - $2 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 29 | 0; - label$65 : { - if (($22 | 0) < ($2 | 0) | $36) { - break label$65; - } - $36 = 0; - if ($1 | $20 | HEAP32[$0 + 24 >> 2] < 5) { - break label$65; - } - $2 = 1; - $6 = HEAPF32[$21 >> 2]; - label$66 : { - label$67 : { - if (($13 | 0) == 1) { - HEAPF32[$16 + 80 >> 2] = $6; - if (($14 | 0) < 2) { - break label$66; - } - while (1) { - $6 = Math_fround($6 + Math_fround(-1)); - $1 = $2 << 2; - $8 = HEAPF32[$21 + $1 >> 2]; - $6 = $6 > $8 ? $6 : $8; - HEAPF32[($16 + 80 | 0) + $1 >> 2] = $6; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$67; - } - $8 = HEAPF32[($30 << 2) + $21 >> 2]; - $6 = $6 > $8 ? $6 : $8; - HEAPF32[$16 + 80 >> 2] = $6; - if (($14 | 0) < 2) { - break label$66; - } - while (1) { - $6 = Math_fround($6 + Math_fround(-1)); - $1 = $2 << 2; - $8 = HEAPF32[$21 + $1 >> 2]; - $10 = HEAPF32[($2 + $30 << 2) + $21 >> 2]; - $8 = $8 > $10 ? $8 : $10; - $6 = $6 > $8 ? $6 : $8; - HEAPF32[($16 + 80 | 0) + $1 >> 2] = $6; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (($14 | 0) < 2) { - break label$66; - } - $2 = $14 - 2 | 0; - while (1) { - $1 = ($16 + 80 | 0) + ($2 << 2) | 0; - $6 = HEAPF32[$1 >> 2]; - $8 = Math_fround(HEAPF32[$1 + 4 >> 2] + Math_fround(-1)); - HEAPF32[$1 >> 2] = $6 > $8 ? $6 : $8; - $1 = ($2 | 0) > 0; - $2 = $2 - 1 | 0; - if ($1) { - continue; - } - break; - } - } - $24 = ($13 | 0) > 1 ? $13 : 1; - $7 = $14 - 1 | 0; - $3 = 0; - $27 = ($14 | 0) < 4; - $6 = Math_fround(0); - while (1) { - if (!$27) { - $1 = Math_imul($3, $30); - $2 = 2; - while (1) { - $6 = Math_fround($6 + Math_fround(Math_max(Math_fround(Math_fround(Math_max(HEAPF32[($1 + $2 << 2) + $4 >> 2], Math_fround(0))) - Math_fround(Math_max(HEAPF32[($16 + 80 | 0) + ($2 << 2) >> 2], Math_fround(0)))), Math_fround(0)))); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $3 = $3 + 1 | 0; - if (($24 | 0) != ($3 | 0)) { - continue; - } - break; - } - if (!(Math_fround($6 / Math_fround(Math_imul($14 - 3 | 0, $13) | 0)) > Math_fround(1) ^ 1)) { - compute_mdcts($19, $43, $33, $32, $13, $11, $15, HEAP32[$0 + 28 >> 2], HEAP32[$0 + 72 >> 2]); - compute_band_energies($19, $32, $38, $25, $13, $15, HEAP32[$0 + 72 >> 2]); - amp2Log2($19, $25, $14, $38, $4, $13); - if (($40 | 0) >= 1) { - $6 = Math_fround(Math_fround($15 | 0) * Math_fround(.5)); - $2 = 0; - while (1) { - $1 = ($2 << 2) + $31 | 0; - HEAPF32[$1 >> 2] = $6 + HEAPF32[$1 >> 2]; - $2 = $2 + 1 | 0; - if (($40 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAP32[$16 + 12 >> 2] = 1045220557; - $56 = $43; - $36 = 1; - } - $2 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 29 | 0; - } - if (($2 | 0) > ($22 | 0)) { - break label$64; - } - ec_enc_bit_logp($5, $36, 3); - } - $27 = $44 - ((Math_imul($13, $37) << 2) + 15 & -16) | 0; - $1 = $27; - __stack_pointer = $1; - normalise_bands($19, $32, $1, $38, $25, $13, $43); - $7 = 0; - if (!((Math_imul($13, 15) | 0) > ($35 | 0) | $20 | HEAP32[$0 + 24 >> 2] < 2)) { - $7 = !HEAP32[$0 + 64 >> 2]; - } - $2 = ($30 << 2) + 15 & -16; - $49 = $1 - $2 | 0; - $1 = $49; - __stack_pointer = $1; - $1 = $1 - $2 | 0; - __stack_pointer = $1; - $12 = $1 - $2 | 0; - $3 = $12; - __stack_pointer = $3; - $72 = dynalloc_analysis($4, $31, $30, $20, $14, $13, $49, HEAP32[$0 + 60 >> 2], HEAP32[$19 + 56 >> 2], $36, HEAP32[$0 + 44 >> 2], HEAP32[$0 + 52 >> 2], $18, $15, $35, $16 + 8 | 0, HEAP32[$0 + 64 >> 2], $45, $52, $1, $3); - $33 = $3 - $2 | 0; - $3 = $33; - __stack_pointer = $3; - label$79 : { - if ($7) { - $2 = 20480 / ($35 | 0) | 0; - $44 = tf_analysis($19, $25, $36, $33, ($2 | 0) < 78 ? 80 : $2 + 2 | 0, $27, $37, $15, HEAPF32[$16 + 12 >> 2], HEAP32[$16 + 16 >> 2], $1); - if (($14 | 0) <= ($23 | 0)) { - break label$79; - } - $2 = (($25 << 2) + $33 | 0) - 4 | 0; - while (1) { - HEAP32[($23 << 2) + $33 >> 2] = HEAP32[$2 >> 2]; - $23 = $23 + 1 | 0; - if (($23 | 0) != ($14 | 0)) { - continue; - } - break; - } - break label$79; - } - if (!(!$20 | !HEAP32[$16 + 4 >> 2])) { - $44 = 0; - if (($14 | 0) < 1) { - break label$79; - } - $2 = 0; - while (1) { - HEAP32[($2 << 2) + $33 >> 2] = 1; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$79; - } - if (!(!$20 | ($35 | 0) > 14 | HEAP32[$0 + 184 >> 2] == 2)) { - $44 = $36; - if (($14 | 0) < 1) { - break label$79; - } - memset($33, 0, $67); - break label$79; - } - $44 = 0; - if (($14 | 0) < 1) { - break label$79; - } - $2 = 0; - while (1) { - HEAP32[($2 << 2) + $33 >> 2] = $36; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $55 = $0 + 100 | 0; - $31 = ($13 | 0) > 1 ? $13 : 1; - $24 = $3 - (($40 << 2) + 15 & -16) | 0; - $45 = $24; - __stack_pointer = $24; - $9 = 0; - while (1) { - $32 = ($14 | 0) <= ($20 | 0); - if (!$32) { - $3 = Math_imul($9, $30); - $2 = $20; - while (1) { - $1 = $2 + $3 << 2; - $7 = $4 + $1 | 0; - $6 = HEAPF32[$7 >> 2]; - if (!(Math_fround(Math_abs(Math_fround($6 - HEAPF32[$1 + $21 >> 2]))) < Math_fround(2) ^ 1)) { - HEAPF32[$7 >> 2] = $6 + Math_fround(HEAPF32[$1 + $53 >> 2] * Math_fround(-.25)); - } - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($31 | 0) != ($9 | 0)) { - continue; - } - break; - } - quant_coarse_energy($19, $20, $14, $25, $4, $21, $22, $24, $5, $13, $15, $29, HEAP32[$0 + 12 >> 2], $0 + 84 | 0, HEAP32[$0 + 24 >> 2] > 3, HEAP32[$0 + 56 >> 2], HEAP32[$0 + 64 >> 2]); - $47 = 0; - $1 = HEAP32[$5 + 4 >> 2] << 3; - $7 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 32 | 0; - $2 = $36 ? 2 : 4; - $23 = ($15 | 0) != 0 & $1 >>> 0 >= $7 + ($2 | 1) >>> 0; - $17 = 0; - label$90 : { - if ($32) { - break label$90; - } - $3 = ($20 << 2) + $33 | 0; - $11 = $1 - $23 | 0; - label$91 : { - if ($11 >>> 0 >= $2 + $7 >>> 0) { - ec_enc_bit_logp($5, HEAP32[$3 >> 2], $2); - $7 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 32 | 0; - $17 = HEAP32[$3 >> 2]; - break label$91; - } - HEAP32[$3 >> 2] = 0; - $17 = 0; - } - $2 = $20 + 1 | 0; - if (($14 | 0) == ($2 | 0)) { - break label$90; - } - $3 = $36 ? 4 : 5; - $9 = $17; - while (1) { - $1 = ($2 << 2) + $33 | 0; - label$94 : { - if ($3 + $7 >>> 0 <= $11 >>> 0) { - ec_enc_bit_logp($5, HEAP32[$1 >> 2] ^ $9, $3); - $9 = HEAP32[$1 >> 2]; - $17 = $17 | $9; - $7 = (HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 32 | 0; - break label$94; - } - HEAP32[$1 >> 2] = $9; - } - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - label$96 : { - if (!$23) { - break label$96; - } - $2 = ($15 << 3) + 1744 | 0; - $1 = $36 << 2; - if (HEAPU8[$2 + ($17 + $1 | 0) | 0] == HEAPU8[(($1 | 2) + $17 | 0) + $2 | 0]) { - break label$96; - } - ec_enc_bit_logp($5, $44, 1); - $47 = $44 << 1; - } - if (!$32) { - $7 = ($36 << 2) + $47 | 0; - $3 = $15 << 3; - $2 = $20; - while (1) { - $1 = ($2 << 2) + $33 | 0; - HEAP32[$1 >> 2] = HEAP8[((HEAP32[$1 >> 2] + $7 | 0) + $3 | 0) + 1744 | 0]; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (((HEAP32[$5 + 20 >> 2] + Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) - 28 | 0) <= ($22 | 0)) { - label$100 : { - if (HEAP32[$0 + 64 >> 2]) { - $2 = 2; - HEAP32[$0 + 80 >> 2] = 2; - HEAP32[$0 + 100 >> 2] = 0; - break label$100; - } - $1 = $0; - label$102 : { - label$103 : { - label$104 : { - if ($20) { - if (!HEAP32[$0 + 24 >> 2]) { - break label$103; - } - if ($36) { - break label$104; - } - $2 = 3; - break label$102; - } - $2 = HEAP32[$0 + 24 >> 2]; - if (!(($2 | 0) > 2 ? !((Math_imul($13, 10) | 0) > ($29 | 0) | $56) : 0)) { - if (!$2) { - break label$103; - } - break label$104; - } - $2 = spreading_decision($19, $27, $0 + 88 | 0, HEAP32[$0 + 80 >> 2], $0 + 96 | 0, $55, ($59 | 0) != 0, $25, $13, $43, $12); - break label$102; - } - $2 = 2; - break label$102; - } - $2 = 0; - } - HEAP32[$1 + 80 >> 2] = $2; - } - ec_enc_icdf($5, $2, 42630, 5); - } - if (HEAP32[$0 + 64 >> 2]) { - HEAP32[$49 >> 2] = ($35 | 0) > 26 ? 8 : ($35 | 0) / 3 | 0; - } - $35 = $45 - (($30 << 2) + 15 & -16) | 0; - $45 = $35; - __stack_pointer = $35; - init_caps($19, $35, $15, $13); - $12 = $22 << 3; - $3 = 0; - $7 = ec_tell_frac($5); - if (!$32) { - $29 = 6; - $25 = $20; - while (1) { - $2 = $25; - $25 = $2 + 1 | 0; - $9 = $2 << 2; - $23 = $49 + $9 | 0; - $1 = 0; - label$111 : { - if ((($29 << 3) + $7 | 0) >= ($12 - $3 | 0)) { - break label$111; - } - label$112 : { - $22 = $9 + $35 | 0; - if (HEAP32[$22 >> 2] <= 0) { - $9 = 0; - break label$112; - } - $2 = Math_imul(HEAP16[($25 << 1) + $18 >> 1] - HEAP16[($2 << 1) + $18 >> 1] | 0, $13) << $15; - $7 = $2 << 3; - $2 = ($2 | 0) > 48 ? $2 : 48; - $17 = ($2 | 0) > ($7 | 0) ? $7 : $2; - $9 = $29; - $2 = 0; - while (1) { - $11 = HEAP32[$23 >> 2]; - ec_enc_bit_logp($5, ($11 | 0) > ($2 | 0), $9); - $7 = ec_tell_frac($5); - if (($2 | 0) >= ($11 | 0)) { - $9 = $2; - break label$112; - } - $1 = $1 + $17 | 0; - $3 = $3 + $17 | 0; - if (($7 + 8 | 0) < ($12 - $3 | 0)) { - $9 = 1; - $2 = $2 + 1 | 0; - if (HEAP32[$22 >> 2] <= ($1 | 0)) { - break label$112; - } - continue; - } - break; - } - $29 = ($29 | 0) > 2 ? $29 - 1 | 0 : 2; - break label$111; - } - if (!$9) { - break label$111; - } - $29 = ($29 | 0) > 2 ? $29 - 1 | 0 : 2; - } - HEAP32[$23 >> 2] = $1; - if (($14 | 0) != ($25 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) == 2) { - if ($15) { - $18 = HEAP32[$19 + 32 >> 2]; - $17 = HEAPU16[$18 >> 1]; - $10 = Math_fround(1.0000000036274937e-15); - $9 = 0; - $34 = Math_fround(1.0000000036274937e-15); - while (1) { - $2 = $17 << 16 >> 16 << $15; - $9 = $9 + 1 | 0; - $17 = HEAP16[($9 << 1) + $18 >> 1]; - $1 = $17 << $15; - if (($2 | 0) < ($1 | 0)) { - while (1) { - $6 = HEAPF32[($2 << 2) + $27 >> 2]; - $8 = HEAPF32[($2 + $37 << 2) + $27 >> 2]; - $34 = Math_fround($34 + Math_fround(Math_fround(Math_abs(Math_fround($6 + $8))) + Math_fround(Math_abs(Math_fround($6 - $8))))); - $10 = Math_fround($10 + Math_fround(Math_fround(Math_abs($6)) + Math_fround(Math_abs($8)))); - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($9 | 0) != 13) { - continue; - } - break; - } - $2 = HEAP16[$18 + 26 >> 1] << $15 + 1; - HEAP32[$16 + 20 >> 2] = Math_fround(Math_fround($34 * Math_fround(.7071070075035095)) * Math_fround($2 + ($15 >>> 0 < 2 ? 5 : 13) | 0)) > Math_fround($10 * Math_fround($2 | 0)); - } - $2 = hysteresis_decision(Math_fround(($46 | 0) / 1e3 | 0), 42640, 42736, 21, HEAP32[$0 + 232 >> 2]); - $2 = ($2 | 0) < ($20 | 0) ? $20 : $2; - HEAP32[$0 + 232 >> 2] = ($2 | 0) > ($14 | 0) ? $14 : $2; - } - $9 = 5; - if (($7 + 48 | 0) <= ($12 - $3 | 0)) { - $22 = $5; - label$123 : { - if (!(HEAP32[$0 + 64 >> 2] ? 0 : ($20 | 0) <= 0)) { - HEAP32[$0 + 228 >> 2] = 0; - $9 = 5; - break label$123; - } - $12 = HEAP32[$0 + 232 >> 2]; - $34 = HEAPF32[$16 + 12 >> 2]; - $10 = Math_fround(4); - label$126 : { - if (($46 | 0) < 64e3) { - break label$126; - } - $10 = Math_fround(5); - if (($46 | 0) > 79999) { - break label$126; - } - $10 = Math_fround(Math_fround(Math_fround($46 - 64e3 >> 10) * Math_fround(.0625)) + Math_fround(4)); - } - if (($13 | 0) == 2) { - $23 = HEAP32[$19 + 32 >> 2]; - $11 = HEAPU16[$23 >> 1]; - $8 = Math_fround(0); - $18 = 0; - while (1) { - $2 = $11 << 16; - $6 = Math_fround(0); - $18 = $18 + 1 | 0; - $11 = HEAP16[($18 << 1) + $23 >> 1]; - $2 = $2 >> 16; - $7 = $11 - $2 << $15; - if (($7 | 0) >= 1) { - $2 = $2 << $15; - $9 = ($2 << 2) + $27 | 0; - $17 = ($2 + $37 << 2) + $27 | 0; - $2 = 0; - while (1) { - $1 = $2 << 2; - $6 = Math_fround($6 + Math_fround(HEAPF32[$9 + $1 >> 2] * HEAPF32[$1 + $17 >> 2])); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $8 = Math_fround($8 + $6); - if (($18 | 0) != 8) { - continue; - } - break; - } - $41 = Math_fround(Math_min(Math_fround(Math_abs(Math_fround($8 * Math_fround(.125)))), Math_fround(1))); - $8 = $41; - if (($12 | 0) >= 9) { - $11 = HEAPU16[$23 + 16 >> 1]; - $18 = 8; - $8 = $41; - while (1) { - $2 = $11 << 16; - $6 = Math_fround(0); - $18 = $18 + 1 | 0; - $11 = HEAP16[($18 << 1) + $23 >> 1]; - $2 = $2 >> 16; - $7 = $11 - $2 << $15; - if (($7 | 0) >= 1) { - $2 = $2 << $15; - $9 = ($2 << 2) + $27 | 0; - $17 = ($2 + $37 << 2) + $27 | 0; - $2 = 0; - while (1) { - $1 = $2 << 2; - $6 = Math_fround($6 + Math_fround(HEAPF32[$9 + $1 >> 2] * HEAPF32[$1 + $17 >> 2])); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $6 = Math_fround(Math_abs($6)); - $8 = $6 > $8 ? $8 : $6; - if (($12 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $61 = log(+Math_fround(Math_fround(1.0010000467300415) - Math_fround($41 * $41))); - $6 = Math_fround(Math_min(Math_fround(Math_abs($8)), Math_fround(1))); - $60 = log(+Math_fround(Math_fround(1.0010000467300415) - Math_fround($6 * $6))); - $6 = Math_fround(HEAPF32[$0 + 228 >> 2] + Math_fround(.25)); - $8 = Math_fround($61 * 1.4426950408889634); - $41 = Math_fround($8 * Math_fround(.5)); - $69 = Math_fround($60 * 1.4426950408889634); - $41 = Math_fround(($41 > $69 ? $41 : $69) * Math_fround(-.5)); - HEAPF32[$0 + 228 >> 2] = $6 < $41 ? $6 : $41; - $10 = Math_fround($10 + Math_fround(Math_max(Math_fround($8 * Math_fround(.75)), Math_fround(-4)))); - } - $7 = $14 - 1 | 0; - $9 = 2 - $14 | 0; - $6 = Math_fround(0); - $17 = 0; - while (1) { - if (($14 | 0) >= 2) { - $1 = Math_imul(HEAP32[$19 + 8 >> 2], $17); - $2 = 0; - while (1) { - $6 = Math_fround($6 + Math_fround(HEAPF32[($1 + $2 << 2) + $4 >> 2] * Math_fround(($2 << 1) + $9 | 0))); - $2 = $2 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $17 = $17 + 1 | 0; - if (($31 | 0) != ($17 | 0)) { - continue; - } - break; - } - $6 = Math_fround(Math_fround(Math_fround($6 / Math_fround(Math_imul($7, $13) | 0)) + Math_fround(1)) / Math_fround(6)); - $2 = $6 > Math_fround(2); - $1 = $6 < Math_fround(-2); - $8 = $1 ? $2 ? Math_fround(2) : Math_fround(-2) : Math_fround(2); - $6 = Math_fround(Math_fround(Math_fround($10 - ($1 ? $8 : $2 ? $8 : $6)) - $71) - Math_fround($34 + $34)); - if (HEAP32[$52 >> 2]) { - $8 = Math_fround(HEAPF32[$0 + 128 >> 2] + Math_fround(.05000000074505806)); - $8 = Math_fround($8 + $8); - $2 = $8 > Math_fround(2); - $1 = $8 < Math_fround(-2); - $10 = $1 ? $2 ? Math_fround(2) : Math_fround(-2) : Math_fround(2); - $6 = Math_fround($6 - ($1 ? $10 : $2 ? $10 : $8)); - } - $6 = Math_fround(Math_floor(Math_fround($6 + Math_fround(.5)))); - label$138 : { - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - $2 = ~~$6; - break label$138; - } - $2 = -2147483648; - } - $2 = ($2 | 0) < 10 ? $2 : 10; - $9 = ($2 | 0) > 0 ? $2 : 0; - } - ec_enc_icdf($22, $9, 42820, 7); - $7 = ec_tell_frac($5); - } - if (($42 | 0) >= 1) { - $2 = 1275 >>> $48 | 0; - $4 = HEAP32[$19 + 36 >> 2]; - if ($20) { - $1 = (Math_imul($13, -72) + $42 | 0) - 32 | 0; - $1 = ($1 | 0) > 0 ? $1 : 0; - } else { - $1 = $42 - ($58 << 3) | 0; - } - $11 = ($2 | 0) > ($26 | 0); - $18 = $4 - $15 | 0; - $17 = HEAP32[$0 + 52 >> 2]; - $1 = $17 ? (HEAP32[$0 + 216 >> 2] >> $18) + $1 | 0 : $1; - $2 = $11 ? $26 : $2; - $44 = $2; - label$146 : { - label$147 : { - label$148 : { - if (!$20) { - $23 = HEAP32[$19 + 32 >> 2]; - $4 = HEAP32[$0 + 92 >> 2]; - $26 = HEAP32[$19 + 8 >> 2]; - $12 = $4 ? $4 : $26; - $11 = HEAP16[$23 + ($12 << 1) >> 1] << $15; - $29 = HEAP32[$0 + 236 >> 2]; - $25 = HEAP32[$0 + 64 >> 2]; - $8 = HEAPF32[$0 + 228 >> 2]; - $22 = HEAP32[$0 + 232 >> 2]; - $6 = HEAPF32[$16 + 12 >> 2]; - $48 = HEAP32[$16 + 8 >> 2]; - $11 = ($13 | 0) == 2 ? (HEAP16[((($12 | 0) > ($22 | 0) ? $22 : $12) << 1) + $23 >> 1] << $15) + $11 | 0 : $11; - $47 = HEAP32[$52 >> 2]; - $4 = $1; - label$151 : { - if (!$47) { - break label$151; - } - $10 = HEAPF32[$0 + 136 >> 2]; - $4 = $1; - if (+$10 < .4 ^ 1) { - break label$151; - } - $43 = $1; - $10 = Math_fround(Math_fround(Math_fround(.4000000059604645) - $10) * Math_fround($11 << 3)); - label$152 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $4 = ~~$10; - break label$152; - } - $4 = -2147483648; - } - $4 = $43 - $4 | 0; - } - if (($13 | 0) == 2) { - $43 = $4; - $12 = ($12 | 0) > ($22 | 0) ? $22 : $12; - $12 = (HEAP16[($12 << 1) + $23 >> 1] << $15) - $12 | 0; - $10 = Math_fround(Math_fround(Math_fround(Math_fround($12 | 0) * Math_fround(.800000011920929)) / Math_fround($11 | 0)) * Math_fround($4 | 0)); - $8 = Math_fround(Math_fround(($8 < Math_fround(1) ? $8 : Math_fround(1)) + Math_fround(-.10000000149011612)) * Math_fround($12 << 3)); - $8 = $8 > $10 ? $10 : $8; - label$157 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $12 = ~~$8; - break label$157; - } - $12 = -2147483648; - } - $4 = $43 - $12 | 0; - } - $4 = ((-19 << $15) + $48 | 0) + $4 | 0; - $8 = Math_fround(Math_fround($6 + Math_fround(-.04399999976158142)) * Math_fround($4 | 0)); - label$154 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $12 = ~~$8; - break label$154; - } - $12 = -2147483648; - } - $4 = $12 + $4 | 0; - if (!(!$47 | $25)) { - $8 = Math_fround($11 << 3); - $10 = Math_fround(HEAPF32[$0 + 124 >> 2] + Math_fround(-.15000000596046448)); - $10 = Math_fround(Math_fround($8 * Math_fround(1.2000000476837158)) * ($10 < Math_fround(0) ? Math_fround(-.11999999731779099) : Math_fround($10 + Math_fround(-.11999999731779099)))); - label$161 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $12 = ~~$10; - break label$161; - } - $12 = -2147483648; - } - $8 = Math_fround($8 * Math_fround(.800000011920929)); - label$163 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $22 = ~~$8; - break label$163; - } - $22 = -2147483648; - } - $4 = $12 + (($65 ? $22 : 0) + $4 | 0) | 0; - } - $12 = !$29 | ($25 | 0) != 0; - if (!$12) { - $22 = ($4 | 0) / 4 | 0; - $25 = $22; - $8 = Math_fround($63 * Math_fround($11 << 3)); - label$166 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $11 = ~~$8; - break label$166; - } - $11 = -2147483648; - } - $4 = $11 + $4 | 0; - $4 = ($4 | 0) < ($22 | 0) ? $25 : $4; - } - $11 = $4 >> 2; - $22 = $4; - $8 = Math_fround($72 * Math_fround(Math_imul(HEAP16[(($26 << 1) + $23 | 0) - 4 >> 1] << $15, $13) << 3)); - label$168 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $23 = ~~$8; - break label$168; - } - $23 = -2147483648; - } - $11 = ($11 | 0) < ($23 | 0) ? $23 : $11; - $4 = ($4 | 0) < ($11 | 0) ? $22 : $11; - if (!(!$17 | $12 ^ 1)) { - $8 = Math_fround(Math_fround($4 - $1 | 0) * Math_fround(.6700000166893005)); - label$171 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $4 = ~~$8; - break label$171; - } - $4 = -2147483648; - } - $4 = $4 + $1 | 0; - } - $12 = $4; - if ($29 | $6 < Math_fround(.20000000298023224) ^ 1) { - break label$147; - } - $11 = 96e3 - $46 | 0; - $11 = ($11 | 0) < 32e3 ? $11 : 32e3; - $6 = Math_fround(Math_fround((($11 | 0) < 0 ? Math_fround(0) : Math_fround(Math_fround($11 | 0) * Math_fround(3099999958067201e-21))) * $68) * Math_fround($4 | 0)); - if (!(Math_fround(Math_abs($6)) < Math_fround(2147483648))) { - break label$148; - } - $12 = ~~$6 + $4 | 0; - break label$147; - } - $4 = HEAP32[$0 + 188 >> 2]; - $1 = ((($4 | 0) < 100 ? 96 >>> $48 | 0 : 0) + $1 | 0) - (($4 | 0) > 100 ? 144 >>> $48 | 0 : 0) | 0; - $6 = HEAPF32[$16 + 12 >> 2]; - $8 = Math_fround(Math_fround($6 + Math_fround(-.25)) * Math_fround(400)); - label$173 : { - if (Math_fround(Math_abs($8)) < Math_fround(2147483648)) { - $4 = ~~$8; - break label$173; - } - $4 = -2147483648; - } - $1 = $1 + $4 | 0; - $4 = $6 > Math_fround(.699999988079071) ? ($1 | 0) > 400 ? $1 : 400 : $1; - $1 = (($3 + $7 | 0) + 63 >> 6) + 2 | 0; - $3 = ($3 + $57 | 0) + 359 >> 6; - $1 = ($1 | 0) > ($3 | 0) ? $1 : $3; - break label$146; - } - $12 = $4 - -2147483648 | 0; - } - $4 = $12; - $1 = $1 << 1; - $4 = ($1 | 0) < ($4 | 0) ? $1 : $4; - $1 = (($3 + $7 | 0) + 63 >> 6) + 2 | 0; - } - $4 = $4 + $7 | 0; - $7 = $4 + 32 >> 6; - $1 = ($1 | 0) > ($7 | 0) ? $1 : $7; - $7 = ($1 | 0) > ($2 | 0) ? $44 : $1; - $6 = Math_fround(.0010000000474974513); - $1 = HEAP32[$0 + 220 >> 2]; - if (($1 | 0) <= 969) { - HEAP32[$0 + 220 >> 2] = $1 + 1; - $6 = Math_fround(Math_fround(1) / Math_fround($1 + 21 | 0)); - } - $1 = $51 ? $7 : 2; - label$176 : { - if (!$17) { - break label$176; - } - $7 = HEAP32[$0 + 208 >> 2] + (($51 ? $7 << 6 : 128) - $42 | 0) | 0; - HEAP32[$0 + 208 >> 2] = $7; - $12 = $0; - $3 = (($51 ? $4 - $42 | 0 : 0) << $18) - HEAP32[$0 + 216 >> 2] | 0; - $4 = HEAP32[$0 + 212 >> 2]; - $6 = Math_fround($6 * Math_fround($3 - $4 | 0)); - label$177 : { - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - $3 = ~~$6; - break label$177; - } - $3 = -2147483648; - } - $4 = $3 + $4 | 0; - HEAP32[$12 + 212 >> 2] = $4; - HEAP32[$0 + 216 >> 2] = 0 - $4; - if (($7 | 0) > -1) { - break label$176; - } - HEAP32[$0 + 208 >> 2] = 0; - $1 = ($51 ? ($7 | 0) / -64 | 0 : 0) + $1 | 0; - } - $26 = ($1 | 0) > ($2 | 0) ? $2 : $1; - ec_enc_shrink($5, $26); - } - $1 = ($30 << 2) + 15 & -16; - $2 = $45 - $1 | 0; - __stack_pointer = $2; - $4 = $2 - $1 | 0; - $7 = $4; - __stack_pointer = $7; - $3 = $7 - $1 | 0; - $11 = $3; - __stack_pointer = $3; - $23 = $26 << 6; - $7 = $23 + (ec_tell_frac($5) ^ -1) | 0; - $17 = 0; - $22 = $19; - $29 = $20; - $25 = $14; - $55 = $0 + 232 | 0; - $57 = $16 + 20 | 0; - $12 = $7; - $1 = 0; - label$179 : { - if ($15 >>> 0 < 2) { - break label$179; - } - $1 = 0; - if (!$36) { - break label$179; - } - $17 = (($15 << 3) + 16 | 0) <= ($7 | 0); - $1 = $17 << 3; - } - $18 = $12 - $1 | 0; - $58 = $16 + 80 | 0; - $45 = $4; - $44 = $2; - $43 = $3; - $47 = $13; - $65 = $15; - $42 = $5; - $59 = HEAP32[$0 + 92 >> 2]; - if (HEAP32[$52 >> 2]) { - $12 = HEAP32[$0 + 152 >> 2]; - $48 = $12; - $7 = 13; - label$181 : { - if ((Math_imul($13, 32e3) | 0) > ($46 | 0)) { - break label$181; - } - $7 = 16; - if ((Math_imul($13, 48e3) | 0) > ($46 | 0)) { - break label$181; - } - $7 = 18; - if ((Math_imul($13, 6e4) | 0) > ($46 | 0)) { - break label$181; - } - $7 = (Math_imul($13, 8e4) | 0) > ($46 | 0) ? 19 : 20; - } - $7 = ($7 | 0) < ($12 | 0) ? $48 : $7; - } else { - $7 = $14 - 1 | 0; - } - $7 = clt_compute_allocation($22, $29, $25, $49, $35, $9, $55, $57, $18, $58, $45, $44, $43, $47, $65, $42, 1, $59, HEAP32[$0 + 64 >> 2] ? 1 : $7); - $9 = $7; - $18 = HEAP32[$0 + 92 >> 2]; - if ($18) { - $9 = $18 + 1 | 0; - $18 = $18 - 1 | 0; - $18 = ($7 | 0) < ($18 | 0) ? $18 : $7; - $9 = ($9 | 0) < ($18 | 0) ? $9 : $18; - } - $18 = $26 << 3; - HEAP32[$0 + 92 >> 2] = $9; - quant_fine_energy($19, $20, $14, $21, $24, $2, $5, $13); - $9 = 0; - $11 = $11 - ($40 + 15 & -16) | 0; - __stack_pointer = $11; - quant_all_bands(1, $19, $20, $14, $27, ($13 | 0) == 2 ? ($37 << 2) + $27 | 0 : 0, $11, $38, $4, $56, HEAP32[$0 + 80 >> 2], HEAP32[$16 + 20 >> 2], HEAP32[$0 + 232 >> 2], $33, $23 - $1 | 0, HEAP32[$16 + 80 >> 2], $5, $15, $7, $0 + 76 | 0, HEAP32[$0 + 24 >> 2], HEAP32[$0 + 72 >> 2], HEAP32[$0 + 68 >> 2]); - if ($17) { - ec_enc_bits($5, HEAP32[$0 + 116 >> 2] < 2, 1); - } - quant_energy_finalise($19, $20, $14, $21, $24, $2, $3, (($18 - HEAP32[$5 + 20 >> 2] | 0) - Math_clz32(HEAP32[$5 + 28 >> 2]) | 0) + 32 | 0, $5, $13); - $27 = $50 << 2; - $3 = memset($53, 0, $27); - while (1) { - if (!$32) { - $4 = Math_imul($9, $30); - $2 = $20; - while (1) { - $1 = $2 + $4 << 2; - $12 = $3 + $1 | 0; - $6 = HEAPF32[$1 + $24 >> 2]; - $1 = $6 > Math_fround(.5); - $7 = ($1 ? Math_fround(.5) : $6) < Math_fround(-.5); - $8 = $7 ? Math_fround(-.5) : Math_fround(.5); - HEAPF32[$12 >> 2] = $1 ? $8 : $7 ? $8 : $6; - $2 = $2 + 1 | 0; - if (($14 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($31 | 0) != ($9 | 0)) { - continue; - } - break; - } - if (!(!($51 ^ 1) | ($40 | 0) < 1)) { - $2 = 0; - while (1) { - HEAP32[($2 << 2) + $21 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($40 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = HEAP32[$16 + 28 >> 2]; - HEAP32[$0 + 112 >> 2] = $64; - HEAPF32[$0 + 108 >> 2] = $66; - HEAP32[$0 + 104 >> 2] = $2; - if ($70) { - $2 = $30 << 2; - memcpy($21 + $2 | 0, $21, $2); - } - label$190 : { - if ($36) { - $2 = 0; - if (($50 | 0) <= 0) { - break label$190; - } - while (1) { - $1 = $2 << 2; - $7 = $28 + $1 | 0; - $6 = HEAPF32[$7 >> 2]; - $8 = HEAPF32[$1 + $21 >> 2]; - HEAPF32[$7 >> 2] = $6 < $8 ? $6 : $8; - $2 = $2 + 1 | 0; - if (($50 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$190; - } - memcpy($39, $28, $27); - memcpy($28, $21, $27); - } - $3 = ($20 | 0) < 1; - $4 = 0; - while (1) { - if (!$3) { - $7 = Math_imul($4, $30); - $2 = 0; - while (1) { - $1 = $2 + $7 << 2; - HEAP32[$21 + $1 >> 2] = 0; - HEAP32[$1 + $39 >> 2] = -1042284544; - HEAP32[$1 + $28 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($20 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (($14 | 0) < ($30 | 0)) { - $7 = Math_imul($4, $30); - $2 = $14; - while (1) { - $1 = $2 + $7 << 2; - HEAP32[$21 + $1 >> 2] = 0; - HEAP32[$1 + $39 >> 2] = -1042284544; - HEAP32[$1 + $28 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($30 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($54 | 0) != ($4 | 0)) { - continue; - } - break; - } - $2 = 0; - $2 = !$36 & ($62 ^ -1) ? $2 : HEAP32[$0 + 116 >> 2] + 1 | 0; - HEAP32[$0 + 116 >> 2] = $2; - HEAP32[$0 + 76 >> 2] = HEAP32[$5 + 28 >> 2]; - ec_enc_done($5); - $7 = HEAP32[$5 + 44 >> 2] ? -3 : $26; - } - __stack_pointer = $16 + 192 | 0; - return $7; -} -function run_analysis($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = Math_fround(0), $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = Math_fround(0), $19 = Math_fround(0), $20 = Math_fround(0), $21 = Math_fround(0), $22 = 0, $23 = Math_fround(0), $24 = Math_fround(0), $25 = Math_fround(0), $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = Math_fround(0), $30 = Math_fround(0), $31 = Math_fround(0), $32 = 0, $33 = Math_fround(0), $34 = 0, $35 = Math_fround(0), $36 = 0, $37 = Math_fround(0), $38 = Math_fround(0), $39 = Math_fround(0), $40 = Math_fround(0), $41 = Math_fround(0), $42 = Math_fround(0), $43 = Math_fround(0), $44 = Math_fround(0), $45 = Math_fround(0), $46 = Math_fround(0), $47 = Math_fround(0), $48 = 0, $49 = Math_fround(0), $50 = 0, $51 = 0, $52 = Math_fround(0), $53 = 0, $54 = Math_fround(0), $55 = 0, $56 = Math_fround(0), $57 = Math_fround(0), $58 = 0, $59 = Math_fround(0), $60 = Math_fround(0), $61 = Math_fround(0), $62 = Math_fround(0), $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = Math_fround(0), $68 = Math_fround(0), $69 = Math_fround(0), $70 = Math_fround(0), $71 = 0, $72 = 0, $73 = Math_fround(0); - $14 = __stack_pointer - 11360 | 0; - __stack_pointer = $14; - if ($2) { - $15 = (Math_imul($8, 95) | 0) / 50 | 0; - $3 = $3 & -2; - $63 = ($3 | 0) > ($15 | 0) ? $15 : $3; - $50 = HEAP32[$0 + 7440 >> 2]; - $51 = $63 - $50 | 0; - if (($51 | 0) >= 1) { - $64 = $0 + 7464 | 0; - $71 = $0 + 3852 | 0; - $72 = $0 + 4812 | 0; - $65 = $0 + 7592 | 0; - $53 = $0 + 2892 | 0; - $55 = ($8 | 0) / 50 | 0; - $12 = Math_fround(Math_fround(.0005699999746866524) / Math_fround(1 << (($9 | 0) > 8 ? $9 : 8) - 8)); - $56 = Math_fround($12 * $12); - $73 = Math_fround($56 * Math_fround(3)); - while (1) { - $8 = ($51 | 0) > ($55 | 0); - if (!HEAP32[$0 + 7460 >> 2]) { - HEAP32[$0 + 7460 >> 2] = 1; - HEAP32[$0 + 5772 >> 2] = 240; - } - $22 = $8 ? $55 : $51; - $48 = HEAP32[$0 + 7436 >> 2]; - $8 = HEAP32[$0 + 8 >> 2]; - label$5 : { - if (($8 | 0) != 16e3) { - $16 = $50; - if (($8 | 0) != 48e3) { - break label$5; - } - $22 = ($22 | 0) / 2 | 0; - $16 = ($50 | 0) / 2 | 0; - break label$5; - } - $22 = (Math_imul($22, 3) | 0) / 2 | 0; - $16 = (Math_imul($50, 3) | 0) / 2 | 0; - } - $28 = HEAP32[$1 + 72 >> 2]; - $3 = HEAP32[$0 + 5772 >> 2]; - $15 = (($3 << 2) + $0 | 0) + 2892 | 0; - $3 = 720 - $3 | 0; - $45 = Math_fround(downmix_and_resample($10, $2, $15, $65, ($3 | 0) > ($22 | 0) ? $22 : $3, $16, $5, $6, $7, $8) + HEAPF32[$0 + 7456 >> 2]); - HEAPF32[$0 + 7456 >> 2] = $45; - $8 = HEAP32[$0 + 5772 >> 2] + $22 | 0; - label$7 : { - if (($8 | 0) <= 719) { - HEAP32[$0 + 5772 >> 2] = $8; - break label$7; - } - $8 = $48 + 1 | 0; - $57 = Math_fround(Math_fround(1) / Math_fround((($48 | 0) < 100 ? $8 : 100) | 0)); - $46 = Math_fround(Math_fround(1) / Math_fround((($48 | 0) < 25 ? $8 : 25) | 0)); - $29 = Math_fround(Math_fround(1) / Math_fround((($48 | 0) < 10 ? $8 : 10) | 0)); - $32 = HEAP32[$0 + 7444 >> 2]; - HEAP32[$0 + 7444 >> 2] = $32 + (($32 | 0) > 98 ? -99 : 1); - $27 = is_digital_silence($53, 720, 1, $9); - $8 = 0; - while (1) { - $3 = ($14 + 5760 | 0) + ($8 << 3) | 0; - $15 = $8 << 2; - $12 = HEAPF32[$15 + 48944 >> 2]; - $15 = $15 + $53 | 0; - HEAPF32[$3 >> 2] = $12 * HEAPF32[$15 >> 2]; - HEAPF32[$3 + 4 >> 2] = $12 * HEAPF32[$15 + 960 >> 2]; - $3 = 479 - $8 | 0; - $15 = ($14 + 5760 | 0) + ($3 << 3) | 0; - HEAPF32[$15 >> 2] = $12 * HEAPF32[($3 << 2) + $53 >> 2]; - HEAPF32[$15 + 4 >> 2] = $12 * HEAPF32[(719 - $8 << 2) + $53 >> 2]; - $8 = $8 + 1 | 0; - if (($8 | 0) != 240) { - continue; - } - break; - } - memcpy($53, $72, 960); - $8 = HEAP32[$0 + 5772 >> 2]; - $3 = $22 + $8 | 0; - $12 = downmix_and_resample($10, $2, $71, $65, $3 - 720 | 0, ($16 - $8 | 0) + 720 | 0, $5, $6, $7, HEAP32[$0 + 8 >> 2]); - HEAP32[$0 + 5772 >> 2] = $3 - 480; - HEAPF32[$0 + 7456 >> 2] = $12; - $36 = ($32 << 6) + $0 | 0; - $34 = $36 + 7604 | 0; - if ($27) { - $8 = HEAP32[$0 + 7444 >> 2]; - $8 = ($8 + (($8 | 0) < 2 ? 98 : -2) << 6) + $0 | 0; - $16 = $8 + 7660 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 56 >> 2] = $16; - HEAP32[$15 + 60 >> 2] = $3; - $16 = $8 + 7652 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $16 = $3; - $3 = $34; - HEAP32[$3 + 48 >> 2] = $16; - HEAP32[$3 + 52 >> 2] = $15; - $16 = $8 + 7644 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 40 >> 2] = $16; - HEAP32[$15 + 44 >> 2] = $3; - $16 = $8 + 7636 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $16 = $3; - $3 = $34; - HEAP32[$3 + 32 >> 2] = $16; - HEAP32[$3 + 36 >> 2] = $15; - $16 = $8 + 7628 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 24 >> 2] = $16; - HEAP32[$15 + 28 >> 2] = $3; - $16 = $8 + 7620 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $16 = $3; - $3 = $34; - HEAP32[$3 + 16 >> 2] = $16; - HEAP32[$3 + 20 >> 2] = $15; - $16 = $8 + 7612 | 0; - $15 = HEAP32[$16 >> 2]; - $3 = HEAP32[$16 + 4 >> 2]; - $16 = $15; - $15 = $34; - HEAP32[$15 + 8 >> 2] = $16; - HEAP32[$15 + 12 >> 2] = $3; - $16 = $8 + 7604 | 0; - $3 = HEAP32[$16 >> 2]; - $15 = HEAP32[$16 + 4 >> 2]; - $8 = $3; - $3 = $34; - HEAP32[$3 >> 2] = $8; - HEAP32[$3 + 4 >> 2] = $15; - break label$7; - } - opus_fft_c($28, $14 + 5760 | 0, $14 + 1920 | 0); - $8 = 1; - $25 = HEAPF32[$14 + 1920 >> 2]; - if ($25 != $25) { - HEAP32[$34 >> 2] = 0; - break label$7; - } - while (1) { - $3 = ((0 - $8 << 3) + $14 | 0) + 5760 | 0; - $19 = HEAPF32[$3 >> 2]; - $15 = ($14 + 1920 | 0) + ($8 << 3) | 0; - $18 = HEAPF32[$15 >> 2]; - $12 = Math_fround($19 - $18); - $17 = HEAPF32[$15 + 4 >> 2]; - $26 = HEAPF32[$3 + 4 >> 2]; - $13 = Math_fround($17 + $26); - $20 = Math_fround(0); - $3 = $8 << 2; - $15 = $3 + $0 | 0; - $28 = $15; - $27 = $15; - $23 = Math_fround($18 + $19); - $19 = Math_fround($23 * $23); - $18 = Math_fround($17 - $26); - $17 = Math_fround($18 * $18); - $24 = Math_fround(0); - label$13 : { - if (Math_fround($19 + $17) < Math_fround(1.000000045813705e-18)) { - break label$13; - } - $24 = Math_fround(($18 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866)) - Math_fround(Math_fround(Math_fround($18 * $23) * Math_fround(Math_fround($19 * Math_fround(.43157973885536194)) + $17)) / Math_fround(Math_fround(Math_fround($19 * Math_fround(.6784840226173401)) + $17) * Math_fround(Math_fround($19 * Math_fround(.0859554186463356)) + $17)))); - if (!($19 < $17 ^ 1)) { - break label$13; - } - $24 = $18 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866); - $18 = Math_fround($23 * $18); - $24 = Math_fround(Math_fround($24 + Math_fround(Math_fround($18 * Math_fround($19 + Math_fround($17 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($19 + Math_fround($17 * Math_fround(.6784840226173401))) * Math_fround($19 + Math_fround($17 * Math_fround(.0859554186463356)))))) - ($18 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866))); - } - $24 = Math_fround($24 * Math_fround(.15915493667125702)); - $22 = $15 + 12 | 0; - $23 = Math_fround($24 - HEAPF32[$22 >> 2]); - $16 = $15 + 972 | 0; - $19 = Math_fround($23 - HEAPF32[$16 >> 2]); - $18 = Math_fround($12 * $12); - $17 = Math_fround($13 * $13); - label$14 : { - if (Math_fround($18 + $17) < Math_fround(1.000000045813705e-18)) { - break label$14; - } - if (!($18 > $17 ^ 1)) { - $20 = Math_fround(($12 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866)) - Math_fround(Math_fround(Math_fround($12 * $13) * Math_fround($18 + Math_fround($17 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($18 + Math_fround($17 * Math_fround(.6784840226173401))) * Math_fround($18 + Math_fround($17 * Math_fround(.0859554186463356)))))); - break label$14; - } - $20 = $12 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866); - $12 = Math_fround($12 * $13); - $20 = Math_fround(Math_fround($20 + Math_fround(Math_fround($12 * Math_fround(Math_fround($18 * Math_fround(.43157973885536194)) + $17)) / Math_fround(Math_fround(Math_fround($18 * Math_fround(.6784840226173401)) + $17) * Math_fround(Math_fround($18 * Math_fround(.0859554186463356)) + $17)))) - ($12 < Math_fround(0) ? Math_fround(-1.5707963705062866) : Math_fround(1.5707963705062866))); - } - $18 = Math_fround($20 * Math_fround(.15915493667125702)); - $17 = Math_fround($18 - $24); - $12 = Math_fround($17 - $23); - $32 = lrintf($12); - $16 = $3 + $14 | 0; - $13 = Math_fround($19 - Math_fround(lrintf($19) | 0)); - $12 = Math_fround($12 - Math_fround($32 | 0)); - HEAPF32[$16 >> 2] = Math_fround(Math_abs($13)) + Math_fround(Math_abs($12)); - $15 = $15 + 1932 | 0; - $19 = HEAPF32[$15 >> 2]; - $12 = Math_fround($12 * $12); - $12 = Math_fround($12 * $12); - HEAPF32[($14 + 1e4 | 0) + $3 >> 2] = Math_fround(Math_fround(1) / Math_fround(Math_fround($12 * Math_fround(62341.81640625)) + Math_fround(1))) + Math_fround(-.014999999664723873); - $13 = Math_fround($13 * $13); - HEAPF32[($14 + 960 | 0) + $3 >> 2] = Math_fround(Math_fround(1) / Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($19 + Math_fround($13 * $13)) + Math_fround($12 + $12)) * Math_fround(.25)) * Math_fround(62341.81640625)) + Math_fround(1))) + Math_fround(-.014999999664723873); - HEAPF32[$28 + 12 >> 2] = $18; - HEAPF32[$27 + 972 >> 2] = $17; - HEAPF32[$15 >> 2] = $12; - $8 = $8 + 1 | 0; - if (($8 | 0) != 240) { - continue; - } - break; - } - $8 = 2; - $12 = HEAPF32[$14 + 10008 >> 2]; - while (1) { - $3 = $8 << 2; - $15 = $3 + ($14 + 960 | 0) | 0; - $19 = HEAPF32[$15 >> 2]; - $18 = HEAPF32[($3 + $14 | 0) + 9996 >> 2]; - $3 = $8 + 1 | 0; - $13 = HEAPF32[($14 + 1e4 | 0) + ($3 << 2) >> 2]; - $18 = $13 < $18 ? $18 : $13; - $12 = Math_fround(($12 < $18 ? $12 : $18) + Math_fround(-.10000000149011612)); - HEAPF32[$15 >> 2] = ($12 < $19 ? $19 : $12) * Math_fround(.8999999761581421); - $12 = $13; - $8 = $3; - if (($8 | 0) != 239) { - continue; - } - break; - } - $58 = $36 + 7620 | 0; - HEAP32[$58 >> 2] = 0; - $27 = HEAP32[$0 + 7436 >> 2]; - if (!$27) { - HEAP32[$0 + 7008 >> 2] = 1343554297; - HEAP32[$0 + 7012 >> 2] = 1343554297; - HEAP32[$0 + 7080 >> 2] = -803929351; - HEAP32[$0 + 7084 >> 2] = -803929351; - HEAP32[$0 + 7088 >> 2] = -803929351; - HEAP32[$0 + 7092 >> 2] = -803929351; - HEAP32[$0 + 7016 >> 2] = 1343554297; - HEAP32[$0 + 7020 >> 2] = 1343554297; - HEAP32[$0 + 7096 >> 2] = -803929351; - HEAP32[$0 + 7100 >> 2] = -803929351; - HEAP32[$0 + 7024 >> 2] = 1343554297; - HEAP32[$0 + 7028 >> 2] = 1343554297; - HEAP32[$0 + 7104 >> 2] = -803929351; - HEAP32[$0 + 7108 >> 2] = -803929351; - HEAP32[$0 + 7032 >> 2] = 1343554297; - HEAP32[$0 + 7036 >> 2] = 1343554297; - HEAP32[$0 + 7112 >> 2] = -803929351; - HEAP32[$0 + 7116 >> 2] = -803929351; - HEAP32[$0 + 7040 >> 2] = 1343554297; - HEAP32[$0 + 7044 >> 2] = 1343554297; - HEAP32[$0 + 7048 >> 2] = 1343554297; - HEAP32[$0 + 7052 >> 2] = 1343554297; - HEAP32[$0 + 7120 >> 2] = -803929351; - HEAP32[$0 + 7124 >> 2] = -803929351; - HEAP32[$0 + 7056 >> 2] = 1343554297; - HEAP32[$0 + 7060 >> 2] = 1343554297; - HEAP32[$0 + 7136 >> 2] = -803929351; - HEAP32[$0 + 7140 >> 2] = -803929351; - HEAP32[$0 + 7128 >> 2] = -803929351; - HEAP32[$0 + 7132 >> 2] = -803929351; - HEAP32[$0 + 7064 >> 2] = 1343554297; - HEAP32[$0 + 7068 >> 2] = 1343554297; - HEAP32[$0 + 7072 >> 2] = 1343554297; - HEAP32[$0 + 7144 >> 2] = -803929351; - HEAP32[$0 + 7148 >> 2] = -803929351; - HEAP32[$0 + 7076 >> 2] = 1343554297; - } - $12 = Math_fround($25 + $25); - $17 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 1924 >> 2]; - $12 = Math_fround($12 + $12); - $17 = Math_fround($17 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1928 >> 2]; - $20 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 5752 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1932 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 5756 >> 2]; - $17 = Math_fround($17 + Math_fround($20 + Math_fround($12 * $12))); - $12 = HEAPF32[$14 + 1936 >> 2]; - $20 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 5744 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1940 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 5748 >> 2]; - $17 = Math_fround($17 + Math_fround($20 + Math_fround($12 * $12))); - $12 = HEAPF32[$14 + 1944 >> 2]; - $20 = Math_fround($12 * $12); - $12 = HEAPF32[$14 + 5736 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 1948 >> 2]; - $20 = Math_fround($20 + Math_fround($12 * $12)); - $12 = HEAPF32[$14 + 5740 >> 2]; - $23 = Math_fround(Math_fround(log(+Math_fround(Math_fround($17 + Math_fround($20 + Math_fround($12 * $12))) + Math_fround(1.000000013351432e-10)))) * Math_fround(.7213475108146667)); - HEAPF32[$14 + 9888 >> 2] = $23; - $24 = Math_fround(0); - $16 = 0; - $8 = 4; - $35 = Math_fround(0); - $30 = Math_fround(0); - $31 = Math_fround(0); - $49 = Math_fround(0); - $37 = Math_fround(0); - $38 = Math_fround(0); - while (1) { - $19 = Math_fround(0); - $18 = Math_fround(0); - $13 = Math_fround(0); - $32 = $16 + 1 | 0; - $28 = $32 << 2; - $22 = HEAP32[$28 + 49904 >> 2]; - if (($22 | 0) > ($8 | 0)) { - while (1) { - $3 = ($14 + 1920 | 0) + ($8 << 3) | 0; - $12 = HEAPF32[$3 >> 2]; - $17 = Math_fround($12 * $12); - $15 = ((0 - $8 << 3) + $14 | 0) + 5760 | 0; - $12 = HEAPF32[$15 >> 2]; - $17 = Math_fround($17 + Math_fround($12 * $12)); - $12 = HEAPF32[$3 + 4 >> 2]; - $17 = Math_fround($17 + Math_fround($12 * $12)); - $12 = HEAPF32[$15 + 4 >> 2]; - $12 = Math_fround($17 + Math_fround($12 * $12)); - $13 = Math_fround($13 + $12); - $3 = $8 << 2; - $18 = Math_fround($18 + Math_fround($12 * Math_fround(Math_max(HEAPF32[$3 + ($14 + 960 | 0) >> 2], Math_fround(0))))); - $19 = Math_fround($19 + Math_fround(Math_fround($12 + $12) * Math_fround(Math_fround(.5) - HEAPF32[$3 + $14 >> 2]))); - $8 = $8 + 1 | 0; - if (($22 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - if (!($13 == $13 ? !($13 < Math_fround(1e9) ^ 1) : 0)) { - HEAP32[$34 >> 2] = 0; - break label$7; - } - $3 = $16 << 2; - $8 = $3 + (Math_imul(HEAP32[$0 + 7432 >> 2], 72) + $0 | 0) | 0; - HEAPF32[$8 + 5856 >> 2] = $13; - $15 = ($14 + 9888 | 0) + $28 | 0; - $26 = Math_fround($13 + Math_fround(1.000000013351432e-10)); - $12 = Math_fround(log(+$26)); - HEAPF32[$15 >> 2] = $12 * Math_fround(.7213475108146667); - HEAPF32[($14 + 11200 | 0) + $3 >> 2] = $12; - HEAPF32[$8 + 6432 >> 2] = $12; - label$22 : { - if ($27) { - $8 = $0 + $3 | 0; - $17 = HEAPF32[$8 + 7008 >> 2]; - $20 = HEAPF32[$8 + 7080 >> 2]; - break label$22; - } - $8 = $0 + $3 | 0; - HEAPF32[$8 + 7080 >> 2] = $12; - HEAPF32[$8 + 7008 >> 2] = $12; - $17 = $12; - $20 = $12; - } - $8 = $0 + $3 | 0; - $15 = $8 + 7008 | 0; - $28 = $8 + 7080 | 0; - label$24 : { - if (+$20 > +$17 + 7.5 ^ 1) { - break label$24; - } - if (!(Math_fround($20 - $12) > Math_fround($12 - $17) ^ 1)) { - $20 = Math_fround($20 + Math_fround(-.009999999776482582)); - HEAPF32[$28 >> 2] = $20; - break label$24; - } - $17 = Math_fround($17 + Math_fround(.009999999776482582)); - HEAPF32[$15 >> 2] = $17; - } - $13 = Math_fround($13 + Math_fround(1.0000000036274937e-15)); - label$26 : { - if (!($12 > $20 ^ 1)) { - HEAPF32[$28 >> 2] = $12; - $20 = Math_fround($12 + Math_fround(-15)); - $17 = $17 < $20 ? $20 : $17; - HEAPF32[$15 >> 2] = $17; - $20 = $12; - break label$26; - } - if ($12 < $17 ^ 1) { - break label$26; - } - HEAPF32[$15 >> 2] = $12; - $17 = Math_fround($12 + Math_fround(15)); - $20 = $17 < $20 ? $17 : $20; - HEAPF32[$28 >> 2] = $20; - $17 = $12; - } - $26 = Math_fround(Math_sqrt($26)); - $19 = Math_fround($19 / $13); - $13 = Math_fround($18 / $13); - $15 = $8 + 5776 | 0; - $18 = HEAPF32[$8 + 5856 >> 2]; - $25 = HEAPF32[$8 + 5928 >> 2]; - $33 = HEAPF32[$8 + 6e3 >> 2]; - $39 = HEAPF32[$8 + 6072 >> 2]; - $40 = HEAPF32[$8 + 6144 >> 2]; - $41 = HEAPF32[$8 + 6216 >> 2]; - $42 = HEAPF32[$8 + 6288 >> 2]; - $43 = HEAPF32[$8 + 6360 >> 2]; - $18 = Math_fround(Math_min(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_sqrt($18)) + Math_fround(0)) + Math_fround(Math_sqrt($25))) + Math_fround(Math_sqrt($33))) + Math_fround(Math_sqrt($39))) + Math_fround(Math_sqrt($40))) + Math_fround(Math_sqrt($41))) + Math_fround(Math_sqrt($42))) + Math_fround(Math_sqrt($43))) / Math_fround(Math_sqrt(+Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($18 + Math_fround(0)) + $25) + $33) + $39) + $40) + $41) + $42) + $43) * Math_fround(8)) + 1e-15))), Math_fround(.9900000095367432))); - $18 = Math_fround($18 * $18); - $18 = Math_fround($18 * $18); - $25 = Math_fround(HEAPF32[$15 >> 2] * $18); - $13 = $13 > $25 ? $13 : $25; - HEAPF32[($14 + 11280 | 0) + $3 >> 2] = $13; - $24 = Math_fround($24 + $13); - $12 = Math_fround(Math_fround($12 - $17) / Math_fround(Math_fround($20 - $17) + Math_fround(9999999747378752e-21))); - $24 = $16 >>> 0 >= 9 ? Math_fround($24 - HEAPF32[($3 + $14 | 0) + 11244 >> 2]) : $24; - $38 = Math_fround($38 + $26); - $30 = Math_fround($30 + $19); - $49 = Math_fround($49 + $18); - $37 = Math_fround($37 + $12); - HEAPF32[$15 >> 2] = $13; - $12 = Math_fround(Math_fround(Math_fround(Math_fround($16 - 18 | 0) * Math_fround(.029999999329447746)) + Math_fround(1)) * $24); - $35 = $12 < $35 ? $35 : $12; - $31 = Math_fround($31 + Math_fround($13 * Math_fround($16 - 8 | 0))); - $8 = $22; - $16 = $32; - if (($16 | 0) != 18) { - continue; - } - break; - } - HEAPF32[$14 + 9808 >> 2] = $23; - $13 = Math_fround($23 + Math_fround(-2.5)); - HEAPF32[$14 + 9728 >> 2] = $13; - $3 = 1; - $15 = 4; - $19 = $23; - while (1) { - $8 = $3 << 2; - $22 = HEAP32[$8 + 49904 >> 2]; - $12 = Math_fround($22 - $15 | 0); - $18 = Math_fround(Math_fround($12 + $12) * Math_fround(.25)); - $19 = Math_fround($19 + $18); - $12 = HEAPF32[($14 + 9888 | 0) + $8 >> 2]; - $19 = $12 > $19 ? $19 : $12; - HEAPF32[($14 + 9808 | 0) + $8 >> 2] = $19; - $13 = Math_fround($13 - $18); - $12 = Math_fround($12 + Math_fround(-2.5)); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[($14 + 9728 | 0) + $8 >> 2] = $13; - $15 = $22; - $3 = $3 + 1 | 0; - if (($3 | 0) != 19) { - continue; - } - break; - } - $3 = 16; - $15 = 192; - $12 = HEAPF32[$14 + 9796 >> 2]; - $13 = HEAPF32[$14 + 9876 >> 2]; - while (1) { - $8 = $3; - $3 = $8 << 2; - $22 = $3 + ($14 + 9808 | 0) | 0; - $16 = HEAP32[$3 + 49904 >> 2]; - $19 = Math_fround($15 - $16 | 0); - $19 = Math_fround(Math_fround($19 + $19) * Math_fround(.25)); - $13 = Math_fround($13 + $19); - $18 = HEAPF32[$22 >> 2]; - $13 = $13 < $18 ? $13 : $18; - HEAPF32[$22 >> 2] = $13; - $12 = Math_fround($12 - $19); - $3 = ($14 + 9728 | 0) + $3 | 0; - $19 = HEAPF32[$3 >> 2]; - $12 = $12 > $19 ? $12 : $19; - HEAPF32[$3 >> 2] = $12; - $3 = $8 - 1 | 0; - $15 = $16; - if ($8) { - continue; - } - break; - } - $8 = 0; - while (1) { - $44 = Math_fround(0); - $15 = ($8 + $36 | 0) + 7648 | 0; - $3 = $8 << 2; - $66 = Math_floor(+Math_fround(Math_fround(Math_fround(Math_max(Math_fround(HEAPF32[$3 + ($14 + 9728 | 0) >> 2] - $23), Math_fround(0))) + Math_fround(Math_max(Math_fround($23 - Math_fround(HEAPF32[($14 + 9808 | 0) + $3 >> 2] + Math_fround(2.5))), Math_fround(0)))) * Math_fround(64)) + .5); - label$32 : { - if (Math_abs($66) < 2147483648) { - $3 = ~~$66; - break label$32; - } - $3 = -2147483648; - } - HEAP8[$15 | 0] = ($3 | 0) < 255 ? $3 : 255; - $15 = 0; - $8 = $8 + 1 | 0; - if (($8 | 0) != 19) { - $23 = HEAPF32[($14 + 9888 | 0) + ($8 << 2) >> 2]; - continue; - } - break; - } - while (1) { - $8 = Math_imul($15, 72) + $0 | 0; - $19 = HEAPF32[$8 + 6500 >> 2]; - $18 = HEAPF32[$8 + 6496 >> 2]; - $17 = HEAPF32[$8 + 6448 >> 2]; - $20 = HEAPF32[$8 + 6444 >> 2]; - $24 = HEAPF32[$8 + 6440 >> 2]; - $23 = HEAPF32[$8 + 6436 >> 2]; - $26 = HEAPF32[$8 + 6432 >> 2]; - $25 = HEAPF32[$8 + 6492 >> 2]; - $33 = HEAPF32[$8 + 6488 >> 2]; - $39 = HEAPF32[$8 + 6484 >> 2]; - $40 = HEAPF32[$8 + 6480 >> 2]; - $41 = HEAPF32[$8 + 6476 >> 2]; - $42 = HEAPF32[$8 + 6472 >> 2]; - $43 = HEAPF32[$8 + 6468 >> 2]; - $54 = HEAPF32[$8 + 6464 >> 2]; - $47 = HEAPF32[$8 + 6460 >> 2]; - $59 = HEAPF32[$8 + 6456 >> 2]; - $52 = HEAPF32[$8 + 6452 >> 2]; - $12 = Math_fround(999999986991104); - $3 = 0; - while (1) { - $8 = Math_imul($3, 72) + $0 | 0; - $13 = Math_fround($26 - HEAPF32[$8 + 6432 >> 2]); - $21 = Math_fround(Math_fround($13 * $13) + Math_fround(0)); - $13 = Math_fround($23 - HEAPF32[$8 + 6436 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($24 - HEAPF32[$8 + 6440 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($20 - HEAPF32[$8 + 6444 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($17 - HEAPF32[$8 + 6448 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($52 - HEAPF32[$8 + 6452 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($59 - HEAPF32[$8 + 6456 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($47 - HEAPF32[$8 + 6460 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($54 - HEAPF32[$8 + 6464 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($43 - HEAPF32[$8 + 6468 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($42 - HEAPF32[$8 + 6472 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($41 - HEAPF32[$8 + 6476 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($40 - HEAPF32[$8 + 6480 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($39 - HEAPF32[$8 + 6484 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($33 - HEAPF32[$8 + 6488 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($25 - HEAPF32[$8 + 6492 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($18 - HEAPF32[$8 + 6496 >> 2]); - $21 = Math_fround($21 + Math_fround($13 * $13)); - $13 = Math_fround($19 - HEAPF32[$8 + 6500 >> 2]); - $13 = Math_fround($21 + Math_fround($13 * $13)); - $12 = ($3 | 0) == ($15 | 0) ? $12 : $12 < $13 ? $12 : $13; - $3 = $3 + 1 | 0; - if (($3 | 0) != 8) { - continue; - } - break; - } - $44 = Math_fround($44 + $12); - $15 = $15 + 1 | 0; - if (($15 | 0) != 8) { - continue; - } - break; - } - $17 = Math_fround(0); - $26 = ($48 | 0) < 2 ? Math_fround(0) : Math_fround(Math_fround(1) - $57); - $25 = Math_fround($44 * Math_fround(.125)); - $48 = HEAP32[$0 + 5852 >> 2]; - $16 = 0; - $28 = 4; - $27 = 0; - $20 = Math_fround(0); - $18 = Math_fround(0); - $19 = Math_fround(0); - while (1) { - $12 = Math_fround(0); - $8 = $28; - $32 = $16 + 1 | 0; - $22 = HEAP32[($32 << 2) + 49904 >> 2]; - if (($8 | 0) < ($22 | 0)) { - while (1) { - $3 = ($14 + 1920 | 0) + ($8 << 3) | 0; - $13 = HEAPF32[$3 >> 2]; - $23 = Math_fround($13 * $13); - $15 = ((0 - $8 << 3) + $14 | 0) + 5760 | 0; - $13 = HEAPF32[$15 >> 2]; - $23 = Math_fround($23 + Math_fround($13 * $13)); - $13 = HEAPF32[$3 + 4 >> 2]; - $23 = Math_fround($23 + Math_fround($13 * $13)); - $13 = HEAPF32[$15 + 4 >> 2]; - $12 = Math_fround($12 + Math_fround($23 + Math_fround($13 * $13))); - $8 = $8 + 1 | 0; - if (($22 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $3 = $16 << 2; - $8 = ($3 + $0 | 0) + 7152 | 0; - $13 = Math_fround($26 * HEAPF32[$8 >> 2]); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[$8 >> 2] = $13; - $8 = $16 >>> 0 < 11; - $24 = Math_fround($18 + $12); - $23 = Math_fround($19 + $12); - $20 = $12 < $20 ? $20 : $12; - if (!($20 < Math_fround($12 * Math_fround(1e9)) ^ 1)) { - $33 = $12 > $13 ? $12 : $13; - $13 = Math_fround($22 - $28 | 0); - $27 = Math_fround($56 * $13) < $12 ? $32 : $33 > Math_fround($73 * $13) ? $32 : $27; - } - $18 = $8 ? $24 : $18; - $19 = $8 ? $19 : $23; - HEAP32[($14 + 10960 | 0) + $3 >> 2] = Math_fround($17 * (($16 | 0) < ($48 | 0) ? Math_fround(.009999999776482582) : Math_fround(.05000000074505806))) > $12; - $13 = Math_fround($17 * Math_fround(.05000000074505806)); - $17 = $12 < $13 ? $13 : $12; - $28 = $22; - $16 = $32; - if (($16 | 0) != 18) { - continue; - } - break; - } - if (HEAP32[$0 + 8 >> 2] == 48e3) { - $13 = Math_fround($26 * HEAPF32[$0 + 7224 >> 2]); - $12 = Math_fround($45 * Math_fround(.00027777778450399637)); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[$0 + 7224 >> 2] = $13; - $20 = $12 > $13 ? $12 : $13; - $8 = ($48 | 0) == 20; - $13 = $8 ? Math_fround(10) : Math_fround(30); - $27 = (Math_fround(Math_fround($56 * $13) * Math_fround(160)) < $12 ^ 1 ? !($20 > Math_fround(Math_fround($56 * Math_fround($13 * Math_fround(3))) * Math_fround(160))) : 0) ? $27 : 20; - HEAP32[$14 + 11032 >> 2] = Math_fround(($8 ? Math_fround(.009999999776482582) : Math_fround(.05000000074505806)) * $17) > $12; - $19 = Math_fround($12 + $19); - } - $12 = Math_fround($25 / Math_fround(18)); - HEAPF32[$36 + 7644 >> 2] = $19 > $18 ? Math_fround($18 / $19) : Math_fround(1); - label$44 : { - if (($27 | 0) == 20) { - $27 = HEAP32[$14 + 11032 >> 2] ? 18 : 20; - break label$44; - } - $8 = $27 - 1 | 0; - if ($8 >>> 0 > 17) { - break label$44; - } - $27 = HEAP32[($14 + 10960 | 0) + ($8 << 2) >> 2] ? $8 : $27; - } - $59 = Math_fround(Math_sqrt($12)); - $13 = Math_fround(HEAPF32[$0 + 7424 >> 2] + Math_fround(-.003000000026077032)); - $12 = Math_fround(Math_fround(log10(+$38)) * Math_fround(20)); - $13 = $12 < $13 ? $13 : $12; - HEAPF32[$0 + 7424 >> 2] = $13; - $19 = Math_fround(Math_fround(Math_fround(1) - $46) * HEAPF32[$0 + 7428 >> 2]); - HEAPF32[$0 + 7428 >> 2] = Math_fround($13 + Math_fround(-30)) > $12 ? Math_fround($46 + $19) : $19; - $16 = HEAP32[$0 + 7436 >> 2]; - $3 = 0; - $12 = HEAPF32[$14 + 11204 >> 2]; - $13 = HEAPF32[$14 + 11200 >> 2]; - $19 = HEAPF32[$14 + 11260 >> 2]; - $18 = HEAPF32[$14 + 11256 >> 2]; - $17 = HEAPF32[$14 + 11252 >> 2]; - $20 = HEAPF32[$14 + 11248 >> 2]; - $24 = HEAPF32[$14 + 11244 >> 2]; - $23 = HEAPF32[$14 + 11240 >> 2]; - $26 = HEAPF32[$14 + 11236 >> 2]; - $25 = HEAPF32[$14 + 11232 >> 2]; - $33 = HEAPF32[$14 + 11228 >> 2]; - $39 = HEAPF32[$14 + 11224 >> 2]; - $40 = HEAPF32[$14 + 11220 >> 2]; - $41 = HEAPF32[$14 + 11216 >> 2]; - $42 = HEAPF32[$14 + 11212 >> 2]; - $43 = HEAPF32[$14 + 11208 >> 2]; - while (1) { - $8 = $3 << 6; - HEAPF32[($14 + 11168 | 0) + ($3 << 2) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($13 * HEAPF32[$8 + 49984 >> 2]) + Math_fround(0)) + Math_fround($12 * HEAPF32[($8 | 4) + 49984 >> 2])) + Math_fround($43 * HEAPF32[($8 | 8) + 49984 >> 2])) + Math_fround($42 * HEAPF32[($8 | 12) + 49984 >> 2])) + Math_fround($41 * HEAPF32[($8 | 16) + 49984 >> 2])) + Math_fround($40 * HEAPF32[($8 | 20) + 49984 >> 2])) + Math_fround($39 * HEAPF32[($8 | 24) + 49984 >> 2])) + Math_fround($33 * HEAPF32[($8 | 28) + 49984 >> 2])) + Math_fround($25 * HEAPF32[($8 | 32) + 49984 >> 2])) + Math_fround($26 * HEAPF32[($8 | 36) + 49984 >> 2])) + Math_fround($23 * HEAPF32[($8 | 40) + 49984 >> 2])) + Math_fround($24 * HEAPF32[($8 | 44) + 49984 >> 2])) + Math_fround($20 * HEAPF32[($8 | 48) + 49984 >> 2])) + Math_fround($17 * HEAPF32[($8 | 52) + 49984 >> 2])) + Math_fround($18 * HEAPF32[($8 | 56) + 49984 >> 2])) + Math_fround($19 * HEAPF32[($8 | 60) + 49984 >> 2]); - $3 = $3 + 1 | 0; - if (($3 | 0) != 8) { - continue; - } - break; - } - $22 = 0; - while (1) { - $15 = $22 << 4; - $12 = Math_fround(0); - $8 = 0; - while (1) { - $3 = ($8 << 2) + $0 | 0; - $12 = Math_fround($12 + Math_fround(Math_fround(HEAPF32[($8 + $15 << 2) + 49984 >> 2] * Math_fround(.5)) * Math_fround(HEAPF32[$3 + 7080 >> 2] + HEAPF32[$3 + 7008 >> 2]))); - $8 = $8 + 1 | 0; - if (($8 | 0) != 16) { - continue; - } - break; - } - HEAPF32[($14 + 9968 | 0) + ($22 << 2) >> 2] = $12; - $22 = $22 + 1 | 0; - if (($22 | 0) != 8) { - continue; - } - break; - } - $20 = Math_fround($30 / Math_fround(18)); - HEAPF32[$58 >> 2] = $20 + Math_fround(Math_fround(Math_fround(1) - $20) * (($16 | 0) < 10 ? Math_fround(.5) : Math_fround($37 / Math_fround(18)))); - $12 = Math_fround($35 / Math_fround(9)); - $13 = Math_fround(HEAPF32[$0 + 5848 >> 2] * Math_fround(.800000011920929)); - $12 = $12 > $13 ? $12 : $13; - HEAPF32[$0 + 5848 >> 2] = $12; - $3 = $36 + 7612 | 0; - HEAPF32[$3 >> 2] = $31 * Math_fround(.015625); - $15 = ($16 | 0) < 9999 ? $16 + 1 | 0 : 1e4; - HEAP32[$0 + 7436 >> 2] = $15; - HEAP32[$0 + 7432 >> 2] = (HEAP32[$0 + 7432 >> 2] + 1 | 0) % 8; - $22 = $36 + 7608 | 0; - HEAPF32[$22 >> 2] = $12; - $24 = HEAPF32[$0 + 7260 >> 2]; - $23 = HEAPF32[$0 + 7228 >> 2]; - $26 = HEAPF32[$0 + 7292 >> 2]; - $47 = Math_fround($23 + $26); - $13 = HEAPF32[$14 + 11168 >> 2]; - $52 = HEAPF32[$0 + 7324 >> 2]; - $35 = Math_fround($13 + $52); - $44 = HEAPF32[$0 + 7356 >> 2]; - $21 = Math_fround(Math_fround(Math_fround($24 * Math_fround(.6969299912452698)) + Math_fround(Math_fround($47 * Math_fround(.49195000529289246)) - Math_fround($35 * Math_fround(.12298999726772308)))) - Math_fround($44 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11056 >> 2] = $21; - $25 = HEAPF32[$0 + 7264 >> 2]; - $33 = HEAPF32[$0 + 7232 >> 2]; - $39 = HEAPF32[$0 + 7296 >> 2]; - $30 = Math_fround($33 + $39); - $19 = HEAPF32[$14 + 11172 >> 2]; - $31 = HEAPF32[$0 + 7328 >> 2]; - $37 = Math_fround($19 + $31); - $38 = HEAPF32[$0 + 7360 >> 2]; - $60 = Math_fround(Math_fround(Math_fround($25 * Math_fround(.6969299912452698)) + Math_fround(Math_fround($30 * Math_fround(.49195000529289246)) - Math_fround($37 * Math_fround(.12298999726772308)))) - Math_fround($38 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11060 >> 2] = $60; - $40 = HEAPF32[$0 + 7268 >> 2]; - $41 = HEAPF32[$0 + 7236 >> 2]; - $42 = HEAPF32[$0 + 7300 >> 2]; - $45 = Math_fround($41 + $42); - $18 = HEAPF32[$14 + 11176 >> 2]; - $46 = HEAPF32[$0 + 7332 >> 2]; - $57 = Math_fround($18 + $46); - $67 = HEAPF32[$0 + 7364 >> 2]; - $61 = Math_fround(Math_fround(Math_fround($40 * Math_fround(.6969299912452698)) + Math_fround(Math_fround($45 * Math_fround(.49195000529289246)) - Math_fround($57 * Math_fround(.12298999726772308)))) - Math_fround($67 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11064 >> 2] = $61; - $68 = HEAPF32[$0 + 7272 >> 2]; - $43 = HEAPF32[$0 + 7240 >> 2]; - $54 = HEAPF32[$0 + 7304 >> 2]; - $17 = HEAPF32[$14 + 11180 >> 2]; - $69 = HEAPF32[$0 + 7336 >> 2]; - $70 = HEAPF32[$0 + 7368 >> 2]; - $62 = Math_fround(Math_fround(Math_fround($68 * Math_fround(.6969299912452698)) + Math_fround(Math_fround(Math_fround($43 + $54) * Math_fround(.49195000529289246)) - Math_fround(Math_fround($17 + $69) * Math_fround(.12298999726772308)))) - Math_fround($70 * Math_fround(1.4349000453948975))); - HEAPF32[$14 + 11068 >> 2] = $62; - $12 = Math_fround(Math_fround(1) - $29); - HEAPF32[$0 + 7368 >> 2] = Math_fround($29 * $17) + Math_fround($70 * $12); - HEAPF32[$0 + 7364 >> 2] = Math_fround($29 * $18) + Math_fround($12 * $67); - HEAPF32[$0 + 7360 >> 2] = Math_fround($29 * $19) + Math_fround($12 * $38); - HEAPF32[$0 + 7356 >> 2] = Math_fround($29 * $13) + Math_fround($12 * $44); - HEAPF32[$14 + 11096 >> 2] = Math_fround(Math_fround($57 * Math_fround(.5345199704170227)) - Math_fround($45 * Math_fround(.26725998520851135))) - Math_fround($40 * Math_fround(.5345199704170227)); - HEAPF32[$14 + 11092 >> 2] = Math_fround(Math_fround($37 * Math_fround(.5345199704170227)) - Math_fround($30 * Math_fround(.26725998520851135))) - Math_fround($25 * Math_fround(.5345199704170227)); - $35 = Math_fround(Math_fround(Math_fround($35 * Math_fround(.5345199704170227)) - Math_fround($47 * Math_fround(.26725998520851135))) - Math_fround($24 * Math_fround(.5345199704170227))); - HEAPF32[$14 + 11088 >> 2] = $35; - $44 = Math_fround(Math_fround(Math_fround($17 - $69) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($43 - $54) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11084 >> 2] = $44; - $30 = Math_fround(Math_fround(Math_fround($18 - $46) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($41 - $42) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11080 >> 2] = $30; - $31 = Math_fround(Math_fround(Math_fround($19 - $31) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($33 - $39) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11076 >> 2] = $31; - $37 = Math_fround(Math_fround(Math_fround($13 - $52) * Math_fround(.6324599981307983)) + Math_fround(Math_fround($23 - $26) * Math_fround(.31622999906539917))); - HEAPF32[$14 + 11072 >> 2] = $37; - $8 = ($16 | 0) < 3 ? 20 : $27; - $52 = Math_fround($49 / Math_fround(18)); - $47 = HEAPF32[$0 + 7388 >> 2]; - label$49 : { - if (($15 | 0) <= 5) { - $12 = HEAPF32[$0 + 7420 >> 2]; - $30 = HEAPF32[$0 + 7412 >> 2]; - $31 = HEAPF32[$0 + 7408 >> 2]; - $49 = HEAPF32[$0 + 7404 >> 2]; - $38 = HEAPF32[$0 + 7400 >> 2]; - $45 = HEAPF32[$0 + 7396 >> 2]; - $46 = HEAPF32[$0 + 7392 >> 2]; - break label$49; - } - $47 = Math_fround(Math_fround($21 * Math_fround($29 * $21)) + Math_fround($12 * $47)); - HEAPF32[$0 + 7388 >> 2] = $47; - $46 = Math_fround(Math_fround($60 * Math_fround($29 * $60)) + Math_fround($12 * HEAPF32[$0 + 7392 >> 2])); - HEAPF32[$0 + 7392 >> 2] = $46; - $45 = Math_fround(Math_fround($61 * Math_fround($29 * $61)) + Math_fround($12 * HEAPF32[$0 + 7396 >> 2])); - HEAPF32[$0 + 7396 >> 2] = $45; - $38 = Math_fround(Math_fround($62 * Math_fround($29 * $62)) + Math_fround($12 * HEAPF32[$0 + 7400 >> 2])); - HEAPF32[$0 + 7400 >> 2] = $38; - $49 = Math_fround(Math_fround($37 * Math_fround($29 * $37)) + Math_fround($12 * HEAPF32[$0 + 7404 >> 2])); - HEAPF32[$0 + 7404 >> 2] = $49; - $31 = Math_fround(Math_fround($31 * Math_fround($29 * $31)) + Math_fround($12 * HEAPF32[$0 + 7408 >> 2])); - HEAPF32[$0 + 7408 >> 2] = $31; - $30 = Math_fround(Math_fround($30 * Math_fround($29 * $30)) + Math_fround($12 * HEAPF32[$0 + 7412 >> 2])); - HEAPF32[$0 + 7412 >> 2] = $30; - HEAPF32[$0 + 7416 >> 2] = Math_fround($44 * Math_fround($29 * $44)) + Math_fround($12 * HEAPF32[$0 + 7416 >> 2]); - $12 = Math_fround(Math_fround($35 * Math_fround($29 * $35)) + Math_fround($12 * HEAPF32[$0 + 7420 >> 2])); - HEAPF32[$0 + 7420 >> 2] = $12; - } - HEAPF32[$14 + 11056 >> 2] = $13 - HEAPF32[$14 + 9968 >> 2]; - HEAPF32[$14 + 11060 >> 2] = $19 - HEAPF32[$14 + 9972 >> 2]; - HEAPF32[$14 + 11064 >> 2] = $18 - HEAPF32[$14 + 9976 >> 2]; - HEAPF32[$14 + 11068 >> 2] = $17 - HEAPF32[$14 + 9980 >> 2]; - HEAPF32[$0 + 7260 >> 2] = $23; - HEAPF32[$0 + 7328 >> 2] = $39; - HEAPF32[$0 + 7228 >> 2] = $13; - HEAPF32[$0 + 7296 >> 2] = $25; - HEAPF32[$0 + 7264 >> 2] = $33; - HEAPF32[$0 + 7332 >> 2] = $42; - HEAPF32[$0 + 7232 >> 2] = $19; - HEAPF32[$0 + 7300 >> 2] = $40; - HEAPF32[$0 + 7268 >> 2] = $41; - HEAPF32[$0 + 7336 >> 2] = $54; - HEAPF32[$0 + 7236 >> 2] = $18; - HEAPF32[$0 + 7304 >> 2] = $68; - HEAPF32[$0 + 7272 >> 2] = $43; - HEAPF32[$0 + 7240 >> 2] = $17; - HEAPF32[$0 + 7324 >> 2] = $26; - HEAPF32[$0 + 7292 >> 2] = $24; - $15 = HEAP32[$0 + 7308 >> 2]; - HEAP32[$0 + 7308 >> 2] = HEAP32[$0 + 7276 >> 2]; - HEAP32[$0 + 7340 >> 2] = $15; - HEAP32[$0 + 7276 >> 2] = HEAP32[$0 + 7244 >> 2]; - HEAP32[$0 + 7244 >> 2] = HEAP32[$14 + 11184 >> 2]; - HEAP32[$0 + 7344 >> 2] = HEAP32[$0 + 7312 >> 2]; - HEAP32[$0 + 7312 >> 2] = HEAP32[$0 + 7280 >> 2]; - HEAP32[$0 + 7280 >> 2] = HEAP32[$0 + 7248 >> 2]; - HEAP32[$0 + 7248 >> 2] = HEAP32[$14 + 11188 >> 2]; - HEAP32[$0 + 7348 >> 2] = HEAP32[$0 + 7316 >> 2]; - HEAP32[$0 + 7316 >> 2] = HEAP32[$0 + 7284 >> 2]; - HEAP32[$0 + 7284 >> 2] = HEAP32[$0 + 7252 >> 2]; - HEAP32[$0 + 7252 >> 2] = HEAP32[$14 + 11192 >> 2]; - HEAP32[$0 + 7352 >> 2] = HEAP32[$0 + 7320 >> 2]; - HEAP32[$0 + 7320 >> 2] = HEAP32[$0 + 7288 >> 2]; - HEAP32[$0 + 7288 >> 2] = HEAP32[$0 + 7256 >> 2]; - HEAP32[$0 + 7256 >> 2] = HEAP32[$14 + 11196 >> 2]; - HEAPF32[$14 + 11132 >> 2] = Math_fround(Math_sqrt($12)) + Math_fround(-1.9187949895858765); - HEAPF32[$14 + 11124 >> 2] = Math_fround(Math_sqrt($30)) + Math_fround(-1.260756015777588); - HEAPF32[$14 + 11120 >> 2] = Math_fround(Math_sqrt($31)) + Math_fround(-2.1633129119873047); - HEAPF32[$14 + 11116 >> 2] = Math_fround(Math_sqrt($49)) + Math_fround(-3.7732150554656982); - HEAPF32[$14 + 11112 >> 2] = Math_fround(Math_sqrt($38)) + Math_fround(-1.599784016609192); - HEAPF32[$14 + 11108 >> 2] = Math_fround(Math_sqrt($45)) + Math_fround(-1.7706340551376343); - HEAPF32[$14 + 11104 >> 2] = Math_fround(Math_sqrt($46)) + Math_fround(-3.475287914276123); - HEAPF32[$14 + 11100 >> 2] = Math_fround(Math_sqrt($47)) + Math_fround(-5.6849470138549805); - HEAPF32[$14 + 11128 >> 2] = $59 + Math_fround(-.7799999713897705); - HEAPF32[$14 + 11136 >> 2] = HEAPF32[$22 >> 2] + Math_fround(-.15472300350666046); - $12 = HEAPF32[$58 >> 2]; - HEAPF32[$14 + 11144 >> 2] = $52 + Math_fround(-.7437170147895813); - HEAPF32[$14 + 11140 >> 2] = $12 + Math_fround(-.7246429920196533); - HEAPF32[$14 + 11148 >> 2] = HEAPF32[$3 >> 2] + Math_fround(.06921599805355072); - HEAPF32[$14 + 11152 >> 2] = HEAPF32[$0 + 7428 >> 2] + Math_fround(-.06792999804019928); - compute_dense(43872, $14 + 9600 | 0, $14 + 11056 | 0); - compute_gru(48016, $64, $14 + 9600 | 0); - compute_dense(48096, $14 + 11048 | 0, $64); - HEAP32[$36 + 7640 >> 2] = HEAP32[$14 + 11052 >> 2]; - $3 = HEAP32[$14 + 11048 >> 2]; - HEAP32[$36 + 7636 >> 2] = $8; - HEAP32[$36 + 7624 >> 2] = $3; - HEAP32[$0 + 5852 >> 2] = $8; - HEAPF32[$36 + 7616 >> 2] = $20; - HEAP32[$34 >> 2] = 1; - } - $50 = $50 + $55 | 0; - $51 = $51 - $55 | 0; - if (($51 | 0) > 0) { - continue; - } - break; - } - } - HEAP32[$0 + 7440 >> 2] = $63 - $4; - } - tonality_get_info($0, $11, $4); - __stack_pointer = $14 + 11360 | 0; -} -function dlmalloc($0) { - $0 = $0 | 0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $12 = __stack_pointer - 16 | 0; - __stack_pointer = $12; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - if ($0 >>> 0 <= 244) { - $6 = HEAP32[13232]; - $4 = $0 >>> 0 < 11 ? 16 : $0 + 11 & -8; - $2 = $4 >>> 3 | 0; - $0 = $6 >>> $2 | 0; - if ($0 & 3) { - $4 = (($0 ^ -1) & 1) + $2 | 0; - $3 = $4 << 3; - $2 = HEAP32[$3 + 52976 >> 2]; - $0 = $2 + 8 | 0; - $1 = HEAP32[$2 + 8 >> 2]; - $3 = $3 + 52968 | 0; - label$15 : { - if (($1 | 0) == ($3 | 0)) { - HEAP32[13232] = __wasm_rotl_i32(-2, $4) & $6; - break label$15; - } - HEAP32[$1 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $1; - } - $1 = $4 << 3; - HEAP32[$2 + 4 >> 2] = $1 | 3; - $2 = $2 + $1 | 0; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] | 1; - break label$1; - } - $9 = HEAP32[13234]; - if ($9 >>> 0 >= $4 >>> 0) { - break label$12; - } - if ($0) { - $1 = $0 << $2; - $0 = 2 << $2; - $0 = $1 & ($0 | 0 - $0); - $0 = ($0 & 0 - $0) - 1 | 0; - $1 = $0; - $0 = $0 >>> 12 & 16; - $2 = $1 >>> $0 | 0; - $1 = $2 >>> 5 & 8; - $3 = $0 | $1; - $0 = $2 >>> $1 | 0; - $2 = $0 >>> 2 & 4; - $1 = $3 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 2; - $1 = $1 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 1; - $1 = ($1 | $2) + ($0 >>> $2 | 0) | 0; - $3 = $1 << 3; - $2 = HEAP32[$3 + 52976 >> 2]; - $0 = HEAP32[$2 + 8 >> 2]; - $3 = $3 + 52968 | 0; - label$18 : { - if (($0 | 0) == ($3 | 0)) { - $6 = __wasm_rotl_i32(-2, $1) & $6; - HEAP32[13232] = $6; - break label$18; - } - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $0; - } - $0 = $2 + 8 | 0; - HEAP32[$2 + 4 >> 2] = $4 | 3; - $3 = $2 + $4 | 0; - $5 = $1 << 3; - $1 = $5 - $4 | 0; - HEAP32[$3 + 4 >> 2] = $1 | 1; - HEAP32[$2 + $5 >> 2] = $1; - if ($9) { - $5 = $9 >>> 3 | 0; - $4 = ($5 << 3) + 52968 | 0; - $2 = HEAP32[13237]; - $5 = 1 << $5; - label$21 : { - if (!($6 & $5)) { - HEAP32[13232] = $5 | $6; - $5 = $4; - break label$21; - } - $5 = HEAP32[$4 + 8 >> 2]; - } - HEAP32[$4 + 8 >> 2] = $2; - HEAP32[$5 + 12 >> 2] = $2; - HEAP32[$2 + 12 >> 2] = $4; - HEAP32[$2 + 8 >> 2] = $5; - } - HEAP32[13237] = $3; - HEAP32[13234] = $1; - break label$1; - } - $8 = HEAP32[13233]; - if (!$8) { - break label$12; - } - $0 = (0 - $8 & $8) - 1 | 0; - $1 = $0; - $0 = $0 >>> 12 & 16; - $2 = $1 >>> $0 | 0; - $1 = $2 >>> 5 & 8; - $3 = $0 | $1; - $0 = $2 >>> $1 | 0; - $2 = $0 >>> 2 & 4; - $1 = $3 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 2; - $1 = $1 | $2; - $0 = $0 >>> $2 | 0; - $2 = $0 >>> 1 & 1; - $3 = HEAP32[(($1 | $2) + ($0 >>> $2 | 0) << 2) + 53232 >> 2]; - $2 = (HEAP32[$3 + 4 >> 2] & -8) - $4 | 0; - $1 = $3; - while (1) { - label$24 : { - $0 = HEAP32[$1 + 16 >> 2]; - if (!$0) { - $0 = HEAP32[$1 + 20 >> 2]; - if (!$0) { - break label$24; - } - } - $1 = (HEAP32[$0 + 4 >> 2] & -8) - $4 | 0; - $5 = $1; - $1 = $2 >>> 0 > $1 >>> 0; - $2 = $1 ? $5 : $2; - $3 = $1 ? $0 : $3; - $1 = $0; - continue; - } - break; - } - $10 = $3 + $4 | 0; - if ($10 >>> 0 <= $3 >>> 0) { - break label$11; - } - $11 = HEAP32[$3 + 24 >> 2]; - $5 = HEAP32[$3 + 12 >> 2]; - if (($5 | 0) != ($3 | 0)) { - $0 = HEAP32[$3 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $5; - HEAP32[$5 + 8 >> 2] = $0; - break label$2; - } - $1 = $3 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if (!$0) { - $0 = HEAP32[$3 + 16 >> 2]; - if (!$0) { - break label$10; - } - $1 = $3 + 16 | 0; - } - while (1) { - $7 = $1; - $5 = $0; - $1 = $0 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if ($0) { - continue; - } - $1 = $5 + 16 | 0; - $0 = HEAP32[$5 + 16 >> 2]; - if ($0) { - continue; - } - break; - } - HEAP32[$7 >> 2] = 0; - break label$2; - } - $4 = -1; - if ($0 >>> 0 > 4294967231) { - break label$12; - } - $0 = $0 + 11 | 0; - $4 = $0 & -8; - $9 = HEAP32[13233]; - if (!$9) { - break label$12; - } - $7 = 31; - if ($4 >>> 0 <= 16777215) { - $0 = $0 >>> 8 | 0; - $1 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $2 = $1 << $0; - $1 = $2; - $2 = $2 + 520192 >>> 16 & 4; - $1 = $1 << $2; - $3 = $1; - $1 = $1 + 245760 >>> 16 & 2; - $0 = ($3 << $1 >>> 15 | 0) - ($0 | $2 | $1) | 0; - $7 = ($0 << 1 | $4 >>> $0 + 21 & 1) + 28 | 0; - } - $2 = 0 - $4 | 0; - $1 = HEAP32[($7 << 2) + 53232 >> 2]; - label$31 : { - label$32 : { - label$33 : { - if (!$1) { - $0 = 0; - break label$33; - } - $0 = 0; - $3 = $4 << (($7 | 0) == 31 ? 0 : 25 - ($7 >>> 1 | 0) | 0); - while (1) { - label$36 : { - $6 = (HEAP32[$1 + 4 >> 2] & -8) - $4 | 0; - if ($6 >>> 0 >= $2 >>> 0) { - break label$36; - } - $5 = $1; - $2 = $6; - if ($2) { - break label$36; - } - $2 = 0; - $0 = $1; - break label$32; - } - $6 = HEAP32[$1 + 20 >> 2]; - $1 = HEAP32[(($3 >>> 29 & 4) + $1 | 0) + 16 >> 2]; - $0 = $6 ? ($6 | 0) == ($1 | 0) ? $0 : $6 : $0; - $3 = $3 << 1; - if ($1) { - continue; - } - break; - } - } - if (!($0 | $5)) { - $0 = 2 << $7; - $0 = ($0 | 0 - $0) & $9; - if (!$0) { - break label$12; - } - $0 = (0 - $0 & $0) - 1 | 0; - $1 = $0; - $0 = $0 >>> 12 & 16; - $1 = $1 >>> $0 | 0; - $3 = $1 >>> 5 & 8; - $6 = $0 | $3; - $0 = $1 >>> $3 | 0; - $1 = $0 >>> 2 & 4; - $3 = $6 | $1; - $0 = $0 >>> $1 | 0; - $1 = $0 >>> 1 & 2; - $3 = $3 | $1; - $0 = $0 >>> $1 | 0; - $1 = $0 >>> 1 & 1; - $0 = HEAP32[(($3 | $1) + ($0 >>> $1 | 0) << 2) + 53232 >> 2]; - } - if (!$0) { - break label$31; - } - } - while (1) { - $6 = (HEAP32[$0 + 4 >> 2] & -8) - $4 | 0; - $3 = $6 >>> 0 < $2 >>> 0; - $2 = $3 ? $6 : $2; - $5 = $3 ? $0 : $5; - $1 = HEAP32[$0 + 16 >> 2]; - if (!$1) { - $1 = HEAP32[$0 + 20 >> 2]; - } - $0 = $1; - if ($0) { - continue; - } - break; - } - } - if (!$5 | HEAP32[13234] - $4 >>> 0 <= $2 >>> 0) { - break label$12; - } - $7 = $4 + $5 | 0; - if ($7 >>> 0 <= $5 >>> 0) { - break label$11; - } - $8 = HEAP32[$5 + 24 >> 2]; - $3 = HEAP32[$5 + 12 >> 2]; - if (($5 | 0) != ($3 | 0)) { - $0 = HEAP32[$5 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $0; - break label$3; - } - $1 = $5 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if (!$0) { - $0 = HEAP32[$5 + 16 >> 2]; - if (!$0) { - break label$9; - } - $1 = $5 + 16 | 0; - } - while (1) { - $6 = $1; - $3 = $0; - $1 = $0 + 20 | 0; - $0 = HEAP32[$1 >> 2]; - if ($0) { - continue; - } - $1 = $3 + 16 | 0; - $0 = HEAP32[$3 + 16 >> 2]; - if ($0) { - continue; - } - break; - } - HEAP32[$6 >> 2] = 0; - break label$3; - } - $0 = HEAP32[13234]; - if ($4 >>> 0 <= $0 >>> 0) { - $2 = HEAP32[13237]; - $1 = $0 - $4 | 0; - label$45 : { - if ($1 >>> 0 >= 16) { - HEAP32[13234] = $1; - $3 = $2 + $4 | 0; - HEAP32[13237] = $3; - HEAP32[$3 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $2 >> 2] = $1; - HEAP32[$2 + 4 >> 2] = $4 | 3; - break label$45; - } - HEAP32[13237] = 0; - HEAP32[13234] = 0; - HEAP32[$2 + 4 >> 2] = $0 | 3; - $0 = $0 + $2 | 0; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; - } - $0 = $2 + 8 | 0; - break label$1; - } - $3 = HEAP32[13235]; - if ($4 >>> 0 < $3 >>> 0) { - $2 = $3 - $4 | 0; - HEAP32[13235] = $2; - $0 = HEAP32[13238]; - $1 = $4 + $0 | 0; - HEAP32[13238] = $1; - HEAP32[$1 + 4 >> 2] = $2 | 1; - HEAP32[$0 + 4 >> 2] = $4 | 3; - $0 = $0 + 8 | 0; - break label$1; - } - $0 = 0; - $9 = $4 + 47 | 0; - $1 = $9; - if (HEAP32[13350]) { - $2 = HEAP32[13352]; - } else { - HEAP32[13353] = -1; - HEAP32[13354] = -1; - HEAP32[13351] = 4096; - HEAP32[13352] = 4096; - HEAP32[13350] = $12 + 12 & -16 ^ 1431655768; - HEAP32[13355] = 0; - HEAP32[13343] = 0; - $2 = 4096; - } - $6 = $1 + $2 | 0; - $7 = 0 - $2 | 0; - $5 = $6 & $7; - if ($5 >>> 0 <= $4 >>> 0) { - break label$1; - } - $2 = HEAP32[13342]; - if ($2) { - $1 = HEAP32[13340]; - $8 = $5 + $1 | 0; - if ($2 >>> 0 < $8 >>> 0 | $1 >>> 0 >= $8 >>> 0) { - break label$1; - } - } - if (HEAPU8[53372] & 4) { - break label$6; - } - label$51 : { - label$52 : { - $2 = HEAP32[13238]; - if ($2) { - $0 = 53376; - while (1) { - $1 = HEAP32[$0 >> 2]; - if (HEAP32[$0 + 4 >> 2] + $1 >>> 0 > $2 >>> 0 ? $1 >>> 0 <= $2 >>> 0 : 0) { - break label$52; - } - $0 = HEAP32[$0 + 8 >> 2]; - if ($0) { - continue; - } - break; - } - } - $3 = sbrk(0); - if (($3 | 0) == -1) { - break label$7; - } - $6 = $5; - $0 = HEAP32[13351]; - $2 = $0 - 1 | 0; - if ($3 & $2) { - $6 = ($5 - $3 | 0) + ($2 + $3 & 0 - $0) | 0; - } - if ($6 >>> 0 > 2147483646 | $4 >>> 0 >= $6 >>> 0) { - break label$7; - } - $0 = HEAP32[13342]; - if ($0) { - $2 = HEAP32[13340]; - $1 = $6 + $2 | 0; - if ($0 >>> 0 < $1 >>> 0 | $2 >>> 0 >= $1 >>> 0) { - break label$7; - } - } - $0 = sbrk($6); - if (($3 | 0) != ($0 | 0)) { - break label$51; - } - break label$5; - } - $6 = $6 - $3 & $7; - if ($6 >>> 0 > 2147483646) { - break label$7; - } - $3 = sbrk($6); - if (($3 | 0) == (HEAP32[$0 >> 2] + HEAP32[$0 + 4 >> 2] | 0)) { - break label$8; - } - $0 = $3; - } - if (!(($0 | 0) == -1 | $4 + 48 >>> 0 <= $6 >>> 0)) { - $2 = HEAP32[13352]; - $2 = $2 + ($9 - $6 | 0) & 0 - $2; - if ($2 >>> 0 > 2147483646) { - $3 = $0; - break label$5; - } - if ((sbrk($2) | 0) != -1) { - $6 = $2 + $6 | 0; - $3 = $0; - break label$5; - } - sbrk(0 - $6 | 0); - break label$7; - } - $3 = $0; - if (($0 | 0) != -1) { - break label$5; - } - break label$7; - } - abort(); - } - $5 = 0; - break label$2; - } - $3 = 0; - break label$3; - } - if (($3 | 0) != -1) { - break label$5; - } - } - HEAP32[13343] = HEAP32[13343] | 4; - } - if ($5 >>> 0 > 2147483646) { - break label$4; - } - $3 = sbrk($5); - $1 = ($3 | 0) == -1; - $0 = sbrk(0); - if ($1 | $3 >>> 0 >= $0 >>> 0 | ($0 | 0) == -1) { - break label$4; - } - $6 = $0 - $3 | 0; - if ($6 >>> 0 <= $4 + 40 >>> 0) { - break label$4; - } - } - $0 = HEAP32[13340] + $6 | 0; - HEAP32[13340] = $0; - if (HEAPU32[13341] < $0 >>> 0) { - HEAP32[13341] = $0; - } - label$62 : { - label$63 : { - label$64 : { - $2 = HEAP32[13238]; - if ($2) { - $0 = 53376; - while (1) { - $1 = HEAP32[$0 >> 2]; - $5 = HEAP32[$0 + 4 >> 2]; - if (($1 + $5 | 0) == ($3 | 0)) { - break label$64; - } - $0 = HEAP32[$0 + 8 >> 2]; - if ($0) { - continue; - } - break; - } - break label$63; - } - $0 = HEAP32[13236]; - if (!($0 >>> 0 <= $3 >>> 0 ? $0 : 0)) { - HEAP32[13236] = $3; - } - $0 = 0; - HEAP32[13345] = $6; - HEAP32[13344] = $3; - HEAP32[13240] = -1; - HEAP32[13241] = HEAP32[13350]; - HEAP32[13347] = 0; - while (1) { - $2 = $0 << 3; - $1 = $2 + 52968 | 0; - HEAP32[$2 + 52976 >> 2] = $1; - HEAP32[$2 + 52980 >> 2] = $1; - $0 = $0 + 1 | 0; - if (($0 | 0) != 32) { - continue; - } - break; - } - $0 = $6 - 40 | 0; - $2 = $3 + 8 & 7 ? -8 - $3 & 7 : 0; - $1 = $0 - $2 | 0; - HEAP32[13235] = $1; - $2 = $2 + $3 | 0; - HEAP32[13238] = $2; - HEAP32[$2 + 4 >> 2] = $1 | 1; - HEAP32[($0 + $3 | 0) + 4 >> 2] = 40; - HEAP32[13239] = HEAP32[13354]; - break label$62; - } - if (HEAP32[$0 + 12 >> 2] & 8 | ($2 >>> 0 < $1 >>> 0 | $2 >>> 0 >= $3 >>> 0)) { - break label$63; - } - HEAP32[$0 + 4 >> 2] = $5 + $6; - $0 = $2 + 8 & 7 ? -8 - $2 & 7 : 0; - $1 = $2 + $0 | 0; - HEAP32[13238] = $1; - $3 = HEAP32[13235] + $6 | 0; - $0 = $3 - $0 | 0; - HEAP32[13235] = $0; - HEAP32[$1 + 4 >> 2] = $0 | 1; - HEAP32[($2 + $3 | 0) + 4 >> 2] = 40; - HEAP32[13239] = HEAP32[13354]; - break label$62; - } - $5 = HEAP32[13236]; - if ($5 >>> 0 > $3 >>> 0) { - HEAP32[13236] = $3; - } - $1 = $3 + $6 | 0; - $0 = 53376; - label$70 : { - label$71 : { - label$72 : { - label$73 : { - label$74 : { - label$75 : { - while (1) { - if (HEAP32[$0 >> 2] != ($1 | 0)) { - $0 = HEAP32[$0 + 8 >> 2]; - if ($0) { - continue; - } - break label$75; - } - break; - } - if (!(HEAPU8[$0 + 12 | 0] & 8)) { - break label$74; - } - } - $0 = 53376; - while (1) { - $1 = HEAP32[$0 >> 2]; - if ($1 >>> 0 <= $2 >>> 0) { - $1 = HEAP32[$0 + 4 >> 2] + $1 | 0; - if ($1 >>> 0 > $2 >>> 0) { - break label$73; - } - } - $0 = HEAP32[$0 + 8 >> 2]; - continue; - } - } - HEAP32[$0 >> 2] = $3; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] + $6; - $7 = ($3 + 8 & 7 ? -8 - $3 & 7 : 0) + $3 | 0; - HEAP32[$7 + 4 >> 2] = $4 | 3; - $6 = ($1 + 8 & 7 ? -8 - $1 & 7 : 0) + $1 | 0; - $1 = ($6 - $7 | 0) - $4 | 0; - $4 = $4 + $7 | 0; - if (($2 | 0) == ($6 | 0)) { - HEAP32[13238] = $4; - $0 = HEAP32[13235] + $1 | 0; - HEAP32[13235] = $0; - HEAP32[$4 + 4 >> 2] = $0 | 1; - break label$71; - } - if (HEAP32[13237] == ($6 | 0)) { - HEAP32[13237] = $4; - $0 = HEAP32[13234] + $1 | 0; - HEAP32[13234] = $0; - HEAP32[$4 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $4 >> 2] = $0; - break label$71; - } - $0 = HEAP32[$6 + 4 >> 2]; - if (($0 & 3) == 1) { - $9 = $0 & -8; - label$83 : { - if ($0 >>> 0 <= 255) { - $8 = $0 >>> 3 | 0; - $0 = ($8 << 3) + 52968 | 0; - $3 = HEAP32[$6 + 8 >> 2]; - $2 = HEAP32[$6 + 12 >> 2]; - if (($3 | 0) == ($2 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $8); - break label$83; - } - HEAP32[$3 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $3; - break label$83; - } - $8 = HEAP32[$6 + 24 >> 2]; - $3 = HEAP32[$6 + 12 >> 2]; - label$86 : { - if (($6 | 0) != ($3 | 0)) { - $0 = HEAP32[$6 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $0; - break label$86; - } - label$89 : { - $0 = $6 + 20 | 0; - $2 = HEAP32[$0 >> 2]; - if ($2) { - break label$89; - } - $0 = $6 + 16 | 0; - $2 = HEAP32[$0 >> 2]; - if ($2) { - break label$89; - } - $3 = 0; - break label$86; - } - while (1) { - $5 = $0; - $3 = $2; - $0 = $2 + 20 | 0; - $2 = HEAP32[$0 >> 2]; - if ($2) { - continue; - } - $0 = $3 + 16 | 0; - $2 = HEAP32[$3 + 16 >> 2]; - if ($2) { - continue; - } - break; - } - HEAP32[$5 >> 2] = 0; - } - if (!$8) { - break label$83; - } - $2 = HEAP32[$6 + 28 >> 2]; - $0 = ($2 << 2) + 53232 | 0; - label$91 : { - if (HEAP32[$0 >> 2] == ($6 | 0)) { - HEAP32[$0 >> 2] = $3; - if ($3) { - break label$91; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $2); - break label$83; - } - HEAP32[(HEAP32[$8 + 16 >> 2] == ($6 | 0) ? 16 : 20) + $8 >> 2] = $3; - if (!$3) { - break label$83; - } - } - HEAP32[$3 + 24 >> 2] = $8; - $0 = HEAP32[$6 + 16 >> 2]; - if ($0) { - HEAP32[$3 + 16 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - $0 = HEAP32[$6 + 20 >> 2]; - if (!$0) { - break label$83; - } - HEAP32[$3 + 20 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - $6 = $6 + $9 | 0; - $1 = $1 + $9 | 0; - } - HEAP32[$6 + 4 >> 2] = HEAP32[$6 + 4 >> 2] & -2; - HEAP32[$4 + 4 >> 2] = $1 | 1; - HEAP32[$1 + $4 >> 2] = $1; - if ($1 >>> 0 <= 255) { - $2 = $1 >>> 3 | 0; - $0 = ($2 << 3) + 52968 | 0; - $2 = 1 << $2; - $1 = HEAP32[13232]; - label$95 : { - if (!($2 & $1)) { - HEAP32[13232] = $2 | $1; - $2 = $0; - break label$95; - } - $2 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $4; - HEAP32[$2 + 12 >> 2] = $4; - HEAP32[$4 + 12 >> 2] = $0; - HEAP32[$4 + 8 >> 2] = $2; - break label$71; - } - $0 = 31; - if ($1 >>> 0 <= 16777215) { - $0 = $1 >>> 8 | 0; - $3 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $2 = $3 << $0; - $3 = $2; - $2 = $2 + 520192 >>> 16 & 4; - $3 = $3 << $2; - $5 = $3; - $3 = $3 + 245760 >>> 16 & 2; - $0 = ($5 << $3 >>> 15 | 0) - ($0 | $2 | $3) | 0; - $0 = ($0 << 1 | $1 >>> $0 + 21 & 1) + 28 | 0; - } - HEAP32[$4 + 28 >> 2] = $0; - HEAP32[$4 + 16 >> 2] = 0; - HEAP32[$4 + 20 >> 2] = 0; - $2 = ($0 << 2) + 53232 | 0; - $3 = HEAP32[13233]; - $5 = 1 << $0; - label$98 : { - if (!($3 & $5)) { - HEAP32[13233] = $3 | $5; - HEAP32[$2 >> 2] = $4; - break label$98; - } - $0 = $1 << (($0 | 0) == 31 ? 0 : 25 - ($0 >>> 1 | 0) | 0); - $3 = HEAP32[$2 >> 2]; - while (1) { - $2 = $3; - if ((HEAP32[$2 + 4 >> 2] & -8) == ($1 | 0)) { - break label$72; - } - $3 = $0 >>> 29 | 0; - $0 = $0 << 1; - $6 = ($3 & 4) + $2 | 0; - $5 = $6 + 16 | 0; - $3 = HEAP32[$5 >> 2]; - if ($3) { - continue; - } - break; - } - HEAP32[$6 + 16 >> 2] = $4; - } - HEAP32[$4 + 24 >> 2] = $2; - HEAP32[$4 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $4; - break label$71; - } - $0 = $6 - 40 | 0; - $5 = $3 + 8 & 7 ? -8 - $3 & 7 : 0; - $7 = $0 - $5 | 0; - HEAP32[13235] = $7; - $5 = $3 + $5 | 0; - HEAP32[13238] = $5; - HEAP32[$5 + 4 >> 2] = $7 | 1; - HEAP32[($0 + $3 | 0) + 4 >> 2] = 40; - HEAP32[13239] = HEAP32[13354]; - $0 = (($1 - 39 & 7 ? 39 - $1 & 7 : 0) + $1 | 0) - 47 | 0; - $5 = $2 + 16 >>> 0 > $0 >>> 0 ? $2 : $0; - HEAP32[$5 + 4 >> 2] = 27; - $0 = HEAP32[13347]; - $7 = HEAP32[13346]; - HEAP32[$5 + 16 >> 2] = $7; - HEAP32[$5 + 20 >> 2] = $0; - $7 = HEAP32[13345]; - $0 = HEAP32[13344]; - HEAP32[$5 + 8 >> 2] = $0; - HEAP32[$5 + 12 >> 2] = $7; - HEAP32[13346] = $5 + 8; - HEAP32[13345] = $6; - HEAP32[13344] = $3; - HEAP32[13347] = 0; - $0 = $5 + 24 | 0; - while (1) { - HEAP32[$0 + 4 >> 2] = 7; - $3 = $0 + 8 | 0; - $0 = $0 + 4 | 0; - if ($1 >>> 0 > $3 >>> 0) { - continue; - } - break; - } - if (($2 | 0) == ($5 | 0)) { - break label$62; - } - HEAP32[$5 + 4 >> 2] = HEAP32[$5 + 4 >> 2] & -2; - $6 = $5 - $2 | 0; - HEAP32[$2 + 4 >> 2] = $6 | 1; - HEAP32[$5 >> 2] = $6; - if ($6 >>> 0 <= 255) { - $1 = $6 >>> 3 | 0; - $0 = ($1 << 3) + 52968 | 0; - $1 = 1 << $1; - $3 = HEAP32[13232]; - label$103 : { - if (!($1 & $3)) { - HEAP32[13232] = $1 | $3; - $1 = $0; - break label$103; - } - $1 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $2; - HEAP32[$1 + 12 >> 2] = $2; - HEAP32[$2 + 12 >> 2] = $0; - HEAP32[$2 + 8 >> 2] = $1; - break label$62; - } - $0 = 31; - HEAP32[$2 + 16 >> 2] = 0; - HEAP32[$2 + 20 >> 2] = 0; - if ($6 >>> 0 <= 16777215) { - $0 = $6 >>> 8 | 0; - $1 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $1 = $1 << $0; - $3 = $1; - $1 = $1 + 520192 >>> 16 & 4; - $3 = $3 << $1; - $5 = $3; - $3 = $3 + 245760 >>> 16 & 2; - $0 = ($5 << $3 >>> 15 | 0) - ($0 | $1 | $3) | 0; - $0 = ($0 << 1 | $6 >>> $0 + 21 & 1) + 28 | 0; - } - HEAP32[$2 + 28 >> 2] = $0; - $1 = ($0 << 2) + 53232 | 0; - $3 = HEAP32[13233]; - $5 = 1 << $0; - label$106 : { - if (!($3 & $5)) { - HEAP32[13233] = $3 | $5; - HEAP32[$1 >> 2] = $2; - break label$106; - } - $0 = $6 << (($0 | 0) == 31 ? 0 : 25 - ($0 >>> 1 | 0) | 0); - $3 = HEAP32[$1 >> 2]; - while (1) { - $1 = $3; - if ((HEAP32[$1 + 4 >> 2] & -8) == ($6 | 0)) { - break label$70; - } - $3 = $0 >>> 29 | 0; - $0 = $0 << 1; - $7 = ($3 & 4) + $1 | 0; - $5 = $7 + 16 | 0; - $3 = HEAP32[$5 >> 2]; - if ($3) { - continue; - } - break; - } - HEAP32[$7 + 16 >> 2] = $2; - } - HEAP32[$2 + 24 >> 2] = $1; - HEAP32[$2 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $2; - break label$62; - } - $0 = HEAP32[$2 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $4; - HEAP32[$2 + 8 >> 2] = $4; - HEAP32[$4 + 24 >> 2] = 0; - HEAP32[$4 + 12 >> 2] = $2; - HEAP32[$4 + 8 >> 2] = $0; - } - $0 = $7 + 8 | 0; - break label$1; - } - $0 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $2; - HEAP32[$1 + 8 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = 0; - HEAP32[$2 + 12 >> 2] = $1; - HEAP32[$2 + 8 >> 2] = $0; - } - $0 = HEAP32[13235]; - if ($4 >>> 0 >= $0 >>> 0) { - break label$4; - } - $2 = $0 - $4 | 0; - HEAP32[13235] = $2; - $0 = HEAP32[13238]; - $1 = $4 + $0 | 0; - HEAP32[13238] = $1; - HEAP32[$1 + 4 >> 2] = $2 | 1; - HEAP32[$0 + 4 >> 2] = $4 | 3; - $0 = $0 + 8 | 0; - break label$1; - } - HEAP32[__errno_location() >> 2] = 48; - $0 = 0; - break label$1; - } - label$109 : { - if (!$8) { - break label$109; - } - $1 = HEAP32[$5 + 28 >> 2]; - $0 = ($1 << 2) + 53232 | 0; - label$110 : { - if (HEAP32[$0 >> 2] == ($5 | 0)) { - HEAP32[$0 >> 2] = $3; - if ($3) { - break label$110; - } - $9 = __wasm_rotl_i32(-2, $1) & $9; - HEAP32[13233] = $9; - break label$109; - } - HEAP32[(HEAP32[$8 + 16 >> 2] == ($5 | 0) ? 16 : 20) + $8 >> 2] = $3; - if (!$3) { - break label$109; - } - } - HEAP32[$3 + 24 >> 2] = $8; - $0 = HEAP32[$5 + 16 >> 2]; - if ($0) { - HEAP32[$3 + 16 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - $0 = HEAP32[$5 + 20 >> 2]; - if (!$0) { - break label$109; - } - HEAP32[$3 + 20 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $3; - } - label$113 : { - if ($2 >>> 0 <= 15) { - $0 = $2 + $4 | 0; - HEAP32[$5 + 4 >> 2] = $0 | 3; - $0 = $0 + $5 | 0; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; - break label$113; - } - HEAP32[$5 + 4 >> 2] = $4 | 3; - HEAP32[$7 + 4 >> 2] = $2 | 1; - HEAP32[$2 + $7 >> 2] = $2; - if ($2 >>> 0 <= 255) { - $2 = $2 >>> 3 | 0; - $0 = ($2 << 3) + 52968 | 0; - $2 = 1 << $2; - $1 = HEAP32[13232]; - label$116 : { - if (!($2 & $1)) { - HEAP32[13232] = $2 | $1; - $2 = $0; - break label$116; - } - $2 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $7; - HEAP32[$2 + 12 >> 2] = $7; - HEAP32[$7 + 12 >> 2] = $0; - HEAP32[$7 + 8 >> 2] = $2; - break label$113; - } - $0 = 31; - if ($2 >>> 0 <= 16777215) { - $0 = $2 >>> 8 | 0; - $1 = $0; - $0 = $0 + 1048320 >>> 16 & 8; - $1 = $1 << $0; - $3 = $1; - $1 = $1 + 520192 >>> 16 & 4; - $4 = $3 << $1; - $3 = $4; - $4 = $4 + 245760 >>> 16 & 2; - $0 = ($3 << $4 >>> 15 | 0) - ($0 | $1 | $4) | 0; - $0 = ($0 << 1 | $2 >>> $0 + 21 & 1) + 28 | 0; - } - HEAP32[$7 + 28 >> 2] = $0; - HEAP32[$7 + 16 >> 2] = 0; - HEAP32[$7 + 20 >> 2] = 0; - $1 = ($0 << 2) + 53232 | 0; - label$119 : { - $4 = 1 << $0; - label$120 : { - if (!($9 & $4)) { - HEAP32[13233] = $4 | $9; - HEAP32[$1 >> 2] = $7; - break label$120; - } - $0 = $2 << (($0 | 0) == 31 ? 0 : 25 - ($0 >>> 1 | 0) | 0); - $4 = HEAP32[$1 >> 2]; - while (1) { - $1 = $4; - if ((HEAP32[$1 + 4 >> 2] & -8) == ($2 | 0)) { - break label$119; - } - $4 = $0 >>> 29 | 0; - $0 = $0 << 1; - $6 = ($4 & 4) + $1 | 0; - $3 = $6 + 16 | 0; - $4 = HEAP32[$3 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$6 + 16 >> 2] = $7; - } - HEAP32[$7 + 24 >> 2] = $1; - HEAP32[$7 + 12 >> 2] = $7; - HEAP32[$7 + 8 >> 2] = $7; - break label$113; - } - $0 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $7; - HEAP32[$1 + 8 >> 2] = $7; - HEAP32[$7 + 24 >> 2] = 0; - HEAP32[$7 + 12 >> 2] = $1; - HEAP32[$7 + 8 >> 2] = $0; - } - $0 = $5 + 8 | 0; - break label$1; - } - label$123 : { - if (!$11) { - break label$123; - } - $1 = HEAP32[$3 + 28 >> 2]; - $0 = ($1 << 2) + 53232 | 0; - label$124 : { - if (HEAP32[$0 >> 2] == ($3 | 0)) { - HEAP32[$0 >> 2] = $5; - if ($5) { - break label$124; - } - HEAP32[13233] = __wasm_rotl_i32(-2, $1) & $8; - break label$123; - } - HEAP32[(HEAP32[$11 + 16 >> 2] == ($3 | 0) ? 16 : 20) + $11 >> 2] = $5; - if (!$5) { - break label$123; - } - } - HEAP32[$5 + 24 >> 2] = $11; - $0 = HEAP32[$3 + 16 >> 2]; - if ($0) { - HEAP32[$5 + 16 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $5; - } - $0 = HEAP32[$3 + 20 >> 2]; - if (!$0) { - break label$123; - } - HEAP32[$5 + 20 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = $5; - } - label$127 : { - if ($2 >>> 0 <= 15) { - $0 = $2 + $4 | 0; - HEAP32[$3 + 4 >> 2] = $0 | 3; - $0 = $0 + $3 | 0; - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] | 1; - break label$127; - } - HEAP32[$3 + 4 >> 2] = $4 | 3; - HEAP32[$10 + 4 >> 2] = $2 | 1; - HEAP32[$2 + $10 >> 2] = $2; - if ($9) { - $4 = $9 >>> 3 | 0; - $1 = ($4 << 3) + 52968 | 0; - $0 = HEAP32[13237]; - $4 = 1 << $4; - label$130 : { - if (!($6 & $4)) { - HEAP32[13232] = $4 | $6; - $4 = $1; - break label$130; - } - $4 = HEAP32[$1 + 8 >> 2]; - } - HEAP32[$1 + 8 >> 2] = $0; - HEAP32[$4 + 12 >> 2] = $0; - HEAP32[$0 + 12 >> 2] = $1; - HEAP32[$0 + 8 >> 2] = $4; - } - HEAP32[13237] = $10; - HEAP32[13234] = $2; - } - $0 = $3 + 8 | 0; - } - __stack_pointer = $12 + 16 | 0; - return $0 | 0; -} -function silk_pitch_analysis_core_FLP($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = Math_fround(0), $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = Math_fround(0), $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = Math_fround(0), $33 = 0, $34 = 0, $35 = 0, $36 = Math_fround(0), $37 = 0, $38 = Math_fround(0), $39 = 0, $40 = Math_fround(0), $41 = Math_fround(0), $42 = Math_fround(0), $43 = 0; - $15 = __stack_pointer - 11552 | 0; - __stack_pointer = $15; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - if (!(!(1 << $8 & 69888) | $8 >>> 0 > 16)) { - if (($9 | 0) <= -1) { - break label$8; - } - if (($9 | 0) >= 3) { - break label$7; - } - $16 = Math_imul($10, 5); - $17 = $16 + 20 | 0; - $19 = $17 << 3; - $20 = Math_imul($8, $17); - label$10 : { - if (($8 | 0) == 16) { - if (($20 | 0) >= 1) { - $12 = $20; - while (1) { - $13 = $12 - 1 | 0; - $22 = ($15 + 2720 | 0) + ($13 << 1) | 0; - $14 = lrintf(HEAPF32[($13 << 2) + $0 >> 2]); - $14 = ($14 | 0) > -32768 ? $14 : -32768; - HEAP16[$22 >> 1] = ($14 | 0) < 32767 ? $14 : 32767; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - HEAP32[$15 + 8544 >> 2] = 0; - HEAP32[$15 + 8548 >> 2] = 0; - silk_resampler_down2($15 + 8544 | 0, $15 + 8896 | 0, $15 + 2720 | 0, $20); - if (($16 | 0) < -19) { - break label$10; - } - $12 = $19; - while (1) { - $13 = $12 - 1 | 0; - HEAPF32[($15 + 10176 | 0) + ($13 << 2) >> 2] = HEAP16[($15 + 8896 | 0) + ($13 << 1) >> 1]; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - break label$10; - } - if (($8 | 0) == 12) { - if (($20 | 0) >= 1) { - $12 = $20; - while (1) { - $13 = $12 - 1 | 0; - $22 = ($15 + 2720 | 0) + ($13 << 1) | 0; - $14 = lrintf(HEAPF32[($13 << 2) + $0 >> 2]); - $14 = ($14 | 0) > -32768 ? $14 : -32768; - HEAP16[$22 >> 1] = ($14 | 0) < 32767 ? $14 : 32767; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - $22 = $15 + 8560 | 0; - HEAP32[$22 >> 2] = 0; - HEAP32[$22 + 4 >> 2] = 0; - HEAP32[$15 + 8552 >> 2] = 0; - HEAP32[$15 + 8556 >> 2] = 0; - HEAP32[$15 + 8544 >> 2] = 0; - HEAP32[$15 + 8548 >> 2] = 0; - silk_resampler_down2_3($15 + 8544 | 0, $15 + 8896 | 0, $15 + 2720 | 0, $20); - if (($16 | 0) < -19) { - break label$10; - } - $12 = $19; - while (1) { - $13 = $12 - 1 | 0; - HEAPF32[($15 + 10176 | 0) + ($13 << 2) >> 2] = HEAP16[($15 + 8896 | 0) + ($13 << 1) >> 1]; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - break label$10; - } - if (($8 | 0) != 8) { - break label$6; - } - if (($16 | 0) < -19) { - break label$10; - } - $12 = $19; - while (1) { - $13 = $12 - 1 | 0; - $22 = ($15 + 8896 | 0) + ($13 << 1) | 0; - $14 = lrintf(HEAPF32[($13 << 2) + $0 >> 2]); - $14 = ($14 | 0) > -32768 ? $14 : -32768; - HEAP16[$22 >> 1] = ($14 | 0) < 32767 ? $14 : 32767; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - $17 = $17 << 2; - HEAP32[$15 + 8544 >> 2] = 0; - HEAP32[$15 + 8548 >> 2] = 0; - silk_resampler_down2($15 + 8544 | 0, $15 + 8576 | 0, $15 + 8896 | 0, $19); - label$20 : { - if (($16 | 0) < -19) { - break label$20; - } - $12 = $17; - while (1) { - $13 = $12 - 1 | 0; - HEAPF32[($15 + 9536 | 0) + ($13 << 2) >> 2] = HEAP16[($15 + 8576 | 0) + ($13 << 1) >> 1]; - $14 = ($12 | 0) > 1; - $12 = $13; - if ($14) { - continue; - } - break; - } - if (($16 | 0) < -19) { - break label$20; - } - $12 = $17; - while (1) { - $25 = HEAPF32[(($12 << 2) + $15 | 0) + 9528 >> 2]; - $13 = $12 - 1 | 0; - $14 = ($15 + 9536 | 0) + ($13 << 2) | 0; - $18 = HEAPF32[$14 >> 2]; - label$23 : { - if (Math_fround(Math_abs($18)) < Math_fround(2147483648)) { - $16 = ~~$18; - break label$23; - } - $16 = -2147483648; - } - $25 = Math_fround($25 + Math_fround($16 | 0)); - $18 = Math_fround(32767); - label$26 : { - if ($25 > Math_fround(32767)) { - break label$26; - } - $18 = Math_fround(-32768); - if ($25 < Math_fround(-32768)) { - break label$26; - } - $18 = $25; - } - label$25 : { - if (Math_fround(Math_abs($18)) < Math_fround(2147483648)) { - $16 = ~~$18; - break label$25; - } - $16 = -2147483648; - } - HEAPF32[$14 >> 2] = $16 | 0; - $14 = ($12 | 0) > 2; - $12 = $13; - if ($14) { - continue; - } - break; - } - } - $16 = 0; - memset($15 + 6160 | 0, 0, Math_imul($10, 596)); - if (($10 | 0) >= 2) { - $12 = $10 >> 1; - $19 = ($12 | 0) > 1 ? $12 : 1; - $17 = ($15 + 9536 | 0) + ($17 << 2) | 0; - $12 = $15 + 9856 | 0; - while (1) { - $20 = $12 + 160 | 0; - if ($20 >>> 0 > $17 >>> 0) { - break label$5; - } - $13 = $12 - 32 | 0; - if ($13 >>> 0 < $15 + 9536 >>> 0) { - break label$4; - } - if ($12 + 128 >>> 0 > $17 >>> 0) { - break label$3; - } - celt_pitch_xcorr_c($12, $12 - 288 | 0, $15 + 5888 | 0, 40, 65, $11); - $18 = HEAPF32[$15 + 6144 >> 2]; - $21 = silk_energy_FLP($12, 40); - $23 = silk_energy_FLP($13, 40); - $34 = +$18; - $21 = $21 + $23 + 16e4; - HEAPF32[$15 + 6192 >> 2] = HEAPF32[$15 + 6192 >> 2] + Math_fround(($34 + $34) / $21); - $12 = 9; - while (1) { - $14 = ($15 + 6160 | 0) + ($12 << 2) | 0; - $22 = $14; - $18 = HEAPF32[$14 >> 2]; - $23 = +HEAPF32[((0 - $12 << 2) + $15 | 0) + 6176 >> 2]; - $34 = $23 + $23; - $14 = $13 - 4 | 0; - $23 = +HEAPF32[$14 >> 2]; - $39 = $23 * $23; - $23 = +HEAPF32[$13 + 156 >> 2]; - $21 = $21 + ($39 - $23 * $23); - HEAPF32[$22 >> 2] = $18 + Math_fround($34 / $21); - $13 = $14; - $12 = $12 + 1 | 0; - if (($12 | 0) != 73) { - continue; - } - break; - } - $12 = $20; - $16 = $16 + 1 | 0; - if (($19 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - $27 = $8 << 1; - $35 = Math_imul($8, 5); - $30 = Math_imul($8, 18); - $31 = $30 - 1 | 0; - $14 = $10 << 2; - $12 = 72; - while (1) { - $13 = ($15 + 6160 | 0) + ($12 << 2) | 0; - $18 = HEAPF32[$13 >> 2]; - HEAPF32[$13 >> 2] = $18 + Math_fround(Math_fround($18 * Math_fround($12 | 0)) * Math_fround(-.000244140625)); - $13 = $12 >>> 0 > 8; - $12 = $12 - 1 | 0; - if ($13) { - continue; - } - break; - } - $13 = ($9 << 1) + 4 | 0; - silk_insertion_sort_decreasing_FLP($15 + 6192 | 0, $15 + 5744 | 0, 65, $13); - label$32 : { - $18 = HEAPF32[$15 + 6192 >> 2]; - label$33 : { - if (!($18 < Math_fround(.20000000298023224) ^ 1)) { - memset($1, 0, $14); - break label$33; - } - label$35 : { - if (($9 | 0) < -1) { - break label$35; - } - $18 = Math_fround($18 * $6); - $16 = ($13 | 0) > 1 ? $13 : 1; - $12 = 0; - while (1) { - $14 = $12 << 2; - if (HEAPF32[($14 + $15 | 0) + 6192 >> 2] > $18 ^ 1) { - $13 = $12; - break label$35; - } - $14 = ($15 + 5744 | 0) + $14 | 0; - HEAP32[$14 >> 2] = (HEAP32[$14 >> 2] << 1) + 16; - $12 = $12 + 1 | 0; - if (($16 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $12 = 0; - if (($13 | 0) <= 0) { - break label$2; - } - memset($15 + 5462 | 0, 0, 274); - while (1) { - HEAP16[($15 + 5440 | 0) + (HEAP32[($15 + 5744 | 0) + ($12 << 2) >> 2] << 1) >> 1] = 1; - $12 = $12 + 1 | 0; - if (($13 | 0) != ($12 | 0)) { - continue; - } - break; - } - $12 = 146; - $14 = HEAPU16[$15 + 5730 >> 1]; - while (1) { - $13 = ($15 + 5440 | 0) + ($12 << 1) | 0; - $16 = HEAPU16[$13 - 4 >> 1]; - HEAP16[$13 >> 1] = HEAPU16[$13 >> 1] + ($14 + $16 | 0); - $13 = 16; - $17 = $12 >>> 0 > 16; - $14 = $16; - $12 = $12 - 1 | 0; - if ($17) { - continue; - } - break; - } - while (1) { - $12 = $13 + 1 | 0; - if (HEAP16[($15 + 5440 | 0) + ($12 << 1) >> 1] >= 1) { - HEAP32[($15 + 5744 | 0) + ($28 << 2) >> 2] = $13; - $28 = $28 + 1 | 0; - } - $13 = $12; - if (($12 | 0) != 144) { - continue; - } - break; - } - $13 = 146; - $14 = HEAPU16[$15 + 5728 >> 1]; - $16 = HEAPU16[$15 + 5730 >> 1]; - while (1) { - $17 = $14; - $22 = $14 + $16 | 0; - $12 = ($15 + 5440 | 0) + ($13 << 1) | 0; - $14 = HEAPU16[$12 - 6 >> 1]; - HEAP16[$12 >> 1] = HEAPU16[$12 >> 1] + ($14 + $22 | 0); - $12 = 16; - $20 = $13 >>> 0 > 16; - $16 = $17; - $13 = $13 - 1 | 0; - if ($20) { - continue; - } - break; - } - $17 = 0; - while (1) { - if (HEAP16[($15 + 5440 | 0) + ($12 << 1) >> 1] >= 1) { - HEAP16[($15 + 5440 | 0) + ($17 << 1) >> 1] = $12 - 2; - $17 = $17 + 1 | 0; - } - $12 = $12 + 1 | 0; - if (($12 | 0) != 147) { - continue; - } - break; - } - $20 = 0; - memset($15 + 6160 | 0, 0, 2384); - if (($10 | 0) >= 1) { - $13 = ($8 | 0) == 8 ? $0 + 640 | 0 : $15 + 10816 | 0; - $19 = ($17 | 0) < 1; - while (1) { - $21 = silk_energy_FLP($13, 40); - if (!$19) { - $23 = $21 + 1; - $12 = 0; - while (1) { - $18 = Math_fround(0); - $14 = HEAP16[($15 + 5440 | 0) + ($12 << 1) >> 1] << 2; - $16 = $13 - $14 | 0; - $21 = silk_inner_product_FLP($16, $13, 40); - if (!($21 > 0 ^ 1)) { - $18 = Math_fround(($21 + $21) / ($23 + silk_energy_FLP($16, 40))); - } - HEAPF32[(($15 + 6160 | 0) + Math_imul($20, 596) | 0) + $14 >> 2] = $18; - $12 = $12 + 1 | 0; - if (($17 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $13 = $13 + 160 | 0; - $20 = $20 + 1 | 0; - if (($20 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - if (($5 | 0) < 1) { - $6 = Math_fround(0); - } else { - $5 = ($8 | 0) == 12 ? ($5 << 1) / 3 | 0 : $5 >>> (($8 | 0) == 16) | 0; - $6 = Math_fround(log10(+Math_fround($5 | 0)) * 3.32192809488736); - } - $40 = $6; - if (($28 | 0) >= 1) { - $12 = ($10 | 0) == 4; - $20 = $12 ? ($8 | 0) == 8 ? ($9 | 0) > 0 ? 11 : 3 : 3 : 3; - $16 = $12 ? 10048 : 10007; - $17 = $12 ? 11 : 3; - $36 = Math_fround($10 | 0); - $41 = Math_fround($36 * $7); - $38 = Math_fround($36 * Math_fround(.20000000298023224)); - $24 = -1; - $7 = Math_fround(-1e3); - $6 = Math_fround(0); - $29 = ($10 | 0) < 1; - $37 = ($5 | 0) < 1; - $5 = 0; - while (1) { - $14 = HEAP32[($15 + 5744 | 0) + ($26 << 2) >> 2]; - $13 = 0; - while (1) { - $19 = ($15 + 5840 | 0) + ($13 << 2) | 0; - HEAP32[$19 >> 2] = 0; - $18 = Math_fround(0); - $12 = 0; - if (!$29) { - while (1) { - $18 = Math_fround(HEAPF32[(($15 + 6160 | 0) + Math_imul($12, 596) | 0) + (HEAP8[(Math_imul($12, $17) + $13 | 0) + $16 | 0] + $14 << 2) >> 2] + $18); - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - HEAPF32[$19 >> 2] = $18; - } - $13 = $13 + 1 | 0; - if (($20 | 0) != ($13 | 0)) { - continue; - } - break; - } - $18 = Math_fround(-1e3); - $12 = 0; - $13 = 0; - while (1) { - $25 = HEAPF32[($15 + 5840 | 0) + ($12 << 2) >> 2]; - $19 = $25 > $18; - $18 = $19 ? $25 : $18; - $13 = $19 ? $12 : $13; - $12 = $12 + 1 | 0; - if (($20 | 0) != ($12 | 0)) { - continue; - } - break; - } - $32 = Math_fround(log10(+Math_fround($14 | 0)) * 3.32192809488736); - $25 = Math_fround($18 - Math_fround($38 * $32)); - $42 = $18; - if (!$37) { - $32 = Math_fround($32 - $40); - $32 = Math_fround($32 * $32); - $25 = Math_fround($25 - Math_fround(Math_fround($32 * Math_fround($38 * HEAPF32[$4 >> 2])) / Math_fround($32 + Math_fround(.5)))); - } - $12 = $7 < $25 & $18 > $41; - $6 = $12 ? $42 : $6; - $7 = $12 ? $25 : $7; - $24 = $12 ? $14 : $24; - $5 = $12 ? $13 : $5; - $26 = $26 + 1 | 0; - if (($26 | 0) != ($28 | 0)) { - continue; - } - break; - } - if (($24 | 0) != -1) { - break label$32; - } - } - $22 = $1; - HEAP32[$22 >> 2] = 0; - HEAP32[$22 + 4 >> 2] = 0; - HEAP32[$22 + 8 >> 2] = 0; - HEAP32[$22 + 12 >> 2] = 0; - } - HEAP32[$4 >> 2] = 0; - HEAP16[$2 >> 1] = 0; - HEAP8[$3 | 0] = 0; - $12 = 1; - break label$1; - } - HEAPF32[$4 >> 2] = $6 / $36; - $43 = $2; - label$62 : { - if (($8 | 0) <= 8) { - $12 = 0; - if (($10 | 0) > 0) { - while (1) { - $13 = HEAP8[(Math_imul($12, $17) + $5 | 0) + $16 | 0] + $24 | 0; - $13 = ($13 | 0) > 16 ? $13 : 16; - HEAP32[($12 << 2) + $1 >> 2] = ($13 | 0) < 144 ? $13 : 144; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $12 = $24 - 16 | 0; - break label$62; - } - label$66 : { - if (($8 | 0) == 12) { - $12 = Math_imul($24 << 16 >> 16, 3); - $12 = ($12 >> 1) + ($12 & 1) | 0; - break label$66; - } - $12 = $24 << 1; - } - label$68 : { - if (($27 | 0) >= ($30 | 0)) { - $26 = $27; - if (($12 | 0) > ($27 | 0)) { - break label$68; - } - $26 = ($12 | 0) < ($31 | 0) ? $31 : $12; - break label$68; - } - $26 = $31; - if (($12 | 0) >= ($30 | 0)) { - break label$68; - } - $26 = ($12 | 0) < ($27 | 0) ? $27 : $12; - } - $29 = 10016; - $24 = 10040; - $17 = 12; - $4 = 12; - label$70 : { - switch ($10 - 2 | 0) { - default: - celt_fatal(10770, 10329, 518); - abort(); - case 2: - $24 = ($9 << 3) + 10240 | 0; - $17 = HEAP8[$9 + 10264 | 0]; - $29 = 10096; - $4 = 34; - break; - case 0: - break label$70; - } - } - $12 = $26 + 2 | 0; - $31 = ($12 | 0) < ($31 | 0) ? $12 : $31; - $12 = $26 - 2 | 0; - $28 = ($12 | 0) > ($27 | 0) ? $12 : $27; - $37 = 0 - $28 << 2; - $8 = Math_imul($8, 80) + $0 | 0; - $5 = $8; - $16 = 0; - while (1) { - $12 = $16 << 1; - $14 = HEAP8[($12 | 1) + $24 | 0]; - $19 = HEAP8[$12 + $24 | 0]; - $12 = 1 - $19 | 0; - celt_pitch_xcorr_c($5, ($5 + $37 | 0) - ($14 << 2) | 0, $15 + 2720 | 0, $35, $14 + $12 | 0, $11); - $13 = ($14 | 0) < ($19 | 0); - if (!$13) { - $20 = ($13 ? $19 : $14) + $12 | 0; - $12 = 0; - $13 = $19; - while (1) { - HEAP32[($15 + 11456 | 0) + ($12 << 2) >> 2] = HEAP32[($15 + 2720 | 0) + ($14 - $13 << 2) >> 2]; - $13 = $13 + 1 | 0; - $12 = $12 + 1 | 0; - if (($20 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - if (($17 | 0) >= 1) { - $20 = Math_imul($4, $16); - $19 = ($15 + 11456 | 0) + (0 - $19 << 2) | 0; - $12 = 0; - while (1) { - $14 = (HEAP8[($12 + $20 | 0) + $29 | 0] << 2) + $19 | 0; - $33 = HEAP32[$14 >> 2]; - $22 = HEAP32[$14 + 4 >> 2]; - $13 = (Math_imul($16, 680) + $15 | 0) + Math_imul($12, 20) | 0; - HEAP32[$13 >> 2] = $33; - HEAP32[$13 + 4 >> 2] = $22; - HEAP32[$13 + 16 >> 2] = HEAP32[$14 + 16 >> 2]; - $33 = HEAP32[$14 + 12 >> 2]; - $22 = HEAP32[$14 + 8 >> 2]; - HEAP32[$13 + 8 >> 2] = $22; - HEAP32[$13 + 12 >> 2] = $33; - $12 = $12 + 1 | 0; - if (($17 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $5 = ($35 << 2) + $5 | 0; - $16 = $16 + 1 | 0; - if (($16 | 0) != ($10 | 0)) { - continue; - } - break; - } - $29 = 10016; - $24 = 10040; - $17 = 12; - $0 = 12; - label$78 : { - switch ($10 - 2 | 0) { - default: - celt_fatal(10770, 10329, 584); - abort(); - case 2: - $24 = ($9 << 3) + 10240 | 0; - $17 = HEAP8[$9 + 10264 | 0]; - $29 = 10096; - $0 = 34; - break; - case 0: - break label$78; - } - } - $5 = $8; - $16 = 0; - while (1) { - $12 = $16 << 1; - $19 = HEAP8[$24 + $12 | 0]; - $13 = $5 - ($28 + $19 << 2) | 0; - $21 = silk_energy_FLP($13, $35) + .001; - HEAPF32[$15 + 11456 >> 2] = $21; - $14 = HEAP8[($12 | 1) + $24 | 0]; - if (($19 | 0) < ($14 | 0)) { - $12 = 1; - $20 = ($14 - $19 | 0) + 1 | 0; - while (1) { - $23 = +HEAPF32[($35 - $12 << 2) + $13 >> 2]; - $23 = $21 - $23 * $23; - $14 = $12 << 2; - $21 = +HEAPF32[$13 - $14 >> 2]; - $21 = $23 + $21 * $21; - HEAPF32[($15 + 11456 | 0) + $14 >> 2] = $21; - $12 = $12 + 1 | 0; - if (($20 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - if (($17 | 0) >= 1) { - $20 = Math_imul($0, $16); - $19 = ($15 + 11456 | 0) + (0 - $19 << 2) | 0; - $12 = 0; - while (1) { - $14 = (HEAP8[($12 + $20 | 0) + $29 | 0] << 2) + $19 | 0; - $33 = HEAP32[$14 >> 2]; - $22 = HEAP32[$14 + 4 >> 2]; - $13 = (($15 + 2720 | 0) + Math_imul($16, 680) | 0) + Math_imul($12, 20) | 0; - HEAP32[$13 >> 2] = $33; - HEAP32[$13 + 4 >> 2] = $22; - HEAP32[$13 + 16 >> 2] = HEAP32[$14 + 16 >> 2]; - $33 = HEAP32[$14 + 12 >> 2]; - $22 = HEAP32[$14 + 8 >> 2]; - HEAP32[$13 + 8 >> 2] = $22; - HEAP32[$13 + 12 >> 2] = $33; - $12 = $12 + 1 | 0; - if (($17 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $5 = ($35 << 2) + $5 | 0; - $16 = $16 + 1 | 0; - if (($16 | 0) != ($10 | 0)) { - continue; - } - break; - } - label$86 : { - if (($10 | 0) != 4) { - $24 = 10016; - $0 = 12; - $19 = 12; - break label$86; - } - $24 = 10096; - $0 = 34; - $19 = HEAP8[$9 + 10264 | 0]; - } - $21 = silk_energy_FLP($8, Math_imul($10, $35)); - $5 = 0; - if (($28 | 0) <= ($31 | 0)) { - $7 = Math_fround(Math_fround(.05000000074505806) / Math_fround($26 | 0)); - $34 = $21 + 1; - $25 = Math_fround(-1e3); - $29 = ($10 | 0) < 1; - $20 = 0; - while (1) { - $17 = 0; - if (($19 | 0) > 0) { - while (1) { - $18 = Math_fround(0); - label$92 : { - if ($29) { - break label$92; - } - $21 = 0; - $12 = 0; - $23 = $34; - while (1) { - $16 = $20 << 2; - $14 = Math_imul($17, 20); - $13 = Math_imul($12, 680); - $23 = $23 + +HEAPF32[$16 + ($14 + ($13 + ($15 + 2720 | 0) | 0) | 0) >> 2]; - $21 = $21 + +HEAPF32[(($13 + $15 | 0) + $14 | 0) + $16 >> 2]; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - if ($21 > 0 ^ 1) { - break label$92; - } - $18 = Math_fround(Math_fround(Math_fround(1) - Math_fround($7 * Math_fround($17 | 0))) * Math_fround(($21 + $21) / $23)); - } - if (!($18 > $25 ^ 1)) { - $12 = (HEAP8[$17 + 10096 | 0] + $28 | 0) < ($30 | 0); - $26 = $12 ? $28 : $26; - $25 = $12 ? $18 : $25; - $5 = $12 ? $17 : $5; - } - $17 = $17 + 1 | 0; - if (($19 | 0) != ($17 | 0)) { - continue; - } - break; - } - } - $20 = $20 + 1 | 0; - $12 = ($28 | 0) < ($31 | 0); - $28 = $28 + 1 | 0; - if ($12) { - continue; - } - break; - } - } - if (($10 | 0) >= 1) { - $12 = 0; - while (1) { - $16 = ($12 << 2) + $1 | 0; - $13 = HEAP8[(Math_imul($0, $12) + $5 | 0) + $24 | 0] + $26 | 0; - HEAP32[$16 >> 2] = $13; - label$97 : { - if (($27 | 0) > ($30 | 0)) { - $14 = $27; - if (($14 | 0) < ($13 | 0)) { - break label$97; - } - $14 = ($13 | 0) < ($30 | 0) ? $30 : $13; - break label$97; - } - $14 = $30; - if (($14 | 0) < ($13 | 0)) { - break label$97; - } - $14 = ($13 | 0) < ($27 | 0) ? $27 : $13; - } - HEAP32[$16 >> 2] = $14; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $12 = $26 - $27 | 0; - } - HEAP16[$43 >> 1] = $12; - HEAP8[$3 | 0] = $5; - $12 = 0; - if (HEAP16[$2 >> 1] > -1) { - break label$1; - } - celt_fatal(10737, 10329, 474); - abort(); - } - celt_fatal(10267, 10329, 112); - abort(); - } - celt_fatal(10366, 10329, 115); - abort(); - } - celt_fatal(10418, 10329, 116); - abort(); - } - celt_fatal(10470, 10329, 151); - abort(); - } - celt_fatal(10500, 10329, 173); - abort(); - } - celt_fatal(10580, 10329, 178); - abort(); - } - celt_fatal(10622, 10329, 179); - abort(); - } - celt_fatal(10701, 10329, 241); - abort(); - } - __stack_pointer = $15 + 11552 | 0; - return $12; -} -function opus_encoder_ctl($0, $1, $2) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $3 = __stack_pointer - 208 | 0; - __stack_pointer = $3; - HEAP32[$3 + 204 >> 2] = $2; - $4 = HEAP32[$0 >> 2] + $0 | 0; - $2 = -5; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - label$13 : { - label$14 : { - label$15 : { - label$16 : { - label$17 : { - label$18 : { - label$19 : { - label$20 : { - label$21 : { - label$22 : { - label$23 : { - label$24 : { - label$25 : { - switch ($1 - 4e3 | 0) { - default: - label$46 : { - switch ($1 - 10015 | 0) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 10: - break label$1; - case 0: - break label$2; - case 11: - break label$4; - case 9: - break label$5; - default: - break label$46; - } - } - switch ($1 - 11002 | 0) { - case 17: - break label$23; - case 16: - break label$24; - case 0: - break label$6; - default: - break label$1; - } - case 0: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - $4 = $1 - 2048 | 0; - if ($4 >>> 0 > 3 | ($4 | 0) == 2 | (HEAP32[$0 + 108 >> 2] != ($1 | 0) ? !HEAP32[$0 + 14252 >> 2] : 0)) { - break label$1; - } - HEAP32[$0 + 108 >> 2] = $1; - HEAP32[$0 + 192 >> 2] = $1; - $2 = 0; - break label$1; - case 1: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 108 >> 2]; - $2 = 0; - break label$1; - case 2: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $4 = $0; - $1 = HEAP32[$2 >> 2]; - label$49 : { - if (($1 | 0) == -1e3) { - $5 = $1; - break label$49; - } - $2 = -1; - $5 = $1; - if (($1 | 0) == -1) { - break label$49; - } - if (($1 | 0) < 1) { - break label$1; - } - $5 = 500; - if (($1 | 0) < 501) { - break label$49; - } - $2 = Math_imul(HEAP32[$0 + 112 >> 2], 3e5); - $5 = ($1 | 0) > ($2 | 0) ? $2 : $1; - } - $2 = $5; - HEAP32[$4 + 164 >> 2] = $2; - $2 = 0; - break label$1; - case 3: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if (!$1) { - $2 = -1; - break label$1; - } - $4 = HEAP32[$0 + 14236 >> 2]; - if (!$4) { - $4 = HEAP32[$0 + 144 >> 2] / 400 | 0; - } - $2 = HEAP32[$0 + 164 >> 2]; - label$53 : { - if (($2 | 0) != -1) { - if (($2 | 0) != -1e3) { - break label$53; - } - $2 = HEAP32[$0 + 112 >> 2]; - $0 = HEAP32[$0 + 144 >> 2]; - $2 = Math_imul($2, $0) + ((Math_imul($0, 60) | 0) / ($4 | 0) | 0) | 0; - break label$53; - } - $2 = (Math_imul(HEAP32[$0 + 144 >> 2], 10208) | 0) / ($4 | 0) | 0; - } - HEAP32[$1 >> 2] = $2; - $2 = 0; - break label$1; - case 22: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - label$55 : { - if (($1 | 0) >= 1) { - $2 = -1; - if (HEAP32[$0 + 112 >> 2] >= ($1 | 0)) { - break label$55; - } - break label$1; - } - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 120 >> 2] = $1; - $2 = 0; - break label$1; - case 23: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 120 >> 2]; - $2 = 0; - break label$1; - case 4: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 1101 >>> 0 > 4) { - break label$1; - } - HEAP32[$0 + 132 >> 2] = $1; - if (($1 | 0) == 1101) { - HEAP32[$0 + 20 >> 2] = 8e3; - $2 = 0; - break label$1; - } - if (($1 | 0) == 1102) { - HEAP32[$0 + 20 >> 2] = 12e3; - $2 = 0; - break label$1; - } - HEAP32[$0 + 20 >> 2] = 16e3; - $2 = 0; - break label$1; - case 5: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 132 >> 2]; - $2 = 0; - break label$1; - case 8: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if ($1 - 1101 >>> 0 >= 5) { - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 128 >> 2] = $1; - if (($1 | 0) == 1101) { - HEAP32[$0 + 20 >> 2] = 8e3; - $2 = 0; - break label$1; - } - if (($1 | 0) == 1102) { - HEAP32[$0 + 20 >> 2] = 12e3; - $2 = 0; - break label$1; - } - HEAP32[$0 + 20 >> 2] = 16e3; - $2 = 0; - break label$1; - case 9: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 14240 >> 2]; - $2 = 0; - break label$1; - case 16: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 184 >> 2] = $1; - $2 = 0; - break label$1; - case 17: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 184 >> 2]; - $2 = 0; - break label$1; - case 10: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 10) { - break label$1; - } - HEAP32[$0 + 44 >> 2] = $1; - HEAP32[$3 >> 2] = $1; - opus_custom_encoder_ctl($4, 4010, $3); - $2 = 0; - break label$1; - case 11: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 44 >> 2]; - $2 = 0; - break label$1; - case 12: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 48 >> 2] = $1; - $2 = 0; - break label$1; - case 13: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 48 >> 2]; - $2 = 0; - break label$1; - case 14: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 100) { - break label$1; - } - HEAP32[$0 + 40 >> 2] = $1; - HEAP32[$3 + 16 >> 2] = $1; - opus_custom_encoder_ctl($4, 4014, $3 + 16 | 0); - $2 = 0; - break label$1; - case 15: - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 40 >> 2]; - $2 = 0; - break label$1; - case 6: - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 148 >> 2] = $1; - HEAP32[$0 + 60 >> 2] = 1 - $1; - $2 = 0; - break label$1; - case 18: - case 19: - case 26: - case 30: - case 32: - case 33: - case 34: - case 35: - case 38: - case 39: - case 44: - case 45: - case 48: - break label$1; - case 43: - break label$10; - case 42: - break label$11; - case 41: - break label$12; - case 40: - break label$13; - case 37: - break label$14; - case 36: - break label$15; - case 31: - break label$16; - case 29: - break label$17; - case 27: - break label$18; - case 25: - break label$19; - case 24: - break label$20; - case 21: - break label$21; - case 20: - break label$22; - case 7: - break label$25; - case 49: - break label$3; - case 28: - break label$7; - case 47: - break label$8; - case 46: - break label$9; - } - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 148 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 + 1 >>> 0 > 101) { - break label$1; - } - HEAP32[$0 + 140 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 140 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 152 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 152 >> 2]; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if ($1 - 3001 >>> 0 >= 2) { - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 124 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 124 >> 2]; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if (!$1) { - $2 = -1; - break label$1; - } - $4 = HEAP32[$0 + 144 >> 2] / 400 | 0; - HEAP32[$1 >> 2] = $4; - $2 = 0; - if (HEAP32[$0 + 108 >> 2] == 2051) { - break label$1; - } - HEAP32[$1 >> 2] = HEAP32[$0 + 116 >> 2] + $4; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 144 >> 2]; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 18136 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 8 >>> 0 > 16) { - break label$1; - } - HEAP32[$0 + 168 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 168 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 5e3 >>> 0 > 9) { - break label$1; - } - HEAP32[$0 + 156 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 156 >> 2]; - $2 = 0; - break label$1; - } - $1 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 76 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 76 >> 2]; - $2 = 0; - break label$1; - } - $0 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $0 + 4; - $2 = -1; - $0 = HEAP32[$0 >> 2]; - if ($0 >>> 0 > 1) { - break label$1; - } - HEAP32[$3 + 32 >> 2] = $0; - opus_custom_encoder_ctl($4, 4046, $3 + 32 | 0); - $2 = 0; - break label$1; - } - $0 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $0 + 4; - $0 = HEAP32[$0 >> 2]; - if (!$0) { - $2 = -1; - break label$1; - } - HEAP32[$3 + 48 >> 2] = $0; - opus_custom_encoder_ctl($4, 4047, $3 + 48 | 0); - $2 = 0; - break label$1; - } - $1 = HEAP32[$0 + 4 >> 2]; - tonality_analysis_reset($0 + 188 | 0); - $2 = 0; - memset($0 + 14192 | 0, 0, 3948); - opus_custom_encoder_ctl($4, 4028, 0); - silk_InitEncoder($0 + $1 | 0, HEAP32[$0 + 180 >> 2], $3 + 104 | 0); - HEAP32[$0 + 14252 >> 2] = 1; - HEAP32[$0 + 14204 >> 2] = 1065353216; - HEAP16[$0 + 14196 >> 1] = 16384; - HEAP32[$0 + 14240 >> 2] = 1105; - HEAP32[$0 + 14224 >> 2] = 1001; - HEAP32[$0 + 14192 >> 2] = HEAP32[$0 + 112 >> 2]; - HEAP32[$0 + 14200 >> 2] = silk_lin2log(60) << 8; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if ($1 - 1e3 >>> 0 >= 3) { - $2 = -1; - if (($1 | 0) != -1e3) { - break label$1; - } - } - HEAP32[$0 + 136 >> 2] = $1; - $2 = 0; - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - HEAP32[$0 + 176 >> 2] = $2; - HEAP32[$3 + 64 >> 2] = $2; - $2 = opus_custom_encoder_ctl($4, 10024, $3 - -64 | 0); - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - HEAP32[$0 + 14256 >> 2] = $2; - HEAP32[$3 + 80 >> 2] = $2; - $2 = opus_custom_encoder_ctl($4, 10026, $3 + 80 | 0); - break label$1; - } - $2 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $2 + 4; - $6 = HEAP32[$2 >> 2]; - if (!$6) { - $2 = -1; - break label$1; - } - if (!(!HEAP32[$0 + 56 >> 2] | (HEAP32[$0 + 14228 >> 2] & -2) != 1e3)) { - $2 = HEAP32[$0 + 4 >> 2]; - HEAP32[$6 >> 2] = 1; - if (HEAP32[$0 + 12 >> 2] < 1) { - $2 = 0; - break label$1; - } - $7 = $0 + $2 | 0; - $4 = 0; - $5 = 1; - while (1) { - $1 = 0; - $1 = $5 ? HEAP32[(Math_imul($4, 10064) + $7 | 0) + 6084 >> 2] > 9 : $1; - HEAP32[$6 >> 2] = $1; - $2 = 0; - $5 = $1; - $4 = $4 + 1 | 0; - if (($4 | 0) < HEAP32[$0 + 12 >> 2]) { - continue; - } - break; - } - break label$1; - } - if (HEAP32[$0 + 184 >> 2]) { - HEAP32[$6 >> 2] = HEAP32[$0 + 18124 >> 2] > 9; - $2 = 0; - break label$1; - } - $2 = 0; - HEAP32[$6 >> 2] = 0; - break label$1; - } - $0 = HEAP32[$3 + 204 >> 2]; - HEAP32[$3 + 204 >> 2] = $0 + 4; - $0 = HEAP32[$0 >> 2]; - if (!$0) { - $2 = -1; - break label$1; - } - HEAP32[$3 + 96 >> 2] = $0; - $2 = opus_custom_encoder_ctl($4, 10015, $3 + 96 | 0); - } - __stack_pointer = $3 + 208 | 0; - return $2 | 0; -} -function silk_Encode($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - $16 = __stack_pointer - 32 | 0; - $15 = $16; - __stack_pointer = $15; - if (HEAP32[$1 + 68 >> 2]) { - HEAP32[$0 + 14728 >> 2] = 1; - HEAP32[$0 + 4664 >> 2] = 1; - } - HEAP32[$0 + 5748 >> 2] = 0; - HEAP32[$0 + 15812 >> 2] = 0; - if (!check_control_input($1)) { - $34 = $0 + 10064 | 0; - HEAP32[$1 + 88 >> 2] = 0; - label$3 : { - if (HEAP32[$1 + 4 >> 2] <= HEAP32[$0 + 20196 >> 2]) { - break label$3; - } - $14 = silk_init_encoder($34, HEAP32[$0 + 5092 >> 2]); - HEAP32[$0 + 20144 >> 2] = 1; - HEAP32[$0 + 20148 >> 2] = 0; - HEAP32[$0 + 20136 >> 2] = 0; - HEAP32[$0 + 20140 >> 2] = 0; - HEAP32[$0 + 20128 >> 2] = 0; - HEAP32[$0 + 20152 >> 2] = 1; - HEAP32[$0 + 20156 >> 2] = 16384; - if (HEAP32[$0 + 20192 >> 2] != 2) { - break label$3; - } - memcpy($0 + 15840 | 0, $0 + 5776 | 0, 300); - $20 = HEAP32[$0 + 4 >> 2]; - $12 = HEAP32[$0 >> 2]; - HEAP32[$0 + 10064 >> 2] = $12; - HEAP32[$0 + 10068 >> 2] = $20; - } - $24 = HEAP32[$1 + 24 >> 2]; - label$4 : { - if (($24 | 0) != HEAP32[$0 + 4612 >> 2]) { - $8 = HEAP32[$1 + 4 >> 2]; - $21 = 1; - break label$4; - } - $8 = HEAP32[$1 + 4 >> 2]; - $21 = ($8 | 0) != HEAP32[$0 + 20196 >> 2]; - } - $9 = HEAP32[$1 >> 2]; - HEAP32[$0 + 20196 >> 2] = $8; - HEAP32[$0 + 20192 >> 2] = $9; - $10 = Math_imul($3, 100); - $9 = HEAP32[$1 + 8 >> 2]; - $18 = ($10 | 0) / ($9 | 0) | 0; - label$6 : { - label$7 : { - label$8 : { - label$9 : { - if ($6) { - if (($18 | 0) != 1) { - break label$6; - } - if (($6 | 0) == 2) { - $12 = HEAP32[$0 + 28 >> 2]; - $20 = HEAP32[$0 + 24 >> 2]; - HEAP32[$15 + 24 >> 2] = $20; - HEAP32[$15 + 28 >> 2] = $12; - $20 = HEAP32[$0 + 20 >> 2]; - $12 = HEAP32[$0 + 16 >> 2]; - HEAP32[$15 + 16 >> 2] = $12; - HEAP32[$15 + 20 >> 2] = $20; - $13 = HEAP32[$0 + 4576 >> 2]; - } - $9 = 0; - label$12 : { - if (($8 | 0) > 0) { - $11 = ($6 | 0) != 2; - $23 = $15; - break label$12; - } - HEAP32[$1 + 24 >> 2] = 10; - $35 = HEAP32[$1 + 36 >> 2]; - HEAP32[$1 + 36 >> 2] = 0; - break label$9; - } - label$14 : { - while (1) { - $8 = Math_imul($9, 10064) + $0 | 0; - $10 = silk_init_encoder($8, HEAP32[$8 + 5092 >> 2]); - if (!$11) { - $12 = HEAP32[$15 + 20 >> 2]; - $20 = HEAP32[$15 + 16 >> 2]; - HEAP32[$8 + 16 >> 2] = $20; - HEAP32[$8 + 20 >> 2] = $12; - $20 = HEAP32[$23 + 28 >> 2]; - $12 = HEAP32[$23 + 24 >> 2]; - HEAP32[$8 + 24 >> 2] = $12; - HEAP32[$8 + 28 >> 2] = $20; - HEAP32[$8 + 32 >> 2] = $13; - } - if (!$10) { - $8 = HEAP32[$1 + 4 >> 2]; - $9 = $9 + 1 | 0; - if (($8 | 0) <= ($9 | 0)) { - break label$14; - } - continue; - } - break; - } - celt_fatal(17522, 17507, 222); - abort(); - } - $24 = HEAP32[$1 + 24 >> 2]; - HEAP32[$1 + 24 >> 2] = 10; - $35 = HEAP32[$1 + 36 >> 2]; - $14 = 0; - HEAP32[$1 + 36 >> 2] = 0; - if (($8 | 0) < 1) { - break label$9; - } - while (1) { - $9 = Math_imul($14, 10064) + $0 | 0; - HEAP32[$9 + 4680 >> 2] = 1; - HEAP32[$9 + 4668 >> 2] = 0; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($8 | 0)) { - continue; - } - break; - } - $14 = 0; - break label$9; - } - if ((Math_imul($9, $18) | 0) != ($10 | 0) | ($3 | 0) < 0) { - break label$7; - } - $9 = Math_imul($9, $24); - $24 = 0; - if ((Math_imul($3, 1e3) | 0) > ($9 | 0)) { - break label$8; - } - } - label$19 : { - label$20 : { - label$21 : { - label$22 : { - if (($8 | 0) < 1) { - break label$22; - } - $11 = $21 ^ -1; - $10 = 0; - while (1) { - $8 = 0; - $9 = Math_imul($10, 10064) + $0 | 0; - $8 = ($10 | 0) == 1 ? HEAP32[$0 + 4576 >> 2] : $8; - $14 = silk_control_encoder($9, $1, HEAP32[$0 + 20208 >> 2], $10, $8); - if ($14) { - break label$20; - } - label$26 : { - if (!HEAP32[$9 + 4664 >> 2] & $11) { - break label$26; - } - $8 = 0; - if (HEAP32[$0 + 5744 >> 2] < 1) { - break label$26; - } - while (1) { - HEAP32[(($8 << 2) + $9 | 0) + 4724 >> 2] = 0; - $8 = $8 + 1 | 0; - if (($8 | 0) < HEAP32[$0 + 5744 >> 2]) { - continue; - } - break; - } - } - HEAP32[$9 + 6080 >> 2] = HEAP32[$9 + 6076 >> 2]; - $8 = HEAP32[$1 + 4 >> 2]; - $10 = $10 + 1 | 0; - if (($8 | 0) > ($10 | 0)) { - continue; - } - break; - } - $14 = 0; - if (($8 | 0) != 1) { - break label$22; - } - $8 = HEAP32[$0 + 4576 >> 2]; - break label$21; - } - $8 = HEAP32[$0 + 4576 >> 2]; - if (($8 | 0) != HEAP32[$0 + 14640 >> 2]) { - break label$19; - } - } - $27 = ($18 | 0) > 1 ? $18 >> 1 : 1; - $39 = $27 << 1; - $40 = $27 - 1 | 0; - $41 = $0 + 10212 | 0; - $20 = $0 + 17232 | 0; - $36 = $0 + 14784 | 0; - $42 = $0 + 15164 | 0; - $43 = $0 + 5100 | 0; - $44 = $0 + 20128 | 0; - $25 = $0 + 20180 | 0; - $45 = $0 + 14788 | 0; - $29 = $0 + 20162 | 0; - $30 = $0 + 15160 | 0; - $31 = $0 + 15840 | 0; - $26 = $0 + 5096 | 0; - $28 = $0 + 5776 | 0; - $37 = Math_imul($18, 10); - $32 = Math_imul($37, $8); - $22 = $16 - (((Math_imul($32, HEAP32[$0 + 4556 >> 2]) | 0) / (Math_imul($8, 1e3) | 0) << 1) + 15 & -16) | 0; - __stack_pointer = $22; - $21 = 0; - label$28 : { - while (1) { - $10 = HEAP32[$0 + 5740 >> 2]; - $8 = HEAP32[$0 + 4584 >> 2] - $10 | 0; - $11 = ($8 | 0) < ($32 | 0) ? $8 : $32; - $19 = (Math_imul($11, HEAP32[$0 + 4556 >> 2]) | 0) / (Math_imul(HEAP32[$0 + 4576 >> 2], 1e3) | 0) | 0; - label$30 : { - label$31 : { - label$32 : { - label$33 : { - label$34 : { - label$35 : { - label$36 : { - switch (HEAP32[$1 >> 2] - 1 | 0) { - case 1: - label$38 : { - switch (HEAP32[$1 + 4 >> 2] - 1 | 0) { - case 1: - $9 = HEAP32[$0 + 5748 >> 2]; - $8 = 0; - $13 = ($19 | 0) < 1; - if (!$13) { - while (1) { - HEAP16[($8 << 1) + $22 >> 1] = HEAPU16[($8 << 2) + $2 >> 1]; - $8 = $8 + 1 | 0; - if (($19 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - if (!(HEAP32[$0 + 20200 >> 2] != 1 | $9)) { - memcpy($31, $28, 300); - } - $8 = silk_resampler($28, (($10 << 1) + $26 | 0) + 4 | 0, $22, $19); - HEAP32[$0 + 5740 >> 2] = HEAP32[$0 + 5740 >> 2] + $11; - $9 = HEAP32[$0 + 15804 >> 2]; - $10 = HEAP32[$0 + 14648 >> 2] - $9 | 0; - $11 = Math_imul(HEAP32[$0 + 14640 >> 2], $37); - $10 = ($10 | 0) < ($11 | 0) ? $10 : $11; - $11 = $8 + $14 | 0; - $8 = 0; - if (!$13) { - while (1) { - HEAP16[($8 << 1) + $22 >> 1] = HEAPU16[($8 << 2 | 2) + $2 >> 1]; - $8 = $8 + 1 | 0; - if (($19 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = silk_resampler($31, (($9 << 1) + $30 | 0) + 4 | 0, $22, $19); - HEAP32[$0 + 15804 >> 2] = HEAP32[$0 + 15804 >> 2] + $10; - $14 = $8 + $11 | 0; - $8 = HEAP32[$0 + 5740 >> 2]; - break label$35; - case 0: - break label$38; - default: - break label$34; - } - } - $8 = 0; - if (($19 | 0) >= 1) { - while (1) { - $9 = $8 << 2; - $9 = HEAP16[($9 | 2) + $2 >> 1] + HEAP16[$2 + $9 >> 1] | 0; - HEAP16[($8 << 1) + $22 >> 1] = ($9 >>> 1 | 0) + ($9 & 1); - $8 = $8 + 1 | 0; - if (($19 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $14 = silk_resampler($28, (($10 << 1) + $26 | 0) + 4 | 0, $22, $19) + $14 | 0; - label$47 : { - if (HEAP32[$0 + 5748 >> 2] | HEAP32[$0 + 20200 >> 2] != 2) { - break label$47; - } - $14 = silk_resampler($31, ((HEAP32[$0 + 15804 >> 2] << 1) + $30 | 0) + 4 | 0, $22, $19) + $14 | 0; - $13 = HEAP32[$0 + 4584 >> 2]; - if (($13 | 0) < 1) { - break label$47; - } - $17 = HEAP32[$0 + 15804 >> 2]; - $18 = HEAP32[$0 + 5740 >> 2]; - $8 = 0; - while (1) { - $9 = $8 + 2 | 0; - $10 = ($18 + $9 << 1) + $26 | 0; - HEAP16[$10 >> 1] = HEAP16[($9 + $17 << 1) + $30 >> 1] + HEAP16[$10 >> 1] >>> 1; - $8 = $8 + 1 | 0; - if (($13 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = HEAP32[$0 + 5740 >> 2] + $11 | 0; - HEAP32[$0 + 5740 >> 2] = $8; - break label$35; - case 0: - break label$36; - default: - break label$34; - } - } - if (HEAP32[$1 + 4 >> 2] != 1) { - break label$34; - } - $9 = silk_resampler($28, (($10 << 1) + $26 | 0) + 4 | 0, memcpy($22, $2, $19 << 1), $19); - $8 = HEAP32[$0 + 5740 >> 2] + $11 | 0; - HEAP32[$0 + 5740 >> 2] = $8; - $14 = $9 + $14 | 0; - } - $46 = HEAP32[$1 >> 2]; - HEAP32[$0 + 20208 >> 2] = 0; - $9 = HEAP32[$0 + 4584 >> 2]; - $12 = 0; - if (($9 | 0) > ($8 | 0)) { - break label$28; - } - if (($8 | 0) != ($9 | 0)) { - break label$33; - } - $8 = HEAP32[$1 + 4 >> 2]; - if (HEAP32[$0 + 15804 >> 2] != HEAP32[$0 + 14648 >> 2] ? ($8 | 0) != 1 : 0) { - break label$32; - } - if (HEAP32[$0 + 5748 >> 2] | $6) { - break label$30; - } - $17 = 0; - HEAP16[$15 + 14 >> 1] = 0; - HEAP8[$15 + 14 | 0] = 0 - (256 >>> Math_imul(HEAP32[$0 + 5744 >> 2] + 1 | 0, $8) | 0); - ec_enc_icdf($4, 0, $15 + 14 | 0, 8); - $11 = HEAP32[$1 + 4 >> 2]; - if (($11 | 0) <= 0) { - break label$31; - } - while (1) { - $8 = 0; - $9 = 0; - $13 = Math_imul($17, 10064) + $0 | 0; - $10 = HEAP32[$13 + 5744 >> 2]; - if (($10 | 0) >= 1) { - while (1) { - $9 = HEAP32[(($8 << 2) + $13 | 0) + 4724 >> 2] << $8 | $9; - $8 = $8 + 1 | 0; - if (($10 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - HEAP8[$13 + 4723 | 0] = ($9 | 0) > 0; - if (!(!$9 | ($10 | 0) < 2)) { - ec_enc_icdf($4, $9 - 1 | 0, HEAP32[($10 << 2) + 5808 >> 2], 8); - $11 = HEAP32[$1 + 4 >> 2]; - } - $17 = $17 + 1 | 0; - if (($17 | 0) < ($11 | 0)) { - continue; - } - break; - } - break label$31; - } - celt_fatal(17672, 17507, 320); - abort(); - } - celt_fatal(17758, 17507, 336); - abort(); - } - celt_fatal(17857, 17507, 337); - abort(); - } - $10 = 0; - if (HEAP32[$0 + 5744 >> 2] > 0) { - while (1) { - if (($11 | 0) >= 1) { - $17 = $10 - 1 | 0; - $33 = $10 + $25 | 0; - $13 = $10 << 2; - $18 = $45 + $13 | 0; - $16 = Math_imul($10, 6) + $29 | 0; - $9 = 0; - while (1) { - $8 = Math_imul($9, 10064) + $0 | 0; - if (HEAP32[($13 + $8 | 0) + 4724 >> 2]) { - label$59 : { - if (($11 | 0) != 2 | $9) { - break label$59; - } - silk_stereo_encode_pred($4, $16); - if (HEAP32[$18 >> 2]) { - break label$59; - } - silk_stereo_encode_mid_only($4, HEAP8[$33 | 0]); - } - $12 = $8; - $23 = $4; - $47 = $10; - label$60 : { - if ($10) { - $11 = 2; - if (HEAP32[(($17 << 2) + $8 | 0) + 4724 >> 2]) { - break label$60; - } - } - $11 = 0; - } - silk_encode_indices($12, $23, $47, 1, $11); - $11 = Math_imul($10, 36) + $8 | 0; - silk_encode_pulses($4, HEAP8[$11 + 6129 | 0], HEAP8[$11 + 6130 | 0], (Math_imul($10, 320) + $8 | 0) + 6208 | 0, HEAP32[$8 + 4584 >> 2]); - $11 = HEAP32[$1 + 4 >> 2]; - } - $9 = $9 + 1 | 0; - if (($11 | 0) > ($9 | 0)) { - continue; - } - break; - } - } - $10 = $10 + 1 | 0; - if (($10 | 0) < HEAP32[$0 + 5744 >> 2]) { - continue; - } - break; - } - } - $8 = 0; - if (($11 | 0) > 0) { - while (1) { - $9 = Math_imul($8, 10064) + $0 | 0; - HEAP32[$9 + 4724 >> 2] = 0; - HEAP32[$9 + 4728 >> 2] = 0; - HEAP32[$9 + 4732 >> 2] = 0; - $8 = $8 + 1 | 0; - if (($8 | 0) < HEAP32[$1 + 4 >> 2]) { - continue; - } - break; - } - } - HEAP32[$0 + 20184 >> 2] = (HEAP32[$4 + 20 >> 2] + Math_clz32(HEAP32[$4 + 28 >> 2]) | 0) - 32; - } - silk_HP_variable_cutoff($0); - $8 = HEAP32[$1 + 28 >> 2]; - $10 = HEAP32[$1 + 24 >> 2]; - $9 = (Math_imul($8, $10) | 0) / 1e3 | 0; - $9 = $6 ? $9 : $9 - HEAP32[$0 + 20184 >> 2] | 0; - $11 = ($9 | 0) / HEAP32[$0 + 5744 >> 2] | 0; - $9 = Math_imul($11 << 16 >> 16, ($10 | 0) == 10 ? 100 : 50) - (HEAP32[$0 + 20188 >> 2] << 1) | 0; - label$65 : { - if ($6) { - break label$65; - } - $10 = HEAP32[$0 + 5748 >> 2]; - if (($10 | 0) < 1) { - break label$65; - } - $9 = ((HEAP32[$0 + 20184 >> 2] + ((Math_imul($10, $11) - HEAP32[$4 + 20 >> 2] | 0) - Math_clz32(HEAP32[$4 + 28 >> 2]) | 0) << 1) + $9 | 0) - -64 | 0; - } - label$66 : { - if (($8 | 0) >= 5001) { - $16 = $8; - if (($8 | 0) < ($9 | 0)) { - break label$66; - } - $16 = ($9 | 0) > 5e3 ? $9 : 5e3; - break label$66; - } - $16 = 5e3; - if (($9 | 0) > 5e3) { - break label$66; - } - $16 = ($8 | 0) > ($9 | 0) ? $8 : $9; - } - label$68 : { - if (HEAP32[$1 + 4 >> 2] == 2) { - $8 = HEAP32[$0 + 5748 >> 2]; - silk_stereo_LR_to_MS($44, $43, $42, Math_imul($8, 6) + $29 | 0, $8 + $25 | 0, $15 + 16 | 0, $16, HEAP32[$0 + 4532 >> 2], HEAP32[$1 + 60 >> 2], HEAP32[$0 + 4576 >> 2], HEAP32[$0 + 4584 >> 2]); - $8 = HEAP32[$0 + 5748 >> 2]; - label$70 : { - if (!HEAPU8[$25 + $8 | 0]) { - if (HEAP32[$0 + 20212 >> 2] == 1) { - $12 = $20; - HEAP32[$12 >> 2] = 0; - HEAP32[$12 + 4 >> 2] = 0; - HEAP32[$12 + 8 >> 2] = 0; - HEAP32[$0 + 10080 >> 2] = 0; - HEAP32[$0 + 10084 >> 2] = 0; - memset($41, 0, 4384); - HEAP8[$0 + 17232 | 0] = 10; - HEAP32[$0 + 14540 >> 2] = 100; - HEAP32[$0 + 14608 >> 2] = 100; - HEAP8[$0 + 14605 | 0] = 0; - HEAP32[$0 + 14728 >> 2] = 1; - HEAP32[$0 + 14556 >> 2] = 65536; - } - silk_encode_do_VAD_FLP($34, $7); - break label$70; - } - HEAP8[$8 + $36 | 0] = 0; - } - if ($6) { - break label$68; - } - silk_stereo_encode_pred($4, Math_imul(HEAP32[$0 + 5748 >> 2], 6) + $29 | 0); - $8 = HEAP32[$0 + 5748 >> 2]; - if (HEAPU8[$36 + $8 | 0]) { - break label$68; - } - silk_stereo_encode_mid_only($4, HEAP8[$8 + $25 | 0]); - break label$68; - } - HEAP32[$0 + 5096 >> 2] = HEAP32[$0 + 20132 >> 2]; - $12 = (HEAP32[$0 + 4584 >> 2] << 1) + $26 | 0; - HEAP32[$0 + 20132 >> 2] = HEAPU16[$12 >> 1] | HEAPU16[$12 + 2 >> 1] << 16; - } - $33 = Math_imul($19, $46); - silk_encode_do_VAD_FLP($0, $7); - $13 = HEAP32[$1 + 4 >> 2]; - if (($13 | 0) >= 1) { - $18 = !$21 & ($27 | 0) == 2; - $8 = 0; - while (1) { - $10 = HEAP32[$1 + 56 >> 2]; - $11 = (Math_imul($10, 3) | 0) / 5 | 0; - label$75 : { - if ($18) { - break label$75; - } - $11 = $10; - if (($27 | 0) != 3) { - break label$75; - } - $11 = ($10 << 1) / 5 | 0; - if (!$21) { - break label$75; - } - $11 = $10; - if (($21 | 0) != 1) { - break label$75; - } - $11 = (Math_imul($10, 3) | 0) / 4 | 0; - } - $17 = ($21 | 0) == ($40 | 0) & HEAP32[$1 + 52 >> 2] != 0; - label$76 : { - if (($13 | 0) == 1) { - $9 = $16; - break label$76; - } - $9 = HEAP32[($15 + 16 | 0) + ($8 << 2) >> 2]; - if (HEAP32[$15 + 20 >> 2] < 1 | $8) { - break label$76; - } - $11 = $11 - (($10 | 0) / ($39 | 0) | 0) | 0; - $17 = 0; - } - if (($9 | 0) >= 1) { - $10 = Math_imul($8, 10064) + $0 | 0; - silk_control_SNR($10, $9); - $12 = $5; - $23 = $4; - $9 = 0; - label$79 : { - if (HEAP32[$0 + 5748 >> 2] <= ($8 | 0)) { - break label$79; - } - if ($8) { - $9 = 1; - if (HEAP32[$0 + 20212 >> 2]) { - break label$79; - } - } - $9 = 2; - } - $14 = silk_encode_frame_FLP($10, $12, $23, $9, $11, $17); - $13 = HEAP32[$1 + 4 >> 2]; - } - $9 = Math_imul($8, 10064) + $0 | 0; - HEAP32[$9 + 5740 >> 2] = 0; - HEAP32[$9 + 4668 >> 2] = 0; - HEAP32[$9 + 5748 >> 2] = HEAP32[$9 + 5748 >> 2] + 1; - $8 = $8 + 1 | 0; - if (($13 | 0) > ($8 | 0)) { - continue; - } - break; - } - } - $18 = $33 << 1; - $3 = $3 - $19 | 0; - $16 = HEAP32[$0 + 5748 >> 2]; - HEAP32[$0 + 20212 >> 2] = HEAP8[($25 + $16 | 0) - 1 | 0]; - label$81 : { - if (HEAP32[$0 + 5744 >> 2] != ($16 | 0) | HEAP32[$5 >> 2] < 1) { - break label$81; - } - $17 = 0; - $8 = 0; - if (($13 | 0) >= 1) { - while (1) { - $9 = $8 << 1; - $8 = 0; - $10 = Math_imul($17, 10064) + $0 | 0; - $11 = HEAP32[$10 + 5744 >> 2]; - if (($11 | 0) >= 1) { - while (1) { - $9 = (HEAP8[($8 + $10 | 0) + 4720 | 0] | $9) << 1; - $8 = $8 + 1 | 0; - if (($11 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = HEAP8[$10 + 4723 | 0] | $9; - $17 = $17 + 1 | 0; - if (($17 | 0) != ($13 | 0)) { - continue; - } - break; - } - } - if (!$6) { - ec_enc_patch_initial_bits($4, $8, Math_imul($16 + 1 | 0, $13)); - } - if (!(!HEAP32[$0 + 6080 >> 2] | (HEAP32[$0 + 16144 >> 2] ? 0 : HEAP32[$1 + 4 >> 2] != 1))) { - HEAP32[$5 >> 2] = 0; - } - $9 = HEAP32[$1 + 24 >> 2]; - $8 = (HEAP32[$0 + 20188 >> 2] + (HEAP32[$5 >> 2] << 3) | 0) + ((Math_imul($9, HEAP32[$1 + 28 >> 2]) | 0) / -1e3 | 0) | 0; - $8 = ($8 | 0) > 0 ? $8 : 0; - HEAP32[$0 + 20188 >> 2] = ($8 | 0) < 1e4 ? $8 : 1e4; - $8 = HEAP32[$0 + 20204 >> 2]; - if (HEAP32[$0 + 4532 >> 2] < ((Math_imul($8 << 16 >> 16, 3188) >> 16) + 13 | 0)) { - HEAP32[$0 + 20204 >> 2] = 0; - HEAP32[$0 + 20208 >> 2] = 1; - break label$81; - } - HEAP32[$0 + 20208 >> 2] = 0; - HEAP32[$0 + 20204 >> 2] = $8 + $9; - } - $2 = $2 + $18 | 0; - $21 = $21 + 1 | 0; - if ($3) { - continue; - } - break; - } - $12 = HEAP32[$0 + 20208 >> 2]; - } - $10 = HEAP32[$1 + 4 >> 2]; - HEAP32[$0 + 20200 >> 2] = $10; - $8 = $12; - HEAP32[$1 + 76 >> 2] = $8; - $8 = HEAP32[$0 + 4576 >> 2]; - $38 = ($8 | 0) == 16 ? !HEAP32[$0 + 28 >> 2] : $38; - HEAP32[$1 + 80 >> 2] = $38; - HEAP32[$1 + 72 >> 2] = Math_imul($8 << 16 >> 16, 1e3); - $8 = 0; - $8 = HEAP32[$1 + 60 >> 2] ? $8 : HEAP16[$0 + 20156 >> 1]; - HEAP32[$1 + 84 >> 2] = $8; - label$93 : { - if (!$6) { - break label$93; - } - HEAP32[$1 + 36 >> 2] = $35; - HEAP32[$1 + 24 >> 2] = $24; - if (($10 | 0) < 1) { - break label$93; - } - $8 = 0; - while (1) { - $9 = Math_imul($8, 10064) + $0 | 0; - HEAP32[$9 + 4680 >> 2] = 0; - HEAP32[$9 + 4668 >> 2] = 0; - $8 = $8 + 1 | 0; - if (($10 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - $8 = HEAP8[$0 + 4765 | 0]; - HEAP32[$1 + 92 >> 2] = $8; - HEAP32[$1 + 96 >> 2] = HEAP16[(($8 << 1 & -4) + (HEAP8[$0 + 4766 | 0] << 1) | 0) + 5840 >> 1]; - } - __stack_pointer = $15 + 32 | 0; - return $14; - } - celt_fatal(17545, 17507, 262); - abort(); - } - celt_fatal(17487, 17507, 241); - abort(); - } - celt_fatal(17487, 17507, 235); - abort(); - } - celt_fatal(17487, 17507, 206); - abort(); - } - celt_fatal(17487, 17507, 170); - abort(); -} -function quant_all_bands($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22) { - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = Math_fround(0), $34 = Math_fround(0), $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = Math_fround(0), $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = Math_fround(0), $87 = 0, $88 = 0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = Math_fround(0); - $27 = __stack_pointer - 1568 | 0; - $25 = $27; - __stack_pointer = $25; - $28 = 1; - $37 = HEAP32[$1 + 32 >> 2]; - $63 = $37 + ($2 << 1) | 0; - $41 = HEAP16[$63 >> 1] << $17; - $49 = $5 ? 2 : 1; - $31 = $25 - ((Math_imul($49, (HEAP16[((HEAP32[$1 + 8 >> 2] << 1) + $37 | 0) - 2 >> 1] << $17) - $41 | 0) << 2) + 15 & -16) | 0; - $26 = $31; - __stack_pointer = $26; - $27 = HEAP32[$1 + 8 >> 2]; - $29 = HEAP16[(($27 << 1) + $37 | 0) - 2 >> 1]; - $38 = $29 << $17 << 2; - $50 = !$11 & (($0 | 0) != 0 & ($5 | 0) != 0) & ($20 | 0) > 7; - $59 = $50 | !$0; - $39 = $9 ? 1 << $17 : 1; - label$1 : { - if ($50) { - $28 = HEAP16[($27 << 1) + $37 >> 1] - $29 << $17; - $32 = $26 - (($28 << 2) + 15 & -16) | 0; - $26 = $32; - __stack_pointer = $26; - break label$1; - } - $32 = $4 + $38 | 0; - } - $27 = ($28 << 2) + 15 & -16; - $64 = $26 - $27 | 0; - $26 = $64; - __stack_pointer = $26; - $65 = $26 - $27 | 0; - $26 = $65; - __stack_pointer = $26; - $66 = $26 - $27 | 0; - $26 = $66; - __stack_pointer = $26; - $67 = $26 - $27 | 0; - $26 = $67; - __stack_pointer = $26; - $60 = $26 - $27 | 0; - __stack_pointer = $60; - HEAP32[$25 + 1532 >> 2] = $16; - HEAP32[$25 + 1540 >> 2] = $7; - HEAP32[$25 + 1520 >> 2] = $12; - HEAP32[$25 + 1504 >> 2] = $0; - HEAP32[$25 + 1512 >> 2] = $1; - $27 = HEAP32[$19 >> 2]; - HEAP32[$25 + 1556 >> 2] = $22; - HEAP32[$25 + 1548 >> 2] = $21; - HEAP32[$25 + 1524 >> 2] = $10; - HEAP32[$25 + 1544 >> 2] = $27; - $0 = ($39 | 0) > 1; - HEAP32[$25 + 1560 >> 2] = $0; - HEAP32[$25 + 1552 >> 2] = 0; - HEAP32[$25 + 1508 >> 2] = $59; - if (($2 | 0) < ($3 | 0)) { - $101 = $5 ? $31 : 0; - $102 = ($10 | 0) != 3 | $0; - $45 = $16 + 28 | 0; - $46 = $16 + 8 | 0; - $103 = $59 ^ 1; - $21 = $49 - 1 | 0; - $68 = $2 + 2 | 0; - $51 = $2 + 1 | 0; - $69 = $3 - 1 | 0; - $27 = 0 - $41 << 2; - $38 = ($31 + $38 | 0) - ($41 << 2) | 0; - $104 = $27 + $38 | 0; - $42 = $27 + $31 | 0; - $70 = -1 << $39 ^ -1; - $52 = $2; - $10 = 1; - while (1) { - $22 = $52; - HEAP32[$25 + 1516 >> 2] = $22; - label$5 : { - label$6 : { - $52 = $22 + 1 | 0; - $35 = ($22 << 1) + $37 | 0; - $0 = HEAP16[$35 >> 1] << $17; - $27 = (HEAP16[($52 << 1) + $37 >> 1] << $17) - $0 | 0; - if (($27 | 0) > 0) { - $61 = ec_tell_frac($16); - $26 = $14 - $61 | 0; - HEAP32[$25 + 1536 >> 2] = $26 - 1; - $71 = $15 - (($2 | 0) == ($22 | 0) ? 0 : $61) | 0; - $36 = 0; - label$8 : { - if (($18 | 0) <= ($22 | 0)) { - break label$8; - } - $15 = $18 - $22 | 0; - $15 = HEAP32[($22 << 2) + $8 >> 2] + (($71 | 0) / ((($15 | 0) < 3 ? $15 : 3) | 0) | 0) | 0; - $15 = ($15 | 0) > ($26 | 0) ? $26 : $15; - $36 = 16383; - if (($15 | 0) > 16383) { - break label$8; - } - $36 = ($15 | 0) > 0 ? $15 : 0; - } - $15 = $0 << 2; - $40 = !$59 | (((HEAP16[$35 >> 1] << $17) - $27 | 0) < HEAP16[$63 >> 1] << $17 ? ($22 | 0) != ($51 | 0) : 0) ? $40 : $10 ? $22 : $40 ? $40 : $22; - $0 = $5 + $15 | 0; - $72 = ($22 | 0) != ($51 | 0); - label$11 : { - if ($72) { - break label$11; - } - $26 = HEAP32[$1 + 32 >> 2]; - $28 = HEAP16[$26 + ($51 << 1) >> 1]; - $10 = $28 - HEAP16[($2 << 1) + $26 >> 1] << $17; - $9 = $10 << 2; - $26 = HEAP16[($68 << 1) + $26 >> 1] - $28 << $17; - $28 = ($10 << 1) - $26 << 2; - $26 = $26 - $10 << 2; - memcpy($31 + $9 | 0, $31 + $28 | 0, $26); - if (!$11) { - break label$11; - } - memcpy($9 + $38 | 0, $28 + $38 | 0, $26); - } - $43 = $5 ? $0 : 0; - $20 = $4 + $15 | 0; - $62 = $22 << 2; - $15 = HEAP32[$62 + $13 >> 2]; - HEAP32[$25 + 1528 >> 2] = $15; - $29 = HEAP32[$1 + 12 >> 2] > ($22 | 0); - $32 = $29 ? $32 : 0; - $44 = ($22 | 0) == ($69 | 0); - $47 = $44 ? 0 : $32; - $30 = -1; - label$12 : { - if (!$40) { - $0 = $70; - $26 = $0; - break label$12; - } - $0 = $70; - $26 = $0; - if (!(($15 | 0) < 0 | $102)) { - break label$12; - } - $15 = ((HEAP16[($40 << 1) + $37 >> 1] << $17) - $41 | 0) - $27 | 0; - $30 = ($15 | 0) > 0 ? $15 : 0; - $0 = $41 + $30 | 0; - $15 = $40; - while (1) { - $26 = $15; - $15 = $15 - 1 | 0; - if (HEAP16[($15 << 1) + $37 >> 1] << $17 > ($0 | 0)) { - continue; - } - break; - } - $9 = $0 + $27 | 0; - $10 = $40 - 1 | 0; - $28 = (($22 | 0) < ($40 | 0) ? $40 : $22) - 1 | 0; - while (1) { - label$16 : { - $0 = $10; - if (($28 | 0) == ($0 | 0)) { - $0 = $28; - break label$16; - } - $10 = $0 + 1 | 0; - if (HEAP16[($10 << 1) + $37 >> 1] << $17 < ($9 | 0)) { - continue; - } - } - break; - } - $28 = ($0 | 0) < ($26 | 0) ? $15 : $0; - $0 = 0; - $26 = 0; - while (1) { - $10 = Math_imul($15, $49); - $0 = HEAPU8[$10 + $6 | 0] | $0; - $26 = HEAPU8[($10 + $21 | 0) + $6 | 0] | $26; - $10 = ($15 | 0) != ($28 | 0); - $15 = $15 + 1 | 0; - if ($10) { - continue; - } - break; - } - } - $32 = $50 ? $32 : $47; - $20 = $29 ? $20 : $31; - $9 = $29 ? $43 : $101; - if (!$11) { - break label$6; - } - if (!(($12 | 0) != ($22 | 0) | $103)) { - $15 = HEAP16[$35 >> 1] << $17; - if (($41 | 0) >= ($15 | 0)) { - break label$6; - } - $15 = $15 - $41 | 0; - $29 = ($15 | 0) > 1 ? $15 : 1; - $15 = 0; - while (1) { - $10 = $15 << 2; - $28 = $31 + $10 | 0; - HEAPF32[$28 >> 2] = Math_fround(HEAPF32[$28 >> 2] + HEAPF32[$10 + $38 >> 2]) * Math_fround(.5); - $15 = $15 + 1 | 0; - if (($29 | 0) != ($15 | 0)) { - continue; - } - break; - } - break label$6; - } - if (($12 | 0) == ($22 | 0)) { - break label$6; - } - $10 = $30 << 2; - $28 = ($30 | 0) == -1; - $29 = $28 ? 0 : $31 + $10 | 0; - $15 = $36 >>> 1 | 0; - label$21 : { - if (($22 | 0) == ($69 | 0)) { - $30 = 0; - $10 = $28 ? 0 : $10 + $38 | 0; - $20 = quant_band($25 + 1504 | 0, $20, $27, $15, $39, $29, $17, 0, Math_fround(1), $32, $0); - break label$21; - } - $10 = $28 ? 0 : $10 + $38 | 0; - $20 = quant_band($25 + 1504 | 0, $20, $27, $15, $39, $29, $17, (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0, Math_fround(1), $32, $0); - $30 = (HEAP16[$35 >> 1] << $17 << 2) + $104 | 0; - } - $15 = quant_band($25 + 1504 | 0, $9, $27, $15, $39, $10, $17, $30, Math_fround(1), $32, $26); - break label$5; - } - celt_fatal(41890, 41800, 1495); - abort(); - } - label$23 : { - if ($9) { - if (!($50 ^ 1 | ($12 | 0) <= ($22 | 0))) { - $33 = HEAPF32[$7 + $62 >> 2]; - $34 = HEAPF32[(HEAP32[$1 + 8 >> 2] + $22 << 2) + $7 >> 2]; - $73 = HEAP32[$16 + 4 >> 2]; - $74 = HEAP32[$16 >> 2]; - $24 = $46; - $23 = HEAP32[$24 + 8 >> 2]; - $15 = HEAP32[$24 + 12 >> 2]; - $10 = $23; - $75 = $25 + 1496 | 0; - $23 = $75; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $23 = HEAP32[$24 + 4 >> 2]; - $15 = HEAP32[$24 >> 2]; - $10 = $15; - $15 = $25; - HEAP32[$15 + 1488 >> 2] = $10; - HEAP32[$15 + 1492 >> 2] = $23; - $47 = HEAP32[$16 + 24 >> 2]; - $76 = $15 + 1480 | 0; - HEAP32[$76 >> 2] = HEAP32[$45 + 16 >> 2]; - $77 = $15 + 1472 | 0; - $24 = $45; - $23 = HEAP32[$24 + 8 >> 2]; - $15 = HEAP32[$24 + 12 >> 2]; - $10 = $23; - $23 = $77; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $23 = HEAP32[$24 + 4 >> 2]; - $15 = HEAP32[$24 >> 2]; - $10 = $15; - $15 = $25; - HEAP32[$15 + 1464 >> 2] = $10; - HEAP32[$15 + 1468 >> 2] = $23; - $78 = $15 + 1408 | 0; - $53 = $15 + 1560 | 0; - HEAP32[$78 >> 2] = HEAP32[$53 >> 2]; - $79 = $15 + 1400 | 0; - $43 = $15 + 1552 | 0; - $24 = $43; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $10 = $23; - $23 = $79; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $54 = $25 + 1544 | 0; - $24 = $54; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $10 = $15; - $80 = $25 + 1392 | 0; - $15 = $80; - HEAP32[$15 >> 2] = $10; - HEAP32[$15 + 4 >> 2] = $23; - $55 = $25 + 1536 | 0; - $24 = $55; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $10 = $23; - $81 = $25 + 1384 | 0; - $23 = $81; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $56 = $25 + 1528 | 0; - $24 = $56; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $10 = $15; - $82 = $25 + 1376 | 0; - $15 = $82; - HEAP32[$15 >> 2] = $10; - HEAP32[$15 + 4 >> 2] = $23; - $57 = $25 + 1520 | 0; - $24 = $57; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $10 = $23; - $83 = $25 + 1368 | 0; - $23 = $83; - HEAP32[$23 >> 2] = $10; - HEAP32[$23 + 4 >> 2] = $15; - $58 = $25 + 1512 | 0; - $24 = $58; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $10 = $15; - $84 = $25 + 1360 | 0; - $15 = $84; - HEAP32[$15 >> 2] = $10; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $25; - $23 = HEAP32[$24 + 1504 >> 2]; - $15 = HEAP32[$24 + 1508 >> 2]; - $10 = $23; - $23 = $24; - HEAP32[$23 + 1352 >> 2] = $10; - HEAP32[$23 + 1356 >> 2] = $15; - $11 = $27 << 2; - $10 = memcpy($64, $20, $11); - $28 = memcpy($65, $9, $11); - HEAP32[$43 >> 2] = -1; - $15 = 0; - $85 = $0 | $26; - $0 = 0; - $48 = Math_fround(($33 < $34 ? $33 : $34) / Math_fround(3)); - $86 = Math_fround($34 + $48); - $48 = Math_fround($33 + $48); - $33 = Math_fround(0); - $30 = ($30 | 0) == -1 ? 0 : ($30 << 2) + $31 | 0; - $0 = $44 ? $0 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $105 = quant_band_stereo($23 + 1504 | 0, $20, $9, $27, $36, $39, $30, $17, $0, $32, $85); - $34 = Math_fround(0); - while (1) { - $0 = $15 << 2; - $34 = Math_fround($34 + Math_fround(HEAPF32[$10 + $0 >> 2] * HEAPF32[$0 + $20 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - $15 = 0; - while (1) { - $0 = $15 << 2; - $33 = Math_fround($33 + Math_fround(HEAPF32[$28 + $0 >> 2] * HEAPF32[$0 + $9 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - $24 = $16; - $15 = HEAP32[$24 + 40 >> 2]; - $23 = HEAP32[$24 + 44 >> 2]; - $0 = $15; - $87 = $25 + 1456 | 0; - $15 = $87; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $15 = HEAP32[$24 + 36 >> 2]; - $23 = HEAP32[$24 + 32 >> 2]; - $0 = $23; - $88 = $25 + 1448 | 0; - $23 = $88; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $23 = HEAP32[$24 + 28 >> 2]; - $15 = HEAP32[$24 + 24 >> 2]; - $0 = $15; - $89 = $25 + 1440 | 0; - $15 = $89; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $15 = HEAP32[$24 + 20 >> 2]; - $23 = HEAP32[$24 + 16 >> 2]; - $0 = $23; - $90 = $25 + 1432 | 0; - $23 = $90; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $46; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $91 = $25 + 1424 | 0; - $15 = $91; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $16; - $23 = HEAP32[$24 >> 2]; - $26 = $23; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $24 = $58; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $24 = $15; - $92 = $25 + 1296 | 0; - $15 = $92; - HEAP32[$15 >> 2] = $24; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $57; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $24 = $23; - $93 = $25 + 1304 | 0; - $23 = $93; - HEAP32[$23 >> 2] = $24; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $56; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $24 = $15; - $94 = $25 + 1312 | 0; - $15 = $94; - HEAP32[$15 >> 2] = $24; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $55; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $24 = $23; - $95 = $25 + 1320 | 0; - $23 = $95; - HEAP32[$23 >> 2] = $24; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $54; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $24 = $15; - $96 = $25 + 1328 | 0; - $15 = $96; - HEAP32[$15 >> 2] = $24; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $43; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $24 = $23; - $97 = $25 + 1336 | 0; - $23 = $97; - HEAP32[$23 >> 2] = $24; - HEAP32[$23 + 4 >> 2] = $15; - $98 = $25 + 1344 | 0; - HEAP32[$98 >> 2] = HEAP32[$53 >> 2]; - $23 = $25; - HEAP32[$23 + 1416 >> 2] = $26; - $15 = $0; - HEAP32[$23 + 1420 >> 2] = $15; - $24 = $23; - $15 = HEAP32[$23 + 1504 >> 2]; - $23 = HEAP32[$23 + 1508 >> 2]; - $0 = $15; - $15 = $24; - HEAP32[$15 + 1288 >> 2] = $0; - HEAP32[$15 + 1292 >> 2] = $23; - $106 = memcpy($66, $20, $11); - $107 = memcpy($67, $9, $11); - if (!$44) { - memcpy($60, (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0, $11); - } - $99 = $47 + $74 | 0; - $100 = $73 - $47 | 0; - $29 = memcpy($25, $99, $100); - HEAP32[$16 + 4 >> 2] = $73; - HEAP32[$16 >> 2] = $74; - $24 = $75; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $46; - HEAP32[$23 + 8 >> 2] = $0; - HEAP32[$23 + 12 >> 2] = $15; - $24 = $29; - $15 = HEAP32[$24 + 1488 >> 2]; - $23 = HEAP32[$24 + 1492 >> 2]; - $0 = $15; - $15 = $46; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - HEAP32[$16 + 24 >> 2] = $47; - HEAP32[$45 + 16 >> 2] = HEAP32[$76 >> 2]; - $24 = $77; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $45; - HEAP32[$23 + 8 >> 2] = $0; - HEAP32[$23 + 12 >> 2] = $15; - $24 = $29; - $15 = HEAP32[$24 + 1464 >> 2]; - $23 = HEAP32[$24 + 1468 >> 2]; - $0 = $15; - $15 = $45; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $84; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $58; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $83; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $57; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $82; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $56; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $81; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $55; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $80; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $54; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $79; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $43; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - HEAP32[$53 >> 2] = HEAP32[$78 >> 2]; - $24 = $29; - $23 = HEAP32[$24 + 1352 >> 2]; - $15 = HEAP32[$24 + 1356 >> 2]; - $0 = $23; - $23 = $24; - HEAP32[$23 + 1504 >> 2] = $0; - HEAP32[$23 + 1508 >> 2] = $15; - $26 = memcpy($20, $10, $11); - $9 = memcpy($9, $28, $11); - if (!$72) { - $15 = HEAP32[$1 + 32 >> 2]; - $20 = HEAP16[$15 + ($51 << 1) >> 1]; - $0 = $20 - HEAP16[($2 << 1) + $15 >> 1] << $17; - $15 = HEAP16[($68 << 1) + $15 >> 1] - $20 << $17; - memcpy(($0 << 2) + $31 | 0, (($0 << 1) - $15 << 2) + $31 | 0, $15 - $0 << 2); - } - HEAP32[$29 + 1552 >> 2] = 1; - $15 = 0; - $0 = 0; - $34 = Math_fround($48 * $34); - $33 = Math_fround($86 * $33); - $108 = Math_fround($34 + $33); - $33 = Math_fround(0); - $0 = $44 ? $0 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $20 = quant_band_stereo($29 + 1504 | 0, $26, $9, $27, $36, $39, $30, $17, $0, $32, $85); - $34 = Math_fround(0); - while (1) { - $0 = $15 << 2; - $34 = Math_fround($34 + Math_fround(HEAPF32[$10 + $0 >> 2] * HEAPF32[$0 + $26 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - $15 = 0; - while (1) { - $0 = $15 << 2; - $33 = Math_fround($33 + Math_fround(HEAPF32[$28 + $0 >> 2] * HEAPF32[$0 + $9 >> 2])); - $15 = $15 + 1 | 0; - if (($27 | 0) != ($15 | 0)) { - continue; - } - break; - } - if (!(Math_fround(Math_fround($48 * $34) + Math_fround($86 * $33)) <= $108 ^ 1)) { - $15 = HEAP32[$29 + 1416 >> 2]; - $23 = HEAP32[$24 + 1420 >> 2]; - $0 = $15; - $15 = $16; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $87; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $16; - HEAP32[$23 + 40 >> 2] = $0; - HEAP32[$23 + 44 >> 2] = $15; - $24 = $88; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $16; - HEAP32[$15 + 32 >> 2] = $0; - HEAP32[$15 + 36 >> 2] = $23; - $24 = $89; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $16; - HEAP32[$23 + 24 >> 2] = $0; - HEAP32[$23 + 28 >> 2] = $15; - $24 = $90; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $16; - HEAP32[$15 + 16 >> 2] = $0; - HEAP32[$15 + 20 >> 2] = $23; - $24 = $91; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $46; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $92; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $58; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $93; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $57; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $94; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $56; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $95; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $55; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - $24 = $96; - $15 = HEAP32[$24 >> 2]; - $23 = HEAP32[$24 + 4 >> 2]; - $0 = $15; - $15 = $54; - HEAP32[$15 >> 2] = $0; - HEAP32[$15 + 4 >> 2] = $23; - $24 = $97; - $23 = HEAP32[$24 >> 2]; - $15 = HEAP32[$24 + 4 >> 2]; - $0 = $23; - $23 = $43; - HEAP32[$23 >> 2] = $0; - HEAP32[$23 + 4 >> 2] = $15; - HEAP32[$53 >> 2] = HEAP32[$98 >> 2]; - $24 = $29; - $15 = HEAP32[$24 + 1288 >> 2]; - $23 = HEAP32[$24 + 1292 >> 2]; - $0 = $15; - $15 = $24; - HEAP32[$15 + 1504 >> 2] = $0; - HEAP32[$15 + 1508 >> 2] = $23; - memcpy($26, $106, $11); - memcpy($9, $107, $11); - if (!$44) { - memcpy((HEAP16[$35 >> 1] << $17 << 2) + $42 | 0, $60, $11); - } - memcpy($99, $29, $100); - $20 = $105; - } - $11 = 0; - break label$23; - } - $11 = 0; - HEAP32[$25 + 1552 >> 2] = 0; - $15 = 0; - $10 = ($30 | 0) == -1 ? 0 : ($30 << 2) + $31 | 0; - $15 = $44 ? $15 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $20 = quant_band_stereo($25 + 1504 | 0, $20, $9, $27, $36, $39, $10, $17, $15, $32, $0 | $26); - break label$23; - } - $11 = 0; - $15 = 0; - $10 = ($30 | 0) == -1 ? 0 : ($30 << 2) + $31 | 0; - $15 = $44 ? $15 : (HEAP16[$35 >> 1] << $17 << 2) + $42 | 0; - $20 = quant_band($25 + 1504 | 0, $20, $27, $36, $39, $10, $17, $15, Math_fround(1), $32, $0 | $26); - } - $15 = $20; - } - $0 = Math_imul($22, $49); - HEAP8[$6 + $0 | 0] = $20; - HEAP8[($0 + $21 | 0) + $6 | 0] = $15; - $15 = HEAP32[$8 + $62 >> 2]; - HEAP32[$25 + 1560 >> 2] = 0; - $15 = ($61 + $71 | 0) + $15 | 0; - $10 = $27 << 3 < ($36 | 0); - if (($3 | 0) != ($52 | 0)) { - continue; - } - break; - } - $27 = HEAP32[$25 + 1544 >> 2]; - } - HEAP32[$19 >> 2] = $27; - __stack_pointer = $25 + 1568 | 0; -} -function silk_NSQ_c($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0; - $15 = __stack_pointer; - $60 = $15; - HEAP32[$1 + 4340 >> 2] = HEAP8[$2 + 34 | 0]; - $32 = HEAP32[$1 + 4328 >> 2]; - $19 = HEAPU8[$2 + 31 | 0]; - $23 = HEAP8[$2 + 29 | 0]; - $22 = HEAP8[$2 + 30 | 0]; - $18 = HEAP32[$0 + 4592 >> 2]; - $17 = HEAP32[$0 + 4584 >> 2]; - $16 = $18 + $17 | 0; - $34 = $15 - (($16 << 2) + 15 & -16) | 0; - $15 = $34; - __stack_pointer = $15; - $39 = $15 - (($16 << 1) + 15 & -16) | 0; - $16 = $39; - __stack_pointer = $16; - $15 = HEAP32[$0 + 4588 >> 2]; - $40 = $16 - (($15 << 2) + 15 & -16) | 0; - __stack_pointer = $40; - HEAP32[$1 + 4332 >> 2] = $18; - HEAP32[$1 + 4336 >> 2] = $18; - label$1 : { - label$2 : { - label$3 : { - $16 = HEAP32[$0 + 4580 >> 2]; - if (($16 | 0) >= 1) { - $30 = $13 << 16 >> 16; - $25 = HEAP16[(($23 << 1 & -4) + ($22 << 1) | 0) + 5840 >> 1]; - $41 = $25 + 944 | 0; - $46 = Math_imul($30, $41 << 16 >> 16); - $47 = $25 - 944 | 0; - $61 = Math_imul(0 - ($47 << 16) >> 16, $30); - $48 = ($19 & 255) == 4; - $62 = $48 ? 3 : 1; - $63 = $25 - 80 | 0; - $64 = $1 + 3900 | 0; - $16 = $13 >>> 1 | 0; - $65 = 512 - $16 | 0; - $42 = $16 - 512 | 0; - $49 = $14 << 16 >> 16; - $43 = ($18 << 1) + $1 | 0; - $44 = Math_imul($25, $30); - $66 = ($13 | 0) < 2049; - $28 = $1 + 3840 | 0; - $67 = $28; - while (1) { - $22 = $24 << 2; - $29 = HEAP32[$22 + $8 >> 2]; - HEAP32[$1 + 4348 >> 2] = 0; - $19 = 1; - $21 = (($24 >>> 1 | $48) << 5) + $5 | 0; - label$6 : { - if (($23 & 255) != 2) { - break label$6; - } - $23 = 2; - $32 = HEAP32[($24 << 2) + $12 >> 2]; - if ($24 & $62) { - break label$6; - } - $18 = HEAP32[$0 + 4592 >> 2]; - $13 = HEAP32[$0 + 4640 >> 2]; - $16 = ($18 - $32 | 0) - $13 | 0; - if (($16 | 0) <= 2) { - break label$3; - } - $16 = $16 - 2 | 0; - silk_LPC_analysis_filter(($16 << 1) + $39 | 0, (Math_imul($15, $24) + $16 << 1) + $1 | 0, $21, $18 - $16 | 0, $13, HEAP32[$0 + 5092 >> 2]); - HEAP32[$1 + 4348 >> 2] = 1; - HEAP32[$1 + 4332 >> 2] = HEAP32[$0 + 4592 >> 2]; - $23 = HEAPU8[$2 + 29 | 0]; - $19 = 0; - } - $20 = $11 + $22 | 0; - $14 = HEAP32[$20 >> 2]; - $16 = ($14 | 0) > 1 ? $14 : 1; - $13 = Math_clz32($16); - $15 = $16 << $13 - 1; - $18 = $15 >> 16; - $17 = 536870911 / ($18 | 0) | 0; - $35 = ($17 >> 15) + 1 >> 1; - $26 = $15 & 65535; - $17 = $17 << 16; - $15 = $17 >> 16; - $18 = 0 - ((Math_imul($26, $15) >> 16) + Math_imul($15, $18) << 3) | 0; - $15 = ((Math_imul($18, $35) + $17 | 0) + Math_imul($18 >> 16, $15) | 0) + (Math_imul($18 & 65528, $15) >> 16) | 0; - $18 = 15 - $13 | 0; - $27 = HEAP32[$12 + $22 >> 2]; - label$7 : { - if ($16 >>> 0 <= 131071) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $13 = -2147483648 >> $16; - $17 = (($15 | 0) > ($18 | 0) ? $18 : ($13 | 0) > ($15 | 0) ? $13 : $15) << $16; - break label$7; - } - $17 = $15 >> $18; - } - $33 = HEAP32[$0 + 4588 >> 2]; - if (($33 | 0) >= 1) { - $15 = ($17 >> 4) + 1 | 0; - $18 = $15 << 15 >> 16; - $13 = ($15 >> 16) + 1 >> 1; - $15 = 0; - while (1) { - $16 = HEAP16[($15 << 1) + $3 >> 1]; - HEAP32[($15 << 2) + $40 >> 2] = (Math_imul($16 >> 16, $18) + Math_imul($13, $16) | 0) + (Math_imul($16 & 65535, $18) >> 16); - $15 = $15 + 1 | 0; - if (($33 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - label$11 : { - if ($19) { - break label$11; - } - $17 = $24 ? $17 : Math_imul($17 >> 16, $49) + (Math_imul($17 & 65535, $49) >> 16) << 2; - $18 = HEAP32[$1 + 4332 >> 2]; - $15 = ($18 - $27 | 0) - 2 | 0; - if (($15 | 0) >= ($18 | 0)) { - break label$11; - } - $13 = $17 & 65535; - $17 = $17 >> 16; - while (1) { - $16 = HEAP16[($15 << 1) + $39 >> 1]; - HEAP32[($15 << 2) + $34 >> 2] = (Math_imul($16, $13) >> 16) + Math_imul($16, $17); - $15 = $15 + 1 | 0; - if (($18 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $15 = HEAP32[$1 + 4344 >> 2]; - if (($15 | 0) != ($14 | 0)) { - $16 = $15 >> 31; - $18 = Math_clz32($16 ^ $15 + $16); - $16 = $15 << $18 - 1; - $35 = $16; - $15 = $14 >> 31; - $13 = Math_clz32($15 ^ $14 + $15); - $17 = $14 << $13 - 1; - $15 = 536870911 / ($17 >> 16) << 16 >> 16; - $16 = (Math_imul($15, $16 & 65535) >> 16) + Math_imul($16 >> 16, $15) | 0; - $19 = $16 >> 31; - $26 = $19; - $19 = $17 >> 31; - $14 = $19; - $19 = $26; - $14 = __wasm_i64_mul($16, $19, $17, $14); - $17 = $14; - $19 = i64toi32_i32$HIGH_BITS; - $17 = $35 - ((($19 & 536870911) << 3 | $17 >>> 29) & -8) | 0; - $15 = (Math_imul($17 >> 16, $15) + $16 | 0) + (Math_imul($17 & 65535, $15) >> 16) | 0; - $16 = $18 - $13 | 0; - $18 = $16 + 13 | 0; - $16 = $16 + 29 | 0; - label$15 : { - if (($16 | 0) <= 15) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $13 = -2147483648 >> $16; - $18 = (($15 | 0) > ($18 | 0) ? $18 : ($13 | 0) > ($15 | 0) ? $13 : $15) << $16; - break label$15; - } - $18 = ($16 | 0) < 48 ? $15 >> $18 : 0; - } - $15 = HEAP32[$0 + 4592 >> 2]; - if (($15 | 0) >= 1) { - $17 = $18 & 65535; - $14 = $18 >> 16; - $15 = HEAP32[$1 + 4336 >> 2] - $15 | 0; - while (1) { - $16 = (($15 << 2) + $1 | 0) + 1280 | 0; - $19 = $16; - $16 = HEAP32[$16 >> 2]; - $13 = $16 << 16 >> 16; - HEAP32[$19 >> 2] = ((Math_imul($17, $13) >> 16) + Math_imul($13, $14) | 0) + Math_imul(($16 >> 15) + 1 >> 1, $18); - $15 = $15 + 1 | 0; - if (($15 | 0) < HEAP32[$1 + 4336 >> 2]) { - continue; - } - break; - } - } - label$19 : { - if (HEAP32[$1 + 4348 >> 2] | ($23 & 255) != 2) { - break label$19; - } - $17 = HEAP32[$1 + 4332 >> 2]; - $15 = ($17 - $27 | 0) - 2 | 0; - if (($15 | 0) >= ($17 | 0)) { - break label$19; - } - $14 = $18 & 65535; - $19 = $18 >> 16; - while (1) { - $16 = ($15 << 2) + $34 | 0; - $26 = $16; - $16 = HEAP32[$16 >> 2]; - $13 = $16 << 16 >> 16; - HEAP32[$26 >> 2] = ((Math_imul($14, $13) >> 16) + Math_imul($13, $19) | 0) + Math_imul(($16 >> 15) + 1 >> 1, $18); - $15 = $15 + 1 | 0; - if (($17 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $13 = $18 & 65535; - $15 = HEAP32[$1 + 4320 >> 2]; - $16 = $15 << 16 >> 16; - $17 = $18 >> 16; - HEAP32[$1 + 4320 >> 2] = ((Math_imul($13, $16) >> 16) + Math_imul($17, $16) | 0) + Math_imul(($15 >> 15) + 1 >> 1, $18); - $15 = HEAP32[$1 + 4324 >> 2]; - $16 = $15 << 16 >> 16; - HEAP32[$1 + 4324 >> 2] = ((Math_imul($16, $13) >> 16) + Math_imul($16, $17) | 0) + Math_imul(($15 >> 15) + 1 >> 1, $18); - $15 = 0; - $16 = 0; - while (1) { - $14 = (($16 << 2) + $1 | 0) + 3840 | 0; - $26 = $14; - $14 = HEAP32[$14 >> 2]; - $19 = $14 << 16 >> 16; - HEAP32[$26 >> 2] = ((Math_imul($19, $13) >> 16) + Math_imul($17, $19) | 0) + Math_imul(($14 >> 15) + 1 >> 1, $18); - $16 = $16 + 1 | 0; - if (($16 | 0) != 16) { - continue; - } - break; - } - while (1) { - $16 = (($15 << 2) + $1 | 0) + 4224 | 0; - $19 = $16; - $16 = HEAP32[$16 >> 2]; - $14 = $16 << 16 >> 16; - HEAP32[$19 >> 2] = ((Math_imul($14, $13) >> 16) + Math_imul($14, $17) | 0) + Math_imul(($16 >> 15) + 1 >> 1, $18); - $15 = $15 + 1 | 0; - if (($15 | 0) != 24) { - continue; - } - break; - } - HEAP32[$1 + 4344 >> 2] = HEAP32[$20 >> 2]; - $33 = HEAP32[$0 + 4588 >> 2]; - $14 = HEAP32[$20 >> 2]; - } - if (($33 | 0) >= 1) { - $36 = Math_imul($24, 10) + $6 | 0; - $27 = 0; - $50 = ($23 & 255) != 2; - $68 = $50 | ($32 | 0) > 0; - $15 = $29 >> 2; - $51 = ($15 | $29 << 15) >> 16; - $16 = HEAP32[$10 + $22 >> 2]; - $52 = $16 >> 16; - $29 = HEAP32[$0 + 4636 >> 2]; - $69 = $29 >> 1; - $70 = $29 & 1; - $53 = HEAP32[$0 + 4640 >> 2]; - $71 = $53 >> 1; - $54 = $14 << 10 >> 16; - $55 = $15 << 16 >> 16; - $56 = $16 << 16 >> 16; - $72 = ($14 >> 21) + 1 >> 1; - $14 = Math_imul($24, 48) + $7 | 0; - $15 = $29 - 1 | 0; - $35 = $14 + ($15 << 1) | 0; - $26 = (($15 << 2) + $1 | 0) + 4224 | 0; - $37 = ((HEAP32[$1 + 4336 >> 2] - $32 << 2) + $1 | 0) + 1284 | 0; - $31 = ((HEAP32[$1 + 4332 >> 2] - $32 << 2) + $34 | 0) + 8 | 0; - $57 = HEAP16[$9 + $22 >> 1]; - $15 = HEAP32[$1 + 4340 >> 2]; - $20 = $64; - while (1) { - HEAP32[$1 + 4340 >> 2] = Math_imul($15, 196314165) + 907633515; - $16 = HEAP16[$21 >> 1]; - $15 = HEAP32[$20 >> 2]; - $13 = (Math_imul($16, $15 >> 16) + $71 | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 2 >> 1]; - $15 = HEAP32[$20 - 4 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 4 >> 1]; - $15 = HEAP32[$20 - 8 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 6 >> 1]; - $15 = HEAP32[$20 - 12 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 8 >> 1]; - $15 = HEAP32[$20 - 16 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 10 >> 1]; - $15 = HEAP32[$20 - 20 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 12 >> 1]; - $15 = HEAP32[$20 - 24 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 14 >> 1]; - $15 = HEAP32[$20 - 28 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 16 >> 1]; - $15 = HEAP32[$20 - 32 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 18 >> 1]; - $15 = HEAP32[$20 - 36 >> 2]; - $38 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - if (($53 | 0) == 16) { - $16 = HEAP16[$21 + 20 >> 1]; - $15 = HEAP32[$20 - 40 >> 2]; - $13 = (Math_imul($16, $15 >> 16) + $38 | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 22 >> 1]; - $15 = HEAP32[$20 - 44 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 24 >> 1]; - $15 = HEAP32[$20 - 48 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 26 >> 1]; - $15 = HEAP32[$20 - 52 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 28 >> 1]; - $15 = HEAP32[$20 - 56 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$21 + 30 >> 1]; - $15 = HEAP32[$20 - 60 >> 2]; - $38 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - } - $45 = 0; - if (!$50) { - $16 = HEAP16[$36 >> 1]; - $15 = HEAP32[$31 >> 2]; - $13 = Math_imul($16, $15 >> 16) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 2 >> 1]; - $15 = HEAP32[$31 - 4 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 4 >> 1]; - $15 = HEAP32[$31 - 8 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 6 >> 1]; - $15 = HEAP32[$31 - 12 >> 2]; - $13 = ($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0; - $16 = HEAP16[$36 + 8 >> 1]; - $15 = HEAP32[$31 - 16 >> 2]; - $45 = (($13 + Math_imul($16, $15 >> 16) | 0) + (Math_imul($15 & 65535, $16) >> 16) | 0) + 2 | 0; - $31 = $31 + 4 | 0; - } - if ($70) { - break label$2; - } - $16 = HEAP32[$1 + 4224 >> 2]; - $15 = HEAP32[$1 + 4324 >> 2]; - HEAP32[$1 + 4224 >> 2] = $15; - $18 = HEAP16[$14 >> 1]; - $17 = (Math_imul($18, $15 >> 16) + $69 | 0) + (Math_imul($15 & 65535, $18) >> 16) | 0; - $15 = 2; - if (($29 | 0) >= 3) { - while (1) { - $13 = $1 + 4224 | 0; - $19 = $15 - 1 | 0; - $22 = $13 + ($19 << 2) | 0; - $18 = HEAP32[$22 >> 2]; - HEAP32[$22 >> 2] = $16; - $22 = ($15 << 2) + $13 | 0; - $23 = HEAP32[$22 >> 2]; - $13 = HEAP16[($19 << 1) + $14 >> 1]; - HEAP32[$22 >> 2] = $18; - $13 = (Math_imul($16 >> 16, $13) + $17 | 0) + (Math_imul($16 & 65535, $13) >> 16) | 0; - $16 = HEAP16[($15 << 1) + $14 >> 1]; - $17 = ($13 + Math_imul($16, $18 >> 16) | 0) + (Math_imul($18 & 65535, $16) >> 16) | 0; - $16 = $23; - $15 = $15 + 2 | 0; - if (($29 | 0) > ($15 | 0)) { - continue; - } - break; - } - } - HEAP32[$26 >> 2] = $16; - if (!$68) { - break label$1; - } - $15 = HEAP32[$1 + 4320 >> 2]; - $18 = $15 & 65535; - $15 = $15 >> 16; - $13 = HEAP16[$35 >> 1]; - $22 = ((Math_imul($57, $18) >> 16) + Math_imul($57, $15) | 0) + ((Math_imul($13, $16 >> 16) + $17 | 0) + (Math_imul($16 & 65535, $13) >> 16) << 1) | 0; - $13 = Math_imul($15, $52) + (Math_imul($18, $52) >> 16) | 0; - $15 = HEAP32[((HEAP32[$1 + 4336 >> 2] << 2) + $1 | 0) + 1276 >> 2]; - $23 = ($13 + Math_imul($15 >> 16, $56) | 0) + (Math_imul($15 & 65535, $56) >> 16) | 0; - $15 = (($38 << 2) - $22 | 0) - $23 | 0; - label$29 : { - if (($32 | 0) >= 1) { - $13 = ($15 << 1) + $45 | 0; - $15 = HEAP32[$37 - 4 >> 2]; - $16 = HEAP32[$37 - 8 >> 2] + HEAP32[$37 >> 2] | 0; - $15 = $13 - (((Math_imul($15 >> 16, $51) + Math_imul($16 >> 16, $55) | 0) + (Math_imul($16 & 65535, $55) >> 16) | 0) + (Math_imul($15 & 65535, $51) >> 16) << 1) >> 2; - $37 = $37 + 4 | 0; - break label$29; - } - $15 = $15 >> 1; - } - label$31 : { - label$32 : { - label$33 : { - label$34 : { - $58 = ($27 << 2) + $40 | 0; - $15 = HEAP32[$58 >> 2] - ($15 + 1 >> 1) | 0; - $15 = HEAP32[$1 + 4340 >> 2] < 0 ? 0 - $15 | 0 : $15; - $15 = ($15 | 0) > -31744 ? $15 : -31744; - $13 = ($15 | 0) < 30720 ? $15 : 30720; - $15 = $13 - $25 | 0; - $16 = $15; - label$35 : { - if ($66) { - break label$35; - } - $16 = $15 - $42 | 0; - if (($15 | 0) > ($42 | 0)) { - break label$35; - } - if (($15 | 0) >= ($65 | 0)) { - break label$34; - } - $16 = $15 + $42 | 0; - } - $15 = $16; - if (($15 | 0) >= 1024) { - $16 = ($15 & -1024) + $63 | 0; - $17 = Math_imul($16 << 16 >> 16, $30); - $18 = $16 + 1024 | 0; - $19 = Math_imul($18 << 16 >> 16, $30); - break label$31; - } - $16 = $25; - $18 = $41; - $17 = $44; - $19 = $46; - switch (($15 >> 10) + 1 | 0) { - case 1: - break label$31; - case 0: - break label$33; - default: - break label$32; - } - } - $16 = $25; - $18 = $41; - $17 = $44; - $19 = $46; - if (($15 | 0) >= 0) { - break label$31; - } - } - $16 = $47; - $18 = $25; - $17 = $61; - $19 = $44; - break label$31; - } - $16 = ($15 & -1024 | 80) + $25 | 0; - $17 = Math_imul(0 - ($16 << 16) >> 16, $30); - $18 = $16 + 1024 | 0; - $19 = Math_imul(0 - ($18 << 16) >> 16, $30); - } - $59 = $4 + $27 | 0; - $15 = $13 - $18 << 16 >> 16; - $19 = Math_imul($15, $15) + $19 | 0; - $15 = $13 - $16 << 16 >> 16; - $15 = ($19 | 0) < (Math_imul($15, $15) + $17 | 0) ? $18 : $16; - HEAP8[$59 | 0] = ($15 >>> 9 | 0) + 1 >>> 1; - $15 = $15 << 4; - $18 = ($45 << 1) + (HEAP32[$1 + 4340 >> 2] < 0 ? 0 - $15 | 0 : $15) | 0; - $15 = $18 + ($38 << 4) | 0; - $16 = (Math_imul($15 >> 16, $54) + Math_imul($15, $72) | 0) + (Math_imul($15 & 65534, $54) >> 16) | 0; - HEAP16[($27 << 1) + $43 >> 1] = ($16 | 0) > 8388479 ? 32767 : ($16 | 0) < -8388736 ? -32768 : ($16 >>> 7 | 0) + 1 >>> 1 | 0; - HEAP32[$20 + 4 >> 2] = $15; - $15 = $15 - (HEAP32[$58 >> 2] << 4) | 0; - HEAP32[$1 + 4324 >> 2] = $15; - $15 = $15 - ($22 << 2) | 0; - HEAP32[$1 + 4320 >> 2] = $15; - HEAP32[((HEAP32[$1 + 4336 >> 2] << 2) + $1 | 0) + 1280 >> 2] = $15 - ($23 << 2); - $15 = HEAP32[$1 + 4332 >> 2]; - HEAP32[($15 << 2) + $34 >> 2] = $18 << 1; - HEAP32[$1 + 4332 >> 2] = $15 + 1; - HEAP32[$1 + 4336 >> 2] = HEAP32[$1 + 4336 >> 2] + 1; - $15 = HEAP32[$1 + 4340 >> 2] + HEAP8[$59 | 0] | 0; - HEAP32[$1 + 4340 >> 2] = $15; - $20 = $20 + 4 | 0; - $27 = $27 + 1 | 0; - if (($33 | 0) != ($27 | 0)) { - continue; - } - break; - } - } - $15 = ($33 << 2) + $1 | 0; - $19 = $15 + 3896 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $67; - HEAP32[$14 + 56 >> 2] = $13; - HEAP32[$14 + 60 >> 2] = $17; - $19 = $15 + 3888 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 + 48 >> 2] = $13; - HEAP32[$17 + 52 >> 2] = $14; - $19 = $15 + 3880 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $28; - HEAP32[$14 + 40 >> 2] = $13; - HEAP32[$14 + 44 >> 2] = $17; - $19 = $15 + 3872 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 + 32 >> 2] = $13; - HEAP32[$17 + 36 >> 2] = $14; - $19 = $15 + 3864 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $28; - HEAP32[$14 + 24 >> 2] = $13; - HEAP32[$14 + 28 >> 2] = $17; - $19 = $15 + 3856 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 + 16 >> 2] = $13; - HEAP32[$17 + 20 >> 2] = $14; - $19 = $15 + 3848 | 0; - $14 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $13 = $14; - $14 = $28; - HEAP32[$14 + 8 >> 2] = $13; - HEAP32[$14 + 12 >> 2] = $17; - $19 = $15 + 3840 | 0; - $17 = HEAP32[$19 >> 2]; - $14 = HEAP32[$19 + 4 >> 2]; - $13 = $17; - $17 = $28; - HEAP32[$17 >> 2] = $13; - HEAP32[$17 + 4 >> 2] = $14; - $16 = HEAP32[$0 + 4580 >> 2]; - $24 = $24 + 1 | 0; - if (($16 | 0) > ($24 | 0)) { - $15 = HEAP32[$0 + 4588 >> 2]; - $4 = $15 + $4 | 0; - $16 = $15 << 1; - $3 = $16 + $3 | 0; - $43 = $16 + $43 | 0; - $23 = HEAPU8[$2 + 29 | 0]; - continue; - } - break; - } - $17 = HEAP32[$0 + 4584 >> 2]; - $18 = HEAP32[$0 + 4592 >> 2]; - } - HEAP32[$1 + 4328 >> 2] = HEAP32[(($16 << 2) + $12 | 0) - 4 >> 2]; - $15 = memmove($1, ($17 << 1) + $1 | 0, $18 << 1) + 1280 | 0; - memmove($15, (HEAP32[$0 + 4584 >> 2] << 2) + $15 | 0, HEAP32[$0 + 4592 >> 2] << 2); - __stack_pointer = $60; - return; - } - celt_fatal(16318, 16350, 146); - abort(); - } - celt_fatal(16361, 16350, 250); - abort(); - } - celt_fatal(16408, 16350, 258); - abort(); -} -function silk_encode_frame_FLP($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = Math_fround(0), $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - $9 = __stack_pointer - 13584 | 0; - __stack_pointer = $9; - HEAP32[$9 + 40 >> 2] = 0; - HEAP32[$9 + 44 >> 2] = 0; - HEAP32[$9 + 32 >> 2] = 0; - HEAP32[$9 + 36 >> 2] = 0; - $10 = HEAP32[$0 + 4620 >> 2]; - HEAP8[$0 + 4770 | 0] = $10 & 3; - HEAP32[$0 + 4620 >> 2] = $10 + 1; - $10 = HEAP32[$0 + 4592 >> 2]; - silk_LP_variable_cutoff($0 + 16 | 0, $0 + 5098 | 0, HEAP32[$0 + 4584 >> 2]); - $14 = $10 << 2; - $28 = $0 + 7180 | 0; - $15 = $14 + $28 | 0; - $11 = Math_imul(HEAP32[$0 + 4576 >> 2], 5); - $12 = $15 + ($11 << 2) | 0; - $13 = HEAP32[$0 + 4584 >> 2]; - if (($13 | 0) >= 1) { - $10 = $13; - while (1) { - $6 = $10 - 1 | 0; - HEAPF32[($6 << 2) + $12 >> 2] = HEAP16[(($10 << 1) + $0 | 0) + 5096 >> 1]; - $7 = ($10 | 0) > 1; - $10 = $6; - if ($7) { - continue; - } - break; - } - } - HEAPF32[$12 >> 2] = HEAPF32[$12 >> 2] + Math_fround(9.999999974752427e-7); - $10 = $13 >> 3; - $6 = ($11 + $10 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(9.999999974752427e-7); - $6 = (($10 << 1) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(-9.999999974752427e-7); - $6 = (Math_imul($10, 3) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(-9.999999974752427e-7); - $6 = (($10 << 2) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(9.999999974752427e-7); - $6 = (Math_imul($10, 5) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(9.999999974752427e-7); - $6 = (Math_imul($10, 6) + $11 << 2) + $15 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] + Math_fround(-9.999999974752427e-7); - $10 = (Math_imul($10, 7) + $11 << 2) + $15 | 0; - HEAPF32[$10 >> 2] = HEAPF32[$10 >> 2] + Math_fround(-9.999999974752427e-7); - label$3 : { - if (HEAP32[$0 + 4680 >> 2]) { - break label$3; - } - $20 = $0 + 4736 | 0; - silk_find_pitch_lags_FLP($0, $9 + 8480 | 0, $9 + 5792 | 0, $15, HEAP32[$0 + 5092 >> 2]); - $10 = ($9 + 5792 | 0) + $14 | 0; - silk_noise_shape_analysis_FLP($0, $9 + 8480 | 0, $10, $15); - silk_find_pred_coefs_FLP($0, $9 + 8480 | 0, $10, $15, $3); - silk_process_gains_FLP($0, $9 + 8480 | 0, $3); - if (!(!HEAP32[$0 + 6092 >> 2] | HEAP32[$0 + 4532 >> 2] < 78)) { - $10 = HEAP32[$0 + 5748 >> 2]; - HEAP32[(($10 << 2) + $0 | 0) + 4724 >> 2] = 1; - memcpy($9 + 9232 | 0, $0 + 148 | 0, 4352); - $12 = (Math_imul($10, 36) + $0 | 0) + 6100 | 0; - $7 = $0 + 4768 | 0; - $7 = HEAPU16[$7 >> 1] | HEAPU16[$7 + 2 >> 1] << 16; - HEAP16[$12 + 32 >> 1] = $7; - HEAP16[$12 + 34 >> 1] = $7 >>> 16; - $8 = $0 + 4760 | 0; - $6 = HEAPU16[$8 >> 1] | HEAPU16[$8 + 2 >> 1] << 16; - $7 = HEAPU16[$8 + 4 >> 1] | HEAPU16[$8 + 6 >> 1] << 16; - $8 = $6; - $6 = $12; - HEAP16[$6 + 24 >> 1] = $8; - HEAP16[$6 + 26 >> 1] = $8 >>> 16; - HEAP16[$6 + 28 >> 1] = $7; - HEAP16[$6 + 30 >> 1] = $7 >>> 16; - $8 = $0 + 4752 | 0; - $7 = HEAPU16[$8 >> 1] | HEAPU16[$8 + 2 >> 1] << 16; - $6 = HEAPU16[$8 + 4 >> 1] | HEAPU16[$8 + 6 >> 1] << 16; - $8 = $7; - $7 = $12; - HEAP16[$7 + 16 >> 1] = $8; - HEAP16[$7 + 18 >> 1] = $8 >>> 16; - HEAP16[$7 + 20 >> 1] = $6; - HEAP16[$7 + 22 >> 1] = $6 >>> 16; - $8 = $0 + 4744 | 0; - $6 = HEAPU16[$8 >> 1] | HEAPU16[$8 + 2 >> 1] << 16; - $7 = HEAPU16[$8 + 4 >> 1] | HEAPU16[$8 + 6 >> 1] << 16; - $8 = $6; - $6 = $12; - HEAP16[$6 + 8 >> 1] = $8; - HEAP16[$6 + 10 >> 1] = $8 >>> 16; - HEAP16[$6 + 12 >> 1] = $7; - HEAP16[$6 + 14 >> 1] = $7 >>> 16; - $6 = HEAPU16[$0 + 4740 >> 1] | HEAPU16[$0 + 4742 >> 1] << 16; - $7 = HEAPU16[$0 + 4736 >> 1] | HEAPU16[$0 + 4738 >> 1] << 16; - $8 = $7; - $7 = $12; - HEAP16[$7 >> 1] = $8; - HEAP16[$7 + 2 >> 1] = $8 >>> 16; - HEAP16[$7 + 4 >> 1] = $6; - HEAP16[$7 + 6 >> 1] = $6 >>> 16; - $10 = HEAP32[$0 + 4580 >> 2]; - memcpy($9 + 48 | 0, $9 + 8480 | 0, $10 << 2); - $8 = $9 + 1344 | 0; - $11 = $0 + 4540 | 0; - $14 = ($3 | 0) == 2; - $6 = HEAP32[$0 + 5748 >> 2]; - if (!(HEAP32[(($6 << 2) + $0 | 0) + 4720 >> 2] ? $6 : 0)) { - HEAP8[$0 + 4540 | 0] = HEAPU8[$0 + 7168 | 0]; - $10 = HEAPU8[$12 | 0] + HEAPU8[$0 + 6096 | 0] | 0; - HEAP8[$12 | 0] = $10 << 24 >> 24 < 63 ? $10 : 63; - $10 = HEAP32[$0 + 4580 >> 2]; - } - silk_gains_dequant($8, $7, $11, $14, $10); - $7 = HEAP32[$0 + 4580 >> 2]; - if (($7 | 0) >= 1) { - $10 = 0; - while (1) { - $6 = $10 << 2; - HEAPF32[$6 + ($9 + 8480 | 0) >> 2] = Math_fround(HEAP32[($9 + 1344 | 0) + $6 >> 2]) * Math_fround(152587890625e-16); - $10 = $10 + 1 | 0; - if (($7 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - silk_NSQ_wrapper_FLP($0, $9 + 8480 | 0, $12, $9 + 9232 | 0, (Math_imul(HEAP32[$0 + 5748 >> 2], 320) + $0 | 0) + 6208 | 0, $15); - memcpy($9 + 8480 | 0, $9 + 48 | 0, HEAP32[$0 + 4580 >> 2] << 2); - } - $16 = silk_gains_ID($20, HEAP32[$0 + 4580 >> 2]); - $8 = $2; - $6 = HEAP32[$8 + 40 >> 2]; - $7 = HEAP32[$8 + 44 >> 2]; - $11 = $6; - $29 = $9 + 5784 | 0; - $6 = $29; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 36 >> 2]; - $7 = HEAP32[$8 + 32 >> 2]; - $11 = $7; - $30 = $9 + 5776 | 0; - $7 = $30; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 28 >> 2]; - $6 = HEAP32[$8 + 24 >> 2]; - $11 = $6; - $31 = $9 + 5768 | 0; - $6 = $31; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 20 >> 2]; - $7 = HEAP32[$8 + 16 >> 2]; - $11 = $7; - $32 = $9 + 5760 | 0; - $7 = $32; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 12 >> 2]; - $6 = HEAP32[$8 + 8 >> 2]; - $11 = $6; - $33 = $9 + 5752 | 0; - $6 = $33; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 4 >> 2]; - $7 = HEAP32[$8 >> 2]; - HEAP32[$9 + 5744 >> 2] = $7; - HEAP32[$9 + 5748 >> 2] = $6; - $21 = $0 + 148 | 0; - memcpy($9 + 9232 | 0, $21, 4352); - $41 = $0 + 4736 | 0; - $34 = ($3 | 0) == 2; - $42 = $4 - 5 | 0; - $26 = $0 + 7168 | 0; - $24 = $0 + 4772 | 0; - $35 = HEAP32[$0 + 5768 >> 2]; - $36 = HEAPU16[$0 + 5772 >> 1]; - $43 = HEAPU8[$0 + 4770 | 0]; - $13 = 256; - $27 = -1; - $14 = -1; - while (1) { - $10 = ($16 | 0) == ($27 | 0); - label$10 : { - if ($10) { - $11 = $25; - break label$10; - } - if (($14 | 0) == ($16 | 0)) { - $11 = $22; - break label$10; - } - if ($17) { - $7 = HEAP32[$9 + 5748 >> 2]; - $6 = HEAP32[$9 + 5744 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 >> 2] = $8; - HEAP32[$6 + 4 >> 2] = $7; - $8 = $29; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 40 >> 2] = $8; - HEAP32[$7 + 44 >> 2] = $6; - $8 = $30; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 32 >> 2] = $8; - HEAP32[$6 + 36 >> 2] = $7; - $8 = $31; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 24 >> 2] = $8; - HEAP32[$7 + 28 >> 2] = $6; - $8 = $32; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 16 >> 2] = $8; - HEAP32[$6 + 20 >> 2] = $7; - $8 = $33; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 8 >> 2] = $8; - HEAP32[$7 + 12 >> 2] = $6; - memcpy($21, $9 + 9232 | 0, 4352); - HEAP16[$0 + 5772 >> 1] = $36; - HEAP8[$0 + 4770 | 0] = $43; - HEAP32[$0 + 5768 >> 2] = $35; - } - silk_NSQ_wrapper_FLP($0, $9 + 8480 | 0, $20, $21, $24, $15); - if (!(($17 | 0) != 6 | $19)) { - $8 = $2; - $6 = HEAP32[$8 + 16 >> 2]; - $7 = HEAP32[$8 + 20 >> 2]; - $11 = $6; - $6 = $9 + 5736 | 0; - HEAP32[$6 >> 2] = $11; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 12 >> 2]; - $7 = HEAP32[$8 + 8 >> 2]; - $11 = $7; - $7 = $9 + 5728 | 0; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 4 >> 2]; - $6 = HEAP32[$8 >> 2]; - HEAP32[$9 + 5720 >> 2] = $6; - HEAP32[$9 + 5724 >> 2] = $7; - $18 = HEAP32[$8 + 24 >> 2]; - $6 = HEAP32[$8 + 40 >> 2]; - $7 = HEAP32[$8 + 36 >> 2]; - $11 = $7; - $7 = $9 + 5704 | 0; - HEAP32[$7 >> 2] = $11; - HEAP32[$7 + 4 >> 2] = $6; - HEAP32[$9 + 5712 >> 2] = HEAP32[$8 + 44 >> 2]; - $7 = HEAP32[$8 + 32 >> 2]; - $6 = HEAP32[$8 + 28 >> 2]; - HEAP32[$9 + 5696 >> 2] = $6; - HEAP32[$9 + 5700 >> 2] = $7; - } - silk_encode_indices($0, $2, HEAP32[$0 + 5748 >> 2], 0, $3); - silk_encode_pulses($2, HEAP8[$0 + 4765 | 0], HEAP8[$0 + 4766 | 0], $24, HEAP32[$0 + 4584 >> 2]); - $11 = (HEAP32[$2 + 20 >> 2] + Math_clz32(HEAP32[$2 + 28 >> 2]) | 0) - 32 | 0; - if (!($19 | ($11 | 0) <= ($4 | 0) | ($17 | 0) != 6)) { - $6 = HEAP32[$9 + 5724 >> 2]; - $7 = HEAP32[$9 + 5720 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 >> 2] = $8; - HEAP32[$7 + 4 >> 2] = $6; - $8 = $9 + 5736 | 0; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 16 >> 2] = $8; - HEAP32[$6 + 20 >> 2] = $7; - $8 = $9 + 5728 | 0; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 8 >> 2] = $8; - HEAP32[$7 + 12 >> 2] = $6; - HEAP32[$7 + 24 >> 2] = $18; - HEAP32[$7 + 44 >> 2] = HEAP32[$9 + 5712 >> 2]; - $8 = $9 + 5704 | 0; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $8 = $6; - $6 = $2; - HEAP32[$6 + 36 >> 2] = $8; - HEAP32[$6 + 40 >> 2] = $7; - $6 = HEAP32[$9 + 5700 >> 2]; - $7 = HEAP32[$9 + 5696 >> 2]; - $8 = $7; - $7 = $2; - HEAP32[$7 + 28 >> 2] = $8; - HEAP32[$7 + 32 >> 2] = $6; - $7 = HEAPU8[$9 + 9224 | 0]; - HEAP8[$0 + 7168 | 0] = $7; - $6 = HEAP32[$0 + 4580 >> 2]; - if (($6 | 0) >= 1) { - memset($41, 4, $6); - } - if (!$34) { - HEAP8[$20 | 0] = $7; - } - HEAP32[$0 + 5768 >> 2] = $35; - HEAP16[$0 + 5772 >> 1] = $36; - $6 = HEAP32[$0 + 4584 >> 2]; - if (($6 | 0) >= 1) { - memset($24, 0, $6); - } - silk_encode_indices($0, $2, HEAP32[$0 + 5748 >> 2], 0, $3); - silk_encode_pulses($2, HEAP8[$0 + 4765 | 0], HEAP8[$0 + 4766 | 0], $24, HEAP32[$0 + 4584 >> 2]); - $11 = (HEAP32[$2 + 20 >> 2] + Math_clz32(HEAP32[$2 + 28 >> 2]) | 0) - 32 | 0; - } - if ($5 | $17) { - break label$10; - } - if (($4 | 0) >= ($11 | 0)) { - break label$3; - } - } - label$19 : { - label$20 : { - label$21 : { - label$22 : { - label$23 : { - label$24 : { - if (($17 | 0) == 6) { - if (!$19 | !(($4 | 0) < ($11 | 0) | $10)) { - break label$3; - } - $7 = HEAP32[$9 + 5724 >> 2]; - $6 = HEAP32[$9 + 5720 >> 2]; - $3 = $6; - $6 = $2; - HEAP32[$6 >> 2] = $3; - HEAP32[$6 + 4 >> 2] = $7; - $8 = $9 + 5736 | 0; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $3 = $7; - $7 = $2; - HEAP32[$7 + 16 >> 2] = $3; - HEAP32[$7 + 20 >> 2] = $6; - $8 = $9 + 5728 | 0; - $6 = HEAP32[$8 >> 2]; - $7 = HEAP32[$8 + 4 >> 2]; - $3 = $6; - $6 = $2; - HEAP32[$6 + 8 >> 2] = $3; - HEAP32[$6 + 12 >> 2] = $7; - HEAP32[$6 + 24 >> 2] = $18; - HEAP32[$6 + 44 >> 2] = HEAP32[$9 + 5712 >> 2]; - $8 = $9 + 5704 | 0; - $7 = HEAP32[$8 >> 2]; - $6 = HEAP32[$8 + 4 >> 2]; - $3 = $7; - $7 = $2; - HEAP32[$7 + 36 >> 2] = $3; - HEAP32[$7 + 40 >> 2] = $6; - $7 = HEAP32[$9 + 5700 >> 2]; - $6 = HEAP32[$9 + 5696 >> 2]; - $3 = $6; - $6 = $2; - HEAP32[$6 + 28 >> 2] = $3; - HEAP32[$6 + 32 >> 2] = $7; - if ($18 >>> 0 >= 1276) { - break label$24; - } - memcpy(HEAP32[$2 >> 2], $9 + 48 | 0, $18); - memcpy($21, $9 + 1344 | 0, 4352); - HEAP8[$26 | 0] = $44; - break label$3; - } - label$26 : { - label$27 : { - label$28 : { - label$29 : { - if (($4 | 0) < ($11 | 0)) { - if ($17 >>> 0 < 2 | $19) { - break label$29; - } - $37 = Math_fround(HEAPF32[$9 + 9172 >> 2] * Math_fround(1.5)); - HEAPF32[$9 + 9172 >> 2] = $37 > Math_fround(1.5) ? $37 : Math_fround(1.5); - $38 = 0; - HEAP8[$0 + 4766 | 0] = 0; - $16 = -1; - break label$28; - } - if (($11 | 0) >= ($42 | 0)) { - break label$3; - } - if (!$10) { - $8 = $2; - $7 = HEAP32[$8 + 16 >> 2]; - $6 = HEAP32[$8 + 20 >> 2]; - $12 = $7; - $7 = $9 + 5736 | 0; - HEAP32[$7 >> 2] = $12; - HEAP32[$7 + 4 >> 2] = $6; - $7 = HEAP32[$8 + 12 >> 2]; - $6 = HEAP32[$8 + 8 >> 2]; - $12 = $6; - $6 = $9 + 5728 | 0; - HEAP32[$6 >> 2] = $12; - HEAP32[$6 + 4 >> 2] = $7; - $6 = HEAP32[$8 + 4 >> 2]; - $7 = HEAP32[$8 >> 2]; - HEAP32[$9 + 5720 >> 2] = $7; - HEAP32[$9 + 5724 >> 2] = $6; - $18 = HEAP32[$8 + 24 >> 2]; - $7 = HEAP32[$8 + 40 >> 2]; - $6 = HEAP32[$8 + 36 >> 2]; - $12 = $6; - $6 = $9 + 5704 | 0; - HEAP32[$6 >> 2] = $12; - HEAP32[$6 + 4 >> 2] = $7; - HEAP32[$9 + 5712 >> 2] = HEAP32[$8 + 44 >> 2]; - $6 = HEAP32[$8 + 32 >> 2]; - $7 = HEAP32[$8 + 28 >> 2]; - HEAP32[$9 + 5696 >> 2] = $7; - HEAP32[$9 + 5700 >> 2] = $6; - if ($18 >>> 0 >= 1276) { - break label$23; - } - memcpy($9 + 48 | 0, HEAP32[$2 >> 2], $18); - memcpy($9 + 1344 | 0, $21, 4352); - $44 = HEAPU8[$26 | 0]; - } - $23 = $13 << 16 >> 16; - $19 = 1; - if (!$38) { - break label$22; - } - $25 = $11; - $11 = $22; - $27 = $16; - break label$26; - } - $39 = $13 << 16 >> 16; - $38 = 1; - if ($19) { - break label$27; - } - $22 = $11; - } - $40 = HEAP32[$0 + 4580 >> 2]; - if (($40 | 0) < 1) { - break label$21; - } - $11 = 0; - $14 = HEAP32[$0 + 4588 >> 2]; - $12 = $14; - while (1) { - $6 = 0; - $10 = Math_imul($11, $14); - $8 = $11 + 1 | 0; - if (($10 | 0) < (Math_imul($8, $14) | 0)) { - while (1) { - $7 = HEAP8[($0 + $10 | 0) + 4772 | 0]; - $45 = $7; - $7 = $7 >> 31; - $6 = ($7 ^ $7 + $45) + $6 | 0; - $10 = $10 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - label$35 : { - label$36 : { - if ($17) { - $10 = $11 << 2; - if (HEAP32[$10 + $9 >> 2] <= ($6 | 0) | HEAP32[($9 + 32 | 0) + $10 >> 2]) { - break label$36; - } - } - HEAP16[($9 + 24 | 0) + ($11 << 1) >> 1] = $13; - HEAP32[($11 << 2) + $9 >> 2] = $6; - break label$35; - } - HEAP32[($9 + 32 | 0) + $10 >> 2] = 1; - } - $12 = $12 + $14 | 0; - $11 = $8; - if (($40 | 0) != ($11 | 0)) { - continue; - } - break; - } - break label$21; - } - $14 = $16; - $16 = $14; - if (!$19) { - break label$20; - } - } - $10 = $39 - $23 | 0; - $6 = ((Math_imul($10, $4 - $25 | 0) | 0) / ($11 - $25 | 0) | 0) + $23 | 0; - $7 = $6 << 16 >> 16; - $10 = $10 >> 2; - $13 = $23 + $10 | 0; - if (($7 | 0) > ($13 | 0)) { - break label$19; - } - $10 = $39 - $10 | 0; - $13 = ($10 | 0) > ($7 | 0) ? $10 : $6; - break label$19; - } - celt_fatal(16895, 16942, 251); - abort(); - } - celt_fatal(16972, 16942, 281); - abort(); - } - $10 = silk_log2lin((($11 - $4 << 7) / HEAP32[$0 + 4584 >> 2] | 0) + 2048 | 0); - $13 = (Math_imul($10 & 65535, $23) >>> 16 | 0) + Math_imul($10 >> 16, $23) | 0; - $25 = $11; - $11 = $22; - $27 = $16; - break label$19; - } - $11 = $22; - } - $14 = $16; - $13 = $13 << 16 >> 16 < 16384 ? $13 << 1 : 32767; - } - $10 = 0; - $12 = HEAP32[$0 + 4580 >> 2]; - if (($12 | 0) >= 1) { - while (1) { - $7 = $13; - $6 = $10 << 2; - $7 = HEAP32[$6 + ($9 + 32 | 0) >> 2] ? HEAPU16[($9 + 24 | 0) + ($10 << 1) >> 1] : $7; - $8 = ($9 + 1328 | 0) + $6 | 0; - $7 = $7 << 16 >> 16; - $6 = HEAP32[($9 + $6 | 0) + 9208 >> 2]; - $6 = (Math_imul($7, $6 & 65535) >> 16) + Math_imul($6 >> 16, $7) | 0; - $6 = ($6 | 0) > -8388608 ? $6 : -8388608; - HEAP32[$8 >> 2] = (($6 | 0) < 8388607 ? $6 : 8388607) << 8; - $10 = $10 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - HEAP8[$0 + 7168 | 0] = HEAPU8[$9 + 9224 | 0]; - silk_gains_quant($20, $9 + 1328 | 0, $26, $34, $12); - $16 = silk_gains_ID($20, HEAP32[$0 + 4580 >> 2]); - $10 = 0; - $7 = HEAP32[$0 + 4580 >> 2]; - if (($7 | 0) >= 1) { - while (1) { - $6 = $10 << 2; - HEAPF32[$6 + ($9 + 8480 | 0) >> 2] = Math_fround(HEAP32[($9 + 1328 | 0) + $6 >> 2]) * Math_fround(152587890625e-16); - $10 = $10 + 1 | 0; - if (($7 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $17 = $17 + 1 | 0; - $22 = $11; - continue; - } - } - memmove($28, ((HEAP32[$0 + 4584 >> 2] << 2) + $0 | 0) + 7180 | 0, HEAP32[$0 + 4592 >> 2] + Math_imul(HEAP32[$0 + 4576 >> 2], 5) << 2); - $10 = 0; - if (!HEAP32[$0 + 4680 >> 2]) { - $10 = HEAP32[((HEAP32[$0 + 4580 >> 2] << 2) + $9 | 0) + 8704 >> 2]; - HEAP32[$0 + 4664 >> 2] = 0; - HEAP8[$0 + 4541 | 0] = HEAPU8[$0 + 4765 | 0]; - HEAP32[$0 + 4544 >> 2] = $10; - $10 = (HEAP32[$2 + 20 >> 2] + Math_clz32(HEAP32[$2 + 28 >> 2]) | 0) - 25 >> 3; - } - HEAP32[$1 >> 2] = $10; - __stack_pointer = $9 + 13584 | 0; - return 0; -} -function printf_core($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - $7 = __stack_pointer - 80 | 0; - __stack_pointer = $7; - HEAP32[$7 + 76 >> 2] = $1; - $22 = $7 + 55 | 0; - $20 = $7 + 56 | 0; - $1 = 0; - label$1 : { - label$2 : while (1) { - label$3 : { - if (($17 | 0) < 0) { - break label$3; - } - if ((2147483647 - $17 | 0) < ($1 | 0)) { - HEAP32[__errno_location() >> 2] = 61; - $17 = -1; - break label$3; - } - $17 = $1 + $17 | 0; - } - label$5 : { - label$7 : { - label$8 : { - $13 = HEAP32[$7 + 76 >> 2]; - $1 = $13; - $8 = HEAPU8[$1 | 0]; - if ($8) { - while (1) { - label$11 : { - $8 = $8 & 255; - label$12 : { - if (!$8) { - $8 = $1; - break label$12; - } - if (($8 | 0) != 37) { - break label$11; - } - $8 = $1; - while (1) { - if (HEAPU8[$1 + 1 | 0] != 37) { - break label$12; - } - $9 = $1 + 2 | 0; - HEAP32[$7 + 76 >> 2] = $9; - $8 = $8 + 1 | 0; - $12 = HEAPU8[$1 + 2 | 0]; - $1 = $9; - if (($12 | 0) == 37) { - continue; - } - break; - } - } - $1 = $8 - $13 | 0; - if ($0) { - out($0, $13, $1); - } - if ($1) { - continue label$2; - } - $1 = isdigit(HEAP8[HEAP32[$7 + 76 >> 2] + 1 | 0]); - $10 = $7; - $8 = HEAP32[$7 + 76 >> 2]; - label$16 : { - if (!(!$1 | HEAPU8[$8 + 2 | 0] != 36)) { - $21 = 1; - $1 = $8 + 3 | 0; - $19 = HEAP8[$8 + 1 | 0] - 48 | 0; - break label$16; - } - $1 = $8 + 1 | 0; - $19 = -1; - } - HEAP32[$10 + 76 >> 2] = $1; - $18 = 0; - $12 = HEAP8[$1 | 0]; - $9 = $12 - 32 | 0; - label$18 : { - if ($9 >>> 0 > 31) { - $8 = $1; - break label$18; - } - $8 = $1; - $9 = 1 << $9; - if (!($9 & 75913)) { - break label$18; - } - while (1) { - $8 = $1 + 1 | 0; - HEAP32[$7 + 76 >> 2] = $8; - $18 = $9 | $18; - $12 = HEAP8[$1 + 1 | 0]; - $9 = $12 - 32 | 0; - if ($9 >>> 0 >= 32) { - break label$18; - } - $1 = $8; - $9 = 1 << $9; - if ($9 & 75913) { - continue; - } - break; - } - } - label$21 : { - if (($12 | 0) == 42) { - $10 = $7; - label$23 : { - label$24 : { - if (!isdigit(HEAP8[$8 + 1 | 0])) { - break label$24; - } - $8 = HEAP32[$7 + 76 >> 2]; - if (HEAPU8[$8 + 2 | 0] != 36) { - break label$24; - } - HEAP32[((HEAP8[$8 + 1 | 0] << 2) + $4 | 0) - 192 >> 2] = 10; - $15 = HEAP32[((HEAP8[$8 + 1 | 0] << 3) + $3 | 0) - 384 >> 2]; - $21 = 1; - $1 = $8 + 3 | 0; - break label$23; - } - if ($21) { - break label$8; - } - $21 = 0; - $15 = 0; - if ($0) { - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $15 = HEAP32[$1 >> 2]; - } - $1 = HEAP32[$7 + 76 >> 2] + 1 | 0; - } - HEAP32[$10 + 76 >> 2] = $1; - if (($15 | 0) > -1) { - break label$21; - } - $15 = 0 - $15 | 0; - $18 = $18 | 8192; - break label$21; - } - $15 = getint($7 + 76 | 0); - if (($15 | 0) < 0) { - break label$8; - } - $1 = HEAP32[$7 + 76 >> 2]; - } - $11 = -1; - label$26 : { - if (HEAPU8[$1 | 0] != 46) { - break label$26; - } - if (HEAPU8[$1 + 1 | 0] == 42) { - label$28 : { - if (!isdigit(HEAP8[$1 + 2 | 0])) { - break label$28; - } - $1 = HEAP32[$7 + 76 >> 2]; - if (HEAPU8[$1 + 3 | 0] != 36) { - break label$28; - } - HEAP32[((HEAP8[$1 + 2 | 0] << 2) + $4 | 0) - 192 >> 2] = 10; - $11 = HEAP32[((HEAP8[$1 + 2 | 0] << 3) + $3 | 0) - 384 >> 2]; - $1 = $1 + 4 | 0; - HEAP32[$7 + 76 >> 2] = $1; - break label$26; - } - if ($21) { - break label$8; - } - if ($0) { - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $11 = HEAP32[$1 >> 2]; - } else { - $11 = 0; - } - $1 = HEAP32[$7 + 76 >> 2] + 2 | 0; - HEAP32[$7 + 76 >> 2] = $1; - break label$26; - } - HEAP32[$7 + 76 >> 2] = $1 + 1; - $11 = getint($7 + 76 | 0); - $1 = HEAP32[$7 + 76 >> 2]; - } - $8 = 0; - while (1) { - $9 = $8; - $16 = -1; - if (HEAP8[$1 | 0] - 65 >>> 0 > 57) { - break label$1; - } - $12 = $1 + 1 | 0; - HEAP32[$7 + 76 >> 2] = $12; - $8 = HEAP8[$1 | 0]; - $1 = $12; - $8 = HEAPU8[(Math_imul($9, 58) + $8 | 0) + 1071 | 0]; - if ($8 - 1 >>> 0 < 8) { - continue; - } - break; - } - label$32 : { - label$33 : { - if (($8 | 0) != 19) { - if (!$8) { - break label$1; - } - if (($19 | 0) >= 0) { - HEAP32[($19 << 2) + $4 >> 2] = $8; - $10 = ($19 << 3) + $3 | 0; - $14 = HEAP32[$10 >> 2]; - $10 = HEAP32[$10 + 4 >> 2]; - HEAP32[$7 + 64 >> 2] = $14; - HEAP32[$7 + 68 >> 2] = $10; - break label$33; - } - if (!$0) { - break label$5; - } - pop_arg($7 - -64 | 0, $8, $2, $6); - $12 = HEAP32[$7 + 76 >> 2]; - break label$32; - } - if (($19 | 0) > -1) { - break label$1; - } - } - $1 = 0; - if (!$0) { - continue label$2; - } - } - $14 = $18 & -65537; - $8 = $18 & 8192 ? $14 : $18; - $16 = 0; - $19 = 1116; - $18 = $20; - label$36 : { - label$37 : { - label$38 : { - label$39 : { - label$40 : { - label$41 : { - label$42 : { - label$43 : { - label$44 : { - label$45 : { - label$46 : { - label$47 : { - label$48 : { - label$49 : { - label$50 : { - label$51 : { - $1 = HEAP8[$12 - 1 | 0]; - $1 = $9 ? ($1 & 15) == 3 ? $1 & -33 : $1 : $1; - switch ($1 - 88 | 0) { - case 11: - break label$36; - case 9: - case 13: - case 14: - case 15: - break label$37; - case 27: - break label$42; - case 12: - case 17: - break label$45; - case 23: - break label$46; - case 0: - case 32: - break label$47; - case 24: - break label$48; - case 22: - break label$49; - case 29: - break label$50; - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 10: - case 16: - case 18: - case 19: - case 20: - case 21: - case 25: - case 26: - case 28: - case 30: - case 31: - break label$7; - default: - break label$51; - } - } - label$52 : { - switch ($1 - 65 | 0) { - case 0: - case 4: - case 5: - case 6: - break label$37; - case 2: - break label$40; - case 1: - case 3: - break label$7; - default: - break label$52; - } - } - if (($1 | 0) == 83) { - break label$41; - } - break label$7; - } - $10 = HEAP32[$7 + 64 >> 2]; - $9 = $10; - $14 = HEAP32[$7 + 68 >> 2]; - $1 = $14; - $19 = 1116; - break label$44; - } - $1 = 0; - label$53 : { - switch ($9 & 255) { - case 0: - HEAP32[HEAP32[$7 + 64 >> 2] >> 2] = $17; - continue label$2; - case 1: - HEAP32[HEAP32[$7 + 64 >> 2] >> 2] = $17; - continue label$2; - case 2: - $10 = $17; - $14 = $10 >> 31; - $10 = HEAP32[$7 + 64 >> 2]; - HEAP32[$10 >> 2] = $17; - HEAP32[$10 + 4 >> 2] = $14; - continue label$2; - case 3: - HEAP16[HEAP32[$7 + 64 >> 2] >> 1] = $17; - continue label$2; - case 4: - HEAP8[HEAP32[$7 + 64 >> 2]] = $17; - continue label$2; - case 6: - HEAP32[HEAP32[$7 + 64 >> 2] >> 2] = $17; - continue label$2; - case 7: - break label$53; - default: - continue label$2; - } - } - $10 = $17; - $14 = $10 >> 31; - $10 = HEAP32[$7 + 64 >> 2]; - HEAP32[$10 >> 2] = $17; - HEAP32[$10 + 4 >> 2] = $14; - continue label$2; - } - $11 = $11 >>> 0 > 8 ? $11 : 8; - $8 = $8 | 8; - $1 = 120; - } - $14 = HEAP32[$7 + 64 >> 2]; - $10 = HEAP32[$7 + 68 >> 2]; - $13 = fmt_x($14, $10, $20, $1 & 32); - if (!($8 & 8)) { - break label$43; - } - $10 = HEAP32[$7 + 64 >> 2]; - $14 = HEAP32[$7 + 68 >> 2]; - if (!($10 | $14)) { - break label$43; - } - $19 = ($1 >>> 4 | 0) + 1116 | 0; - $16 = 2; - break label$43; - } - $14 = HEAP32[$7 + 64 >> 2]; - $10 = HEAP32[$7 + 68 >> 2]; - $13 = fmt_o($14, $10, $20); - if (!($8 & 8)) { - break label$43; - } - $1 = $20 - $13 | 0; - $11 = ($1 | 0) < ($11 | 0) ? $11 : $1 + 1 | 0; - break label$43; - } - $14 = HEAP32[$7 + 68 >> 2]; - $1 = $14; - $10 = HEAP32[$7 + 64 >> 2]; - $9 = $10; - if (($14 | 0) < -1 ? 1 : ($14 | 0) <= -1) { - $10 = $9; - $9 = 0 - $10 | 0; - $14 = $1; - $10 = $14 + (($10 | 0) != 0) | 0; - $10 = 0 - $10 | 0; - $1 = $10; - HEAP32[$7 + 64 >> 2] = $9; - HEAP32[$7 + 68 >> 2] = $10; - $16 = 1; - $19 = 1116; - break label$44; - } - if ($8 & 2048) { - $16 = 1; - $19 = 1117; - break label$44; - } - $16 = $8 & 1; - $19 = $16 ? 1118 : 1116; - } - $10 = $1; - $13 = fmt_u($9, $10, $20); - } - $8 = ($11 | 0) > -1 ? $8 & -65537 : $8; - $10 = HEAP32[$7 + 64 >> 2]; - $9 = $10; - $1 = HEAP32[$7 + 68 >> 2]; - if (!(!!($10 | $1) | $11)) { - $11 = 0; - $13 = $20; - break label$7; - } - $1 = !($9 | $1) + ($20 - $13 | 0) | 0; - $11 = ($1 | 0) < ($11 | 0) ? $11 : $1; - break label$7; - } - $1 = HEAP32[$7 + 64 >> 2]; - $13 = $1 ? $1 : 1126; - $1 = memchr($13, 0, $11); - $18 = $1 ? $1 : $11 + $13 | 0; - $8 = $14; - $11 = $1 ? $1 - $13 | 0 : $11; - break label$7; - } - $9 = HEAP32[$7 + 64 >> 2]; - if ($11) { - break label$39; - } - $1 = 0; - pad($0, 32, $15, 0, $8); - break label$38; - } - HEAP32[$7 + 12 >> 2] = 0; - HEAP32[$7 + 8 >> 2] = HEAP32[$7 + 64 >> 2]; - HEAP32[$7 + 64 >> 2] = $7 + 8; - $11 = -1; - $9 = $7 + 8 | 0; - } - $1 = 0; - label$64 : { - while (1) { - $12 = HEAP32[$9 >> 2]; - if (!$12) { - break label$64; - } - $12 = wctomb($7 + 4 | 0, $12); - $13 = ($12 | 0) < 0; - if (!($13 | $11 - $1 >>> 0 < $12 >>> 0)) { - $9 = $9 + 4 | 0; - $1 = $1 + $12 | 0; - if ($11 >>> 0 > $1 >>> 0) { - continue; - } - break label$64; - } - break; - } - $16 = -1; - if ($13) { - break label$1; - } - } - pad($0, 32, $15, $1, $8); - if (!$1) { - $1 = 0; - break label$38; - } - $9 = 0; - $12 = HEAP32[$7 + 64 >> 2]; - while (1) { - $13 = HEAP32[$12 >> 2]; - if (!$13) { - break label$38; - } - $13 = wctomb($7 + 4 | 0, $13); - $9 = $13 + $9 | 0; - if (($9 | 0) > ($1 | 0)) { - break label$38; - } - out($0, $7 + 4 | 0, $13); - $12 = $12 + 4 | 0; - if ($1 >>> 0 > $9 >>> 0) { - continue; - } - break; - } - } - pad($0, 32, $15, $1, $8 ^ 8192); - $1 = ($1 | 0) < ($15 | 0) ? $15 : $1; - continue label$2; - } - $1 = FUNCTION_TABLE[$5 | 0]($0, HEAPF64[$7 + 64 >> 3], $15, $11, $8, $1) | 0; - continue label$2; - } - $10 = HEAP32[$7 + 64 >> 2]; - HEAP8[$7 + 55 | 0] = $10; - $11 = 1; - $13 = $22; - $8 = $14; - break label$7; - } - $9 = $1 + 1 | 0; - HEAP32[$7 + 76 >> 2] = $9; - $8 = HEAPU8[$1 + 1 | 0]; - $1 = $9; - continue; - } - } - $16 = $17; - if ($0) { - break label$1; - } - if (!$21) { - break label$5; - } - $1 = 1; - while (1) { - $8 = HEAP32[($1 << 2) + $4 >> 2]; - if ($8) { - pop_arg(($1 << 3) + $3 | 0, $8, $2, $6); - $16 = 1; - $1 = $1 + 1 | 0; - if (($1 | 0) != 10) { - continue; - } - break label$1; - } - break; - } - $16 = 1; - if ($1 >>> 0 >= 10) { - break label$1; - } - while (1) { - if (HEAP32[($1 << 2) + $4 >> 2]) { - break label$8; - } - $1 = $1 + 1 | 0; - if (($1 | 0) != 10) { - continue; - } - break; - } - break label$1; - } - $16 = -1; - break label$1; - } - $12 = $18 - $13 | 0; - $18 = ($11 | 0) < ($12 | 0) ? $12 : $11; - $9 = $18 + $16 | 0; - $1 = ($9 | 0) > ($15 | 0) ? $9 : $15; - pad($0, 32, $1, $9, $8); - out($0, $19, $16); - pad($0, 48, $1, $9, $8 ^ 65536); - pad($0, 48, $18, $12, 0); - out($0, $13, $12); - pad($0, 32, $1, $9, $8 ^ 8192); - continue; - } - break; - } - $16 = 0; - } - __stack_pointer = $7 + 80 | 0; - return $16; -} -function silk_NSQ_del_dec_c($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - $15 = __stack_pointer - 176 | 0; - $28 = $15; - __stack_pointer = $15; - $30 = HEAP32[$1 + 4328 >> 2]; - $15 = $15 - (Math_imul(HEAP32[$0 + 4628 >> 2], 1300) + 15 & -16) | 0; - $29 = $15; - __stack_pointer = $15; - $21 = HEAP32[$0 + 4628 >> 2]; - $27 = memset($15, 0, Math_imul($21, 1300)); - if (($21 | 0) >= 1) { - $17 = $1 + 4224 | 0; - $16 = $1 + 3840 | 0; - $22 = HEAP32[((HEAP32[$0 + 4592 >> 2] << 2) + $1 | 0) + 1276 >> 2]; - $24 = HEAP32[$1 + 4324 >> 2]; - $25 = HEAP32[$1 + 4320 >> 2]; - $31 = HEAPU8[$2 + 34 | 0]; - while (1) { - $15 = Math_imul($18, 1300) + $27 | 0; - HEAP32[$15 + 1296 >> 2] = 0; - $19 = $18 + $31 & 3; - HEAP32[$15 + 1292 >> 2] = $19; - HEAP32[$15 + 1288 >> 2] = $19; - HEAP32[$15 + 1284 >> 2] = $24; - HEAP32[$15 + 1280 >> 2] = $25; - HEAP32[$15 + 1024 >> 2] = $22; - $20 = HEAP32[$16 + 4 >> 2]; - $23 = HEAP32[$16 >> 2]; - HEAP32[$15 >> 2] = $23; - HEAP32[$15 + 4 >> 2] = $20; - $23 = HEAP32[$16 + 12 >> 2]; - $20 = HEAP32[$16 + 8 >> 2]; - HEAP32[$15 + 8 >> 2] = $20; - HEAP32[$15 + 12 >> 2] = $23; - $20 = HEAP32[$16 + 20 >> 2]; - $23 = HEAP32[$16 + 16 >> 2]; - HEAP32[$15 + 16 >> 2] = $23; - HEAP32[$15 + 20 >> 2] = $20; - $23 = HEAP32[$16 + 28 >> 2]; - $20 = HEAP32[$16 + 24 >> 2]; - HEAP32[$15 + 24 >> 2] = $20; - HEAP32[$15 + 28 >> 2] = $23; - $20 = HEAP32[$16 + 36 >> 2]; - $23 = HEAP32[$16 + 32 >> 2]; - HEAP32[$15 + 32 >> 2] = $23; - HEAP32[$15 + 36 >> 2] = $20; - $23 = HEAP32[$16 + 44 >> 2]; - $20 = HEAP32[$16 + 40 >> 2]; - HEAP32[$15 + 40 >> 2] = $20; - HEAP32[$15 + 44 >> 2] = $23; - $20 = HEAP32[$16 + 52 >> 2]; - $23 = HEAP32[$16 + 48 >> 2]; - HEAP32[$15 + 48 >> 2] = $23; - HEAP32[$15 + 52 >> 2] = $20; - $23 = HEAP32[$16 + 60 >> 2]; - $20 = HEAP32[$16 + 56 >> 2]; - HEAP32[$15 + 56 >> 2] = $20; - HEAP32[$15 + 60 >> 2] = $23; - memcpy($15 + 1184 | 0, $17, 96); - $18 = $18 + 1 | 0; - if (($21 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $24 = HEAPU8[$2 + 29 | 0]; - $17 = HEAP8[$2 + 30 | 0]; - HEAP32[$28 + 172 >> 2] = 0; - $18 = HEAP32[$0 + 4588 >> 2]; - $26 = ($18 | 0) < 40 ? $18 : 40; - label$3 : { - if (($24 | 0) == 2) { - $19 = HEAP32[$0 + 4580 >> 2]; - if (($19 | 0) < 1) { - break label$3; - } - $15 = 0; - while (1) { - $16 = HEAP32[($15 << 2) + $12 >> 2] - 3 | 0; - $26 = ($16 | 0) > ($26 | 0) ? $26 : $16; - $15 = $15 + 1 | 0; - if (($19 | 0) != ($15 | 0)) { - continue; - } - break; - } - break label$3; - } - if (($30 | 0) < 1) { - break label$3; - } - $15 = $30 - 3 | 0; - $26 = ($15 | 0) > ($26 | 0) ? $26 : $15; - } - $22 = HEAPU8[$2 + 31 | 0]; - $15 = HEAP32[$0 + 4592 >> 2]; - $16 = $15 + HEAP32[$0 + 4584 >> 2] | 0; - $35 = $29 - (($16 << 2) + 15 & -16) | 0; - $19 = $35; - __stack_pointer = $19; - $38 = $19 - (($16 << 1) + 15 & -16) | 0; - $16 = $38; - __stack_pointer = $16; - $31 = $16 - (($18 << 2) + 15 & -16) | 0; - __stack_pointer = $31; - HEAP32[$1 + 4332 >> 2] = $15; - HEAP32[$1 + 4336 >> 2] = $15; - $32 = ($15 << 1) + $1 | 0; - label$6 : { - $25 = HEAP32[$0 + 4580 >> 2]; - if (($25 | 0) >= 1) { - $46 = HEAP16[(($24 << 24 >> 24 << 1 & -4) + ($17 << 1) | 0) + 5840 >> 1]; - $42 = ($22 & 255) == 4; - $47 = $42 ? 3 : 1; - $43 = $14 << 16 >> 16; - $14 = 0; - while (1) { - $33 = $14 << 2; - $25 = HEAP32[$33 + $8 >> 2]; - HEAP32[$1 + 4348 >> 2] = 0; - $36 = 1; - $44 = (($14 >>> 1 | $42) << 5) + $5 | 0; - label$9 : { - if (($24 & 255) != 2) { - break label$9; - } - $24 = 2; - $30 = HEAP32[($14 << 2) + $12 >> 2]; - if ($14 & $47) { - break label$9; - } - label$10 : { - if (($14 | 0) != 2) { - break label$10; - } - $16 = 0; - $15 = 0; - $21 = HEAP32[$0 + 4628 >> 2]; - if (($21 | 0) >= 2) { - $19 = HEAP32[$27 + 1296 >> 2]; - $18 = 1; - while (1) { - $17 = HEAP32[(Math_imul($18, 1300) + $27 | 0) + 1296 >> 2]; - $20 = $17; - $17 = ($19 | 0) > ($17 | 0); - $19 = $17 ? $20 : $19; - $15 = $17 ? $18 : $15; - $18 = $18 + 1 | 0; - if (($21 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - if (($21 | 0) > 0) { - while (1) { - if (($15 | 0) != ($16 | 0)) { - $18 = Math_imul($16, 1300) + $27 | 0; - HEAP32[$18 + 1296 >> 2] = HEAP32[$18 + 1296 >> 2] + 134217727; - } - $16 = $16 + 1 | 0; - if (($21 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - if (($26 | 0) < 1) { - $37 = 0; - break label$10; - } - $17 = HEAP32[$28 + 172 >> 2] + $26 | 0; - $37 = 0; - $16 = 0; - while (1) { - $18 = $16 - $26 | 0; - $19 = ($17 - 1 | 0) % 40 | 0; - $17 = ($19 | 0) < 0 ? $19 + 40 | 0 : $19; - $19 = (Math_imul($15, 1300) + $27 | 0) + ($17 << 2) | 0; - HEAP8[$18 + $4 | 0] = (HEAP32[$19 + 544 >> 2] >>> 9 | 0) + 1 >>> 1; - $22 = HEAP32[$11 + 4 >> 2]; - $24 = $22 << 16 >> 16; - $21 = HEAP32[$19 + 704 >> 2]; - $21 = ((Math_imul($24, $21 & 65535) >> 16) + Math_imul($21 >> 16, $24) | 0) + Math_imul(($22 >> 15) + 1 >> 1, $21) | 0; - HEAP16[($18 << 1) + $32 >> 1] = ($21 | 0) > 536862719 ? 32767 : ($21 | 0) < -536879104 ? -32768 : ($21 >>> 13 | 0) + 1 >>> 1 | 0; - HEAP32[((HEAP32[$1 + 4336 >> 2] + $18 << 2) + $1 | 0) + 1280 >> 2] = HEAP32[$19 + 1024 >> 2]; - $16 = $16 + 1 | 0; - if (($26 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - $16 = HEAP32[$0 + 4592 >> 2]; - $18 = HEAP32[$0 + 4640 >> 2]; - $15 = ($16 - $30 | 0) - $18 | 0; - if (($15 | 0) <= 2) { - break label$6; - } - $15 = $15 - 2 | 0; - silk_LPC_analysis_filter(($15 << 1) + $38 | 0, (Math_imul(HEAP32[$0 + 4588 >> 2], $14) + $15 << 1) + $1 | 0, $44, $16 - $15 | 0, $18, HEAP32[$0 + 5092 >> 2]); - $15 = HEAP32[$0 + 4592 >> 2]; - HEAP32[$1 + 4348 >> 2] = 1; - HEAP32[$1 + 4332 >> 2] = $15; - $24 = HEAPU8[$2 + 29 | 0]; - $36 = 0; - } - $39 = $11 + $33 | 0; - $22 = HEAP32[$39 >> 2]; - $16 = ($22 | 0) > 1 ? $22 : 1; - $19 = Math_clz32($16); - $15 = $16 << $19 - 1; - $18 = $15 >> 16; - $21 = 536870911 / ($18 | 0) | 0; - $17 = ($21 >> 15) + 1 >> 1; - $20 = $15 & 65535; - $21 = $21 << 16; - $15 = $21 >> 16; - $18 = 0 - ((Math_imul($20, $15) >> 16) + Math_imul($15, $18) << 3) | 0; - $15 = ((Math_imul($18, $17) + $21 | 0) + Math_imul($18 >> 16, $15) | 0) + (Math_imul($18 & 65528, $15) >> 16) | 0; - $18 = 15 - $19 | 0; - $45 = HEAP32[$12 + $33 >> 2]; - $29 = HEAP32[$0 + 4628 >> 2]; - label$18 : { - if ($16 >>> 0 <= 131071) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $19 = -2147483648 >> $16; - $17 = (($15 | 0) > ($18 | 0) ? $18 : ($15 | 0) < ($19 | 0) ? $19 : $15) << $16; - break label$18; - } - $17 = $15 >> $18; - } - $34 = $25 << 15; - $19 = HEAP32[$0 + 4588 >> 2]; - if (($19 | 0) >= 1) { - $15 = ($17 >> 4) + 1 | 0; - $18 = $15 << 15 >> 16; - $21 = ($15 >> 16) + 1 >> 1; - $15 = 0; - while (1) { - $16 = HEAP16[($15 << 1) + $3 >> 1]; - HEAP32[($15 << 2) + $31 >> 2] = (Math_imul($16 >> 16, $18) + Math_imul($16, $21) | 0) + (Math_imul($16 & 65535, $18) >> 16); - $15 = $15 + 1 | 0; - if (($19 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $25 = $25 >> 2; - $34 = $34 & -65536; - $40 = Math_imul($14, 48); - $41 = Math_imul($14, 10); - $20 = $24 << 24; - label$22 : { - if ($36) { - break label$22; - } - $17 = $14 ? $17 : Math_imul($17 >> 16, $43) + (Math_imul($17 & 65535, $43) >> 16) << 2; - $18 = HEAP32[$1 + 4332 >> 2]; - $15 = ($18 - $45 | 0) - 2 | 0; - if (($15 | 0) >= ($18 | 0)) { - break label$22; - } - $21 = $17 & 65535; - $17 = $17 >> 16; - while (1) { - $16 = HEAP16[($15 << 1) + $38 >> 1]; - HEAP32[($15 << 2) + $35 >> 2] = (Math_imul($21, $16) >> 16) + Math_imul($16, $17); - $15 = $15 + 1 | 0; - if (($18 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $36 = $25 | $34; - $34 = $7 + $40 | 0; - $40 = $6 + $41 | 0; - $41 = $20 >> 24; - $15 = HEAP32[$1 + 4344 >> 2]; - if (($22 | 0) != ($15 | 0)) { - $16 = $15 >> 31; - $18 = Math_clz32($16 ^ $15 + $16); - $16 = $15 << $18 - 1; - $25 = $16; - $15 = $22 >> 31; - $19 = Math_clz32($15 ^ $15 + $22); - $21 = $22 << $19 - 1; - $15 = 536870911 / ($21 >> 16) << 16 >> 16; - $16 = (Math_imul($15, $16 & 65535) >> 16) + Math_imul($16 >> 16, $15) | 0; - $23 = $16 >> 31; - $17 = $23; - $23 = $21 >> 31; - $20 = $23; - $23 = $17; - $20 = __wasm_i64_mul($16, $23, $21, $20); - $17 = $20; - $23 = i64toi32_i32$HIGH_BITS; - $21 = $25 - ((($23 & 536870911) << 3 | $17 >>> 29) & -8) | 0; - $15 = (Math_imul($21 >> 16, $15) + $16 | 0) + (Math_imul($21 & 65535, $15) >> 16) | 0; - $16 = $18 - $19 | 0; - $18 = $16 + 13 | 0; - $16 = $16 + 29 | 0; - label$26 : { - if (($16 | 0) <= 15) { - $16 = 0 - $18 | 0; - $18 = 2147483647 >>> $16 | 0; - $19 = -2147483648 >> $16; - $15 = (($15 | 0) > ($18 | 0) ? $18 : ($15 | 0) < ($19 | 0) ? $19 : $15) << $16; - break label$26; - } - $15 = ($16 | 0) < 48 ? $15 >> $18 : 0; - } - $16 = HEAP32[$0 + 4592 >> 2]; - if (($16 | 0) >= 1) { - $21 = $15 & 65535; - $17 = $15 >> 16; - $16 = HEAP32[$1 + 4336 >> 2] - $16 | 0; - while (1) { - $18 = (($16 << 2) + $1 | 0) + 1280 | 0; - $20 = $18; - $18 = HEAP32[$18 >> 2]; - $19 = $18 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($21, $19) >> 16) + Math_imul($19, $17) | 0) + Math_imul(($18 >> 15) + 1 >> 1, $15); - $16 = $16 + 1 | 0; - if (($16 | 0) < HEAP32[$1 + 4336 >> 2]) { - continue; - } - break; - } - } - label$30 : { - if (HEAP32[$1 + 4348 >> 2] | ($24 & 255) != 2) { - break label$30; - } - $18 = HEAP32[$1 + 4332 >> 2]; - $16 = ($18 - $45 | 0) - 2 | 0; - $21 = $18 - $26 | 0; - if (($16 | 0) >= ($21 | 0)) { - break label$30; - } - $17 = $15 & 65535; - $22 = $15 >> 16; - while (1) { - $18 = ($16 << 2) + $35 | 0; - $20 = $18; - $18 = HEAP32[$18 >> 2]; - $19 = $18 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($17, $19) >> 16) + Math_imul($19, $22) | 0) + Math_imul(($18 >> 15) + 1 >> 1, $15); - $16 = $16 + 1 | 0; - if (($21 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - if (($29 | 0) >= 1) { - $16 = $15 & 65535; - $18 = $15 >> 16; - $25 = 0; - while (1) { - $21 = Math_imul($25, 1300) + $27 | 0; - $19 = HEAP32[$21 + 1280 >> 2]; - $17 = $19 << 16 >> 16; - HEAP32[$21 + 1280 >> 2] = (Math_imul($18, $17) + (Math_imul($16, $17) >> 16) | 0) + Math_imul(($19 >> 15) + 1 >> 1, $15); - $19 = HEAP32[$21 + 1284 >> 2]; - $17 = $19 << 16 >> 16; - HEAP32[$21 + 1284 >> 2] = ((Math_imul($17, $16) >> 16) + Math_imul($18, $17) | 0) + Math_imul(($19 >> 15) + 1 >> 1, $15); - $17 = 0; - while (1) { - $19 = ($17 << 2) + $21 | 0; - $20 = $19; - $19 = HEAP32[$19 >> 2]; - $22 = $19 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($22, $16) >> 16) + Math_imul($18, $22) | 0) + Math_imul(($19 >> 15) + 1 >> 1, $15); - $19 = 0; - $17 = $17 + 1 | 0; - if (($17 | 0) != 16) { - continue; - } - break; - } - $17 = 0; - while (1) { - $22 = (($17 << 2) + $21 | 0) + 1184 | 0; - $20 = $22; - $22 = HEAP32[$22 >> 2]; - $24 = $22 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($24, $16) >> 16) + Math_imul($18, $24) | 0) + Math_imul(($22 >> 15) + 1 >> 1, $15); - $17 = $17 + 1 | 0; - if (($17 | 0) != 24) { - continue; - } - break; - } - while (1) { - $17 = ($19 << 2) + $21 | 0; - $22 = $17 + 864 | 0; - $20 = $22; - $22 = HEAP32[$17 + 864 >> 2]; - $24 = $22 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($24, $16) >> 16) + Math_imul($18, $24) | 0) + Math_imul(($22 >> 15) + 1 >> 1, $15); - $17 = $17 + 1024 | 0; - $20 = $17; - $17 = HEAP32[$17 >> 2]; - $22 = $17 << 16 >> 16; - HEAP32[$20 >> 2] = ((Math_imul($22, $16) >> 16) + Math_imul($18, $22) | 0) + Math_imul(($17 >> 15) + 1 >> 1, $15); - $19 = $19 + 1 | 0; - if (($19 | 0) != 40) { - continue; - } - break; - } - $25 = $25 + 1 | 0; - if (($29 | 0) != ($25 | 0)) { - continue; - } - break; - } - } - HEAP32[$1 + 4344 >> 2] = HEAP32[$39 >> 2]; - $29 = HEAP32[$0 + 4628 >> 2]; - $22 = HEAP32[$39 >> 2]; - $19 = HEAP32[$0 + 4588 >> 2]; - } - silk_noise_shape_quantizer_del_dec($1, $27, $41, $31, $4, $32, $35, $28, $44, $40, $34, $30, $36, HEAP32[$9 + $33 >> 2], HEAP32[$10 + $33 >> 2], $22, $13, $46, $19, $37, HEAP32[$0 + 4636 >> 2], HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 4672 >> 2], $29, $28 + 172 | 0, $26); - $18 = HEAP32[$0 + 4588 >> 2]; - $4 = $18 + $4 | 0; - $15 = $18 << 1; - $32 = $32 + $15 | 0; - $14 = $14 + 1 | 0; - $25 = HEAP32[$0 + 4580 >> 2]; - if (($14 | 0) < ($25 | 0)) { - $37 = $37 + 1 | 0; - $3 = $3 + $15 | 0; - $24 = HEAPU8[$2 + 29 | 0]; - continue; - } - break; - } - $21 = HEAP32[$0 + 4628 >> 2]; - } - $19 = 0; - if (($21 | 0) >= 2) { - $16 = HEAP32[$27 + 1296 >> 2]; - $15 = 1; - while (1) { - $17 = HEAP32[(Math_imul($15, 1300) + $27 | 0) + 1296 >> 2]; - $3 = $17; - $17 = ($16 | 0) > ($17 | 0); - $16 = $17 ? $3 : $16; - $19 = $17 ? $15 : $19; - $15 = $15 + 1 | 0; - if (($21 | 0) != ($15 | 0)) { - continue; - } - break; - } - } - $22 = Math_imul($19, 1300) + $27 | 0; - HEAP8[$2 + 34 | 0] = HEAP32[$22 + 1292 >> 2]; - if (($26 | 0) >= 1) { - $21 = HEAP32[$28 + 172 >> 2] + $26 | 0; - $15 = HEAP32[(($25 << 2) + $11 | 0) - 4 >> 2]; - $17 = $15 << 10 >> 16; - $24 = ($15 >> 21) + 1 >> 1; - $15 = 0; - while (1) { - $16 = $15 - $26 | 0; - $18 = ($21 - 1 | 0) % 40 | 0; - $21 = ($18 | 0) < 0 ? $18 + 40 | 0 : $18; - $18 = ($21 << 2) + $22 | 0; - HEAP8[$16 + $4 | 0] = (HEAP32[$18 + 544 >> 2] >>> 9 | 0) + 1 >>> 1; - $19 = HEAP32[$18 + 704 >> 2]; - $19 = (Math_imul($19 >> 16, $17) + Math_imul($19, $24) | 0) + (Math_imul($19 & 65535, $17) >> 16) | 0; - HEAP16[($16 << 1) + $32 >> 1] = ($19 | 0) > 8388479 ? 32767 : ($19 | 0) < -8388736 ? -32768 : ($19 >>> 7 | 0) + 1 >>> 1 | 0; - HEAP32[((HEAP32[$1 + 4336 >> 2] + $16 << 2) + $1 | 0) + 1280 >> 2] = HEAP32[$18 + 1024 >> 2]; - $15 = $15 + 1 | 0; - if (($26 | 0) != ($15 | 0)) { - continue; - } - break; - } - $18 = HEAP32[$0 + 4588 >> 2]; - } - $15 = ($18 << 2) + $22 | 0; - $17 = HEAP32[$15 + 4 >> 2]; - $20 = HEAP32[$15 >> 2]; - HEAP32[$1 + 3840 >> 2] = $20; - HEAP32[$1 + 3844 >> 2] = $17; - $20 = HEAP32[$15 + 60 >> 2]; - $17 = HEAP32[$15 + 56 >> 2]; - $2 = $17; - $17 = $1 + 3896 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - $17 = HEAP32[$15 + 52 >> 2]; - $20 = HEAP32[$15 + 48 >> 2]; - $2 = $20; - $20 = $1 + 3888 | 0; - HEAP32[$20 >> 2] = $2; - HEAP32[$20 + 4 >> 2] = $17; - $20 = HEAP32[$15 + 44 >> 2]; - $17 = HEAP32[$15 + 40 >> 2]; - $2 = $17; - $17 = $1 + 3880 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - $17 = HEAP32[$15 + 36 >> 2]; - $20 = HEAP32[$15 + 32 >> 2]; - $2 = $20; - $20 = $1 + 3872 | 0; - HEAP32[$20 >> 2] = $2; - HEAP32[$20 + 4 >> 2] = $17; - $20 = HEAP32[$15 + 28 >> 2]; - $17 = HEAP32[$15 + 24 >> 2]; - $2 = $17; - $17 = $1 + 3864 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - $17 = HEAP32[$15 + 20 >> 2]; - $20 = HEAP32[$15 + 16 >> 2]; - $2 = $20; - $20 = $1 + 3856 | 0; - HEAP32[$20 >> 2] = $2; - HEAP32[$20 + 4 >> 2] = $17; - $20 = HEAP32[$15 + 12 >> 2]; - $17 = HEAP32[$15 + 8 >> 2]; - $2 = $17; - $17 = $1 + 3848 | 0; - HEAP32[$17 >> 2] = $2; - HEAP32[$17 + 4 >> 2] = $20; - memcpy($1 + 4224 | 0, $22 + 1184 | 0, 96); - HEAP32[$1 + 4320 >> 2] = HEAP32[$22 + 1280 >> 2]; - HEAP32[$1 + 4324 >> 2] = HEAP32[$22 + 1284 >> 2]; - HEAP32[$1 + 4328 >> 2] = HEAP32[((HEAP32[$0 + 4580 >> 2] << 2) + $12 | 0) - 4 >> 2]; - $15 = memmove($1, (HEAP32[$0 + 4584 >> 2] << 1) + $1 | 0, HEAP32[$0 + 4592 >> 2] << 1) + 1280 | 0; - memmove($15, (HEAP32[$0 + 4584 >> 2] << 2) + $15 | 0, HEAP32[$0 + 4592 >> 2] << 2); - __stack_pointer = $28 + 176 | 0; - return; - } - celt_fatal(16175, 16207, 253); - abort(); -} -function silk_noise_shape_quantizer_del_dec($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25) { - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - $26 = __stack_pointer; - $63 = $26; - label$1 : { - if (($23 | 0) > 0) { - $30 = $26 - (Math_imul($23, 56) + 15 & -16) | 0; - __stack_pointer = $30; - if (($18 | 0) >= 1) { - $64 = $15 >> 6; - $31 = $16 << 16 >> 16; - $38 = Math_imul($31, $17 << 16 >> 16); - $39 = $17 + 944 | 0; - $42 = Math_imul($39 << 16 >> 16, $31); - $43 = $17 - 944 | 0; - $65 = Math_imul(0 - ($43 << 16) >> 16, $31); - $66 = $17 - 80 | 0; - $44 = $14 >> 16; - $67 = $20 >> 1; - $68 = $20 & 1; - $69 = $21 >> 1; - $45 = $12 >> 16; - $26 = $16 >>> 1 | 0; - $70 = 512 - $26 | 0; - $40 = $26 - 512 | 0; - $46 = $14 << 16 >> 16; - $47 = $13 << 16 >> 16; - $14 = $22 << 16 >> 16; - $48 = $12 << 16 >> 16; - $49 = $20 - 1 | 0; - $71 = ($49 << 1) + $10 | 0; - $34 = ((HEAP32[$0 + 4336 >> 2] - $11 << 2) + $0 | 0) + 1284 | 0; - $32 = ((HEAP32[$0 + 4332 >> 2] - $11 << 2) + $6 | 0) + 8 | 0; - $72 = ($2 | 0) != 2; - $73 = ($20 | 0) < 3; - $74 = ($16 | 0) < 2049; - $75 = ($19 | 0) > 0; - while (1) { - label$5 : { - if ($72) { - $37 = 0; - break label$5; - } - $12 = HEAP16[$9 >> 1]; - $16 = HEAP32[$32 >> 2]; - $2 = Math_imul($12, $16 >> 16) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 2 >> 1]; - $16 = HEAP32[$32 - 4 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 4 >> 1]; - $16 = HEAP32[$32 - 8 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 6 >> 1]; - $16 = HEAP32[$32 - 12 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$9 + 8 >> 1]; - $16 = HEAP32[$32 - 16 >> 2]; - $37 = (($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) << 1) + 4 | 0; - $32 = $32 + 4 | 0; - } - $35 = 0; - label$7 : { - if (($11 | 0) < 1) { - $50 = 0; - break label$7; - } - $16 = HEAP32[$34 - 4 >> 2]; - $12 = HEAP32[$34 - 8 >> 2] + HEAP32[$34 >> 2] | 0; - $50 = $37 - (((Math_imul($16 >> 16, $45) + Math_imul($12 >> 16, $48) | 0) + (Math_imul($12 & 65535, $48) >> 16) | 0) + (Math_imul($16 & 65535, $45) >> 16) << 2) | 0; - $34 = $34 + 4 | 0; - } - $76 = $33 + 15 | 0; - $36 = $33 << 2; - $77 = $36 + $3 | 0; - $51 = HEAP16[$8 + 18 >> 1]; - $52 = HEAP16[$8 + 16 >> 1]; - $53 = HEAP16[$8 + 14 >> 1]; - $54 = HEAP16[$8 + 12 >> 1]; - $55 = HEAP16[$8 + 10 >> 1]; - $56 = HEAP16[$8 + 8 >> 1]; - $57 = HEAP16[$8 + 6 >> 1]; - $58 = HEAP16[$8 + 4 >> 1]; - $59 = HEAP16[$8 + 2 >> 1]; - $60 = HEAP16[$8 >> 1]; - while (1) { - $27 = Math_imul($35, 1300) + $1 | 0; - HEAP32[$27 + 1288 >> 2] = Math_imul(HEAP32[$27 + 1288 >> 2], 196314165) + 907633515; - $16 = ($76 << 2) + $27 | 0; - $12 = HEAP32[$16 >> 2]; - $2 = (Math_imul($12 >> 16, $60) + $69 | 0) + (Math_imul($12 & 65535, $60) >> 16) | 0; - $12 = HEAP32[$16 - 4 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $59) | 0) + (Math_imul($12 & 65535, $59) >> 16) | 0; - $12 = HEAP32[$16 - 8 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $58) | 0) + (Math_imul($12 & 65535, $58) >> 16) | 0; - $12 = HEAP32[$16 - 12 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $57) | 0) + (Math_imul($12 & 65535, $57) >> 16) | 0; - $12 = HEAP32[$16 - 16 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $56) | 0) + (Math_imul($12 & 65535, $56) >> 16) | 0; - $12 = HEAP32[$16 - 20 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $55) | 0) + (Math_imul($12 & 65535, $55) >> 16) | 0; - $12 = HEAP32[$16 - 24 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $54) | 0) + (Math_imul($12 & 65535, $54) >> 16) | 0; - $12 = HEAP32[$16 - 28 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $53) | 0) + (Math_imul($12 & 65535, $53) >> 16) | 0; - $12 = HEAP32[$16 - 32 >> 2]; - $2 = ($2 + Math_imul($12 >> 16, $52) | 0) + (Math_imul($12 & 65535, $52) >> 16) | 0; - $12 = HEAP32[$16 - 36 >> 2]; - $12 = ($2 + Math_imul($12 >> 16, $51) | 0) + (Math_imul($12 & 65535, $51) >> 16) | 0; - if (($21 | 0) == 16) { - $2 = HEAP16[$8 + 20 >> 1]; - $26 = HEAP32[$16 - 40 >> 2]; - $2 = (Math_imul($2, $26 >> 16) + $12 | 0) + (Math_imul($26 & 65535, $2) >> 16) | 0; - $26 = HEAP16[$8 + 22 >> 1]; - $12 = HEAP32[$16 - 44 >> 2]; - $2 = ($2 + Math_imul($26, $12 >> 16) | 0) + (Math_imul($12 & 65535, $26) >> 16) | 0; - $26 = HEAP16[$8 + 24 >> 1]; - $12 = HEAP32[$16 - 48 >> 2]; - $2 = ($2 + Math_imul($26, $12 >> 16) | 0) + (Math_imul($12 & 65535, $26) >> 16) | 0; - $26 = HEAP16[$8 + 26 >> 1]; - $12 = HEAP32[$16 - 52 >> 2]; - $2 = ($2 + Math_imul($26, $12 >> 16) | 0) + (Math_imul($12 & 65535, $26) >> 16) | 0; - $12 = HEAP16[$8 + 28 >> 1]; - $16 = HEAP32[$16 - 56 >> 2]; - $2 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - $12 = HEAP16[$8 + 30 >> 1]; - $16 = HEAP32[$27 + $36 >> 2]; - $12 = ($2 + Math_imul($12, $16 >> 16) | 0) + (Math_imul($16 & 65535, $12) >> 16) | 0; - } - if ($68) { - break label$1; - } - $41 = $12 << 4; - $12 = HEAP32[$27 + 1184 >> 2]; - $16 = (HEAP32[$27 + 1284 >> 2] + Math_imul($12 >> 16, $14) | 0) + (Math_imul($12 & 65535, $14) >> 16) | 0; - HEAP32[$27 + 1184 >> 2] = $16; - $26 = HEAP16[$10 >> 1]; - $15 = (Math_imul($26, $16 >> 16) + $67 | 0) + (Math_imul($16 & 65535, $26) >> 16) | 0; - $16 = HEAP32[$27 + 1188 >> 2] - $16 | 0; - $16 = (Math_imul($16 >> 16, $14) + $12 | 0) + (Math_imul($16 & 65535, $14) >> 16) | 0; - $12 = 2; - if (!$73) { - while (1) { - $26 = $27 + 1184 | 0; - $13 = $12 - 1 | 0; - $19 = $26 + ($13 << 2) | 0; - $22 = HEAP32[$19 >> 2]; - $28 = $12 << 2; - $29 = $28 + $26 | 0; - $2 = HEAP32[$29 >> 2]; - HEAP32[$19 >> 2] = $16; - $19 = HEAP32[($28 | 4) + $26 >> 2]; - $13 = HEAP16[($13 << 1) + $10 >> 1]; - $26 = $2 - $16 | 0; - $26 = (Math_imul($26 >> 16, $14) + $22 | 0) + (Math_imul($26 & 65535, $14) >> 16) | 0; - HEAP32[$29 >> 2] = $26; - $13 = (Math_imul($16 >> 16, $13) + $15 | 0) + (Math_imul($16 & 65535, $13) >> 16) | 0; - $16 = HEAP16[($12 << 1) + $10 >> 1]; - $15 = ($13 + Math_imul($16, $26 >> 16) | 0) + (Math_imul($26 & 65535, $16) >> 16) | 0; - $16 = $19 - $26 | 0; - $16 = (Math_imul($16 >> 16, $14) + $2 | 0) + (Math_imul($16 & 65535, $14) >> 16) | 0; - $12 = $12 + 2 | 0; - if (($20 | 0) > ($12 | 0)) { - continue; - } - break; - } - } - HEAP32[(($49 << 2) + $27 | 0) + 1184 >> 2] = $16; - label$13 : { - label$14 : { - label$15 : { - label$16 : { - $61 = HEAP32[$77 >> 2]; - $12 = HEAP32[$27 + 1280 >> 2]; - $26 = $12 & 65535; - $12 = $12 >> 16; - $2 = HEAP16[$71 >> 1]; - $13 = ((Math_imul($47, $26) >> 16) + Math_imul($47, $12) | 0) + ((Math_imul($2, $16 >> 16) + $15 | 0) + (Math_imul($16 & 65535, $2) >> 16) << 1) << 2; - $62 = HEAP32[$24 >> 2]; - $16 = HEAP32[(($62 << 2) + $27 | 0) + 1024 >> 2]; - $15 = ((Math_imul($12, $44) + (Math_imul($26, $44) >> 16) | 0) + Math_imul($16 >> 16, $46) | 0) + (Math_imul($16 & 65535, $46) >> 16) << 2; - $16 = $61 - (((($41 + $50 | 0) - $13 | 0) - $15 >> 3) + 1 >> 1) | 0; - $19 = HEAP32[$27 + 1288 >> 2] < 0; - $16 = $19 ? 0 - $16 | 0 : $16; - $16 = ($16 | 0) > -31744 ? $16 : -31744; - $2 = ($16 | 0) < 30720 ? $16 : 30720; - $16 = $2 - $17 | 0; - $12 = $16; - label$17 : { - if ($74) { - break label$17; - } - $12 = $16 - $40 | 0; - if (($16 | 0) > ($40 | 0)) { - break label$17; - } - if (($16 | 0) >= ($70 | 0)) { - break label$16; - } - $12 = $16 + $40 | 0; - } - $16 = $12; - if (($16 | 0) >= 1024) { - $12 = ($16 & -1024) + $66 | 0; - $28 = Math_imul($12 << 16 >> 16, $31); - $26 = $12 + 1024 | 0; - $29 = Math_imul($26 << 16 >> 16, $31); - break label$13; - } - $28 = $38; - $29 = $42; - $12 = $17; - $26 = $39; - switch (($16 >> 10) + 1 | 0) { - case 1: - break label$13; - case 0: - break label$15; - default: - break label$14; - } - } - $28 = $38; - $29 = $42; - $12 = $17; - $26 = $39; - if (($16 | 0) >= 0) { - break label$13; - } - } - $28 = $65; - $29 = $38; - $12 = $43; - $26 = $17; - break label$13; - } - $12 = ($16 & -1024 | 80) + $17 | 0; - $28 = Math_imul(0 - ($12 << 16) >> 16, $31); - $26 = $12 + 1024 | 0; - $29 = Math_imul(0 - ($26 << 16) >> 16, $31); - } - $22 = HEAP32[$27 + 1296 >> 2]; - $16 = Math_imul($35, 56) + $30 | 0; - $27 = $2 - $12 << 16 >> 16; - $28 = Math_imul($27, $27) + $28 >> 10; - $2 = $2 - $26 << 16 >> 16; - $29 = Math_imul($2, $2) + $29 >> 10; - $2 = ($28 | 0) < ($29 | 0); - $27 = $2 ? $26 : $12; - HEAP32[$16 + 28 >> 2] = $27; - $12 = $2 ? $12 : $26; - HEAP32[$16 >> 2] = $12; - HEAP32[$16 + 32 >> 2] = ($2 ? $29 : $28) + $22; - HEAP32[$16 + 4 >> 2] = ($2 ? $28 : $29) + $22; - $12 = $12 << 4; - $12 = ($19 ? 0 - $12 | 0 : $12) + $37 | 0; - HEAP32[$16 + 24 >> 2] = $12; - $26 = $27 << 4; - $26 = ($19 ? 0 - $26 | 0 : $26) + $37 | 0; - HEAP32[$16 + 52 >> 2] = $26; - $12 = $12 + $41 | 0; - HEAP32[$16 + 8 >> 2] = $12; - $26 = $26 + $41 | 0; - HEAP32[$16 + 36 >> 2] = $26; - $2 = $61 << 4; - $12 = $12 - $2 | 0; - HEAP32[$16 + 16 >> 2] = $12; - $26 = $26 - $2 | 0; - HEAP32[$16 + 44 >> 2] = $26; - $12 = $12 - $13 | 0; - HEAP32[$16 + 12 >> 2] = $12; - $26 = $26 - $13 | 0; - HEAP32[$16 + 40 >> 2] = $26; - HEAP32[$16 + 20 >> 2] = $12 - $15; - HEAP32[$16 + 48 >> 2] = $26 - $15; - $35 = $35 + 1 | 0; - if (($35 | 0) != ($23 | 0)) { - continue; - } - break; - } - $16 = 0; - $12 = ($62 - 1 | 0) % 40 | 0; - $12 = ($12 | 0) < 0 ? $12 + 40 | 0 : $12; - HEAP32[$24 >> 2] = $12; - $15 = ($12 + $25 | 0) % 40 | 0; - $2 = 0; - $19 = ($23 | 0) < 2; - if (!$19) { - $26 = HEAP32[$30 + 4 >> 2]; - $12 = 1; - while (1) { - $13 = HEAP32[(Math_imul($12, 56) + $30 | 0) + 4 >> 2]; - $22 = $13; - $13 = ($13 | 0) < ($26 | 0); - $26 = $13 ? $22 : $26; - $2 = $13 ? $12 : $2; - $12 = $12 + 1 | 0; - if (($23 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $15 = $15 << 2; - $28 = $15 + (Math_imul($2, 1300) + $1 | 0) | 0; - $26 = HEAP32[$28 + 384 >> 2]; - while (1) { - if (HEAP32[((Math_imul($16, 1300) + $1 | 0) + $15 | 0) + 384 >> 2] != ($26 | 0)) { - $12 = Math_imul($16, 56) + $30 | 0; - HEAP32[$12 + 4 >> 2] = HEAP32[$12 + 4 >> 2] + 134217727; - $2 = $12; - $12 = $12 + 32 | 0; - HEAP32[$12 >> 2] = HEAP32[$2 + 32 >> 2] + 134217727; - } - $16 = $16 + 1 | 0; - if (($23 | 0) != ($16 | 0)) { - continue; - } - break; - } - $12 = HEAP32[$30 + 32 >> 2]; - $26 = HEAP32[$30 + 4 >> 2]; - $2 = 0; - $16 = 1; - $13 = 0; - if (!$19) { - while (1) { - $19 = Math_imul($16, 56) + $30 | 0; - $22 = HEAP32[$19 + 4 >> 2]; - $29 = $22; - $22 = ($22 | 0) > ($26 | 0); - $26 = $22 ? $29 : $26; - $19 = HEAP32[$19 + 32 >> 2]; - $29 = $19; - $19 = ($12 | 0) > ($19 | 0); - $12 = $19 ? $29 : $12; - $13 = $22 ? $16 : $13; - $2 = $19 ? $16 : $2; - $16 = $16 + 1 | 0; - if (($23 | 0) != ($16 | 0)) { - continue; - } - break; - } - } - if (($12 | 0) < ($26 | 0)) { - memcpy((Math_imul($13, 1300) + $1 | 0) + $36 | 0, (Math_imul($2, 1300) + $1 | 0) + $36 | 0, 1300 - $36 | 0); - $16 = Math_imul($13, 56) + $30 | 0; - $12 = Math_imul($2, 56) + $30 | 0; - HEAP32[$16 + 24 >> 2] = HEAP32[$12 + 52 >> 2]; - $13 = HEAP32[$12 + 48 >> 2]; - $2 = HEAP32[$12 + 44 >> 2]; - HEAP32[$16 + 16 >> 2] = $2; - HEAP32[$16 + 20 >> 2] = $13; - $2 = HEAP32[$12 + 40 >> 2]; - $13 = HEAP32[$12 + 36 >> 2]; - HEAP32[$16 + 8 >> 2] = $13; - HEAP32[$16 + 12 >> 2] = $2; - $13 = HEAP32[$12 + 32 >> 2]; - $2 = HEAP32[$12 + 28 >> 2]; - HEAP32[$16 >> 2] = $2; - HEAP32[$16 + 4 >> 2] = $13; - } - if (!(($25 | 0) > ($33 | 0) ? !$75 : 0)) { - $16 = $33 - $25 | 0; - HEAP8[$16 + $4 | 0] = (HEAP32[$28 + 544 >> 2] >>> 9 | 0) + 1 >>> 1; - $2 = ($16 << 1) + $5 | 0; - $12 = HEAP32[$7 + $15 >> 2]; - $26 = $12 << 16 >> 16; - $16 = HEAP32[$28 + 704 >> 2]; - $16 = ((Math_imul($26, $16 & 65535) >> 16) + Math_imul($16 >> 16, $26) | 0) + Math_imul(($12 >> 15) + 1 >> 1, $16) | 0; - HEAP16[$2 >> 1] = ($16 | 0) > 8388479 ? 32767 : ($16 | 0) < -8388736 ? -32768 : ($16 >>> 7 | 0) + 1 >>> 1 | 0; - HEAP32[((HEAP32[$0 + 4336 >> 2] - $25 << 2) + $0 | 0) + 1280 >> 2] = HEAP32[$28 + 1024 >> 2]; - HEAP32[(HEAP32[$0 + 4332 >> 2] - $25 << 2) + $6 >> 2] = HEAP32[$28 + 864 >> 2]; - } - HEAP32[$0 + 4336 >> 2] = HEAP32[$0 + 4336 >> 2] + 1; - HEAP32[$0 + 4332 >> 2] = HEAP32[$0 + 4332 >> 2] + 1; - $13 = $33 + 16 | 0; - $26 = 0; - while (1) { - $16 = Math_imul($26, 1300) + $1 | 0; - $12 = Math_imul($26, 56) + $30 | 0; - HEAP32[$16 + 1280 >> 2] = HEAP32[$12 + 12 >> 2]; - HEAP32[$16 + 1284 >> 2] = HEAP32[$12 + 16 >> 2]; - $2 = HEAP32[$12 + 8 >> 2]; - HEAP32[($13 << 2) + $16 >> 2] = $2; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 704 >> 2] = $2; - $2 = HEAP32[$12 >> 2]; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 544 >> 2] = $2; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 864 >> 2] = HEAP32[$12 + 24 >> 2] << 1; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 1024 >> 2] = HEAP32[$12 + 20 >> 2]; - $2 = HEAP32[$16 + 1288 >> 2] + (($2 >> 9) + 1 >> 1) | 0; - HEAP32[$16 + 1288 >> 2] = $2; - HEAP32[((HEAP32[$24 >> 2] << 2) + $16 | 0) + 384 >> 2] = $2; - HEAP32[$16 + 1296 >> 2] = HEAP32[$12 + 4 >> 2]; - $26 = $26 + 1 | 0; - if (($26 | 0) != ($23 | 0)) { - continue; - } - break; - } - HEAP32[(HEAP32[$24 >> 2] << 2) + $7 >> 2] = $64; - $33 = $33 + 1 | 0; - if (($33 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $14 = 0; - $26 = $18 << 2; - while (1) { - $16 = Math_imul($14, 1300) + $1 | 0; - $12 = $26 + $16 | 0; - $13 = HEAP32[$12 >> 2]; - $2 = HEAP32[$12 + 4 >> 2]; - HEAP32[$16 >> 2] = $13; - HEAP32[$16 + 4 >> 2] = $2; - $13 = HEAP32[$12 + 60 >> 2]; - $2 = HEAP32[$12 + 56 >> 2]; - HEAP32[$16 + 56 >> 2] = $2; - HEAP32[$16 + 60 >> 2] = $13; - $2 = HEAP32[$12 + 52 >> 2]; - $13 = HEAP32[$12 + 48 >> 2]; - HEAP32[$16 + 48 >> 2] = $13; - HEAP32[$16 + 52 >> 2] = $2; - $13 = HEAP32[$12 + 44 >> 2]; - $2 = HEAP32[$12 + 40 >> 2]; - HEAP32[$16 + 40 >> 2] = $2; - HEAP32[$16 + 44 >> 2] = $13; - $2 = HEAP32[$12 + 36 >> 2]; - $13 = HEAP32[$12 + 32 >> 2]; - HEAP32[$16 + 32 >> 2] = $13; - HEAP32[$16 + 36 >> 2] = $2; - $13 = HEAP32[$12 + 28 >> 2]; - $2 = HEAP32[$12 + 24 >> 2]; - HEAP32[$16 + 24 >> 2] = $2; - HEAP32[$16 + 28 >> 2] = $13; - $2 = HEAP32[$12 + 20 >> 2]; - $13 = HEAP32[$12 + 16 >> 2]; - HEAP32[$16 + 16 >> 2] = $13; - HEAP32[$16 + 20 >> 2] = $2; - $13 = HEAP32[$12 + 12 >> 2]; - $2 = HEAP32[$12 + 8 >> 2]; - HEAP32[$16 + 8 >> 2] = $2; - HEAP32[$16 + 12 >> 2] = $13; - $14 = $14 + 1 | 0; - if (($23 | 0) != ($14 | 0)) { - continue; - } - break; - } - __stack_pointer = $63; - return; - } - celt_fatal(16226, 16207, 364); - abort(); - } - celt_fatal(16271, 16207, 422); - abort(); -} -function dynalloc_analysis($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20) { - var $21 = Math_fround(0), $22 = 0, $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = Math_fround(0), $32 = 0, $33 = Math_fround(0), $34 = 0, $35 = 0, $36 = Math_fround(0), $37 = 0, $38 = 0, $39 = 0, $40 = Math_fround(0), $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = Math_fround(0); - $24 = __stack_pointer; - $41 = $24; - $22 = (Math_imul($2, $5) << 2) + 15 & -16; - $30 = $24 - $22 | 0; - $24 = $30; - __stack_pointer = $24; - $32 = $24 - $22 | 0; - $29 = $32; - __stack_pointer = $29; - $24 = 0; - $38 = memset($6, 0, $2 << 2); - $25 = ($4 | 0) < 1; - if (!$25) { - $21 = Math_fround(9 - $7 | 0); - $6 = 0; - while (1) { - $22 = $6 << 2; - $7 = $6 + 5 | 0; - HEAPF32[$32 + $22 >> 2] = Math_fround(Math_fround(Math_imul($7, $7) | 0) * Math_fround(.006200000178068876)) + Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP16[($6 << 1) + $8 >> 1]) * Math_fround(.0625)) + Math_fround(.5)) + $21) - HEAPF32[$22 + 32928 >> 2]); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $37 = ($5 | 0) > 1 ? $5 : 1; - $33 = Math_fround(-31.899999618530273); - label$3 : { - label$4 : { - label$5 : { - label$6 : { - while (1) { - if (!$25) { - $22 = Math_imul($2, $24); - $6 = 0; - while (1) { - $21 = Math_fround(HEAPF32[($6 + $22 << 2) + $0 >> 2] - HEAPF32[($6 << 2) + $32 >> 2]); - $33 = $21 < $33 ? $33 : $21; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $24 = $24 + 1 | 0; - if (($37 | 0) != ($24 | 0)) { - continue; - } - $24 = $29; - $22 = ($2 << 2) + 15 & -16; - $6 = $24 - $22 | 0; - __stack_pointer = $6; - $22 = $6 - $22 | 0; - __stack_pointer = $22; - if (($4 | 0) < 1) { - break label$6; - } - $7 = 0; - while (1) { - $25 = $7 << 2; - HEAPF32[$25 + $6 >> 2] = HEAPF32[$0 + $25 >> 2] - HEAPF32[$25 + $32 >> 2]; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (!(($5 | 0) != 2 | ($4 | 0) < 1)) { - $7 = 0; - while (1) { - $25 = $7 << 2; - $8 = $25 + $6 | 0; - $21 = HEAPF32[$8 >> 2]; - $23 = Math_fround(HEAPF32[($2 + $7 << 2) + $0 >> 2] - HEAPF32[$25 + $32 >> 2]); - HEAPF32[$8 >> 2] = $21 > $23 ? $21 : $23; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $8 = memcpy($22, $6, $4 << 2); - if (($4 | 0) > 1) { - break label$5; - } - $34 = $4 - 2 | 0; - $35 = 0; - break label$4; - } - $24 = $24 + 1 | 0; - if (($37 | 0) != ($24 | 0)) { - continue; - } - break; - } - $24 = $29; - $22 = ($2 << 2) + 15 & -16; - $6 = $24 - $22 | 0; - __stack_pointer = $6; - $22 = $6 - $22 | 0; - __stack_pointer = $22; - } - memcpy($22, $6, $4 << 2); - $34 = $4 - 2 | 0; - $39 = ($5 | 0) == 2; - break label$3; - } - $21 = HEAPF32[$6 >> 2]; - $22 = 1; - while (1) { - $7 = ($22 << 2) + $6 | 0; - $23 = HEAPF32[$7 >> 2]; - $21 = Math_fround($21 + Math_fround(-2)); - $21 = $21 < $23 ? $23 : $21; - HEAPF32[$7 >> 2] = $21; - $22 = $22 + 1 | 0; - if (($22 | 0) != ($4 | 0)) { - continue; - } - break; - } - $34 = $4 - 2 | 0; - $35 = 0; - if (($4 | 0) <= 1) { - break label$4; - } - $22 = $34; - while (1) { - $7 = ($22 << 2) + $6 | 0; - $21 = HEAPF32[$7 >> 2]; - $23 = Math_fround(HEAPF32[$7 + 4 >> 2] + Math_fround(-3)); - HEAPF32[$7 >> 2] = $21 > $23 ? $21 : $23; - $7 = ($22 | 0) > 0; - $22 = $22 - 1 | 0; - if ($7) { - continue; - } - break; - } - $35 = 1; - } - $39 = ($5 | 0) == 2; - if (($4 | 0) < 1) { - break label$3; - } - $21 = Math_fround(Math_max(Math_fround($33 + Math_fround(-12)), Math_fround(0))); - $22 = 0; - while (1) { - $7 = $22 << 2; - $23 = HEAPF32[$7 + $6 >> 2]; - $23 = Math_fround(Math_floor(Math_fround(Math_fround(HEAPF32[$7 + $8 >> 2] - ($21 > $23 ? $21 : $23)) + Math_fround(.5)))); - label$16 : { - if (Math_fround(Math_abs($23)) < Math_fround(2147483648)) { - $24 = ~~$23; - break label$16; - } - $24 = -2147483648; - } - $29 = $7 + $20 | 0; - $25 = $24; - $7 = ($25 | 0) > 0 ? 0 : 0 - $25 | 0; - HEAP32[$29 >> 2] = 32 >>> (($7 | 0) < 5 ? $7 : 5); - $22 = $22 + 1 | 0; - if (($22 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - label$18 : { - if (!($16 | (($13 | 0) < 1 | ($14 | 0) < 51))) { - $42 = $4 - 3 | 0; - $8 = 0; - $43 = ($4 | 0) > 4; - $44 = $4 - 1 << 2; - $16 = 0; - while (1) { - $7 = Math_imul($2, $16); - $6 = $7 << 2; - $24 = $30 + $6 | 0; - $20 = $1 + $6 | 0; - $36 = HEAPF32[$20 >> 2]; - $6 = HEAP32[$20 >> 2]; - HEAP32[$24 >> 2] = $6; - $23 = $36; - $6 = 1; - if ($35) { - while (1) { - $22 = ($6 + $7 << 2) + $1 | 0; - $26 = HEAPF32[$22 - 4 >> 2]; - $23 = Math_fround($23 + Math_fround(1.5)); - $21 = HEAPF32[$22 >> 2]; - $23 = $21 > $23 ? $23 : $21; - HEAPF32[($6 << 2) + $24 >> 2] = $23; - $8 = Math_fround($26 + Math_fround(.5)) < $21 ? $6 : $8; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (($8 | 0) >= 1) { - $21 = HEAPF32[($8 << 2) + $24 >> 2]; - $6 = $8; - while (1) { - $22 = $6 - 1 | 0; - $25 = ($22 << 2) + $24 | 0; - $23 = HEAPF32[$25 >> 2]; - $21 = Math_fround($21 + Math_fround(2)); - $26 = HEAPF32[($7 + $22 << 2) + $1 >> 2]; - $21 = $21 < $26 ? $21 : $26; - $21 = $21 > $23 ? $23 : $21; - HEAPF32[$25 >> 2] = $21; - $25 = ($6 | 0) > 1; - $6 = $22; - if ($25) { - continue; - } - break; - } - } - $6 = 2; - if ($43) { - while (1) { - $22 = ($6 + $7 << 2) + $1 | 0; - $25 = $22 - 8 | 0; - $21 = HEAPF32[$25 >> 2]; - $23 = HEAPF32[$25 + 4 >> 2]; - $25 = $21 > $23; - $26 = HEAPF32[$22 + 4 >> 2]; - $27 = HEAPF32[$22 + 8 >> 2]; - $29 = $26 > $27; - $28 = $25 ? $21 : $23; - $40 = $29 ? $26 : $27; - $21 = $25 ? $23 : $21; - $23 = $29 ? $27 : $26; - $25 = $21 > $23; - $31 = $25 ? $28 : $40; - $21 = $25 ? $21 : $23; - $29 = ($6 << 2) + $24 | 0; - $23 = HEAPF32[$29 >> 2]; - $45 = $23; - $26 = HEAPF32[$22 >> 2]; - $27 = $25 ? $40 : $28; - $22 = $26 > $27 ^ 1; - label$27 : { - if (!$22) { - $28 = $21 > $26 ? $26 : $21; - if (!($21 > $27 ^ 1)) { - break label$27; - } - $28 = $27 > $31 ? $31 : $27; - break label$27; - } - $28 = $21 > $27 ? $27 : $21; - if (!($21 > $26 ^ 1)) { - break label$27; - } - $28 = $26 < $31 ? $26 : $31; - } - if (!(Math_fround($28 + Math_fround(-1)) < $45)) { - label$30 : { - if (!$22) { - $28 = $21 > $26 ? $26 : $21; - if (!($21 > $27 ^ 1)) { - break label$30; - } - $28 = $27 > $31 ? $31 : $27; - break label$30; - } - $28 = $21 > $27 ? $27 : $21; - if (!($21 > $26 ^ 1)) { - break label$30; - } - $28 = $26 < $31 ? $26 : $31; - } - $21 = $28; - $23 = Math_fround($21 + Math_fround(-1)); - } - HEAPF32[$29 >> 2] = $23; - $6 = $6 + 1 | 0; - if (($34 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $21 = HEAPF32[$20 + 4 >> 2]; - $6 = $36 > $21; - $26 = HEAPF32[$24 >> 2]; - $27 = $6 ? $36 : $21; - $23 = HEAPF32[$20 + 8 >> 2]; - $21 = $6 ? $21 : $36; - $21 = Math_fround(($23 > $27 ? $27 : $21 < $23 ? $23 : $21) + Math_fround(-1)); - HEAPF32[$24 >> 2] = $21 < $26 ? $26 : $21; - $23 = HEAPF32[$24 + 4 >> 2]; - HEAPF32[$24 + 4 >> 2] = $21 < $23 ? $23 : $21; - $6 = ($34 << 2) + $24 | 0; - $20 = $6; - $27 = HEAPF32[$6 >> 2]; - $6 = ($7 + $42 << 2) + $1 | 0; - $21 = HEAPF32[$6 >> 2]; - $23 = HEAPF32[$6 + 4 >> 2]; - $22 = $21 > $23; - $31 = $22 ? $21 : $23; - $26 = HEAPF32[$6 + 8 >> 2]; - $21 = $22 ? $23 : $21; - $21 = Math_fround(($26 > $31 ? $31 : $21 < $26 ? $26 : $21) + Math_fround(-1)); - HEAPF32[$20 >> 2] = $21 < $27 ? $27 : $21; - $6 = $24 + $44 | 0; - $23 = HEAPF32[$6 >> 2]; - HEAPF32[$6 >> 2] = $21 < $23 ? $23 : $21; - $6 = 0; - if (($4 | 0) >= 1) { - while (1) { - $22 = $6 << 2; - $7 = $24 + $22 | 0; - $21 = HEAPF32[$7 >> 2]; - $23 = HEAPF32[$22 + $32 >> 2]; - HEAPF32[$7 >> 2] = $21 > $23 ? $21 : $23; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $16 = $16 + 1 | 0; - if (($37 | 0) != ($16 | 0)) { - continue; - } - break; - } - label$34 : { - label$35 : { - if (!$39) { - if (($3 | 0) >= ($4 | 0)) { - break label$34; - } - $6 = $3; - while (1) { - $24 = $6 << 2; - $22 = $30 + $24 | 0; - HEAPF32[$22 >> 2] = Math_max(Math_fround(HEAPF32[$0 + $24 >> 2] - HEAPF32[$22 >> 2]), Math_fround(0)); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$35; - } - if (($3 | 0) >= ($4 | 0)) { - break label$34; - } - $6 = $3; - while (1) { - $1 = $2 + $6 << 2; - $22 = $30 + $1 | 0; - $21 = HEAPF32[$22 >> 2]; - $7 = $6 << 2; - $24 = $30 + $7 | 0; - $23 = Math_fround(HEAPF32[$24 >> 2] + Math_fround(-4)); - $21 = $21 > $23 ? $21 : $23; - HEAPF32[$22 >> 2] = $21; - $23 = HEAPF32[$24 >> 2]; - $21 = Math_fround($21 + Math_fround(-4)); - $21 = $21 < $23 ? $23 : $21; - HEAPF32[$24 >> 2] = $21; - HEAPF32[$24 >> 2] = Math_fround(Math_fround(Math_max(Math_fround(HEAPF32[$0 + $7 >> 2] - $21), Math_fround(0))) + Math_fround(Math_max(Math_fround(HEAPF32[$0 + $1 >> 2] - HEAPF32[$22 >> 2]), Math_fround(0)))) * Math_fround(.5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $1 = ($3 | 0) < ($4 | 0); - if (!$1) { - break label$34; - } - $6 = $3; - while (1) { - $24 = $6 << 2; - $22 = $30 + $24 | 0; - $21 = HEAPF32[$22 >> 2]; - $23 = HEAPF32[$17 + $24 >> 2]; - HEAPF32[$22 >> 2] = $21 > $23 ? $21 : $23; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (!$1) { - break label$34; - } - $6 = $3; - while (1) { - $24 = $6 << 2; - $21 = HEAPF32[$30 + $24 >> 2]; - $21 = Math_fround(Math_floor(Math_fround(Math_fround(Math_fround(exp(+($21 < Math_fround(4) ? $21 : Math_fround(4)) * .6931471805599453)) * Math_fround(13)) + Math_fround(.5)))); - label$41 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $22 = ~~$21; - break label$41; - } - $22 = -2147483648; - } - HEAP32[$19 + $24 >> 2] = $22; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $1 = ($3 | 0) >= ($4 | 0); - if (!(!$11 & ($10 | 0) != 0 | ($9 | $1))) { - $6 = $3; - while (1) { - $24 = ($6 << 2) + $30 | 0; - HEAPF32[$24 >> 2] = HEAPF32[$24 >> 2] * Math_fround(.5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (!$1) { - $6 = $3; - while (1) { - $21 = Math_fround(2); - label$47 : { - if (($6 | 0) >= 8) { - $21 = Math_fround(.5); - if (($6 | 0) < 12) { - break label$47; - } - } - $24 = ($6 << 2) + $30 | 0; - HEAPF32[$24 >> 2] = HEAPF32[$24 >> 2] * $21; - } - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - label$49 : { - if (!HEAP32[$18 >> 2]) { - break label$49; - } - $22 = ($4 | 0) < 19 ? $4 : 19; - if (($22 | 0) <= ($3 | 0)) { - break label$49; - } - $6 = $3; - while (1) { - $24 = ($6 << 2) + $30 | 0; - HEAPF32[$24 >> 2] = HEAPF32[$24 >> 2] + Math_fround(Math_fround(HEAPU8[($6 + $18 | 0) + 44 | 0]) * Math_fround(.015625)); - $6 = $6 + 1 | 0; - if (($22 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $22 = 0; - if ($1) { - break label$18; - } - $8 = ($14 << 1) / 3 | 0; - $1 = 0; - $7 = HEAPU16[($3 << 1) + $12 >> 1]; - $29 = (!$10 | !$9 & ($11 | 0) != 0) ^ 1; - while (1) { - $25 = $3 << 2; - $6 = $30 + $25 | 0; - $21 = HEAPF32[$6 >> 2]; - $21 = $21 < Math_fround(4) ? $21 : Math_fround(4); - HEAPF32[$6 >> 2] = $21; - $6 = $7 << 16; - $24 = $3 + 1 | 0; - $7 = HEAP16[($24 << 1) + $12 >> 1]; - $22 = Math_imul($7 - ($6 >> 16) | 0, $5) << $13; - label$52 : { - if (($22 | 0) <= 5) { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $6 = ~~$21; - } else { - $6 = -2147483648; - } - $22 = Math_imul($22, $6) << 3; - break label$52; - } - if (($22 | 0) >= 49) { - $21 = Math_fround($21 * Math_fround(8)); - label$57 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $6 = ~~$21; - break label$57; - } - $6 = -2147483648; - } - $22 = (Math_imul($22, $6) << 3) / 8 | 0; - break label$52; - } - $21 = Math_fround(Math_fround($21 * Math_fround($22 | 0)) / Math_fround(6)); - label$59 : { - if (Math_fround(Math_abs($21)) < Math_fround(2147483648)) { - $6 = ~~$21; - break label$59; - } - $6 = -2147483648; - } - $22 = Math_imul($6, 48); - } - $22 = $22 + $1 | 0; - if (!($22 >> 6 <= ($8 | 0) | $29)) { - $22 = $8 << 6; - HEAP32[($3 << 2) + $38 >> 2] = $22 - $1; - break label$18; - } - HEAP32[$25 + $38 >> 2] = $6; - $3 = $24; - $1 = $22; - if (($4 | 0) != ($24 | 0)) { - continue; - } - break; - } - break label$18; - } - $22 = 0; - if (($3 | 0) >= ($4 | 0)) { - break label$18; - } - while (1) { - HEAP32[($3 << 2) + $19 >> 2] = 13; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - HEAP32[$15 >> 2] = $22; - __stack_pointer = $41; - return $33; -} -function opus_fft_impl($0, $1) { - var $2 = 0, $3 = Math_fround(0), $4 = 0, $5 = Math_fround(0), $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = Math_fround(0), $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = Math_fround(0), $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = Math_fround(0), $21 = 0, $22 = Math_fround(0), $23 = Math_fround(0), $24 = Math_fround(0), $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = Math_fround(0), $32 = Math_fround(0), $33 = Math_fround(0), $34 = 0, $35 = 0, $36 = 0, $37 = Math_fround(0), $38 = 0, $39 = 0, $40 = Math_fround(0), $41 = Math_fround(0), $42 = Math_fround(0), $43 = Math_fround(0), $44 = Math_fround(0), $45 = Math_fround(0), $46 = Math_fround(0), $47 = Math_fround(0), $48 = Math_fround(0), $49 = Math_fround(0), $50 = 0; - $29 = __stack_pointer - 32 | 0; - __stack_pointer = $29; - $14 = HEAP32[$0 + 8 >> 2]; - HEAP32[$29 >> 2] = 1; - $7 = $0 + 12 | 0; - $9 = 1; - while (1) { - $2 = $4; - $10 = $2 << 2; - $18 = HEAPU16[($10 | 2) + $7 >> 1]; - $4 = $2 + 1 | 0; - $9 = Math_imul(HEAP16[$7 + $10 >> 1], $9); - HEAP32[($4 << 2) + $29 >> 2] = $9; - if (($18 | 0) != 1) { - continue; - } - break; - } - $38 = ($14 | 0) > 0 ? $14 : 0; - $35 = HEAP16[(($4 << 2) + $0 | 0) + 10 >> 1]; - label$2 : { - while (1) { - $12 = $35; - $4 = 0; - $35 = 1; - $30 = $2; - if ($2) { - $35 = HEAP16[(($30 << 2) + $0 | 0) + 10 >> 1]; - $4 = $30 << 1; - } - label$5 : { - label$6 : { - switch (HEAP16[(($4 << 1) + $0 | 0) + 12 >> 1] - 2 | 0) { - case 0: - if (($12 | 0) != 4) { - break label$2; - } - $4 = 0; - $2 = $1; - $10 = HEAP32[($30 << 2) + $29 >> 2]; - if (($10 | 0) <= 0) { - break label$5; - } - while (1) { - $6 = HEAPF32[$2 >> 2]; - $3 = HEAPF32[$2 + 32 >> 2]; - HEAPF32[$2 + 32 >> 2] = $6 - $3; - HEAPF32[$2 >> 2] = $3 + $6; - $7 = $2 + 36 | 0; - $6 = HEAPF32[$7 >> 2]; - $3 = HEAPF32[$2 + 4 >> 2]; - HEAPF32[$2 + 4 >> 2] = $6 + $3; - HEAPF32[$2 + 36 >> 2] = $3 - $6; - $6 = HEAPF32[$2 + 8 >> 2]; - $3 = HEAPF32[$2 + 40 >> 2]; - $7 = $2 + 44 | 0; - $5 = HEAPF32[$7 >> 2]; - $8 = Math_fround(Math_fround($3 + $5) * Math_fround(.7071067690849304)); - HEAPF32[$2 + 40 >> 2] = $6 - $8; - $9 = $2 + 12 | 0; - $11 = HEAPF32[$9 >> 2]; - $3 = Math_fround(Math_fround($5 - $3) * Math_fround(.7071067690849304)); - HEAPF32[$2 + 44 >> 2] = $11 - $3; - HEAPF32[$2 + 8 >> 2] = $6 + $8; - HEAPF32[$2 + 12 >> 2] = $3 + $11; - $6 = HEAPF32[$2 + 48 >> 2]; - $3 = HEAPF32[$2 + 16 >> 2]; - $7 = $2 + 52 | 0; - $5 = HEAPF32[$7 >> 2]; - HEAPF32[$2 + 48 >> 2] = $3 - $5; - $9 = $2 + 20 | 0; - $8 = HEAPF32[$9 >> 2]; - HEAPF32[$2 + 52 >> 2] = $6 + $8; - HEAPF32[$2 + 20 >> 2] = $8 - $6; - HEAPF32[$2 + 16 >> 2] = $5 + $3; - $6 = HEAPF32[$2 + 24 >> 2]; - $7 = $2 + 60 | 0; - $3 = HEAPF32[$7 >> 2]; - $5 = HEAPF32[$2 + 56 >> 2]; - $8 = Math_fround(Math_fround($3 - $5) * Math_fround(.7071067690849304)); - HEAPF32[$2 + 56 >> 2] = $6 - $8; - $9 = $2 + 28 | 0; - $11 = HEAPF32[$9 >> 2]; - $3 = Math_fround(Math_fround($3 + $5) * Math_fround(-.7071067690849304)); - HEAPF32[$2 + 60 >> 2] = $11 - $3; - HEAPF32[$2 + 28 >> 2] = $3 + $11; - HEAPF32[$2 + 24 >> 2] = $6 + $8; - $2 = $2 - -64 | 0; - $4 = $4 + 1 | 0; - if (($10 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$5; - case 2: - $34 = HEAP32[($30 << 2) + $29 >> 2]; - if (($12 | 0) == 1) { - $4 = 0; - $2 = $1; - if (($34 | 0) < 1) { - break label$5; - } - while (1) { - $6 = HEAPF32[$2 >> 2]; - $3 = HEAPF32[$2 + 16 >> 2]; - $5 = Math_fround($6 + $3); - $8 = HEAPF32[$2 + 8 >> 2]; - $11 = HEAPF32[$2 + 24 >> 2]; - $15 = Math_fround($8 + $11); - HEAPF32[$2 + 16 >> 2] = $5 - $15; - HEAPF32[$2 >> 2] = $5 + $15; - $7 = $2 + 20 | 0; - $12 = $7; - $5 = HEAPF32[$2 + 4 >> 2]; - $15 = HEAPF32[$2 + 20 >> 2]; - $20 = Math_fround($5 + $15); - $7 = $2 + 12 | 0; - $22 = HEAPF32[$7 >> 2]; - $9 = $2 + 28 | 0; - $16 = HEAPF32[$9 >> 2]; - $17 = Math_fround($22 + $16); - HEAPF32[$12 >> 2] = $20 - $17; - $5 = Math_fround($5 - $15); - $8 = Math_fround($8 - $11); - HEAPF32[$2 + 28 >> 2] = $5 + $8; - $6 = Math_fround($6 - $3); - $3 = Math_fround($22 - $16); - HEAPF32[$2 + 24 >> 2] = $6 - $3; - HEAPF32[$2 + 12 >> 2] = $5 - $8; - HEAPF32[$2 + 8 >> 2] = $6 + $3; - HEAPF32[$2 + 4 >> 2] = $20 + $17; - $2 = $2 + 32 | 0; - $4 = $4 + 1 | 0; - if (($34 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$5; - } - if (($34 | 0) < 1) { - break label$5; - } - $26 = Math_imul($12, 3); - $27 = $12 << 1; - $21 = $34 << $38; - $28 = Math_imul($21, 3); - $39 = $21 << 1; - $50 = HEAP32[$0 + 48 >> 2]; - $36 = 0; - while (1) { - if (($12 | 0) >= 1) { - $2 = (Math_imul($35, $36) << 3) + $1 | 0; - $25 = 0; - $4 = $50; - $7 = $4; - $9 = $4; - while (1) { - $10 = ($12 << 3) + $2 | 0; - $6 = HEAPF32[$10 + 4 >> 2]; - $3 = HEAPF32[$10 >> 2]; - $18 = ($26 << 3) + $2 | 0; - $5 = HEAPF32[$18 + 4 >> 2]; - $8 = HEAPF32[$18 >> 2]; - $11 = HEAPF32[$9 >> 2]; - $15 = HEAPF32[$9 + 4 >> 2]; - $20 = HEAPF32[$4 >> 2]; - $22 = HEAPF32[$4 + 4 >> 2]; - $16 = HEAPF32[$7 >> 2]; - $14 = ($27 << 3) + $2 | 0; - $17 = HEAPF32[$14 + 4 >> 2]; - $13 = HEAPF32[$14 >> 2]; - $19 = HEAPF32[$7 + 4 >> 2]; - $31 = Math_fround(Math_fround($16 * $17) + Math_fround($13 * $19)); - $23 = HEAPF32[$2 + 4 >> 2]; - $24 = Math_fround($31 + $23); - HEAPF32[$2 + 4 >> 2] = $24; - $16 = Math_fround(Math_fround($13 * $16) - Math_fround($17 * $19)); - $17 = HEAPF32[$2 >> 2]; - $13 = Math_fround($16 + $17); - HEAPF32[$2 >> 2] = $13; - $19 = Math_fround(Math_fround($11 * $6) + Math_fround($3 * $15)); - $32 = Math_fround(Math_fround($20 * $5) + Math_fround($8 * $22)); - $33 = Math_fround($19 + $32); - HEAPF32[$14 + 4 >> 2] = $24 - $33; - $6 = Math_fround(Math_fround($3 * $11) - Math_fround($6 * $15)); - $3 = Math_fround(Math_fround($8 * $20) - Math_fround($5 * $22)); - $5 = Math_fround($6 + $3); - HEAPF32[$14 >> 2] = $13 - $5; - HEAPF32[$2 >> 2] = $5 + HEAPF32[$2 >> 2]; - HEAPF32[$2 + 4 >> 2] = $33 + HEAPF32[$2 + 4 >> 2]; - $5 = Math_fround($23 - $31); - $6 = Math_fround($6 - $3); - HEAPF32[$10 + 4 >> 2] = $5 - $6; - $3 = Math_fround($17 - $16); - $8 = Math_fround($19 - $32); - HEAPF32[$10 >> 2] = $3 + $8; - HEAPF32[$18 + 4 >> 2] = $5 + $6; - HEAPF32[$18 >> 2] = $3 - $8; - $2 = $2 + 8 | 0; - $4 = ($28 << 3) + $4 | 0; - $7 = ($39 << 3) + $7 | 0; - $9 = ($21 << 3) + $9 | 0; - $25 = $25 + 1 | 0; - if (($25 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $36 = $36 + 1 | 0; - if (($36 | 0) != ($34 | 0)) { - continue; - } - break; - } - break label$5; - case 1: - $28 = HEAP32[($30 << 2) + $29 >> 2]; - if (($28 | 0) < 1) { - break label$5; - } - $25 = $12 << 1; - $27 = HEAP32[$0 + 48 >> 2]; - $14 = $28 << $38; - $6 = HEAPF32[($27 + (Math_imul($14, $12) << 3) | 0) + 4 >> 2]; - $21 = $14 << 1; - $26 = 0; - while (1) { - $2 = (Math_imul($26, $35) << 3) + $1 | 0; - $7 = $27; - $9 = $7; - $18 = $12; - while (1) { - $4 = ($12 << 3) + $2 | 0; - $3 = HEAPF32[$4 >> 2]; - $5 = HEAPF32[$9 >> 2]; - $8 = HEAPF32[$4 + 4 >> 2]; - $11 = HEAPF32[$9 + 4 >> 2]; - $15 = Math_fround(Math_fround($3 * $5) - Math_fround($8 * $11)); - $10 = ($25 << 3) + $2 | 0; - $20 = HEAPF32[$10 >> 2]; - $22 = HEAPF32[$7 >> 2]; - $16 = HEAPF32[$10 + 4 >> 2]; - $17 = HEAPF32[$7 + 4 >> 2]; - $13 = Math_fround(Math_fround($20 * $22) - Math_fround($16 * $17)); - $19 = Math_fround($15 + $13); - HEAPF32[$4 >> 2] = HEAPF32[$2 >> 2] - Math_fround($19 * Math_fround(.5)); - $3 = Math_fround(Math_fround($5 * $8) + Math_fround($3 * $11)); - $5 = Math_fround(Math_fround($22 * $16) + Math_fround($20 * $17)); - $8 = Math_fround($3 + $5); - HEAPF32[$4 + 4 >> 2] = HEAPF32[$2 + 4 >> 2] - Math_fround($8 * Math_fround(.5)); - HEAPF32[$2 >> 2] = $19 + HEAPF32[$2 >> 2]; - HEAPF32[$2 + 4 >> 2] = $8 + HEAPF32[$2 + 4 >> 2]; - $3 = Math_fround($6 * Math_fround($3 - $5)); - HEAPF32[$10 >> 2] = $3 + HEAPF32[$4 >> 2]; - $5 = Math_fround($6 * Math_fround($15 - $13)); - HEAPF32[$10 + 4 >> 2] = HEAPF32[$4 + 4 >> 2] - $5; - HEAPF32[$4 >> 2] = HEAPF32[$4 >> 2] - $3; - HEAPF32[$4 + 4 >> 2] = $5 + HEAPF32[$4 + 4 >> 2]; - $2 = $2 + 8 | 0; - $7 = ($21 << 3) + $7 | 0; - $9 = ($14 << 3) + $9 | 0; - $18 = $18 - 1 | 0; - if ($18) { - continue; - } - break; - } - $26 = $26 + 1 | 0; - if (($28 | 0) != ($26 | 0)) { - continue; - } - break; - } - break label$5; - case 3: - break label$6; - default: - break label$5; - } - } - $28 = HEAP32[($30 << 2) + $29 >> 2]; - if (($28 | 0) < 1) { - break label$5; - } - $18 = HEAP32[$0 + 48 >> 2]; - $26 = $28 << $38; - $2 = Math_imul($26, $12); - $4 = $18 + ($2 << 4) | 0; - $6 = HEAPF32[$4 + 4 >> 2]; - $3 = HEAPF32[$4 >> 2]; - $2 = ($2 << 3) + $18 | 0; - $5 = HEAPF32[$2 + 4 >> 2]; - $8 = HEAPF32[$2 >> 2]; - $39 = $12 << 2; - $36 = Math_imul($12, 3); - $34 = $12 << 1; - $27 = 0; - while (1) { - if (($12 | 0) >= 1) { - $2 = (Math_imul($27, $35) << 3) + $1 | 0; - $4 = $2 + ($12 << 3) | 0; - $7 = ($34 << 3) + $2 | 0; - $9 = ($36 << 3) + $2 | 0; - $10 = ($39 << 3) + $2 | 0; - $25 = 0; - while (1) { - $11 = HEAPF32[$2 >> 2]; - $15 = HEAPF32[$2 + 4 >> 2]; - $14 = Math_imul($25, $26); - $21 = ($14 << 4) + $18 | 0; - $16 = HEAPF32[$21 >> 2]; - $17 = HEAPF32[$7 + 4 >> 2]; - $13 = HEAPF32[$7 >> 2]; - $19 = HEAPF32[$21 + 4 >> 2]; - $31 = Math_fround(Math_fround($16 * $17) + Math_fround($13 * $19)); - $21 = Math_imul($14, 24) + $18 | 0; - $23 = HEAPF32[$21 >> 2]; - $24 = HEAPF32[$9 + 4 >> 2]; - $32 = HEAPF32[$9 >> 2]; - $33 = HEAPF32[$21 + 4 >> 2]; - $37 = Math_fround(Math_fround($23 * $24) + Math_fround($32 * $33)); - $20 = Math_fround($31 + $37); - $21 = ($14 << 3) + $18 | 0; - $40 = HEAPF32[$21 >> 2]; - $41 = HEAPF32[$4 + 4 >> 2]; - $42 = HEAPF32[$4 >> 2]; - $43 = HEAPF32[$21 + 4 >> 2]; - $44 = Math_fround(Math_fround($40 * $41) + Math_fround($42 * $43)); - $14 = ($14 << 5) + $18 | 0; - $45 = HEAPF32[$14 >> 2]; - $46 = HEAPF32[$10 + 4 >> 2]; - $47 = HEAPF32[$10 >> 2]; - $48 = HEAPF32[$14 + 4 >> 2]; - $49 = Math_fround(Math_fround($45 * $46) + Math_fround($47 * $48)); - $22 = Math_fround($44 + $49); - HEAPF32[$2 + 4 >> 2] = $15 + Math_fround($20 + $22); - $13 = Math_fround(Math_fround($13 * $16) - Math_fround($17 * $19)); - $19 = Math_fround(Math_fround($32 * $23) - Math_fround($24 * $33)); - $16 = Math_fround($13 + $19); - $23 = Math_fround(Math_fround($42 * $40) - Math_fround($41 * $43)); - $24 = Math_fround(Math_fround($47 * $45) - Math_fround($46 * $48)); - $17 = Math_fround($23 + $24); - HEAPF32[$2 >> 2] = $11 + Math_fround($16 + $17); - $13 = Math_fround($13 - $19); - $19 = Math_fround($23 - $24); - $23 = Math_fround(Math_fround($6 * $13) + Math_fround($5 * $19)); - $24 = Math_fround($15 + Math_fround(Math_fround($3 * $20) + Math_fround($8 * $22))); - HEAPF32[$4 + 4 >> 2] = $23 + $24; - $32 = Math_fround($11 + Math_fround(Math_fround($3 * $16) + Math_fround($8 * $17))); - $31 = Math_fround($31 - $37); - $33 = Math_fround($44 - $49); - $37 = Math_fround(Math_fround($6 * $31) + Math_fround($5 * $33)); - HEAPF32[$4 >> 2] = $32 - $37; - HEAPF32[$10 + 4 >> 2] = $24 - $23; - HEAPF32[$10 >> 2] = $37 + $32; - $13 = Math_fround(Math_fround($6 * $19) - Math_fround($5 * $13)); - $15 = Math_fround($15 + Math_fround(Math_fround($8 * $20) + Math_fround($3 * $22))); - HEAPF32[$7 + 4 >> 2] = $13 + $15; - $20 = Math_fround(Math_fround($5 * $31) - Math_fround($6 * $33)); - $11 = Math_fround($11 + Math_fround(Math_fround($8 * $16) + Math_fround($3 * $17))); - HEAPF32[$7 >> 2] = $20 + $11; - HEAPF32[$9 + 4 >> 2] = $15 - $13; - HEAPF32[$9 >> 2] = $11 - $20; - $10 = $10 + 8 | 0; - $9 = $9 + 8 | 0; - $7 = $7 + 8 | 0; - $4 = $4 + 8 | 0; - $2 = $2 + 8 | 0; - $25 = $25 + 1 | 0; - if (($25 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $27 = $27 + 1 | 0; - if (($28 | 0) != ($27 | 0)) { - continue; - } - break; - } - } - $2 = $30 - 1 | 0; - if (($30 | 0) > 0) { - continue; - } - break; - } - __stack_pointer = $29 + 32 | 0; - return; - } - celt_fatal(42449, 42433, 76); - abort(); -} -function clt_compute_allocation($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18) { - var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; - $19 = __stack_pointer; - $41 = $19; - $8 = ($8 | 0) > 0 ? $8 : 0; - $39 = (($8 | 0) > 7) << 3; - $33 = $8 - $39 | 0; - $37 = HEAP32[$0 + 8 >> 2]; - label$1 : { - if (($13 | 0) != 2) { - break label$1; - } - $35 = HEAPU8[($2 - $1 | 0) + 42192 | 0]; - if (($35 | 0) > ($33 | 0)) { - $35 = 0; - break label$1; - } - $8 = $33 - $35 | 0; - $36 = (($8 | 0) > 7) << 3; - $33 = $8 - $36 | 0; - } - $8 = ($37 << 2) + 15 & -16; - $23 = $19 - $8 | 0; - $19 = $23; - __stack_pointer = $19; - $30 = $19 - $8 | 0; - $19 = $30; - __stack_pointer = $19; - $27 = $19 - $8 | 0; - $19 = $27; - __stack_pointer = $19; - $28 = $13 << 3; - $34 = $19 - $8 | 0; - __stack_pointer = $34; - $38 = ($1 | 0) >= ($2 | 0); - if (!$38) { - $25 = $14 + 3 | 0; - $24 = Math_imul(($5 - $14 | 0) - 5 | 0, $13); - $26 = HEAP32[$0 + 32 >> 2]; - $20 = HEAPU16[$26 + ($1 << 1) >> 1]; - $8 = $1; - while (1) { - $5 = $20 << 16; - $21 = $8 << 2; - $19 = $8 + 1 | 0; - $20 = HEAP16[($19 << 1) + $26 >> 1]; - $5 = $20 - ($5 >> 16) | 0; - $22 = Math_imul($5, 3) << $14 << 3 >> 4; - HEAP32[$27 + $21 >> 2] = ($22 | 0) < ($28 | 0) ? $28 : $22; - HEAP32[$21 + $34 >> 2] = (Math_imul(Math_imul(($8 ^ -1) + $2 | 0, $24), $5) << $25 >> 6) - ($5 << $14 == 1 ? $28 : 0); - $8 = $19; - if (($2 | 0) != ($19 | 0)) { - continue; - } - break; - } - } - $40 = HEAP32[$0 + 48 >> 2]; - $32 = $40 - 1 | 0; - $29 = 1; - label$6 : { - while (1) { - $31 = $29 + $32 >> 1; - if (!$38) { - $25 = Math_imul($31, $37); - $24 = HEAP32[$0 + 32 >> 2]; - $21 = HEAPU16[$24 + ($2 << 1) >> 1]; - $26 = HEAP32[$0 + 52 >> 2]; - $20 = 0; - $8 = $2; - $22 = 0; - while (1) { - $5 = $21 << 16 >> 16; - $8 = $8 - 1 | 0; - $21 = HEAP16[($8 << 1) + $24 >> 1]; - $5 = Math_imul(Math_imul($5 - $21 | 0, $13), HEAPU8[($8 + $25 | 0) + $26 | 0]) << $14; - $19 = $5 >> 2; - $22 = !$22; - if (($5 | 0) >= 4) { - $19 = HEAP32[($8 << 2) + $34 >> 2] + $19 | 0; - $19 = ($19 | 0) > 0 ? $19 : 0; - } - $5 = $8 << 2; - $19 = HEAP32[$5 + $3 >> 2] + $19 | 0; - label$11 : { - if (!(($19 | 0) < HEAP32[$5 + $27 >> 2] ? $22 : 0)) { - $5 = HEAP32[$4 + $5 >> 2]; - $19 = ($5 | 0) > ($19 | 0) ? $19 : $5; - $22 = 1; - break label$11; - } - $19 = ($19 | 0) < ($28 | 0) ? 0 : $28; - $22 = 0; - } - $20 = $20 + $19 | 0; - if (($1 | 0) < ($8 | 0)) { - continue; - } - break; - } - $8 = ($20 | 0) > ($33 | 0); - $29 = $8 ? $29 : $31 + 1 | 0; - $32 = $8 ? $31 - 1 | 0 : $32; - if (($29 | 0) <= ($32 | 0)) { - continue; - } - $31 = $1; - if ($38) { - break label$6; - } - $42 = Math_imul($29, $37); - $26 = Math_imul($29 - 1 | 0, $37); - $32 = HEAP32[$0 + 32 >> 2]; - $25 = HEAPU16[$32 + ($1 << 1) >> 1]; - $24 = HEAP32[$0 + 52 >> 2]; - $8 = $1; - $31 = $8; - while (1) { - $19 = $25 << 16; - $5 = $8 + 1 | 0; - $25 = HEAP16[($5 << 1) + $32 >> 1]; - $19 = Math_imul($25 - ($19 >> 16) | 0, $13); - $20 = Math_imul($19, HEAPU8[($8 + $26 | 0) + $24 | 0]) << $14; - if (($29 | 0) >= ($40 | 0)) { - $19 = HEAP32[($8 << 2) + $4 >> 2]; - } else { - $19 = Math_imul(HEAPU8[($8 + $42 | 0) + $24 | 0], $19) << $14 >> 2; - } - $21 = $20 >> 2; - if (($20 | 0) >= 4) { - $20 = HEAP32[($8 << 2) + $34 >> 2] + $21 | 0; - $21 = ($20 | 0) > 0 ? $20 : 0; - } - if (($19 | 0) >= 1) { - $19 = HEAP32[($8 << 2) + $34 >> 2] + $19 | 0; - $19 = ($19 | 0) > 0 ? $19 : 0; - } - $20 = $8 << 2; - $22 = HEAP32[$20 + $3 >> 2]; - $21 = (($29 | 0) > 1 ? $22 : 0) + $21 | 0; - HEAP32[$20 + $23 >> 2] = $21; - $19 = ($19 - $21 | 0) + $22 | 0; - HEAP32[$20 + $30 >> 2] = ($19 | 0) > 0 ? $19 : 0; - $31 = ($22 | 0) > 0 ? $8 : $31; - $8 = $5; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$6; - } - $8 = ($33 | 0) < 0; - $29 = $8 ? $29 : $31 + 1 | 0; - $32 = $8 ? $31 - 1 | 0 : $32; - if (($29 | 0) <= ($32 | 0)) { - continue; - } - break; - } - $31 = $1; - } - $3 = ($13 | 0) > 1; - $24 = 64; - $25 = 0; - $26 = 0; - while (1) { - label$20 : { - $22 = $24 + $25 >> 1; - $5 = $2; - $20 = 0; - $21 = 0; - if (!$38) { - while (1) { - $5 = $5 - 1 | 0; - $8 = $5 << 2; - $19 = (Math_imul(HEAP32[$30 + $8 >> 2], $22) >> 6) + HEAP32[$8 + $23 >> 2] | 0; - label$23 : { - if (!(($19 | 0) < HEAP32[$8 + $27 >> 2] ? !$21 : 0)) { - $8 = HEAP32[$4 + $8 >> 2]; - $8 = ($8 | 0) > ($19 | 0) ? $19 : $8; - $21 = 1; - break label$23; - } - $8 = ($19 | 0) < ($28 | 0) ? 0 : $28; - $21 = 0; - } - $20 = $20 + $8 | 0; - if (($1 | 0) < ($5 | 0)) { - continue; - } - break; - } - $8 = ($20 | 0) > ($33 | 0); - $25 = $8 ? $25 : $22; - $24 = $8 ? $22 : $24; - $26 = $26 + 1 | 0; - if (($26 | 0) != 6) { - continue; - } - $8 = 0; - $20 = $2; - $21 = 0; - while (1) { - $20 = $20 - 1 | 0; - $19 = $20 << 2; - $5 = HEAP32[$19 + $23 >> 2] + (Math_imul(HEAP32[$19 + $30 >> 2], $25) >> 6) | 0; - $22 = ($5 | 0) >= HEAP32[$19 + $27 >> 2]; - $24 = $19 + $10 | 0; - $5 = $21 ? $5 : $22 ? $5 : ($5 | 0) < ($28 | 0) ? 0 : $28; - $19 = HEAP32[$4 + $19 >> 2]; - $19 = ($5 | 0) < ($19 | 0) ? $5 : $19; - HEAP32[$24 >> 2] = $19; - $8 = $8 + $19 | 0; - $21 = $21 | $22; - if (($1 | 0) < ($20 | 0)) { - continue; - } - break; - } - break label$20; - } - $8 = 0; - $19 = ($33 | 0) < 0; - $25 = $19 ? $25 : $22; - $24 = $19 ? $22 : $24; - $26 = $26 + 1 | 0; - if (($26 | 0) != 6) { - continue; - } - } - break; - } - $22 = $2 - 1 | 0; - label$27 : { - label$28 : { - if (($31 | 0) >= ($22 | 0)) { - $5 = $2; - $19 = $35; - break label$28; - } - $32 = $1 + 2 | 0; - $30 = $28 + 8 | 0; - $21 = $2; - while (1) { - $19 = HEAP32[$0 + 32 >> 2]; - $20 = HEAP16[$19 + ($21 << 1) >> 1]; - $5 = $22; - $25 = HEAP16[($5 << 1) + $19 >> 1]; - $29 = $20 - $25 | 0; - $34 = $5 << 2; - $22 = $34 + $10 | 0; - $23 = HEAP32[$22 >> 2]; - $24 = $33 - $8 | 0; - $19 = HEAP16[($1 << 1) + $19 >> 1]; - $26 = ($24 >>> 0) / ($20 - $19 >>> 0) | 0; - $19 = Math_imul($19 - $20 | 0, $26) + $24 + ($19 - $25) | 0; - $20 = ($23 + Math_imul($29, $26) | 0) + (($19 | 0) > 0 ? $19 : 0) | 0; - $19 = HEAP32[$27 + $34 >> 2]; - if (($20 | 0) >= ((($19 | 0) > ($30 | 0) ? $19 : $30) | 0)) { - label$32 : { - label$33 : { - if ($16) { - if (!(($21 | 0) <= ($32 | 0) | (Math_imul(($21 | 0) > 17 ? ($17 | 0) < ($21 | 0) ? 9 : 7 : 0, $29) << $14 << 3 >> 4 < ($20 | 0) ? ($5 | 0) <= ($18 | 0) : 0))) { - ec_enc_bit_logp($15, 0, 1); - break label$32; - } - ec_enc_bit_logp($15, 1, 1); - break label$33; - } - if (!ec_dec_bit_logp($15, 1)) { - break label$32; - } - } - $5 = $21; - $19 = $35; - break label$27; - } - $20 = $20 - 8 | 0; - $23 = HEAP32[$22 >> 2]; - $8 = $8 + 8 | 0; - } - $19 = $35; - if (($19 | 0) >= 1) { - $19 = HEAPU8[($5 - $1 | 0) + 42192 | 0]; - } - $20 = ($20 | 0) < ($28 | 0) ? 0 : $28; - HEAP32[$22 >> 2] = $20; - $8 = (($8 - ($23 + $35 | 0) | 0) + $20 | 0) + $19 | 0; - $35 = $19; - $21 = $5; - $22 = $21 - 1 | 0; - if (($31 | 0) < ($22 | 0)) { - continue; - } - break; - } - } - $33 = $33 + $39 | 0; - } - label$38 : { - label$39 : { - label$40 : { - if (($1 | 0) < ($5 | 0)) { - label$42 : { - label$43 : { - label$44 : { - label$45 : { - $17 = $36; - label$46 : { - if (($19 | 0) >= 1) { - if (!$16) { - break label$45; - } - $19 = HEAP32[$6 >> 2]; - $19 = ($5 | 0) > ($19 | 0) ? $19 : $5; - HEAP32[$6 >> 2] = $19; - ec_enc_uint($15, $19 - $1 | 0, ($5 - $1 | 0) + 1 | 0); - $19 = HEAP32[$6 >> 2]; - break label$46; - } - HEAP32[$6 >> 2] = 0; - $19 = 0; - } - $20 = ($19 | 0) > ($1 | 0); - $19 = $20 ? 0 : $17; - if (!$36 | !$20) { - break label$43; - } - if (!$16) { - break label$44; - } - ec_enc_bit_logp($15, HEAP32[$7 >> 2], 1); - break label$42; - } - $19 = ec_dec_uint($15, ($5 - $1 | 0) + 1 | 0) + $1 | 0; - HEAP32[$6 >> 2] = $19; - $20 = ($1 | 0) < ($19 | 0); - $19 = $20 ? 0 : $36; - if (!$36 | !$20) { - break label$43; - } - } - HEAP32[$7 >> 2] = ec_dec_bit_logp($15, 1); - break label$42; - } - HEAP32[$7 >> 2] = 0; - } - $31 = $14 << 3; - $22 = HEAP32[$0 + 32 >> 2]; - $30 = HEAP16[$22 + ($1 << 1) >> 1]; - $25 = ($33 - $8 | 0) + $19 | 0; - $20 = HEAP16[($5 << 1) + $22 >> 1]; - $23 = ($25 >>> 0) / ($20 - $30 >>> 0) | 0; - $24 = Math_imul($23, $30 - $20 | 0); - $20 = $30; - $8 = $1; - while (1) { - $21 = $20 << 16; - $27 = ($8 << 2) + $10 | 0; - $19 = $8 + 1 | 0; - $20 = HEAP16[($19 << 1) + $22 >> 1]; - HEAP32[$27 >> 2] = HEAP32[$27 >> 2] + Math_imul($20 - ($21 >> 16) | 0, $23); - $8 = $19; - if (($5 | 0) != ($19 | 0)) { - continue; - } - break; - } - $8 = $24 + $25 | 0; - $21 = $30; - $19 = $1; - while (1) { - $27 = $21 << 16; - $23 = ($19 << 2) + $10 | 0; - $20 = $19 + 1 | 0; - $21 = HEAP16[($20 << 1) + $22 >> 1]; - $19 = $21 - ($27 >> 16) | 0; - $19 = ($8 | 0) < ($19 | 0) ? $8 : $19; - HEAP32[$23 >> 2] = $19 + HEAP32[$23 >> 2]; - $8 = $8 - $19 | 0; - $19 = $20; - if (($19 | 0) != ($5 | 0)) { - continue; - } - break; - } - $29 = ($13 | 0) > 1 ? 4 : 3; - $27 = 0; - label$50 : { - while (1) { - if (($1 | 0) == ($5 | 0)) { - break label$50; - } - $8 = $1 << 2; - $19 = $10 + $8 | 0; - $20 = HEAP32[$19 >> 2]; - if (($20 | 0) <= -1) { - break label$40; - } - $23 = $30 << 16; - $21 = $20 + $27 | 0; - $25 = $1 + 1 | 0; - $30 = HEAP16[($25 << 1) + $22 >> 1]; - $23 = $30 - ($23 >> 16) << $14; - label$52 : { - if (($23 | 0) >= 2) { - $26 = 0; - $20 = $21 - HEAP32[$4 + $8 >> 2] | 0; - $20 = ($20 | 0) > 0 ? $20 : 0; - $24 = $21 - $20 | 0; - HEAP32[$19 >> 2] = $24; - $21 = Math_imul($13, $23); - if (!(HEAP32[$7 >> 2] | (($23 | 0) == 2 | ($13 | 0) != 2))) { - $26 = HEAP32[$6 >> 2] > ($1 | 0); - } - $21 = $21 + $26 | 0; - $26 = $21 << 3; - $15 = (($23 | 0) == 2 ? $26 >> 2 : 0) + Math_imul($21, -21) | 0; - $23 = Math_imul(HEAP16[HEAP32[$0 + 56 >> 2] + ($1 << 1) >> 1] + $31 | 0, $21); - $1 = $15 + ($23 >> 1) | 0; - $34 = $24 + $1 | 0; - label$55 : { - if (($34 | 0) < $21 << 4) { - $1 = ($23 >> 2) + $1 | 0; - break label$55; - } - if ((Math_imul($21, 24) | 0) <= ($34 | 0)) { - break label$55; - } - $1 = ($23 >> 3) + $1 | 0; - } - $23 = $8 + $11 | 0; - $24 = (($21 << 2) + $24 | 0) + $1 | 0; - $21 = ((($24 | 0) > 0 ? $24 : 0) >>> 0) / ($21 >>> 0) >>> 3 | 0; - HEAP32[$23 >> 2] = $21; - $24 = HEAP32[$19 >> 2]; - if ((Math_imul($13, $21) | 0) > $24 >> 3) { - $21 = $24 >> $3 >> 3; - HEAP32[$23 >> 2] = $21; - } - $21 = ($21 | 0) < 8 ? $21 : 8; - HEAP32[$23 >> 2] = $21; - HEAP32[$8 + $12 >> 2] = (HEAP32[$19 >> 2] + $1 | 0) <= (Math_imul($21, $26) | 0); - HEAP32[$19 >> 2] = HEAP32[$19 >> 2] - Math_imul(HEAP32[$23 >> 2], $28); - break label$52; - } - $1 = $21 - $28 | 0; - $20 = ($1 | 0) > 0 ? $1 : 0; - HEAP32[$19 >> 2] = $21 - $20; - HEAP32[$8 + $11 >> 2] = 0; - HEAP32[$8 + $12 >> 2] = 1; - } - if ($20) { - $1 = $8 + $11 | 0; - $15 = $1; - $21 = $20 >>> $29 | 0; - $1 = HEAP32[$1 >> 2]; - $23 = 8 - $1 | 0; - $21 = ($21 | 0) < ($23 | 0) ? $21 : $23; - HEAP32[$15 >> 2] = $1 + $21; - $1 = Math_imul($21, $28); - HEAP32[$8 + $12 >> 2] = ($1 | 0) >= ($20 - $27 | 0); - $27 = $20 - $1 | 0; - } else { - $27 = 0; - } - if (HEAP32[$19 >> 2] <= -1) { - break label$39; - } - $1 = $25; - if (HEAP32[$8 + $11 >> 2] > -1) { - continue; - } - break; - } - celt_fatal(42296, 42253, 514); - abort(); - } - HEAP32[$9 >> 2] = $27; - if (($2 | 0) > ($5 | 0)) { - $8 = $5; - while (1) { - $19 = $8 << 2; - $20 = $19 + $11 | 0; - $1 = $10 + $19 | 0; - $21 = HEAP32[$1 >> 2] >> $3 >> 3; - HEAP32[$20 >> 2] = $21; - if (HEAP32[$1 >> 2] != (Math_imul($21, $28) | 0)) { - break label$38; - } - HEAP32[$1 >> 2] = 0; - HEAP32[$12 + $19 >> 2] = HEAP32[$20 >> 2] < 1; - $8 = $8 + 1 | 0; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $41; - return $5; - } - celt_fatal(42216, 42253, 391); - abort(); - } - celt_fatal(42265, 42253, 442); - abort(); - } - celt_fatal(42265, 42253, 513); - abort(); - } - celt_fatal(42328, 42253, 524); - abort(); -} -function compute_theta($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = Math_fround(0), $16 = Math_fround(0), $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = 0, $23 = 0, $24 = 0, $25 = 0; - $22 = HEAP32[$0 + 36 >> 2]; - $14 = HEAP32[$0 + 28 >> 2]; - $12 = HEAP32[$0 + 16 >> 2]; - $23 = HEAP32[$0 >> 2]; - $11 = 1; - $19 = HEAP32[$5 >> 2]; - $24 = HEAP32[$0 + 8 >> 2]; - $20 = HEAP32[$0 + 12 >> 2]; - $8 = HEAP16[HEAP32[$24 + 56 >> 2] + ($20 << 1) >> 1] + ($8 << 3) | 0; - $13 = ($19 - $8 | 0) - 32 | 0; - $17 = $8 >> 1; - $8 = ($4 | 0) == 2 & ($9 | 0) != 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - $17 = $17 + ($8 ? -16 : -4) | 0; - $8 = ($4 << 1) + ($8 ? -2 : -1) | 0; - $8 = (Math_imul($17, $8) + $19 | 0) / ($8 | 0) | 0; - $8 = ($8 | 0) > ($13 | 0) ? $13 : $8; - $8 = ($8 | 0) < 64 ? $8 : 64; - if (($8 | 0) >= 4) { - $11 = (HEAP16[(($8 & 7) << 1) + 42144 >> 1] >> 14 - ($8 >>> 3 | 0)) + 1 & -2; - if (($11 | 0) >= 257) { - break label$12; - } - } - $11 = ($12 | 0) > ($20 | 0) ? $11 : $9 ? 1 : $11; - label$14 : { - label$15 : { - label$16 : { - if ($23) { - $8 = stereo_itheta($2, $3, $9, $4, HEAP32[$0 + 44 >> 2]); - $19 = ec_tell_frac($14); - if (($11 | 0) == 1) { - break label$14; - } - label$18 : { - label$19 : { - if ($9) { - $0 = HEAP32[$0 + 48 >> 2]; - if ($0) { - break label$19; - } - $0 = Math_imul($8, $11) - -8192 >> 14; - break label$18; - } - $8 = Math_imul($8, $11); - $13 = $8 - -8192 | 0; - $12 = $13 >> 14; - label$21 : { - if (($12 | 0) >= ($11 | 0)) { - $0 = $12; - break label$21; - } - if (($8 | 0) < 8192) { - $0 = $12; - break label$21; - } - if (!HEAP32[$0 + 56 >> 2]) { - $0 = $12; - break label$21; - } - $0 = $11; - $13 = (($13 & -16384) >>> 0) / ($0 >>> 0) << 16; - $8 = Math_imul($13 >> 13, $13 >> 16) + 32768 >> 16; - $18 = ((Math_imul($8, ((Math_imul((Math_imul($8, -626) + 16384 >> 15) + 8277 | 0, $8) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $8 << 16) - -2147483648 >> 16; - $17 = Math_clz32($18); - $8 = 1073741824 - $13 | 0; - $8 = Math_imul($8 >> 13, $8 >> 16) + 32768 >> 16; - $8 = ((Math_imul($8, ((Math_imul((Math_imul($8, -626) + 16384 >> 15) + 8277 | 0, $8) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $8 << 16) - -2147483648 >> 16; - $13 = Math_clz32($8); - $18 = $18 << $17 - 17 << 16 >> 16; - $8 = $8 << $13 - 17 << 16 >> 16; - $8 = Math_imul(($17 - $13 << 11) - (Math_imul($18, (Math_imul($18, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15 | 0) + (Math_imul($8, (Math_imul($8, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15) << 16 >> 16, ($4 << 23) - 8388608 >> 16) + 16384 >> 15; - $13 = HEAP32[$5 >> 2]; - if (($8 | 0) > ($13 | 0)) { - break label$21; - } - $0 = (0 - $13 | 0) > ($8 | 0) ? 0 : $12; - } - if (($7 | 0) < 2) { - break label$16; - } - break label$9; - } - $8 = Math_imul($8, $11) + (((($8 | 0) > 8192 ? 32767 : -32767) | 0) / ($11 | 0) | 0) | 0; - $8 = ($8 | 0) < 0 ? 0 : $8 >> 14; - $0 = (($0 ^ -1) >>> 31 | 0) + (($8 | 0) < ($11 | 0) ? $8 : $11 - 1 | 0) | 0; - } - if (($4 | 0) <= 2) { - break label$9; - } - $8 = ($11 | 0) / 2 | 0; - $12 = Math_imul($8, 3) + 3 | 0; - $13 = Math_imul($0, 3); - $7 = ($0 | 0) > ($8 | 0); - ec_encode($14, $7 ? ($12 + ($8 ^ -1) | 0) + $0 | 0 : $13, $7 ? ($12 - $8 | 0) + $0 | 0 : $13 + 3 | 0, $8 + $12 | 0); - break label$8; - } - $19 = ec_tell_frac($14); - if (($11 | 0) == 1) { - break label$11; - } - if (!(!$9 | ($4 | 0) < 3)) { - $17 = $14; - $8 = ($11 | 0) / 2 | 0; - $7 = $8 + 1 | 0; - $12 = Math_imul($7, 3); - $13 = $8 + $12 | 0; - $0 = ec_decode($14, $13); - label$26 : { - if (($12 | 0) > ($0 | 0)) { - $0 = ($0 | 0) / 3 | 0; - break label$26; - } - $0 = $0 - ($7 << 1) | 0; - } - $7 = Math_imul($0, 3); - $18 = ($0 | 0) > ($8 | 0); - ec_dec_update($17, $18 ? (($8 ^ -1) + $12 | 0) + $0 | 0 : $7, $18 ? ($12 - $8 | 0) + $0 | 0 : $7 + 3 | 0, $13); - break label$8; - } - if ($9 ? 0 : ($7 | 0) <= 1) { - break label$15; - } - $0 = ec_dec_uint($14, $11 + 1 | 0); - break label$8; - } - $18 = $11 - $0 | 0; - $17 = $18 + 1 | 0; - $25 = $0 + 1 | 0; - $8 = $11 >> 1; - $13 = ($8 | 0) < ($0 | 0); - $7 = $13 ? $17 : $25; - $8 = $8 + 1 | 0; - $12 = Math_imul($8, $8); - $8 = $13 ? $12 - (Math_imul($18 + 2 | 0, $17) >> 1) | 0 : Math_imul($0, $25) >> 1; - ec_encode($14, $8, $7 + $8 | 0, $12); - break label$8; - } - $7 = $14; - $2 = $11 >> 1; - $9 = $2 + 1 | 0; - $3 = Math_imul($9, $9); - $0 = ec_decode($14, $3); - label$30 : { - if (($0 | 0) < Math_imul($2, $9) >> 1) { - $9 = isqrt32($0 << 3 | 1) - 1 >>> 1 | 0; - $0 = $9 + 1 | 0; - $2 = Math_imul($0, $9) >>> 1 | 0; - break label$30; - } - $9 = $11 + 1 | 0; - $2 = $9; - $9 = ($9 << 1) - isqrt32(($0 ^ -1) + $3 << 3 | 1) >>> 1 | 0; - $0 = $2 - $9 | 0; - $2 = $3 - (Math_imul($0, ($11 - $9 | 0) + 2 | 0) >> 1) | 0; - } - ec_dec_update($7, $2, $0 + $2 | 0, $3); - $8 = ($9 << 14 >>> 0) / ($11 >>> 0) | 0; - break label$5; - } - if (!$9) { - break label$5; - } - $9 = 0; - $12 = 0; - label$32 : { - if (($8 | 0) < 8193) { - break label$32; - } - $11 = HEAP32[$0 + 52 >> 2]; - if ($11) { - break label$32; - } - $12 = 1; - if (($4 | 0) < 1) { - break label$32; - } - $12 = !$11; - $11 = 0; - while (1) { - $8 = ($11 << 2) + $3 | 0; - HEAPF32[$8 >> 2] = -HEAPF32[$8 >> 2]; - $11 = $11 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (($4 | 0) < 1) { - break label$10; - } - $15 = HEAPF32[($20 << 2) + $22 >> 2]; - $16 = HEAPF32[(HEAP32[$24 + 8 >> 2] + $20 << 2) + $22 >> 2]; - $21 = Math_fround(Math_fround(Math_sqrt(Math_fround(Math_fround(Math_fround($15 * $15) + Math_fround(1.0000000036274937e-15)) + Math_fround($16 * $16)))) + Math_fround(1.0000000036274937e-15)); - $16 = Math_fround($16 / $21); - $15 = Math_fround($15 / $21); - while (1) { - $11 = $9 << 2; - $8 = $11 + $2 | 0; - HEAPF32[$8 >> 2] = Math_fround($15 * HEAPF32[$8 >> 2]) + Math_fround($16 * HEAPF32[$3 + $11 >> 2]); - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$10; - } - celt_fatal(42160, 41800, 669); - abort(); - } - $12 = 0; - if (!$9) { - break label$7; - } - } - $4 = 0; - label$35 : { - if (HEAP32[$5 >> 2] < 17) { - break label$35; - } - $4 = 0; - if (HEAP32[$0 + 32 >> 2] < 17) { - break label$35; - } - if ($23) { - ec_enc_bit_logp($14, $12, 2); - $4 = $12; - break label$35; - } - $4 = ec_dec_bit_logp($14, 2); - } - $12 = HEAP32[$0 + 52 >> 2] ? 0 : $4; - break label$7; - } - ec_enc_uint($14, $0, $11 + 1 | 0); - } - if (($0 | 0) <= -1) { - break label$6; - } - $0 = $0 << 14; - $8 = ($0 >>> 0) / ($11 >>> 0) | 0; - if (!$9 | !$23) { - break label$5; - } - if ($0 >>> 0 < $11 >>> 0) { - $12 = 0; - if (($4 | 0) < 1) { - break label$7; - } - $15 = HEAPF32[($20 << 2) + $22 >> 2]; - $16 = HEAPF32[(HEAP32[$24 + 8 >> 2] + $20 << 2) + $22 >> 2]; - $21 = Math_fround(Math_fround(Math_sqrt(Math_fround(Math_fround(Math_fround($15 * $15) + Math_fround(1.0000000036274937e-15)) + Math_fround($16 * $16)))) + Math_fround(1.0000000036274937e-15)); - $16 = Math_fround($16 / $21); - $15 = Math_fround($15 / $21); - $9 = 0; - while (1) { - $0 = $9 << 2; - $11 = $2 + $0 | 0; - HEAPF32[$11 >> 2] = Math_fround($15 * HEAPF32[$11 >> 2]) + Math_fround($16 * HEAPF32[$0 + $3 >> 2]); - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$7; - } - if (($4 | 0) < 1) { - break label$5; - } - $9 = 0; - while (1) { - $0 = $9 << 2; - $11 = $2 + $0 | 0; - $16 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - $0 = $0 + $3 | 0; - $15 = Math_fround(HEAPF32[$0 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$11 >> 2] = $16 + $15; - HEAPF32[$0 >> 2] = $15 - $16; - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$5; - } - $4 = ec_tell_frac($14); - $0 = $4 - $19 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - $0; - break label$4; - } - celt_fatal(42104, 41800, 838); - abort(); - } - $9 = ec_tell_frac($14); - $0 = $9 - $19 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - $0; - $9 = 16384; - if (($8 | 0) == 16384) { - break label$3; - } - if ($8) { - break label$2; - } - $12 = $8; - } - HEAP32[$10 >> 2] = HEAP32[$10 >> 2] & (-1 << $6 ^ -1); - $4 = -16384; - $3 = 32767; - $9 = 0; - $2 = 0; - break label$1; - } - HEAP32[$10 >> 2] = HEAP32[$10 >> 2] & (-1 << $6 ^ -1) << $6; - $2 = 32767; - $12 = 0; - $3 = 0; - $4 = 16384; - break label$1; - } - $2 = $8 << 16; - $9 = Math_imul($2 >> 13, $2 >> 16) + 32768 >> 16; - $3 = ((Math_imul($9, ((Math_imul((Math_imul($9, -626) + 16384 >> 15) + 8277 | 0, $9) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $9 << 16) - -2147483648 >> 16; - $11 = Math_clz32($3); - $9 = 1073741824 - $2 | 0; - $9 = Math_imul($9 >> 13, $9 >> 16) + 32768 >> 16; - $2 = ((Math_imul($9, ((Math_imul((Math_imul($9, -626) + 16384 >> 15) + 8277 | 0, $9) << 1) + 32768 & -65536) - 501415936 >> 16) + 16384 >>> 15 | 0) - $9 << 16) - -2147483648 >> 16; - $9 = Math_clz32($2); - $5 = $11 - $9 << 11; - $11 = $3 << $11 - 17 << 16 >> 16; - $9 = $2 << $9 - 17 << 16 >> 16; - $4 = Math_imul($5 - (Math_imul($11, (Math_imul($11, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15 | 0) + (Math_imul($9, (Math_imul($9, -2597) + 16384 >> 15) + 7932 | 0) + 16384 >>> 15) << 16 >> 16, ($4 << 23) - 8388608 >> 16) + 16384 >> 15; - $12 = 0; - $9 = $8; - } - HEAP32[$1 + 20 >> 2] = $0; - HEAP32[$1 + 16 >> 2] = $9; - HEAP32[$1 + 12 >> 2] = $4; - HEAP32[$1 + 8 >> 2] = $2; - HEAP32[$1 + 4 >> 2] = $3; - HEAP32[$1 >> 2] = $12; -} -function silk_noise_shape_analysis_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = Math_fround(0), $13 = 0, $14 = Math_fround(0), $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = Math_fround(0), $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0; - $11 = __stack_pointer - 1184 | 0; - __stack_pointer = $11; - $13 = HEAP32[$0 + 4600 >> 2]; - $4 = HEAP32[$0 + 4716 >> 2]; - $5 = Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4700 >> 2] + HEAP32[$0 + 4696 >> 2] | 0) * Math_fround(.5)) * Math_fround(30517578125e-15)); - HEAPF32[$1 + 696 >> 2] = $5; - $10 = Math_fround($4 | 0); - $12 = Math_fround($10 * Math_fround(.0078125)); - $9 = Math_fround(1 / (exp(+Math_fround(Math_fround($12 + Math_fround(-20)) * Math_fround(-.25))) + 1)); - HEAPF32[$1 + 700 >> 2] = $9; - if (!HEAP32[$0 + 4676 >> 2]) { - $14 = Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4532 >> 2]) * Math_fround(-.00390625)) + Math_fround(1)); - $12 = Math_fround($12 - Math_fround($14 * Math_fround($14 * Math_fround(Math_fround(Math_fround($5 * Math_fround(.5)) + Math_fround(.5)) * Math_fround($9 + $9))))); - } - label$2 : { - if (HEAPU8[$0 + 4765 | 0] == 2) { - HEAP8[$0 + 4766 | 0] = 0; - $5 = HEAPF32[$0 + 10060 >> 2]; - $21 = Math_fround($12 + Math_fround($5 + $5)); - break label$2; - } - $16 = Math_fround(Math_fround(Math_fround(Math_fround($10 * Math_fround(-.4000000059604645)) * Math_fround(.0078125)) + Math_fround(6)) * Math_fround(Math_fround(1) - $5)); - $4 = Math_imul(HEAP16[$0 + 4580 >> 1], 5); - $6 = ($4 | 0) / 2 | 0; - $5 = Math_fround(0); - if (($4 | 0) >= 2) { - $7 = HEAP32[$0 + 4576 >> 2] << 1; - $14 = Math_fround($7 | 0); - $9 = Math_fround(0); - $4 = 0; - $8 = $7 << 2; - while (1) { - $10 = Math_fround(log10(+Math_fround($14 + Math_fround(silk_energy_FLP($2, $7)))) * 3.32192809488736); - $5 = $4 ? Math_fround($5 + Math_fround(Math_abs(Math_fround($10 - $9)))) : $5; - $2 = $2 + $8 | 0; - $9 = $10; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $21 = Math_fround($16 + $12); - if (!(Math_fround(Math_fround($6 - 1 | 0) * Math_fround(.6000000238418579)) < $5 ^ 1)) { - HEAP8[$0 + 4766 | 0] = 0; - break label$2; - } - HEAP8[$0 + 4766 | 0] = 1; - } - $2 = HEAP32[$0 + 4580 >> 2]; - label$7 : { - if (($2 | 0) < 1) { - $4 = 0; - break label$7; - } - $15 = $3 - ($13 << 2) | 0; - $5 = Math_fround(HEAPF32[$1 + 704 >> 2] * Math_fround(.0010000000474974513)); - $23 = Math_fround(Math_fround(.9399999976158142) / Math_fround(Math_fround($5 * $5) + Math_fround(1))); - $10 = Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4672 >> 2]) * Math_fround(152587890625e-16)) + Math_fround(HEAPF32[$1 + 700 >> 2] * Math_fround(.009999999776482582))); - $22 = Math_fround(Math_fround(1) - Math_fround($10 * $10)); - $16 = Math_fround(-$10); - while (1) { - $4 = HEAP32[$0 + 4576 >> 2]; - $6 = Math_imul($4, 3); - $2 = (HEAP32[$0 + 4604 >> 2] - $6 | 0) / 2 | 0; - silk_apply_sine_window_FLP($11 + 224 | 0, $15, 1, $2); - $7 = $2 << 2; - memcpy($7 + ($11 + 224 | 0) | 0, $7 + $15 | 0, Math_imul($4, 12)); - $4 = $2 + $6 << 2; - silk_apply_sine_window_FLP($4 + ($11 + 224 | 0) | 0, $4 + $15 | 0, 2, $2); - $8 = HEAP32[$0 + 4588 >> 2]; - $2 = HEAP32[$0 + 4636 >> 2]; - $4 = HEAP32[$0 + 4604 >> 2]; - label$10 : { - if (HEAP32[$0 + 4672 >> 2] >= 1) { - silk_warped_autocorrelation_FLP($11 + 112 | 0, $11 + 224 | 0, $10, $4, $2); - break label$10; - } - silk_autocorrelation_FLP($11 + 112 | 0, $11 + 224 | 0, $4, $2 + 1 | 0); - } - $5 = HEAPF32[$11 + 112 >> 2]; - HEAPF32[$11 + 112 >> 2] = $5 + Math_fround(Math_fround($5 * Math_fround(29999999242136255e-21)) + Math_fround(1)); - $5 = silk_schur_FLP($11, $11 + 112 | 0, HEAP32[$0 + 4636 >> 2]); - $2 = (Math_imul($17, 96) + $1 | 0) + 244 | 0; - silk_k2a_FLP($2, $11, HEAP32[$0 + 4636 >> 2]); - $3 = ($17 << 2) + $1 | 0; - $9 = Math_fround(Math_sqrt($5)); - HEAPF32[$3 >> 2] = $9; - $7 = HEAP32[$0 + 4636 >> 2]; - if (HEAP32[$0 + 4672 >> 2] >= 1) { - $5 = Math_fround(HEAPF32[(($7 << 2) + $2 | 0) - 4 >> 2] * $16); - if (($7 | 0) >= 2) { - $4 = $7 - 2 | 0; - while (1) { - $5 = Math_fround(Math_fround($5 + HEAPF32[($4 << 2) + $2 >> 2]) * $16); - $6 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($6) { - continue; - } - break; - } - } - HEAPF32[$3 >> 2] = $9 * Math_fround(Math_fround(1) / Math_fround(Math_fround(1) - $5)); - } - $24 = $8 << 2; - silk_bwexpander_FLP($2, $7, $23); - $6 = HEAP32[$0 + 4636 >> 2]; - label$15 : { - if (HEAP32[$0 + 4672 >> 2] >= 1) { - $18 = $6 - 1 | 0; - $20 = ($6 | 0) < 2; - if (!$20) { - $5 = HEAPF32[($18 << 2) + $2 >> 2]; - $4 = $18; - while (1) { - $7 = $4 - 1 | 0; - $8 = ($7 << 2) + $2 | 0; - $5 = Math_fround(HEAPF32[$8 >> 2] - Math_fround($10 * $5)); - HEAPF32[$8 >> 2] = $5; - $8 = ($4 | 0) > 1; - $4 = $7; - if ($8) { - continue; - } - break; - } - } - $7 = ($6 | 0) < 1; - if ($7) { - break label$15; - } - $5 = HEAPF32[$2 >> 2]; - $12 = Math_fround($22 / Math_fround(Math_fround($10 * $5) + Math_fround(1))); - HEAPF32[$2 >> 2] = $12 * $5; - $13 = 1; - if (($6 | 0) != 1) { - while (1) { - $4 = ($13 << 2) + $2 | 0; - HEAPF32[$4 >> 2] = $12 * HEAPF32[$4 >> 2]; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($6 | 0)) { - continue; - } - break; - } - if ($7) { - break label$15; - } - $13 = ($6 | 0) == 1; - } - $25 = ($18 << 2) + $2 | 0; - $19 = 0; - $7 = 0; - while (1) { - $5 = Math_fround(-1); - $4 = 0; - while (1) { - $9 = Math_fround(Math_abs(HEAPF32[($4 << 2) + $2 >> 2])); - $8 = $9 > $5; - $5 = $8 ? $9 : $5; - $7 = $8 ? $4 : $7; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - if ($5 <= Math_fround(3.999000072479248)) { - break label$15; - } - if (!$20) { - $9 = HEAPF32[$2 >> 2]; - $4 = 1; - while (1) { - $8 = ($4 << 2) + $2 | 0; - $14 = HEAPF32[$8 >> 2]; - HEAPF32[$8 - 4 >> 2] = $9 + Math_fround($10 * $14); - $9 = $14; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $9 = Math_fround(Math_fround(1) / $12); - $4 = 0; - while (1) { - $8 = ($4 << 2) + $2 | 0; - HEAPF32[$8 >> 2] = $9 * HEAPF32[$8 >> 2]; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - silk_bwexpander_FLP($2, $6, Math_fround(Math_fround(.9900000095367432) - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($19 | 0) * Math_fround(.10000000149011612)) + Math_fround(.800000011920929)) * Math_fround($5 + Math_fround(-3.999000072479248))) / Math_fround($5 * Math_fround($7 + 1 | 0))))); - if (!$20) { - $5 = HEAPF32[$25 >> 2]; - $4 = $18; - while (1) { - $8 = $4 - 1 | 0; - $3 = ($8 << 2) + $2 | 0; - $5 = Math_fround(HEAPF32[$3 >> 2] - Math_fround($10 * $5)); - HEAPF32[$3 >> 2] = $5; - $3 = ($4 | 0) > 1; - $4 = $8; - if ($3) { - continue; - } - break; - } - } - $5 = HEAPF32[$2 >> 2]; - $12 = Math_fround($22 / Math_fround(Math_fround($10 * $5) + Math_fround(1))); - HEAPF32[$2 >> 2] = $12 * $5; - $4 = 1; - if (!$13) { - while (1) { - $8 = ($4 << 2) + $2 | 0; - HEAPF32[$8 >> 2] = $12 * HEAPF32[$8 >> 2]; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $19 = $19 + 1 | 0; - if (($19 | 0) != 10) { - continue; - } - break; - } - break label$15; - } - $3 = 0; - $7 = 0; - if (($6 | 0) < 1) { - break label$15; - } - while (1) { - $5 = Math_fround(-1); - $4 = 0; - while (1) { - $9 = Math_fround(Math_abs(HEAPF32[($4 << 2) + $2 >> 2])); - $8 = $9 > $5; - $5 = $8 ? $9 : $5; - $7 = $8 ? $4 : $7; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - if ($5 <= Math_fround(3.999000072479248)) { - break label$15; - } - silk_bwexpander_FLP($2, $6, Math_fround(Math_fround(.9900000095367432) - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($3 | 0) * Math_fround(.10000000149011612)) + Math_fround(.800000011920929)) * Math_fround($5 + Math_fround(-3.999000072479248))) / Math_fround($5 * Math_fround($7 + 1 | 0))))); - $3 = $3 + 1 | 0; - if (($3 | 0) != 10) { - continue; - } - break; - } - } - $15 = $15 + $24 | 0; - $2 = HEAP32[$0 + 4580 >> 2]; - $17 = $17 + 1 | 0; - if (($2 | 0) > ($17 | 0)) { - continue; - } - break; - } - $4 = 0; - $26 = exp2(+Math_fround($21 * Math_fround(-.1599999964237213))); - if (($2 | 0) < 1) { - break label$7; - } - $7 = ($2 | 0) > 0; - $5 = Math_fround($26); - while (1) { - $6 = ($4 << 2) + $1 | 0; - HEAPF32[$6 >> 2] = Math_fround(HEAPF32[$6 >> 2] * $5) + Math_fround(1.2483305931091309); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - $4 = $7; - } - $14 = Math_fround(HEAP32[$0 + 4532 >> 2]); - $9 = Math_fround(Math_fround($14 * Math_fround(.00390625)) * Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4696 >> 2]) * Math_fround(30517578125e-15)) + Math_fround(-1)) * Math_fround(.5)) + Math_fround(1)) * Math_fround(4))); - $13 = HEAPU8[$0 + 4765 | 0]; - label$33 : { - label$34 : { - label$35 : { - if (($13 | 0) == 2) { - if ($4) { - $10 = Math_fround(Math_fround(.20000000298023224) / Math_fround(HEAP32[$0 + 4576 >> 2])); - $6 = 0; - while (1) { - $7 = ($6 << 2) + $1 | 0; - $5 = Math_fround($10 + Math_fround(Math_fround(3) / Math_fround(HEAP32[$7 + 228 >> 2]))); - HEAPF32[$7 + 628 >> 2] = $5 + Math_fround(-1); - HEAPF32[$7 + 644 >> 2] = Math_fround(Math_fround(1) - $5) - Math_fround($9 * $5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $9 = Math_fround(Math_fround(Math_fround($14 * Math_fround(-.26249998807907104)) * Math_fround(.00390625)) + Math_fround(-.25)); - break label$35; - } - $5 = Math_fround(Math_fround(1.2999999523162842) / Math_fround(HEAP32[$0 + 4576 >> 2])); - $10 = Math_fround($5 + Math_fround(-1)); - HEAPF32[$1 + 628 >> 2] = $10; - HEAPF32[$1 + 644 >> 2] = Math_fround(Math_fround(1) - $5) + Math_fround(Math_fround($9 * $5) * Math_fround(-.6000000238418579)); - if (($2 | 0) <= 1) { - if (!$4) { - break label$33; - } - $9 = Math_fround(-.25); - $10 = Math_fround(0); - break label$34; - } - HEAPF32[$1 + 632 >> 2] = $10; - HEAP32[$1 + 648 >> 2] = HEAP32[$1 + 644 >> 2]; - $6 = 2; - $9 = Math_fround(-.25); - if (($2 | 0) == 2) { - break label$35; - } - $8 = $1 + 628 | 0; - $3 = $1 + 644 | 0; - while (1) { - $7 = $6 << 2; - HEAP32[$8 + $7 >> 2] = HEAP32[$1 + 628 >> 2]; - HEAP32[$3 + $7 >> 2] = HEAP32[$1 + 644 >> 2]; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) == 2) { - if (!$4) { - break label$33; - } - $10 = Math_fround(Math_fround(Math_sqrt(HEAPF32[$0 + 10060 >> 2])) * Math_fround(Math_fround(Math_fround(Math_fround(1) - Math_fround(Math_fround(Math_fround(1) - HEAPF32[$1 + 700 >> 2]) * HEAPF32[$1 + 696 >> 2])) * Math_fround(.20000000298023224)) + Math_fround(.30000001192092896))); - break label$34; - } - $10 = Math_fround(0); - if (!$4) { - break label$33; - } - } - $4 = 0; - while (1) { - $5 = HEAPF32[$0 + 7172 >> 2]; - $5 = Math_fround($5 + Math_fround(Math_fround($10 - $5) * Math_fround(.4000000059604645))); - HEAPF32[$0 + 7172 >> 2] = $5; - $6 = ($4 << 2) + $1 | 0; - HEAPF32[$6 + 676 >> 2] = $5; - $5 = HEAPF32[$0 + 7176 >> 2]; - $5 = Math_fround($5 + Math_fround(Math_fround($9 - $5) * Math_fround(.4000000059604645))); - HEAPF32[$0 + 7176 >> 2] = $5; - HEAPF32[$6 + 660 >> 2] = $5; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $11 + 1184 | 0; -} -function silk_VAD_GetSA_Q8_c($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; - $4 = __stack_pointer - 48 | 0; - $10 = $4; - __stack_pointer = $4; - $2 = HEAP32[$0 + 4584 >> 2]; - if (($2 | 0) < 321) { - if (($2 & -8) == ($2 | 0)) { - HEAP32[$10 >> 2] = 0; - $3 = $2 >> 3; - $6 = $2 >> 2; - $7 = $3 + $6 | 0; - HEAP32[$10 + 4 >> 2] = $7; - $8 = $3 + $7 | 0; - HEAP32[$10 + 8 >> 2] = $8; - $9 = $6 + $8 | 0; - HEAP32[$10 + 12 >> 2] = $9; - $13 = $2 >> 1; - $5 = $4 - (($13 + $9 << 1) + 15 & -16) | 0; - __stack_pointer = $5; - silk_ana_filt_bank_1($1, $0 + 36 | 0, $5, ($9 << 1) + $5 | 0, HEAP32[$0 + 4584 >> 2]); - silk_ana_filt_bank_1($5, $0 + 44 | 0, $5, ($8 << 1) + $5 | 0, $13); - silk_ana_filt_bank_1($5, $0 + 52 | 0, $5, ($7 << 1) + $5 | 0, $6); - $4 = $3 - 1 | 0; - $3 = ($4 << 1) + $5 | 0; - $8 = HEAP16[$3 >> 1] >> 1; - HEAP16[$3 >> 1] = $8; - if (($2 | 0) >= 16) { - $3 = $8; - while (1) { - $6 = $4 - 1 | 0; - $2 = ($6 << 1) + $5 | 0; - $1 = $2; - $2 = HEAP16[$2 >> 1] >> 1; - HEAP16[$1 >> 1] = $2; - HEAP16[($4 << 1) + $5 >> 1] = $3 - $2; - $7 = ($4 | 0) > 1; - $3 = $2; - $4 = $6; - if ($7) { - continue; - } - break; - } - } - $4 = $0 + 92 | 0; - HEAP16[$5 >> 1] = HEAPU16[$5 >> 1] - HEAPU16[$4 >> 1]; - HEAP16[$0 + 92 >> 1] = $8; - while (1) { - $2 = HEAP32[$0 + 4584 >> 2]; - $4 = $11 << 2; - $13 = $4 + ($10 + 32 | 0) | 0; - $16 = $0 + $4 | 0; - $9 = $16 + 60 | 0; - $9 = HEAP32[$9 >> 2]; - HEAP32[$13 >> 2] = $9; - $3 = 4 - $11 | 0; - $12 = $2 >> ($3 >>> 0 < 3 ? $3 : 3); - $15 = ($12 | 0) > 3; - label$6 : { - if (!$15) { - $1 = ($9 | 0) > -1 ? $9 : 2147483647; - $4 = 0; - break label$6; - } - $8 = $12 >> 2; - $6 = ($8 | 0) > 1 ? $8 : 1; - $14 = $4 + $10 | 0; - $7 = HEAP32[$14 >> 2]; - $4 = 0; - $2 = 0; - while (1) { - $3 = HEAP16[($4 + $7 << 1) + $5 >> 1] >> 3; - $2 = Math_imul($3, $3) + $2 | 0; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $2 + $9 | 0; - $1 = ($4 | 0) > -1 ? $4 : 2147483647; - $4 = 0; - if (!$15) { - break label$6; - } - $7 = HEAP32[$14 >> 2]; - $2 = 0; - while (1) { - $3 = HEAP16[(($4 + $8 | 0) + $7 << 1) + $5 >> 1] >> 3; - $2 = Math_imul($3, $3) + $2 | 0; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $1 + $2 | 0; - $1 = ($4 | 0) > -1 ? $4 : 2147483647; - $4 = 0; - $12 = ($12 | 0) < 4; - if ($12) { - break label$6; - } - $7 = $8 << 1; - $9 = HEAP32[$14 >> 2]; - $2 = 0; - while (1) { - $3 = HEAP16[(($4 + $7 | 0) + $9 << 1) + $5 >> 1] >> 3; - $2 = Math_imul($3, $3) + $2 | 0; - $4 = $4 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $1 + $2 | 0; - $1 = ($4 | 0) > -1 ? $4 : 2147483647; - $4 = 0; - if ($12) { - break label$6; - } - $7 = Math_imul($8, 3); - $8 = HEAP32[$14 >> 2]; - $2 = 0; - while (1) { - $3 = HEAP16[(($2 + $7 | 0) + $8 << 1) + $5 >> 1] >> 3; - $4 = Math_imul($3, $3) + $4 | 0; - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = ($4 >>> 1 | 0) + $1 | 0; - HEAP32[$13 >> 2] = ($2 | 0) > -1 ? $2 : 2147483647; - HEAP32[$16 + 60 >> 2] = $4; - $11 = $11 + 1 | 0; - if (($11 | 0) != 4) { - continue; - } - break; - } - $4 = 0; - $2 = HEAP32[$0 + 144 >> 2]; - if (($2 | 0) <= 999) { - HEAP32[$0 + 144 >> 2] = $2 + 1; - $4 = 32767 / (($2 >> 4) + 1 | 0) | 0; - } - $2 = 128; - $12 = HEAP32[$10 + 32 >> 2]; - $3 = $12 + HEAP32[$0 + 128 >> 2] | 0; - $6 = ($3 | 0) > -1 ? $3 : 2147483647; - $5 = 2147483647 / ($6 | 0) | 0; - $3 = 128; - $7 = HEAP32[$0 + 96 >> 2]; - label$13 : { - if ($7 << 3 < ($6 | 0)) { - break label$13; - } - $3 = 1024; - if (($6 | 0) < ($7 | 0)) { - break label$13; - } - $3 = $7 << 16 >> 16; - $3 = (Math_imul($3, $5 >> 16) + Math_imul(($7 >> 15) + 1 >> 1, $5) | 0) + (Math_imul($5 & 65535, $3) >> 16) | 0; - $3 = $3 >> 16 << 11 | $3 >>> 5 & 2047; - } - $6 = $0 + 112 | 0; - $1 = $6; - $6 = HEAP32[$0 + 112 >> 2]; - $5 = $5 - $6 | 0; - $3 = (($3 | 0) > ($4 | 0) ? $3 : $4) << 16 >> 16; - $3 = (Math_imul($3, $5 >> 16) + $6 | 0) + (Math_imul($5 & 65535, $3) >> 16) | 0; - HEAP32[$1 >> 2] = $3; - $3 = 2147483647 / ($3 | 0) | 0; - $5 = ($3 | 0) < 16777215 ? $3 : 16777215; - HEAP32[$0 + 96 >> 2] = $5; - $15 = HEAP32[$10 + 36 >> 2]; - $3 = $15 + HEAP32[$0 + 132 >> 2] | 0; - $6 = ($3 | 0) > -1 ? $3 : 2147483647; - $3 = 2147483647 / ($6 | 0) | 0; - $7 = HEAP32[$0 + 100 >> 2]; - label$14 : { - if ($7 << 3 < ($6 | 0)) { - break label$14; - } - $2 = 1024; - if (($6 | 0) < ($7 | 0)) { - break label$14; - } - $2 = $7 << 16 >> 16; - $2 = (Math_imul($2, $3 >> 16) + Math_imul(($7 >> 15) + 1 >> 1, $3) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $2 = $2 >> 16 << 11 | $2 >>> 5 & 2047; - } - $6 = $0 + 116 | 0; - $1 = $6; - $6 = HEAP32[$0 + 116 >> 2]; - $3 = $3 - $6 | 0; - $2 = (($2 | 0) > ($4 | 0) ? $2 : $4) << 16 >> 16; - $2 = (Math_imul($2, $3 >> 16) + $6 | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - $2 = 2147483647 / ($2 | 0) | 0; - HEAP32[$0 + 100 >> 2] = ($2 | 0) < 16777215 ? $2 : 16777215; - $14 = HEAP32[$10 + 40 >> 2]; - $2 = $14 + HEAP32[$0 + 136 >> 2] | 0; - $7 = ($2 | 0) > -1 ? $2 : 2147483647; - $6 = 2147483647 / ($7 | 0) | 0; - $2 = 128; - $3 = 128; - $8 = HEAP32[$0 + 104 >> 2]; - label$15 : { - if ($8 << 3 < ($7 | 0)) { - break label$15; - } - $3 = 1024; - if (($7 | 0) < ($8 | 0)) { - break label$15; - } - $3 = $8 << 16 >> 16; - $3 = (Math_imul($3, $6 >> 16) + Math_imul(($8 >> 15) + 1 >> 1, $6) | 0) + (Math_imul($6 & 65535, $3) >> 16) | 0; - $3 = $3 >> 16 << 11 | $3 >>> 5 & 2047; - } - $7 = $0 + 120 | 0; - $1 = $7; - $7 = HEAP32[$0 + 120 >> 2]; - $6 = $6 - $7 | 0; - $3 = (($3 | 0) > ($4 | 0) ? $3 : $4) << 16 >> 16; - $3 = (Math_imul($3, $6 >> 16) + $7 | 0) + (Math_imul($6 & 65535, $3) >> 16) | 0; - HEAP32[$1 >> 2] = $3; - $3 = 2147483647 / ($3 | 0) | 0; - HEAP32[$0 + 104 >> 2] = ($3 | 0) < 16777215 ? $3 : 16777215; - $17 = HEAP32[$10 + 44 >> 2]; - $3 = $17 + HEAP32[$0 + 140 >> 2] | 0; - $6 = ($3 | 0) > -1 ? $3 : 2147483647; - $3 = 2147483647 / ($6 | 0) | 0; - $7 = HEAP32[$0 + 108 >> 2]; - label$16 : { - if ($7 << 3 < ($6 | 0)) { - break label$16; - } - $2 = 1024; - if (($6 | 0) < ($7 | 0)) { - break label$16; - } - $2 = $7 << 16 >> 16; - $2 = (Math_imul($2, $3 >> 16) + Math_imul(($7 >> 15) + 1 >> 1, $3) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $2 = $2 >> 16 << 11 | $2 >>> 5 & 2047; - } - $4 = (($2 | 0) > ($4 | 0) ? $2 : $4) << 16 >> 16; - $2 = HEAP32[$0 + 124 >> 2]; - $3 = $3 - $2 | 0; - $6 = $0 + 124 | 0; - $4 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$6 >> 2] = $4; - $4 = 2147483647 / ($4 | 0) | 0; - HEAP32[$0 + 108 >> 2] = ($4 | 0) < 16777215 ? $4 : 16777215; - $3 = $12; - $7 = 0; - $6 = 0; - $4 = 0; - while (1) { - $2 = $3 - $5 | 0; - label$18 : { - if (($2 | 0) >= 1) { - $8 = $4 << 2; - $9 = $3 >>> 0 < 8388608; - $3 = (($9 ? $3 << 8 : $3) | 0) / (($9 ? $5 : $5 >> 8) + 1 | 0) | 0; - HEAP32[$8 + ($10 + 16 | 0) >> 2] = $3; - $3 = (silk_lin2log($3) << 16) - 67108864 >> 16; - $9 = Math_imul($3, $3); - $6 = $9 + $6 | 0; - if (($2 | 0) <= 1048575) { - $5 = Math_clz32($2); - $1 = 24 - $5 | 0; - $9 = 0 - $1 | 0; - $11 = $2; - label$21 : { - if (!$1) { - break label$21; - } - $11 = $2 << $9 | $2 >>> 56 - $5; - if ($2 >>> 0 <= 127) { - break label$21; - } - $11 = $2 << $5 + 8 | $2 >>> $1; - } - $16 = Math_imul($11 & 127, 13959168) >>> 16 | 0; - $11 = ($5 & 1 ? 32768 : 46214) >>> ($5 >>> 1) | 0; - $13 = Math_imul($11 + (Math_imul($11, $16) >>> 16 | 0) >>> 10 | 0, $3); - label$22 : { - if (!$1) { - break label$22; - } - if ($2 >>> 0 <= 127) { - $2 = $2 << $9 | $2 >>> 56 - $5; - break label$22; - } - $2 = $2 << $5 + 8 | $2 >>> $1; - } - $3 = Math_imul((Math_imul(Math_imul($2 & 127, 13959168) >>> 16 | 0, $11) >>> 16 | 0) + $11 << 6 & 65472, $3) + ($13 << 16) >> 16; - } - $2 = HEAP32[$8 + 1936 >> 2]; - $7 = (Math_imul($2 >> 16, $3) + $7 | 0) + (Math_imul($2 & 65535, $3) >> 16) | 0; - break label$18; - } - HEAP32[($10 + 16 | 0) + ($4 << 2) >> 2] = 256; - } - $4 = $4 + 1 | 0; - if (($4 | 0) != 4) { - $2 = $4 << 2; - $3 = HEAP32[$2 + ($10 + 32 | 0) >> 2]; - $5 = HEAP32[($0 + $2 | 0) + 96 >> 2]; - continue; - } - break; - } - $4 = ($6 | 0) / 4 | 0; - $2 = -128; - if (($6 | 0) >= 4) { - $2 = Math_clz32($4); - $3 = 24 - $2 | 0; - label$27 : { - if (!$3) { - break label$27; - } - if ($4 >>> 0 <= 127) { - $4 = $4 << 0 - $3 | $4 >>> 56 - $2; - break label$27; - } - $4 = $4 << $2 + 8 | $4 >>> $3; - } - $1 = Math_imul($4 & 127, 13959168) >>> 16 | 0; - $4 = ($2 & 1 ? 32768 : 46214) >>> ($2 >>> 1) | 0; - $2 = (Math_imul(Math_imul($4 + (Math_imul($4, $1) >>> 16 | 0) | 0, 196608) >> 16, 45e3) >> 16) - 128 | 0; - } - $4 = silk_sigm_Q15($2); - HEAP32[$0 + 4712 >> 2] = (silk_sigm_Q15($7) << 1) - 32768; - $2 = HEAP32[$0 + 4584 >> 2]; - $3 = HEAP32[$0 + 4576 >> 2]; - $5 = ((($15 - HEAP32[$0 + 100 >> 2] >> 4 << 1) + ($12 - HEAP32[$0 + 96 >> 2] >> 4) | 0) + Math_imul($14 - HEAP32[$0 + 104 >> 2] >> 4, 3) | 0) + ($17 - HEAP32[$0 + 108 >> 2] >> 4 << 2) >> (($2 | 0) == (Math_imul($3, 20) | 0)); - label$29 : { - if (($5 | 0) <= 0) { - $4 = $4 >> 1; - break label$29; - } - if (($5 | 0) > 16383) { - break label$29; - } - $4 = $4 << 16 >> 16; - $6 = $5 << 16; - $5 = Math_clz32($6); - $7 = ($5 & 1 ? 32768 : 46214) >>> ($5 >>> 1) | 0; - $5 = ($7 + (Math_imul((wasm2js_i32$0 = 0, wasm2js_i32$1 = Math_imul(__wasm_rotl_i32($6, $5 + 8 | 0) & 127, 13959168) >>> 16 | 0, wasm2js_i32$2 = ($5 | 0) == 24, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1), $7) >>> 16 | 0) | 0) + 32768 | 0; - $4 = (Math_imul($4, $5 & 65535) >> 16) + Math_imul($5 >>> 16 | 0, $4) | 0; - } - $5 = $4 >> 7; - HEAP32[$0 + 4532 >> 2] = ($5 | 0) < 255 ? $5 : 255; - $5 = $0 + 76 | 0; - $1 = $5; - $5 = HEAP32[$0 + 76 >> 2]; - $6 = HEAP32[$10 + 16 >> 2] - $5 | 0; - $4 = Math_imul($4 << 16 >> 16, $4) >> ((Math_imul($3, 10) | 0) == ($2 | 0) ? 21 : 20); - $2 = (Math_imul($4, $6 >> 16) + $5 | 0) + (Math_imul($6 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - HEAP32[$0 + 4696 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($2), 3) - 5120 >> 4); - $2 = $0 + 80 | 0; - $1 = $2; - $2 = HEAP32[$0 + 80 >> 2]; - $3 = HEAP32[$10 + 20 >> 2] - $2 | 0; - $2 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - HEAP32[$0 + 4700 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($2), 3) - 5120 >> 4); - $2 = $0 + 84 | 0; - $1 = $2; - $2 = HEAP32[$0 + 84 >> 2]; - $3 = HEAP32[$10 + 24 >> 2] - $2 | 0; - $2 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $2; - HEAP32[$0 + 4704 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($2), 3) - 5120 >> 4); - $2 = $0 + 88 | 0; - $1 = $2; - $2 = HEAP32[$0 + 88 >> 2]; - $3 = HEAP32[$10 + 28 >> 2] - $2 | 0; - $4 = (Math_imul($3 >> 16, $4) + $2 | 0) + (Math_imul($3 & 65535, $4) >> 16) | 0; - HEAP32[$1 >> 2] = $4; - HEAP32[$0 + 4708 >> 2] = silk_sigm_Q15(Math_imul(silk_lin2log($4), 3) - 5120 >> 4); - __stack_pointer = $10 + 48 | 0; - return 0; - } - celt_fatal(1846, 1835, 106); - abort(); - } - celt_fatal(1776, 1835, 104); - abort(); -} -function opus_custom_encoder_ctl($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 12 >> 2] = $2; - $2 = -5; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - label$11 : { - label$12 : { - label$13 : { - label$14 : { - label$15 : { - label$16 : { - label$17 : { - label$18 : { - label$19 : { - label$20 : { - label$21 : { - label$22 : { - label$23 : { - switch ($1 - 4002 | 0) { - default: - switch ($1 - 10002 | 0) { - case 6: - break label$15; - case 0: - break label$20; - case 10: - break label$21; - case 8: - break label$22; - case 24: - break label$3; - case 22: - break label$4; - case 13: - break label$6; - case 26: - break label$7; - case 20: - break label$8; - case 14: - break label$9; - default: - break label$1; - } - case 1: - case 2: - case 3: - case 5: - case 6: - case 7: - case 9: - case 10: - case 11: - case 13: - case 14: - case 15: - case 16: - case 17: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 27: - case 28: - case 30: - case 31: - case 32: - case 33: - case 36: - case 37: - case 38: - case 39: - case 40: - case 41: - case 42: - case 43: - break label$1; - case 26: - break label$10; - case 45: - break label$11; - case 44: - break label$12; - case 35: - break label$13; - case 34: - break label$14; - case 0: - break label$16; - case 4: - break label$17; - case 18: - break label$18; - case 12: - break label$19; - case 8: - break label$23; - case 29: - break label$5; - } - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 10) { - break label$1; - } - HEAP32[$0 + 24 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if (($1 | 0) < 0 | HEAP32[HEAP32[$0 >> 2] + 8 >> 2] <= ($1 | 0)) { - break label$1; - } - HEAP32[$0 + 32 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if (($1 | 0) < 1 | HEAP32[HEAP32[$0 >> 2] + 8 >> 2] < ($1 | 0)) { - break label$1; - } - HEAP32[$0 + 36 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 2) { - break label$1; - } - HEAP32[$0 + 12 >> 2] = !$1; - HEAP32[$0 + 20 >> 2] = ($1 | 0) != 2; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 100) { - break label$1; - } - HEAP32[$0 + 56 >> 2] = $1; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 52 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 44 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $1 = HEAP32[$2 >> 2]; - if (($1 | 0) <= 500) { - $2 = -1; - if (($1 | 0) != -1) { - break label$1; - } - } - $2 = Math_imul(HEAP32[$0 + 4 >> 2], 26e4); - HEAP32[$0 + 40 >> 2] = ($1 | 0) < ($2 | 0) ? $1 : $2; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 8 >> 2] = $1; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 - 8 >>> 0 > 16) { - break label$1; - } - HEAP32[$0 + 60 >> 2] = $1; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$0 + 60 >> 2]; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = -1; - $1 = HEAP32[$1 >> 2]; - if ($1 >>> 0 > 1) { - break label$1; - } - HEAP32[$0 + 68 >> 2] = $1; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 68 >> 2]; - break label$2; - } - $2 = 0; - $1 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - $6 = HEAP32[$5 + 8 >> 2]; - memset($0 + 76 | 0, 0, Math_imul($1, (($4 << 2) + ($6 << 4) | 0) + 4096 | 0) + 168 | 0); - $5 = Math_imul(HEAP32[$5 + 8 >> 2], $1); - if (($5 | 0) >= 1) { - $4 = (Math_imul($4 + 1024 | 0, $1) << 2) + $0 | 0; - $1 = Math_imul($1, $6) << 2; - $4 = ($4 + $1 | 0) + 244 | 0; - $6 = $1 + $4 | 0; - while (1) { - $1 = $2 << 2; - HEAP32[$6 + $1 >> 2] = -1042284544; - HEAP32[$1 + $4 >> 2] = -1042284544; - $2 = $2 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $2 = 0; - HEAP32[$0 + 216 >> 2] = 0; - HEAP32[$0 + 96 >> 2] = 0; - HEAP32[$0 + 100 >> 2] = 0; - HEAP32[$0 + 88 >> 2] = 256; - HEAP32[$0 + 80 >> 2] = 2; - HEAP32[$0 + 84 >> 2] = 1065353216; - break label$1; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 48 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = 0; - $1 = HEAP32[$1 >> 2]; - if (!$1) { - break label$1; - } - $5 = HEAP32[$1 + 4 >> 2]; - $4 = HEAP32[$1 >> 2]; - HEAP32[$0 + 120 >> 2] = $4; - HEAP32[$0 + 124 >> 2] = $5; - $4 = HEAP32[$1 + 60 >> 2]; - $5 = HEAP32[$1 + 56 >> 2]; - HEAP32[$0 + 176 >> 2] = $5; - HEAP32[$0 + 180 >> 2] = $4; - $5 = HEAP32[$1 + 52 >> 2]; - $4 = HEAP32[$1 + 48 >> 2]; - HEAP32[$0 + 168 >> 2] = $4; - HEAP32[$0 + 172 >> 2] = $5; - $4 = HEAP32[$1 + 44 >> 2]; - $5 = HEAP32[$1 + 40 >> 2]; - HEAP32[$0 + 160 >> 2] = $5; - HEAP32[$0 + 164 >> 2] = $4; - $5 = HEAP32[$1 + 36 >> 2]; - $4 = HEAP32[$1 + 32 >> 2]; - HEAP32[$0 + 152 >> 2] = $4; - HEAP32[$0 + 156 >> 2] = $5; - $4 = HEAP32[$1 + 28 >> 2]; - $5 = HEAP32[$1 + 24 >> 2]; - HEAP32[$0 + 144 >> 2] = $5; - HEAP32[$0 + 148 >> 2] = $4; - $5 = HEAP32[$1 + 20 >> 2]; - $4 = HEAP32[$1 + 16 >> 2]; - HEAP32[$0 + 136 >> 2] = $4; - HEAP32[$0 + 140 >> 2] = $5; - $4 = HEAP32[$1 + 12 >> 2]; - $5 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 128 >> 2] = $5; - HEAP32[$0 + 132 >> 2] = $4; - break label$1; - } - $1 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $1 + 4; - $2 = 0; - $1 = HEAP32[$1 >> 2]; - if (!$1) { - break label$1; - } - $5 = HEAP32[$1 + 4 >> 2]; - $4 = HEAP32[$1 >> 2]; - HEAP32[$0 + 184 >> 2] = $4; - HEAP32[$0 + 188 >> 2] = $5; - break label$1; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - $2 = HEAP32[$2 >> 2]; - if (!$2) { - $2 = -1; - break label$1; - } - HEAP32[$2 >> 2] = HEAP32[$0 + 76 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 64 >> 2] = HEAP32[$2 >> 2]; - break label$2; - } - $2 = HEAP32[$3 + 12 >> 2]; - HEAP32[$3 + 12 >> 2] = $2 + 4; - HEAP32[$0 + 236 >> 2] = HEAP32[$2 >> 2]; - } - $2 = 0; - } - __stack_pointer = $3 + 16 | 0; - return $2; -} -function silk_resampler_private_down_FIR($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $10 = __stack_pointer; - $20 = $10; - $6 = HEAP32[$0 + 268 >> 2]; - $8 = HEAP32[$0 + 276 >> 2]; - $10 = $10 - (($6 + $8 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - $17 = $0 + 24 | 0; - $12 = memcpy($10, $17, $8 << 2); - $10 = HEAP32[$0 + 296 >> 2]; - $18 = $10 + 4 | 0; - $15 = HEAP32[$0 + 272 >> 2]; - $5 = $10; - while (1) { - $13 = ($3 | 0) < ($6 | 0) ? $3 : $6; - silk_resampler_private_AR2($0, ($8 << 2) + $12 | 0, $2, $5, $13); - $14 = $13 << 16; - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - $16 = HEAP32[$0 + 276 >> 2]; - switch ($16 - 18 | 0) { - case 18: - break label$3; - case 6: - break label$5; - case 0: - break label$6; - default: - break label$4; - } - } - if (($14 | 0) < 1) { - break label$2; - } - $19 = HEAP32[$0 + 280 >> 2]; - $21 = $19 << 16 >> 16; - $5 = 0; - while (1) { - $7 = Math_imul($5 & 65535, $21) >> 16; - $8 = Math_imul($7, 18) + $18 | 0; - $9 = HEAP16[$8 >> 1]; - $6 = ($5 >> 16 << 2) + $12 | 0; - $4 = HEAP32[$6 >> 2]; - $11 = (Math_imul($9, $4 & 65535) >> 16) + Math_imul($4 >> 16, $9) | 0; - $9 = HEAP16[$8 + 2 >> 1]; - $4 = HEAP32[$6 + 4 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 4 >> 1]; - $4 = HEAP32[$6 + 8 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 6 >> 1]; - $4 = HEAP32[$6 + 12 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 8 >> 1]; - $4 = HEAP32[$6 + 16 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 10 >> 1]; - $4 = HEAP32[$6 + 20 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 12 >> 1]; - $4 = HEAP32[$6 + 24 >> 2]; - $11 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $9 = HEAP16[$8 + 14 >> 1]; - $4 = HEAP32[$6 + 28 >> 2]; - $9 = ($11 + Math_imul($9, $4 >> 16) | 0) + (Math_imul($4 & 65535, $9) >> 16) | 0; - $8 = HEAP16[$8 + 16 >> 1]; - $4 = HEAP32[$6 + 32 >> 2]; - $9 = ($9 + Math_imul($8, $4 >> 16) | 0) + (Math_imul($4 & 65535, $8) >> 16) | 0; - $8 = Math_imul(($7 ^ -1) + $19 | 0, 18) + $18 | 0; - $7 = HEAP16[$8 >> 1]; - $4 = HEAP32[$6 + 68 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 2 >> 1]; - $4 = HEAP32[$6 + 64 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 4 >> 1]; - $4 = HEAP32[$6 + 60 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 6 >> 1]; - $4 = HEAP32[$6 + 56 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 8 >> 1]; - $4 = HEAP32[$6 + 52 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 10 >> 1]; - $4 = HEAP32[$6 + 48 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 12 >> 1]; - $4 = HEAP32[$6 + 44 >> 2]; - $9 = ($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0; - $7 = HEAP16[$8 + 14 >> 1]; - $4 = HEAP32[$6 + 40 >> 2]; - $8 = HEAP16[$8 + 16 >> 1]; - $6 = HEAP32[$6 + 36 >> 2]; - $6 = ((($9 + Math_imul($7, $4 >> 16) | 0) + (Math_imul($4 & 65535, $7) >> 16) | 0) + Math_imul($8, $6 >> 16) | 0) + (Math_imul($6 & 65535, $8) >> 16) | 0; - $8 = ($6 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($6 | 0) > 2097119 ? 32767 : ($8 | 0) > -32768 ? $8 : -32768; - $1 = $1 + 2 | 0; - $5 = $5 + $15 | 0; - if (($14 | 0) > ($5 | 0)) { - continue; - } - break; - } - break label$2; - } - $8 = 0; - if (($14 | 0) <= 0) { - break label$2; - } - while (1) { - $4 = HEAP16[$10 + 4 >> 1]; - $6 = ($8 >> 16 << 2) + $12 | 0; - $5 = HEAP32[$6 + 92 >> 2] + HEAP32[$6 >> 2] | 0; - $7 = (Math_imul($4, $5 & 65535) >> 16) + Math_imul($5 >> 16, $4) | 0; - $4 = HEAP16[$10 + 6 >> 1]; - $5 = HEAP32[$6 + 88 >> 2] + HEAP32[$6 + 4 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 8 >> 1]; - $5 = HEAP32[$6 + 84 >> 2] + HEAP32[$6 + 8 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 10 >> 1]; - $5 = HEAP32[$6 + 80 >> 2] + HEAP32[$6 + 12 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 12 >> 1]; - $5 = HEAP32[$6 + 76 >> 2] + HEAP32[$6 + 16 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 14 >> 1]; - $5 = HEAP32[$6 + 72 >> 2] + HEAP32[$6 + 20 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 16 >> 1]; - $5 = HEAP32[$6 + 68 >> 2] + HEAP32[$6 + 24 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 18 >> 1]; - $5 = HEAP32[$6 + 64 >> 2] + HEAP32[$6 + 28 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 20 >> 1]; - $5 = HEAP32[$6 + 60 >> 2] + HEAP32[$6 + 32 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 22 >> 1]; - $5 = HEAP32[$6 + 56 >> 2] + HEAP32[$6 + 36 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 24 >> 1]; - $5 = HEAP32[$6 + 52 >> 2] + HEAP32[$6 + 40 >> 2] | 0; - $4 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $5 = HEAP16[$10 + 26 >> 1]; - $6 = HEAP32[$6 + 48 >> 2] + HEAP32[$6 + 44 >> 2] | 0; - $6 = ($4 + Math_imul($5, $6 >> 16) | 0) + (Math_imul($6 & 65535, $5) >> 16) | 0; - $5 = ($6 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($6 | 0) > 2097119 ? 32767 : ($5 | 0) > -32768 ? $5 : -32768; - $1 = $1 + 2 | 0; - $8 = $8 + $15 | 0; - if (($14 | 0) > ($8 | 0)) { - continue; - } - break; - } - break label$2; - } - celt_fatal(6400, 6420, 139); - abort(); - } - $8 = 0; - if (($14 | 0) <= 0) { - break label$2; - } - while (1) { - $4 = HEAP16[$10 + 4 >> 1]; - $6 = ($8 >> 16 << 2) + $12 | 0; - $5 = HEAP32[$6 + 140 >> 2] + HEAP32[$6 >> 2] | 0; - $7 = (Math_imul($4, $5 & 65535) >> 16) + Math_imul($5 >> 16, $4) | 0; - $4 = HEAP16[$10 + 6 >> 1]; - $5 = HEAP32[$6 + 136 >> 2] + HEAP32[$6 + 4 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 8 >> 1]; - $5 = HEAP32[$6 + 132 >> 2] + HEAP32[$6 + 8 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 10 >> 1]; - $5 = HEAP32[$6 + 128 >> 2] + HEAP32[$6 + 12 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 12 >> 1]; - $5 = HEAP32[$6 + 124 >> 2] + HEAP32[$6 + 16 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 14 >> 1]; - $5 = HEAP32[$6 + 120 >> 2] + HEAP32[$6 + 20 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 16 >> 1]; - $5 = HEAP32[$6 + 116 >> 2] + HEAP32[$6 + 24 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 18 >> 1]; - $5 = HEAP32[$6 + 112 >> 2] + HEAP32[$6 + 28 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 20 >> 1]; - $5 = HEAP32[$6 + 108 >> 2] + HEAP32[$6 + 32 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 22 >> 1]; - $5 = HEAP32[$6 + 104 >> 2] + HEAP32[$6 + 36 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 24 >> 1]; - $5 = HEAP32[$6 + 100 >> 2] + HEAP32[$6 + 40 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 26 >> 1]; - $5 = HEAP32[$6 + 96 >> 2] + HEAP32[$6 + 44 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 28 >> 1]; - $5 = HEAP32[$6 + 92 >> 2] + HEAP32[$6 + 48 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 30 >> 1]; - $5 = HEAP32[$6 + 88 >> 2] + HEAP32[$6 + 52 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 32 >> 1]; - $5 = HEAP32[$6 + 84 >> 2] + HEAP32[$6 + 56 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 34 >> 1]; - $5 = HEAP32[$6 + 80 >> 2] + HEAP32[$6 + 60 >> 2] | 0; - $7 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $4 = HEAP16[$10 + 36 >> 1]; - $5 = HEAP32[$6 + 76 >> 2] + HEAP32[$6 + 64 >> 2] | 0; - $4 = ($7 + Math_imul($4, $5 >> 16) | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $5 = HEAP16[$10 + 38 >> 1]; - $6 = HEAP32[$6 + 72 >> 2] + HEAP32[$6 + 68 >> 2] | 0; - $6 = ($4 + Math_imul($5, $6 >> 16) | 0) + (Math_imul($6 & 65535, $5) >> 16) | 0; - $5 = ($6 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($6 | 0) > 2097119 ? 32767 : ($5 | 0) > -32768 ? $5 : -32768; - $1 = $1 + 2 | 0; - $8 = $8 + $15 | 0; - if (($14 | 0) > ($8 | 0)) { - continue; - } - break; - } - } - $3 = $3 - $13 | 0; - if (($3 | 0) >= 2) { - memcpy($12, ($13 << 2) + $12 | 0, $16 << 2); - $2 = ($13 << 1) + $2 | 0; - $5 = HEAP32[$0 + 296 >> 2]; - $8 = HEAP32[$0 + 276 >> 2]; - $6 = HEAP32[$0 + 268 >> 2]; - continue; - } - break; - } - memcpy($17, ($13 << 2) + $12 | 0, $16 << 2); - __stack_pointer = $20; -} -function silk_stereo_LR_to_MS($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - $11 = __stack_pointer - 16 | 0; - $16 = $11; - __stack_pointer = $11; - $23 = $1 - 4 | 0; - $13 = $10 + 2 | 0; - $24 = $11 - (($13 << 1) + 15 & -16) | 0; - $18 = $24; - __stack_pointer = $18; - if (($10 | 0) >= -1) { - $21 = ($13 | 0) > 1 ? $13 : 1; - $11 = 0; - while (1) { - $13 = $11 << 1; - $15 = $13 - 4 | 0; - $12 = HEAP16[$15 + $2 >> 1]; - $15 = HEAP16[$1 + $15 >> 1]; - $14 = $15 + $12 | 0; - HEAP16[$13 + $23 >> 1] = ($14 >>> 1 | 0) + ($14 & 1); - $19 = $13 + $24 | 0; - $13 = $15 - $12 | 0; - $13 = ($13 >> 1) + ($13 & 1) | 0; - $13 = ($13 | 0) > -32768 ? $13 : -32768; - HEAP16[$19 >> 1] = ($13 | 0) < 32767 ? $13 : 32767; - $11 = $11 + 1 | 0; - if (($21 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $19 = HEAP32[$0 + 4 >> 2]; - HEAP16[$23 >> 1] = $19; - HEAP16[$23 + 2 >> 1] = $19 >>> 16; - $14 = HEAP32[$0 + 8 >> 2]; - HEAP32[$24 >> 2] = $14; - $11 = $10 << 1; - $19 = $23 + $11 | 0; - HEAP32[$0 + 4 >> 2] = HEAPU16[$19 >> 1] | HEAPU16[$19 + 2 >> 1] << 16; - $19 = $11 + $24 | 0; - HEAP32[$0 + 8 >> 2] = HEAPU16[$19 >> 1] | HEAPU16[$19 + 2 >> 1] << 16; - $13 = $11 + 15 & -16; - $18 = $18 - $13 | 0; - $15 = $18; - __stack_pointer = $15; - $11 = 0; - $17 = $15 - $13 | 0; - $20 = $17; - __stack_pointer = $17; - label$3 : { - if (($10 | 0) <= 0) { - $11 = ($10 << 1) + 15 & -16; - $20 = $20 - $11 | 0; - $13 = $20; - __stack_pointer = $13; - $22 = $13 - $11 | 0; - __stack_pointer = $22; - break label$3; - } - $21 = $14 >>> 16 | 0; - $13 = HEAPU16[$23 >> 1]; - while (1) { - $15 = $11 << 1; - $19 = HEAP16[$15 + $1 >> 1] + ($13 << 16 >> 16) | 0; - $11 = $11 + 1 | 0; - $13 = HEAP16[($11 << 1) + $23 >> 1]; - $12 = (($13 << 1) + $19 >>> 1 | 0) + 1 >>> 1 | 0; - HEAP16[$15 + $18 >> 1] = $12; - HEAP16[$15 + $17 >> 1] = $13 - $12; - if (($10 | 0) != ($11 | 0)) { - continue; - } - break; - } - $11 = ($10 << 1) + 15 & -16; - $20 = $20 - $11 | 0; - $13 = $20; - __stack_pointer = $13; - $22 = $13 - $11 | 0; - __stack_pointer = $22; - if (($10 | 0) < 1) { - break label$3; - } - $13 = 0; - while (1) { - $11 = $21; - $15 = $13 << 1; - $21 = HEAP16[($24 + $15 | 0) + 4 >> 1]; - $12 = (($21 + ($14 << 16 >> 16) | 0) + ($11 << 16 >> 16 << 1) >>> 1 | 0) + 1 >>> 1 | 0; - HEAP16[$15 + $20 >> 1] = $12; - HEAP16[$15 + $22 >> 1] = $11 - $12; - $14 = $11; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $11 = (Math_imul($9, 10) | 0) == ($10 | 0); - $13 = $11 ? 328 : 655; - $15 = $7 << 16 >> 16; - $15 = Math_imul($15, $15); - $13 = (Math_imul($13, $15 & 65535) >>> 16 | 0) + Math_imul($15 >>> 16 | 0, $13) | 0; - $7 = silk_stereo_find_predictor($16 + 4 | 0, $18, $20, $0 + 12 | 0, $10, $13); - HEAP32[$16 + 8 >> 2] = $7; - $26 = silk_stereo_find_predictor($16, $17, $22, $0 + 20 | 0, $10, $13); - HEAP32[$16 + 12 >> 2] = $26; - $21 = ($11 ? -1200 : -600) + $6 | 0; - $15 = ($21 | 0) > 1 ? $21 : 1; - $14 = Math_clz32($15); - $12 = $15 << $14 - 1; - $17 = $12; - $11 = HEAP32[$16 >> 2] + Math_imul(HEAP16[$16 + 4 >> 1], 3) | 0; - $22 = ($11 | 0) < 65536 ? $11 : 65536; - $20 = Math_imul($22, 3); - $11 = $20 + 851968 | 0; - $18 = $11 >> 31; - $18 = Math_clz32($18 ^ $11 + $18); - $11 = $11 << $18 - 1; - $27 = $11; - $6 = $11 >> 31; - $25 = $6; - $11 = 536870911 / ($11 >> 16) << 16 >> 16; - $12 = (Math_imul($11, $12 & 65535) >> 16) + Math_imul($12 >> 16, $11) | 0; - $6 = $12 >> 31; - $19 = $6; - $6 = $25; - $19 = __wasm_i64_mul($27, $6, $12, $19); - $25 = $19; - $6 = i64toi32_i32$HIGH_BITS; - $17 = $17 - ((($6 & 536870911) << 3 | $25 >>> 29) & -8) | 0; - $12 = (Math_imul($17 >> 16, $11) + $12 | 0) + (Math_imul($17 & 65535, $11) >> 16) | 0; - $11 = Math_imul($9 << 16 >> 16, 600) + 2e3 | 0; - $6 = $5; - $14 = ($14 - $18 | 0) + 10 | 0; - label$7 : { - if (($14 | 0) <= -1) { - $14 = 0 - $14 | 0; - $18 = 2147483647 >>> $14 | 0; - $17 = -2147483648 >> $14; - $12 = (($12 | 0) > ($18 | 0) ? $18 : ($12 | 0) < ($17 | 0) ? $17 : $12) << $14; - break label$7; - } - $12 = ($14 | 0) < 32 ? $12 >> $14 : 0; - } - HEAP32[$6 >> 2] = $12; - label$9 : { - if (($11 | 0) > ($12 | 0)) { - HEAP32[$5 >> 2] = $11; - $12 = $15 - $11 | 0; - HEAP32[$5 + 4 >> 2] = $12; - $12 = ($12 << 1) - $11 | 0; - $14 = $12 >> 31; - $18 = Math_clz32($14 ^ $12 + $14); - $14 = $12 << $18 - 1; - $27 = $14; - $17 = $11 << 16 >> 16; - $12 = $20 + 65536 | 0; - $12 = (Math_imul($17, $12 & 65535) >> 16) + Math_imul($12 >> 16, $17) | 0; - $17 = $12 >> 31; - $17 = Math_clz32($17 ^ $12 + $17); - $20 = $12 << $17 - 1; - $12 = 536870911 / ($20 >> 16) << 16 >> 16; - $14 = (Math_imul($12, $14 & 65535) >> 16) + Math_imul($14 >> 16, $12) | 0; - $19 = $14 >> 31; - $6 = $19; - $19 = $20 >> 31; - $25 = $19; - $19 = $6; - $25 = __wasm_i64_mul($14, $19, $20, $25); - $6 = $25; - $19 = i64toi32_i32$HIGH_BITS; - $20 = $27 - ((($19 & 536870911) << 3 | $6 >>> 29) & -8) | 0; - $12 = (Math_imul($20 >> 16, $12) + $14 | 0) + (Math_imul($20 & 65535, $12) >> 16) | 0; - $14 = ($18 - $17 | 0) + 13 | 0; - label$11 : { - if (($14 | 0) <= -1) { - $14 = 0 - $14 | 0; - $18 = 2147483647 >>> $14 | 0; - $17 = -2147483648 >> $14; - $12 = (($12 | 0) > ($18 | 0) ? $18 : ($12 | 0) < ($17 | 0) ? $17 : $12) << $14; - break label$11; - } - $12 = ($14 | 0) < 32 ? $12 >> $14 : 0; - } - $12 = ($12 | 0) > 0 ? $12 : 0; - $12 = ($12 | 0) < 16384 ? $12 : 16384; - break label$9; - } - HEAP32[$5 + 4 >> 2] = $15 - $12; - $12 = 16384; - } - $14 = HEAP16[$0 + 28 >> 1]; - $12 = $12 - $14 | 0; - HEAP16[$0 + 28 >> 1] = (Math_imul($12 >>> 16 | 0, $13) + (Math_imul($12 & 65535, $13 << 16 >> 16) >>> 16 | 0) | 0) + $14; - $6 = 0; - HEAP8[$4 | 0] = 0; - label$13 : { - label$14 : { - label$15 : { - label$16 : { - label$17 : { - label$18 : { - if ($8) { - HEAP32[$16 + 8 >> 2] = 0; - HEAP32[$16 + 12 >> 2] = 0; - silk_stereo_quant_pred($16 + 8 | 0, $3); - break label$18; - } - $13 = $15 << 3; - label$20 : { - if (!HEAPU16[$0 + 30 >> 1]) { - label$22 : { - if ((Math_imul($11, 13) | 0) > ($13 | 0)) { - $11 = HEAP16[$0 + 28 >> 1]; - break label$22; - } - $11 = HEAP16[$0 + 28 >> 1]; - if (((Math_imul($11, $22 & 65535) >> 16) + Math_imul($22 >> 16, $11) | 0) > 818) { - break label$20; - } - } - HEAP32[$16 + 12 >> 2] = Math_imul($26 << 16 >> 16, $11) >> 14; - HEAP32[$16 + 8 >> 2] = Math_imul($7 << 16 >> 16, $11) >> 14; - silk_stereo_quant_pred($16 + 8 | 0, $3); - HEAP32[$16 + 8 >> 2] = 0; - HEAP32[$16 + 12 >> 2] = 0; - HEAP32[$5 + 4 >> 2] = 0; - HEAP32[$5 >> 2] = $15; - HEAP8[$4 | 0] = 1; - break label$17; - } - label$24 : { - if ((Math_imul($11, 11) | 0) > ($13 | 0)) { - $11 = HEAP16[$0 + 28 >> 1]; - break label$24; - } - $11 = HEAP16[$0 + 28 >> 1]; - if (((Math_imul($11, $22 & 65535) >> 16) + Math_imul($22 >> 16, $11) | 0) > 327) { - break label$20; - } - } - HEAP32[$16 + 12 >> 2] = Math_imul($26 << 16 >> 16, $11) >> 14; - HEAP32[$16 + 8 >> 2] = Math_imul($7 << 16 >> 16, $11) >> 14; - silk_stereo_quant_pred($16 + 8 | 0, $3); - HEAP32[$16 + 8 >> 2] = 0; - HEAP32[$16 + 12 >> 2] = 0; - break label$18; - } - if (($11 | 0) >= 15566) { - silk_stereo_quant_pred($16 + 8 | 0, $3); - $6 = 16384; - break label$18; - } - HEAP32[$16 + 12 >> 2] = Math_imul($26 << 16 >> 16, $11) >> 14; - HEAP32[$16 + 8 >> 2] = Math_imul($7 << 16 >> 16, $11) >> 14; - silk_stereo_quant_pred($16 + 8 | 0, $3); - $6 = HEAP16[$0 + 28 >> 1]; - } - if (HEAPU8[$4 | 0] != 1) { - break label$16; - } - } - $11 = HEAPU16[$0 + 32 >> 1] + ($10 - ($9 << 3) | 0) | 0; - HEAP16[$0 + 32 >> 1] = $11; - if ((Math_imul($9, 5) | 0) > $11 << 16 >> 16) { - HEAP8[$4 | 0] = 0; - break label$14; - } - HEAP16[$0 + 32 >> 1] = 1e4; - break label$15; - } - HEAP16[$0 + 32 >> 1] = 0; - } - if (HEAPU8[$4 | 0]) { - break label$13; - } - } - if (HEAP32[$5 + 4 >> 2] > 0) { - break label$13; - } - HEAP32[$5 + 4 >> 2] = 1; - HEAP32[$5 >> 2] = ($15 | 0) > 2 ? $21 - 1 | 0 : 1; - } - $11 = $9 << 3; - $13 = 65536 / ($11 | 0) | 0; - $7 = HEAP32[$16 + 12 >> 2]; - $8 = HEAP32[$16 + 8 >> 2]; - if (($9 | 0) >= 1) { - $13 = $13 << 16 >> 16; - $15 = HEAP16[$0 + 30 >> 1]; - $12 = $6 - $15 | 0; - $22 = (Math_imul($13, $12 & 65535) >> 16) + Math_imul($12 >> 16, $13) << 10; - $12 = HEAP16[$0 + 2 >> 1]; - $9 = (Math_imul($7 - $12 << 16 >> 16, $13) >> 15) + 1 >> 1; - $14 = HEAP16[$0 >> 1]; - $5 = (Math_imul($8 - $14 << 16 >> 16, $13) >> 15) + 1 >> 1; - $4 = ($11 | 0) > 1 ? $11 : 1; - $13 = 0; - $21 = 0 - $14 | 0; - $18 = 0 - $12 | 0; - $15 = $15 << 10; - while (1) { - $12 = $13 << 1; - $14 = $13 + 1 | 0; - $13 = $14 << 1; - $17 = HEAP16[$24 + $13 >> 1]; - $15 = $15 + $22 | 0; - $18 = $18 - $9 | 0; - $20 = $18 << 16 >> 16; - $13 = HEAP16[$13 + $23 >> 1]; - $19 = ((Math_imul($17, $15 >> 16) + Math_imul($20, $13 >> 5) | 0) + (Math_imul($15 & 64512, $17) >> 16) | 0) + (Math_imul($13 << 11 & 63488, $20) >> 16) | 0; - $13 = (HEAP16[$1 + $12 >> 1] + HEAP16[$12 + $23 >> 1] | 0) + ($13 << 1) | 0; - $3 = ($12 + $2 | 0) - 2 | 0; - $21 = $21 - $5 | 0; - $12 = $21 << 16 >> 16; - $13 = (Math_imul($12, $13 >> 7) + $19 | 0) + (Math_imul($13 << 9 & 65024, $12) >> 16) | 0; - $12 = ($13 >> 7) + 1 >> 1; - HEAP16[$3 >> 1] = ($13 | 0) > 8388479 ? 32767 : ($12 | 0) > -32768 ? $12 : -32768; - $13 = $14; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - if (($10 | 0) > ($11 | 0)) { - $18 = $6 >> 6; - $17 = $6 << 10 & 64512; - $12 = 0 - ($7 << 16) >> 16; - $14 = 0 - ($8 << 16) >> 16; - while (1) { - $13 = $11 << 1; - $3 = ($13 + $2 | 0) - 2 | 0; - $11 = $11 + 1 | 0; - $15 = $11 << 1; - $21 = HEAP16[$24 + $15 >> 1]; - $15 = HEAP16[$15 + $23 >> 1]; - $13 = (HEAP16[$1 + $13 >> 1] + HEAP16[$13 + $23 >> 1] | 0) + ($15 << 1) | 0; - $13 = ((((Math_imul($18, $21) + Math_imul($15 >> 5, $12) | 0) + (Math_imul($17, $21) >> 16) | 0) + (Math_imul($15 << 11 & 63488, $12) >> 16) | 0) + Math_imul($13 >> 7, $14) | 0) + (Math_imul($13 << 9 & 65024, $14) >> 16) | 0; - $15 = ($13 >> 7) + 1 >> 1; - HEAP16[$3 >> 1] = ($13 | 0) > 8388479 ? 32767 : ($15 | 0) > -32768 ? $15 : -32768; - if (($10 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - HEAP16[$0 + 30 >> 1] = $6; - HEAP16[$0 + 2 >> 1] = $7; - HEAP16[$0 >> 1] = $8; - __stack_pointer = $16 + 16 | 0; -} -function __rem_pio2_large($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - $8 = __stack_pointer - 560 | 0; - __stack_pointer = $8; - $7 = ($2 - 3 | 0) / 24 | 0; - $19 = ($7 | 0) > 0 ? $7 : 0; - $13 = Math_imul($19, -24) + $2 | 0; - $12 = HEAP32[($4 << 2) + 33424 >> 2]; - $15 = $3 - 1 | 0; - if (($12 + $15 | 0) >= 0) { - $6 = $3 + $12 | 0; - $2 = $19 - $15 | 0; - $7 = 0; - while (1) { - $5 = ($2 | 0) < 0 ? 0 : +HEAP32[($2 << 2) + 33440 >> 2]; - HEAPF64[($8 + 320 | 0) + ($7 << 3) >> 3] = $5; - $2 = $2 + 1 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $18 = $13 - 24 | 0; - $6 = 0; - $10 = ($12 | 0) > 0 ? $12 : 0; - $11 = ($3 | 0) < 1; - while (1) { - label$6 : { - if ($11) { - $5 = 0; - break label$6; - } - $7 = $6 + $15 | 0; - $2 = 0; - $5 = 0; - while (1) { - $5 = $5 + HEAPF64[($2 << 3) + $0 >> 3] * HEAPF64[($8 + 320 | 0) + ($7 - $2 << 3) >> 3]; - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF64[($6 << 3) + $8 >> 3] = $5; - $2 = ($6 | 0) == ($10 | 0); - $6 = $6 + 1 | 0; - if (!$2) { - continue; - } - break; - } - $23 = 47 - $13 | 0; - $21 = 48 - $13 | 0; - $24 = $13 - 25 | 0; - $6 = $12; - label$9 : { - while (1) { - $5 = HEAPF64[($6 << 3) + $8 >> 3]; - $2 = 0; - $7 = $6; - $15 = ($6 | 0) < 1; - if (!$15) { - while (1) { - $10 = $2 << 2; - $10 = $10 + ($8 + 480 | 0) | 0; - $16 = $5; - $9 = $5 * 5.960464477539063e-8; - label$14 : { - if (Math_abs($9) < 2147483648) { - $11 = ~~$9; - break label$14; - } - $11 = -2147483648; - } - $9 = +($11 | 0); - $5 = $16 + $9 * -16777216; - label$13 : { - if (Math_abs($5) < 2147483648) { - $11 = ~~$5; - break label$13; - } - $11 = -2147483648; - } - HEAP32[$10 >> 2] = $11; - $7 = $7 - 1 | 0; - $5 = HEAPF64[($7 << 3) + $8 >> 3] + $9; - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $5 = scalbn($5, $18); - $5 = $5 + floor($5 * .125) * -8; - label$17 : { - if (Math_abs($5) < 2147483648) { - $17 = ~~$5; - break label$17; - } - $17 = -2147483648; - } - $5 = $5 - +($17 | 0); - label$19 : { - label$20 : { - label$21 : { - $22 = ($18 | 0) < 1; - label$22 : { - if (!$22) { - $7 = ($6 << 2) + $8 | 0; - $2 = $7 + 476 | 0; - $11 = $2; - $2 = HEAP32[$7 + 476 >> 2]; - $7 = $2; - $2 = $2 >> $21; - $7 = $7 - ($2 << $21) | 0; - HEAP32[$11 >> 2] = $7; - $17 = $2 + $17 | 0; - $14 = $7 >> $23; - break label$22; - } - if ($18) { - break label$21; - } - $14 = HEAP32[(($6 << 2) + $8 | 0) + 476 >> 2] >> 23; - } - if (($14 | 0) < 1) { - break label$19; - } - break label$20; - } - $14 = 2; - if (!($5 >= .5 ^ 1)) { - break label$20; - } - $14 = 0; - break label$19; - } - $2 = 0; - $11 = 0; - if (!$15) { - while (1) { - $15 = ($8 + 480 | 0) + ($2 << 2) | 0; - $7 = HEAP32[$15 >> 2]; - $10 = 16777215; - label$26 : { - label$27 : { - if ($11) { - break label$27; - } - $10 = 16777216; - if ($7) { - break label$27; - } - $11 = 0; - break label$26; - } - HEAP32[$15 >> 2] = $10 - $7; - $11 = 1; - } - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - label$28 : { - if ($22) { - break label$28; - } - label$29 : { - switch ($24 | 0) { - case 0: - $7 = ($6 << 2) + $8 | 0; - $2 = $7 + 476 | 0; - HEAP32[$2 >> 2] = HEAP32[$7 + 476 >> 2] & 8388607; - break label$28; - case 1: - break label$29; - default: - break label$28; - } - } - $7 = ($6 << 2) + $8 | 0; - $2 = $7 + 476 | 0; - HEAP32[$2 >> 2] = HEAP32[$7 + 476 >> 2] & 4194303; - } - $17 = $17 + 1 | 0; - if (($14 | 0) != 2) { - break label$19; - } - $5 = 1 - $5; - $14 = 2; - if (!$11) { - break label$19; - } - $5 = $5 - scalbn(1, $18); - } - if ($5 == 0) { - $7 = 0; - label$32 : { - $2 = $6; - if (($12 | 0) >= ($2 | 0)) { - break label$32; - } - while (1) { - $2 = $2 - 1 | 0; - $7 = HEAP32[($8 + 480 | 0) + ($2 << 2) >> 2] | $7; - if (($2 | 0) > ($12 | 0)) { - continue; - } - break; - } - if (!$7) { - break label$32; - } - $13 = $18; - while (1) { - $13 = $13 - 24 | 0; - $6 = $6 - 1 | 0; - if (!HEAP32[($8 + 480 | 0) + ($6 << 2) >> 2]) { - continue; - } - break; - } - break label$9; - } - $2 = 1; - while (1) { - $7 = $2; - $2 = $2 + 1 | 0; - if (!HEAP32[($8 + 480 | 0) + ($12 - $7 << 2) >> 2]) { - continue; - } - break; - } - $10 = $6 + $7 | 0; - while (1) { - $7 = $3 + $6 | 0; - $6 = $6 + 1 | 0; - HEAPF64[($8 + 320 | 0) + ($7 << 3) >> 3] = HEAP32[($19 + $6 << 2) + 33440 >> 2]; - $2 = 0; - $5 = 0; - if (($3 | 0) >= 1) { - while (1) { - $5 = $5 + HEAPF64[($2 << 3) + $0 >> 3] * HEAPF64[($8 + 320 | 0) + ($7 - $2 << 3) >> 3]; - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF64[($6 << 3) + $8 >> 3] = $5; - if (($6 | 0) < ($10 | 0)) { - continue; - } - break; - } - $6 = $10; - continue; - } - break; - } - $5 = scalbn($5, 24 - $13 | 0); - label$39 : { - if (!($5 >= 16777216 ^ 1)) { - $3 = $6 << 2; - $3 = $3 + ($8 + 480 | 0) | 0; - $16 = $5; - $9 = $5 * 5.960464477539063e-8; - label$42 : { - if (Math_abs($9) < 2147483648) { - $2 = ~~$9; - break label$42; - } - $2 = -2147483648; - } - $5 = $16 + +($2 | 0) * -16777216; - label$41 : { - if (Math_abs($5) < 2147483648) { - $7 = ~~$5; - break label$41; - } - $7 = -2147483648; - } - HEAP32[$3 >> 2] = $7; - $6 = $6 + 1 | 0; - break label$39; - } - if (Math_abs($5) < 2147483648) { - $2 = ~~$5; - } else { - $2 = -2147483648; - } - $13 = $18; - } - HEAP32[($8 + 480 | 0) + ($6 << 2) >> 2] = $2; - } - $5 = scalbn(1, $13); - label$47 : { - if (($6 | 0) <= -1) { - break label$47; - } - $2 = $6; - while (1) { - HEAPF64[($2 << 3) + $8 >> 3] = $5 * +HEAP32[($8 + 480 | 0) + ($2 << 2) >> 2]; - $5 = $5 * 5.960464477539063e-8; - $3 = ($2 | 0) > 0; - $2 = $2 - 1 | 0; - if ($3) { - continue; - } - break; - } - $10 = 0; - if (($6 | 0) < 0) { - break label$47; - } - $12 = ($12 | 0) > 0 ? $12 : 0; - $7 = $6; - while (1) { - $0 = $10 >>> 0 > $12 >>> 0 ? $12 : $10; - $11 = $6 - $7 | 0; - $2 = 0; - $5 = 0; - while (1) { - $5 = $5 + HEAPF64[($2 << 3) + 36208 >> 3] * HEAPF64[($2 + $7 << 3) + $8 >> 3]; - $3 = ($0 | 0) != ($2 | 0); - $2 = $2 + 1 | 0; - if ($3) { - continue; - } - break; - } - HEAPF64[($8 + 160 | 0) + ($11 << 3) >> 3] = $5; - $7 = $7 - 1 | 0; - $2 = ($6 | 0) != ($10 | 0); - $10 = $10 + 1 | 0; - if ($2) { - continue; - } - break; - } - } - label$51 : { - label$52 : { - label$53 : { - switch ($4 | 0) { - case 3: - label$56 : { - if (($6 | 0) < 1) { - break label$56; - } - $5 = HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = $6; - while (1) { - $3 = $2 - 1 | 0; - $7 = ($8 + 160 | 0) + ($3 << 3) | 0; - $9 = HEAPF64[$7 >> 3]; - $16 = $9; - $9 = $9 + $5; - HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3] = $5 + ($16 - $9); - HEAPF64[$7 >> 3] = $9; - $7 = ($2 | 0) > 1; - $5 = $9; - $2 = $3; - if ($7) { - continue; - } - break; - } - if (($6 | 0) < 2) { - break label$56; - } - $5 = HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = $6; - while (1) { - $3 = $2 - 1 | 0; - $7 = ($8 + 160 | 0) + ($3 << 3) | 0; - $9 = HEAPF64[$7 >> 3]; - $16 = $9; - $9 = $9 + $5; - HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3] = $5 + ($16 - $9); - HEAPF64[$7 >> 3] = $9; - $7 = ($2 | 0) > 2; - $5 = $9; - $2 = $3; - if ($7) { - continue; - } - break; - } - if (($6 | 0) <= 1) { - break label$56; - } - while (1) { - $20 = $20 + HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = ($6 | 0) > 2; - $6 = $6 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - $5 = HEAPF64[$8 + 160 >> 3]; - if ($14) { - break label$52; - } - HEAPF64[$1 >> 3] = $5; - $5 = HEAPF64[$8 + 168 >> 3]; - HEAPF64[$1 + 16 >> 3] = $20; - HEAPF64[$1 + 8 >> 3] = $5; - break label$51; - case 0: - $5 = 0; - if (($6 | 0) >= 0) { - while (1) { - $5 = $5 + HEAPF64[($8 + 160 | 0) + ($6 << 3) >> 3]; - $2 = ($6 | 0) > 0; - $6 = $6 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - HEAPF64[$1 >> 3] = $14 ? -$5 : $5; - break label$51; - case 1: - case 2: - break label$53; - default: - break label$51; - } - } - $5 = 0; - if (($6 | 0) >= 0) { - $2 = $6; - while (1) { - $5 = $5 + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3]; - $3 = ($2 | 0) > 0; - $2 = $2 - 1 | 0; - if ($3) { - continue; - } - break; - } - } - HEAPF64[$1 >> 3] = $14 ? -$5 : $5; - $5 = HEAPF64[$8 + 160 >> 3] - $5; - $2 = 1; - if (($6 | 0) >= 1) { - while (1) { - $5 = $5 + HEAPF64[($8 + 160 | 0) + ($2 << 3) >> 3]; - $3 = ($2 | 0) != ($6 | 0); - $2 = $2 + 1 | 0; - if ($3) { - continue; - } - break; - } - } - HEAPF64[$1 + 8 >> 3] = $14 ? -$5 : $5; - break label$51; - } - HEAPF64[$1 >> 3] = -$5; - $5 = HEAPF64[$8 + 168 >> 3]; - HEAPF64[$1 + 16 >> 3] = -$20; - HEAPF64[$1 + 8 >> 3] = -$5; - } - __stack_pointer = $8 + 560 | 0; - return $17 & 7; -} -function silk_NLSF_del_dec_quant($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - $10 = __stack_pointer - 320 | 0; - __stack_pointer = $10; - $16 = $6 << 16 >> 16; - $6 = -10; - while (1) { - $11 = $6 << 10; - label$2 : { - if (($6 | 0) >= 1) { - $13 = $11 | 922; - $11 = $11 - 102 | 0; - break label$2; - } - if (!$6) { - $13 = $11 | 922; - break label$2; - } - $12 = $11 + 1024 | 0; - $13 = ($6 | 0) == -1 ? $12 : $12 | 102; - $11 = $11 | 102; - } - $12 = ($6 << 2) + 40 | 0; - HEAP32[$12 + $10 >> 2] = Math_imul($13 << 16 >> 16, $16) >> 16; - HEAP32[($10 + 80 | 0) + $12 >> 2] = Math_imul($11 << 16 >> 16, $16) >> 16; - $6 = $6 + 1 | 0; - if (($6 | 0) != 10) { - continue; - } - break; - } - HEAP16[$10 + 224 >> 1] = 0; - HEAP32[$10 + 192 >> 2] = 0; - if (($9 | 0) < 1) { - $20 = 0; - } else { - $20 = $8 << 16 >> 16; - $8 = $9; - $16 = 1; - while (1) { - $24 = $8; - $8 = $8 - 1 | 0; - label$8 : { - label$9 : { - label$10 : { - $23 = ($16 | 0) < 1; - label$11 : { - if ($23) { - break label$11; - } - $6 = $8 << 1; - $22 = HEAP16[$6 + $4 >> 1] + $5 | 0; - $12 = HEAPU16[$1 + $6 >> 1]; - $21 = HEAPU8[$3 + $8 | 0]; - $15 = HEAP16[$2 + $6 >> 1]; - $6 = 0; - while (1) { - $17 = ($10 + 224 | 0) + ($6 << 1) | 0; - $13 = Math_imul(HEAP16[$17 >> 1], $21) >> 8; - $11 = Math_imul($12 - $13 << 16 >> 16, $7) >> 16; - $11 = ($11 | 0) > -10 ? $11 : -10; - $11 = ($11 | 0) < 9 ? $11 : 9; - HEAP8[(($10 + 240 | 0) + ($6 << 4) | 0) + $8 | 0] = $11; - $14 = ($11 << 2) + 40 | 0; - $18 = HEAP32[$14 + ($10 + 80 | 0) >> 2] + $13 | 0; - HEAP16[$17 >> 1] = $18; - $17 = $6 + $16 | 0; - $13 = HEAP32[$10 + $14 >> 2] + $13 | 0; - HEAP16[($10 + 224 | 0) + ($17 << 1) >> 1] = $13; - label$13 : { - if (($11 | 0) >= 3) { - if (($11 | 0) == 3) { - $19 = 280; - $14 = HEAPU8[$22 + 7 | 0]; - break label$13; - } - $11 = Math_imul($11, 43); - $19 = $11 + 151 | 0; - $14 = $11 + 108 | 0; - break label$13; - } - if (($11 | 0) <= -4) { - if (($11 | 0) == -4) { - $19 = HEAPU8[$22 + 1 | 0]; - $14 = 280; - break label$13; - } - $11 = Math_imul($11, -43); - $19 = $11 + 65 | 0; - $14 = $11 + 108 | 0; - break label$13; - } - $11 = $11 + $22 | 0; - $19 = HEAPU8[$11 + 5 | 0]; - $14 = HEAPU8[$11 + 4 | 0]; - } - $11 = ($10 + 192 | 0) + ($6 << 2) | 0; - $25 = $11; - $11 = HEAP32[$11 >> 2]; - $26 = $11 + Math_imul($20, $14) | 0; - $14 = $12 - $18 << 16 >> 16; - HEAP32[$25 >> 2] = $26 + Math_imul(Math_imul($14, $14), $15); - $14 = Math_imul($19, $20) + $11 | 0; - $11 = $12 - $13 << 16 >> 16; - HEAP32[($10 + 192 | 0) + ($17 << 2) >> 2] = $14 + Math_imul(Math_imul($11, $11), $15); - $6 = $6 + 1 | 0; - if (($16 | 0) != ($6 | 0)) { - continue; - } - break; - } - if (($16 | 0) >= 3) { - $11 = 0; - $6 = HEAP32[$10 + 208 >> 2]; - $12 = HEAP32[$10 + 192 >> 2]; - if (($6 | 0) < ($12 | 0)) { - break label$10; - } - $15 = $6; - $6 = $12; - break label$9; - } - $6 = 0; - if ($23) { - break label$11; - } - while (1) { - HEAP8[(($10 + 240 | 0) + ($6 + $16 << 4) | 0) + $8 | 0] = HEAPU8[(($10 + 240 | 0) + ($6 << 4) | 0) + $8 | 0] + 1; - $6 = $6 + 1 | 0; - if (($16 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $16 = $16 << 1; - $6 = $16; - if (($6 | 0) > 3) { - break label$8; - } - while (1) { - HEAP8[(($10 + 240 | 0) + ($6 << 4) | 0) + $8 | 0] = HEAPU8[(($10 + 240 | 0) + ($6 - $16 << 4) | 0) + $8 | 0]; - $6 = $6 + 1 | 0; - if (($6 | 0) != 4) { - continue; - } - break; - } - break label$8; - } - HEAP32[$10 + 208 >> 2] = $12; - HEAP32[$10 + 192 >> 2] = $6; - $11 = HEAPU16[$10 + 224 >> 1]; - HEAP16[$10 + 224 >> 1] = HEAPU16[$10 + 232 >> 1]; - HEAP16[$10 + 232 >> 1] = $11; - $11 = 4; - $15 = $12; - } - HEAP32[$10 + 176 >> 2] = $6; - HEAP32[$10 + 160 >> 2] = $15; - HEAP32[$10 + 304 >> 2] = $11; - $12 = 1; - $11 = HEAP32[$10 + 212 >> 2]; - $13 = HEAP32[$10 + 196 >> 2]; - label$21 : { - if (($11 | 0) >= ($13 | 0)) { - $17 = $11; - $11 = $13; - break label$21; - } - HEAP32[$10 + 212 >> 2] = $13; - HEAP32[$10 + 196 >> 2] = $11; - $12 = HEAPU16[$10 + 226 >> 1]; - HEAP16[$10 + 226 >> 1] = HEAPU16[$10 + 234 >> 1]; - HEAP16[$10 + 234 >> 1] = $12; - $12 = 5; - $17 = $13; - } - HEAP32[$10 + 180 >> 2] = $11; - HEAP32[$10 + 164 >> 2] = $17; - HEAP32[$10 + 308 >> 2] = $12; - $12 = 2; - $13 = HEAP32[$10 + 216 >> 2]; - $14 = HEAP32[$10 + 200 >> 2]; - label$23 : { - if (($13 | 0) >= ($14 | 0)) { - $18 = $13; - $13 = $14; - break label$23; - } - HEAP32[$10 + 216 >> 2] = $14; - HEAP32[$10 + 200 >> 2] = $13; - $12 = HEAPU16[$10 + 228 >> 1]; - HEAP16[$10 + 228 >> 1] = HEAPU16[$10 + 236 >> 1]; - HEAP16[$10 + 236 >> 1] = $12; - $12 = 6; - $18 = $14; - } - HEAP32[$10 + 184 >> 2] = $13; - HEAP32[$10 + 168 >> 2] = $18; - HEAP32[$10 + 312 >> 2] = $12; - $19 = 3; - $12 = HEAP32[$10 + 220 >> 2]; - $21 = HEAP32[$10 + 204 >> 2]; - label$25 : { - if (($12 | 0) >= ($21 | 0)) { - $14 = $12; - $12 = $21; - break label$25; - } - HEAP32[$10 + 220 >> 2] = $21; - HEAP32[$10 + 204 >> 2] = $12; - $14 = HEAPU16[$10 + 230 >> 1]; - HEAP16[$10 + 230 >> 1] = HEAPU16[$10 + 238 >> 1]; - HEAP16[$10 + 238 >> 1] = $14; - $19 = 7; - $14 = $21; - } - HEAP32[$10 + 188 >> 2] = $12; - HEAP32[$10 + 172 >> 2] = $14; - HEAP32[$10 + 316 >> 2] = $19; - while (1) { - $19 = ($15 | 0) > ($17 | 0); - $15 = $19 ? $17 : $15; - $17 = ($18 | 0) < ($15 | 0); - $15 = $17 ? $18 : $15; - $18 = ($14 | 0) < ($15 | 0); - $21 = $18 ? $14 : $15; - $6 = ($6 | 0) > 0 ? $6 : 0; - $15 = ($11 | 0) > ($6 | 0); - $6 = $15 ? $11 : $6; - $11 = ($13 | 0) > ($6 | 0); - $6 = $11 ? $13 : $6; - $14 = $6; - $6 = ($6 | 0) < ($12 | 0); - if (($21 | 0) < (($6 ? $12 : $14) | 0)) { - $6 = $6 ? 3 : $11 ? 2 : $15; - $11 = $6 << 2; - $12 = $18 ? 3 : $17 ? 2 : $19; - $13 = $12 << 2; - HEAP32[($11 | $10 + 304) >> 2] = HEAP32[($13 | $10 + 304) >> 2] ^ 4; - $15 = $12 | 4; - HEAP32[($10 + 192 | $11) >> 2] = HEAP32[($10 + 192 | 0) + ($15 << 2) >> 2]; - HEAP32[($10 + 176 | $11) >> 2] = 0; - HEAP16[($10 + 224 | $6 << 1) >> 1] = HEAPU16[($10 + 224 | $15 << 1) >> 1]; - HEAP32[($10 + 160 | $13) >> 2] = 2147483647; - $11 = ($10 + 240 | 0) + ($12 << 4) | 0; - $14 = HEAP32[$11 >> 2]; - $12 = HEAP32[$11 + 4 >> 2]; - $6 = ($10 + 240 | 0) + ($6 << 4) | 0; - HEAP32[$6 >> 2] = $14; - HEAP32[$6 + 4 >> 2] = $12; - $14 = HEAP32[$11 + 12 >> 2]; - $12 = HEAP32[$11 + 8 >> 2]; - HEAP32[$6 + 8 >> 2] = $12; - HEAP32[$6 + 12 >> 2] = $14; - $12 = HEAP32[$10 + 188 >> 2]; - $14 = HEAP32[$10 + 172 >> 2]; - $13 = HEAP32[$10 + 184 >> 2]; - $18 = HEAP32[$10 + 168 >> 2]; - $11 = HEAP32[$10 + 180 >> 2]; - $17 = HEAP32[$10 + 164 >> 2]; - $6 = HEAP32[$10 + 176 >> 2]; - $15 = HEAP32[$10 + 160 >> 2]; - continue; - } - break; - } - $6 = ($10 + 240 | 0) + $8 | 0; - HEAP8[$6 | 0] = HEAPU8[$6 | 0] + (HEAP32[$10 + 304 >> 2] >>> 2 | 0); - $11 = $6 + 16 | 0; - HEAP8[$11 | 0] = HEAPU8[$6 + 16 | 0] + (HEAP32[$10 + 308 >> 2] >>> 2 | 0); - $11 = $6 + 48 | 0; - HEAP8[$11 | 0] = HEAPU8[$6 + 48 | 0] + (HEAP32[$10 + 316 >> 2] >>> 2 | 0); - $14 = $6; - $6 = $6 + 32 | 0; - HEAP8[$6 | 0] = HEAPU8[$14 + 32 | 0] + (HEAP32[$10 + 312 >> 2] >>> 2 | 0); - } - if (($24 | 0) > 1) { - continue; - } - break; - } - $6 = HEAP32[$10 + 220 >> 2]; - $11 = HEAP32[$10 + 216 >> 2]; - $16 = HEAP32[$10 + 212 >> 2]; - $12 = HEAP32[$10 + 208 >> 2]; - $13 = HEAP32[$10 + 204 >> 2]; - $8 = HEAP32[$10 + 200 >> 2]; - $15 = HEAP32[$10 + 196 >> 2]; - $20 = HEAP32[$10 + 192 >> 2]; - } - $17 = ($20 | 0) > ($15 | 0); - $15 = $17 ? $15 : $20; - $20 = ($15 | 0) > ($8 | 0); - $8 = $20 ? $8 : $15; - $15 = ($13 | 0) < ($8 | 0); - $13 = $15 ? $13 : $8; - $8 = ($13 | 0) > ($12 | 0); - $12 = $8 ? $12 : $13; - $13 = ($16 | 0) < ($12 | 0); - $16 = $13 ? $16 : $12; - $12 = ($16 | 0) > ($11 | 0); - $1 = $12 ? 6 : $13 ? 5 : $8 ? 4 : $15 ? 3 : $20 ? 2 : $17; - $16 = $12 ? $11 : $16; - $12 = ($16 | 0) > ($6 | 0); - $11 = $12 ? 7 : $1; - if (($9 | 0) > 0) { - memcpy($0, ($10 + 240 | 0) + (($11 & 3) << 4) | 0, $9); - } - HEAP8[$0 | 0] = HEAPU8[$0 | 0] + ($11 >>> 2 | 0); - __stack_pointer = $10 + 320 | 0; - return $12 ? $6 : $16; -} -function silk_control_encoder($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; - HEAP32[$0 + 6076 >> 2] = HEAP32[$1 + 48 >> 2]; - HEAP32[$0 + 4676 >> 2] = HEAP32[$1 + 52 >> 2]; - $6 = HEAP32[$1 + 8 >> 2]; - HEAP32[$0 + 4556 >> 2] = $6; - HEAP32[$0 + 4564 >> 2] = HEAP32[$1 + 12 >> 2]; - HEAP32[$0 + 4568 >> 2] = HEAP32[$1 + 16 >> 2]; - HEAP32[$0 + 4572 >> 2] = HEAP32[$1 + 20 >> 2]; - HEAP32[$0 + 6088 >> 2] = HEAP32[$1 + 40 >> 2]; - HEAP32[$0 + 5752 >> 2] = HEAP32[$1 >> 2]; - $5 = HEAP32[$1 + 4 >> 2]; - HEAP32[$0 + 5760 >> 2] = $3; - HEAP32[$0 + 4536 >> 2] = $2; - HEAP32[$0 + 5756 >> 2] = $5; - label$1 : { - label$2 : { - if (!(HEAP32[$0 + 4680 >> 2] | !HEAP32[$0 + 4668 >> 2])) { - $1 = 0; - if (HEAP32[$0 + 4560 >> 2] == ($6 | 0)) { - break label$2; - } - $4 = HEAP32[$0 + 4576 >> 2]; - if (($4 | 0) < 1) { - break label$2; - } - return silk_setup_resamplers($0, $4); - } - $4 = (wasm2js_i32$0 = $4, wasm2js_i32$1 = silk_control_audio_bandwidth($0, $1), wasm2js_i32$2 = $4, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1); - $8 = silk_setup_resamplers($0, $4); - $6 = 0; - $2 = HEAP32[$1 + 24 >> 2]; - if (($2 | 0) != HEAP32[$0 + 4612 >> 2]) { - label$5 : { - label$6 : { - switch ($2 - 10 | 0) { - default: - if (($2 | 0) == 40 | ($2 | 0) == 60) { - break label$5; - } - break; - case 0: - case 10: - break label$5; - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - break label$6; - } - } - $6 = -103; - } - label$8 : { - if (($2 | 0) <= 10) { - HEAP32[$0 + 5744 >> 2] = 1; - HEAP32[$0 + 4580 >> 2] = ($2 | 0) == 10 ? 2 : 1; - $3 = $4 << 16 >> 16; - HEAP32[$0 + 4584 >> 2] = Math_imul($3, $2 << 16 >> 16); - HEAP32[$0 + 4548 >> 2] = Math_imul($3, 14); - if (HEAP32[$0 + 4576 >> 2] == 8) { - HEAP32[$0 + 4688 >> 2] = 2169; - break label$8; - } - HEAP32[$0 + 4688 >> 2] = 2157; - break label$8; - } - HEAP32[$0 + 4580 >> 2] = 4; - HEAP32[$0 + 5744 >> 2] = ($2 >>> 0) / 20; - $3 = $4 << 16 >> 16; - HEAP32[$0 + 4584 >> 2] = Math_imul($3, 20); - HEAP32[$0 + 4548 >> 2] = Math_imul($3, 24); - if (HEAP32[$0 + 4576 >> 2] == 8) { - HEAP32[$0 + 4688 >> 2] = 2146; - break label$8; - } - HEAP32[$0 + 4688 >> 2] = 2112; - } - HEAP32[$0 + 4608 >> 2] = 0; - HEAP32[$0 + 4612 >> 2] = $2; - } - label$12 : { - label$13 : { - label$14 : { - label$15 : { - if (!(!(1 << $4 & 69888) | $4 >>> 0 > 16)) { - label$17 : { - label$18 : { - $2 = HEAP32[$0 + 4580 >> 2]; - switch ($2 - 2 | 0) { - case 0: - case 2: - break label$17; - default: - break label$18; - } - } - celt_fatal(6692, 6671, 242); - abort(); - } - label$19 : { - if (HEAP32[$0 + 4576 >> 2] == ($4 | 0)) { - $5 = HEAP32[$0 + 4584 >> 2]; - $3 = HEAP32[$0 + 4588 >> 2]; - break label$19; - } - HEAP32[$0 + 7168 >> 2] = 0; - HEAP32[$0 + 7172 >> 2] = 0; - HEAP32[$0 + 5748 >> 2] = 0; - HEAP32[$0 + 5740 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 4608 >> 2] = 0; - HEAP32[$0 + 7176 >> 2] = 0; - memset($0 + 148 | 0, 0, 4384); - $3 = 10; - HEAP8[$0 + 7168 | 0] = 10; - HEAP32[$0 + 4664 >> 2] = 1; - HEAP32[$0 + 4544 >> 2] = 100; - HEAP32[$0 + 4576 >> 2] = $4; - HEAP8[$0 + 4541 | 0] = 0; - HEAP32[$0 + 4492 >> 2] = 65536; - HEAP32[$0 + 4476 >> 2] = 100; - label$21 : { - if (($4 | 0) == 8) { - HEAP32[$0 + 4688 >> 2] = ($2 | 0) == 4 ? 2146 : 2169; - $5 = 3576; - break label$21; - } - HEAP32[$0 + 4688 >> 2] = ($2 | 0) == 4 ? 2112 : 2157; - $3 = ($4 | 0) == 12; - $5 = $3 ? 3576 : 5700; - $3 = $3 ? 10 : 16; - } - HEAP32[$0 + 4692 >> 2] = $5; - HEAP32[$0 + 4640 >> 2] = $3; - $3 = Math_imul($4, 5); - HEAP32[$0 + 4588 >> 2] = $3; - HEAP32[$0 + 4596 >> 2] = $4 << 1; - HEAP32[$0 + 4592 >> 2] = Math_imul($4, 20); - HEAP32[$0 + 4552 >> 2] = Math_imul($4, 18); - $5 = Math_imul(Math_imul($4, 327680) >> 16, $2); - HEAP32[$0 + 4584 >> 2] = $5; - HEAP32[$0 + 4548 >> 2] = Math_imul(($2 | 0) == 4 ? 24 : 14, $4); - if (($4 | 0) == 16) { - HEAP32[$0 + 4684 >> 2] = 5872; - $3 = 80; - break label$19; - } - if (($4 | 0) == 12) { - HEAP32[$0 + 4684 >> 2] = 5866; - $3 = 60; - break label$19; - } - HEAP32[$0 + 4684 >> 2] = 5857; - } - if ((Math_imul($2, $3) | 0) != ($5 | 0)) { - break label$15; - } - $2 = HEAP32[$1 + 36 >> 2]; - if ($2 >>> 0 >= 11) { - break label$14; - } - label$25 : { - $3 = $0; - label$26 : { - if (!$2) { - HEAP32[$0 + 4652 >> 2] = 52429; - HEAP32[$0 + 4644 >> 2] = 0; - HEAP32[$0 + 4648 >> 2] = 6; - HEAP32[$0 + 4636 >> 2] = 12; - HEAP32[$0 + 4660 >> 2] = 2; - HEAP32[$0 + 4628 >> 2] = 1; - HEAP32[$0 + 4632 >> 2] = 0; - $5 = Math_imul($4, 3); - break label$26; - } - if (($2 | 0) <= 1) { - HEAP32[$0 + 4652 >> 2] = 49807; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 8; - HEAP32[$0 + 4636 >> 2] = 14; - HEAP32[$0 + 4660 >> 2] = 3; - HEAP32[$0 + 4628 >> 2] = 1; - HEAP32[$0 + 4632 >> 2] = 0; - break label$13; - } - if (($2 | 0) != 2) { - break label$25; - } - HEAP32[$0 + 4652 >> 2] = 52429; - HEAP32[$0 + 4644 >> 2] = 0; - HEAP32[$0 + 4648 >> 2] = 6; - HEAP32[$0 + 4636 >> 2] = 12; - HEAP32[$0 + 4660 >> 2] = 2; - HEAP32[$0 + 4628 >> 2] = 2; - HEAP32[$0 + 4632 >> 2] = 0; - $5 = Math_imul($4, 3); - } - HEAP32[$3 + 4600 >> 2] = $5; - $3 = 6; - break label$12; - } - if (($2 | 0) <= 3) { - HEAP32[$0 + 4652 >> 2] = 49807; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 8; - HEAP32[$0 + 4636 >> 2] = 14; - HEAP32[$0 + 4660 >> 2] = 4; - HEAP32[$0 + 4628 >> 2] = 2; - HEAP32[$0 + 4632 >> 2] = 0; - break label$13; - } - if (($2 | 0) <= 5) { - HEAP32[$0 + 4652 >> 2] = 48497; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 10; - HEAP32[$0 + 4636 >> 2] = 16; - HEAP32[$0 + 4660 >> 2] = 6; - HEAP32[$0 + 4628 >> 2] = 2; - HEAP32[$0 + 4632 >> 2] = 1; - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $7 = Math_imul($4, 983); - $3 = 10; - break label$12; - } - if (($2 | 0) <= 7) { - HEAP32[$0 + 4652 >> 2] = 47186; - HEAP32[$0 + 4644 >> 2] = 1; - HEAP32[$0 + 4648 >> 2] = 12; - HEAP32[$0 + 4636 >> 2] = 20; - HEAP32[$0 + 4660 >> 2] = 8; - HEAP32[$0 + 4628 >> 2] = 3; - HEAP32[$0 + 4632 >> 2] = 1; - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $7 = Math_imul($4, 983); - $3 = 12; - break label$12; - } - HEAP32[$0 + 4652 >> 2] = 45875; - HEAP32[$0 + 4644 >> 2] = 2; - HEAP32[$0 + 4648 >> 2] = 16; - HEAP32[$0 + 4636 >> 2] = 24; - HEAP32[$0 + 4660 >> 2] = 16; - HEAP32[$0 + 4628 >> 2] = 4; - HEAP32[$0 + 4632 >> 2] = 1; - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $7 = Math_imul($4, 983); - $3 = 16; - break label$12; - } - celt_fatal(6609, 6671, 241); - abort(); - } - celt_fatal(6765, 6671, 302); - abort(); - } - celt_fatal(6863, 6671, 315); - abort(); - } - $5 = Math_imul($4, 5); - HEAP32[$0 + 4600 >> 2] = $5; - $3 = 8; - } - HEAP32[$0 + 4672 >> 2] = $7; - HEAP32[$0 + 4624 >> 2] = $2; - HEAP32[$0 + 4604 >> 2] = Math_imul($4, 5) + ($5 << 1); - $4 = HEAP32[$0 + 4640 >> 2]; - $4 = ($3 | 0) < ($4 | 0) ? $3 : $4; - HEAP32[$0 + 4648 >> 2] = $4; - if (($4 | 0) >= 17) { - break label$1; - } - $4 = HEAP32[$1 + 32 >> 2]; - HEAP32[$0 + 4616 >> 2] = $4; - $2 = HEAP32[$0 + 6092 >> 2]; - $1 = HEAP32[$1 + 44 >> 2]; - HEAP32[$0 + 6092 >> 2] = $1; - if ($1) { - $3 = $0; - if ($2) { - $1 = (Math_imul($4 >> 16, -26214) - (Math_imul($4 & 65535, 26214) >>> 16 | 0) | 0) + 7 | 0; - $1 = ($1 | 0) > 2 ? $1 : 2; - } else { - $1 = 7; - } - HEAP32[$3 + 6096 >> 2] = $1; - } - $1 = $6 + $8 | 0; - HEAP32[$0 + 4668 >> 2] = 1; - } - return $1; - } - celt_fatal(6917, 6671, 393); - abort(); -} -function silk_encode_pulses($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - $5 = __stack_pointer - 32 | 0; - __stack_pointer = $5; - $10 = $5; - HEAP32[$5 + 24 >> 2] = 0; - HEAP32[$5 + 28 >> 2] = 0; - HEAP32[$5 + 16 >> 2] = 0; - HEAP32[$5 + 20 >> 2] = 0; - HEAP32[$5 + 8 >> 2] = 0; - HEAP32[$5 + 12 >> 2] = 0; - HEAP32[$5 >> 2] = 0; - HEAP32[$5 + 4 >> 2] = 0; - label$1 : { - label$2 : { - label$3 : { - $7 = $4 & -16; - if (($7 | 0) < ($4 | 0)) { - if (($4 | 0) != 120) { - break label$3; - } - HEAP8[$3 + 120 | 0] = 0; - HEAP8[$3 + 121 | 0] = 0; - HEAP8[$3 + 122 | 0] = 0; - HEAP8[$3 + 123 | 0] = 0; - HEAP8[$3 + 124 | 0] = 0; - HEAP8[$3 + 125 | 0] = 0; - HEAP8[$3 + 126 | 0] = 0; - HEAP8[$3 + 127 | 0] = 0; - $7 = 128; - HEAP8[$3 + 128 | 0] = 0; - HEAP8[$3 + 129 | 0] = 0; - HEAP8[$3 + 130 | 0] = 0; - HEAP8[$3 + 131 | 0] = 0; - HEAP8[$3 + 132 | 0] = 0; - HEAP8[$3 + 133 | 0] = 0; - HEAP8[$3 + 134 | 0] = 0; - HEAP8[$3 + 135 | 0] = 0; - $15 = $5 - 512 | 0; - $8 = $15; - __stack_pointer = $8; - $17 = 8; - break label$2; - } - $17 = $4 >> 4; - $15 = $5 - ($7 << 2) | 0; - $8 = $15; - __stack_pointer = $8; - if (($4 | 0) > 15) { - break label$2; - } - $5 = ($17 << 2) + 15 & -16; - $16 = $8 - $5 | 0; - $6 = $16; - __stack_pointer = $6; - $19 = $6 - $5 | 0; - __stack_pointer = $19; - break label$1; - } - celt_fatal(9312, 9354, 89); - abort(); - } - $5 = 0; - while (1) { - $6 = HEAP8[$3 + $5 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[($5 << 2) + $15 >> 2] = $6 ^ $6 + $9; - $6 = $5 | 1; - $11 = ($6 << 2) + $15 | 0; - $6 = HEAP8[$3 + $6 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[$11 >> 2] = $6 ^ $6 + $9; - $6 = $5 | 2; - $11 = ($6 << 2) + $15 | 0; - $6 = HEAP8[$3 + $6 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[$11 >> 2] = $6 ^ $6 + $9; - $6 = $5 | 3; - $11 = ($6 << 2) + $15 | 0; - $6 = HEAP8[$3 + $6 | 0]; - $9 = $6; - $6 = $6 >> 31; - HEAP32[$11 >> 2] = $6 ^ $6 + $9; - $5 = $5 + 4 | 0; - if (($7 | 0) > ($5 | 0)) { - continue; - } - break; - } - $5 = ($17 << 2) + 15 & -16; - $16 = $8 - $5 | 0; - $6 = $16; - __stack_pointer = $6; - $19 = $6 - $5 | 0; - __stack_pointer = $19; - $24 = HEAPU8[8120]; - $23 = HEAPU8[8119]; - $20 = HEAPU8[8118]; - $14 = HEAPU8[8117]; - $6 = 0; - $5 = $15; - while (1) { - $7 = $22 << 2; - $18 = $19 + $7 | 0; - HEAP32[$18 >> 2] = 0; - $25 = $7 + $16 | 0; - $7 = HEAP32[$5 + 4 >> 2]; - $8 = HEAP32[$5 >> 2]; - while (1) { - $13 = 1; - label$8 : { - label$9 : { - $7 = $7 + $8 | 0; - if (($14 | 0) < ($7 | 0)) { - $9 = $12; - $7 = $6; - break label$9; - } - HEAP32[$10 >> 2] = $7; - $9 = HEAP32[$5 + 12 >> 2] + HEAP32[$5 + 8 >> 2] | 0; - if (($14 | 0) < ($9 | 0)) { - $9 = $12; - break label$9; - } - HEAP32[$10 + 4 >> 2] = $9; - $6 = HEAP32[$5 + 20 >> 2] + HEAP32[$5 + 16 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 8 >> 2] = $6; - $6 = HEAP32[$5 + 28 >> 2] + HEAP32[$5 + 24 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 12 >> 2] = $6; - $6 = HEAP32[$5 + 36 >> 2] + HEAP32[$5 + 32 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 16 >> 2] = $6; - $6 = HEAP32[$5 + 44 >> 2] + HEAP32[$5 + 40 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 20 >> 2] = $6; - $6 = HEAP32[$5 + 52 >> 2] + HEAP32[$5 + 48 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 24 >> 2] = $6; - $6 = HEAP32[$5 + 60 >> 2] + HEAP32[$5 + 56 >> 2] | 0; - if (($14 | 0) < ($6 | 0)) { - break label$9; - } - HEAP32[$10 + 28 >> 2] = $6; - $21 = 0; - break label$8; - } - $21 = 1; - } - $8 = $7 + $9 | 0; - label$12 : { - if (($20 | 0) < ($8 | 0)) { - $11 = $9; - $8 = $7; - break label$12; - } - HEAP32[$10 >> 2] = $8; - $11 = HEAP32[$10 + 12 >> 2] + HEAP32[$10 + 8 >> 2] | 0; - if (($20 | 0) < ($11 | 0)) { - $11 = $9; - break label$12; - } - HEAP32[$10 + 4 >> 2] = $11; - $6 = HEAP32[$10 + 20 >> 2] + HEAP32[$10 + 16 >> 2] | 0; - if (($20 | 0) < ($6 | 0)) { - break label$12; - } - HEAP32[$10 + 8 >> 2] = $6; - $6 = HEAP32[$10 + 28 >> 2] + HEAP32[$10 + 24 >> 2] | 0; - if (($20 | 0) < ($6 | 0)) { - break label$12; - } - HEAP32[$10 + 12 >> 2] = $6; - $13 = 0; - } - $7 = -1; - $6 = $8 + $11 | 0; - label$15 : { - if (($23 | 0) < ($6 | 0)) { - $12 = $11; - $6 = $8; - break label$15; - } - HEAP32[$10 >> 2] = $6; - $12 = HEAP32[$10 + 12 >> 2] + HEAP32[$10 + 8 >> 2] | 0; - if (($23 | 0) < ($12 | 0)) { - $12 = $11; - break label$15; - } - HEAP32[$10 + 4 >> 2] = $12; - $7 = 0; - } - $8 = $13 + $21 | 0; - label$18 : { - $9 = $6 + $12 | 0; - if (($24 | 0) >= ($9 | 0)) { - HEAP32[$25 >> 2] = $9; - if (($7 | 0) == ($8 | 0)) { - break label$18; - } - } - HEAP32[$18 >> 2] = HEAP32[$18 >> 2] + 1; - $8 = HEAP32[$5 >> 2] >> 1; - HEAP32[$5 >> 2] = $8; - $7 = HEAP32[$5 + 4 >> 2] >> 1; - HEAP32[$5 + 4 >> 2] = $7; - HEAP32[$5 + 8 >> 2] = HEAP32[$5 + 8 >> 2] >> 1; - HEAP32[$5 + 12 >> 2] = HEAP32[$5 + 12 >> 2] >> 1; - HEAP32[$5 + 16 >> 2] = HEAP32[$5 + 16 >> 2] >> 1; - HEAP32[$5 + 20 >> 2] = HEAP32[$5 + 20 >> 2] >> 1; - HEAP32[$5 + 24 >> 2] = HEAP32[$5 + 24 >> 2] >> 1; - HEAP32[$5 + 28 >> 2] = HEAP32[$5 + 28 >> 2] >> 1; - HEAP32[$5 + 32 >> 2] = HEAP32[$5 + 32 >> 2] >> 1; - HEAP32[$5 + 36 >> 2] = HEAP32[$5 + 36 >> 2] >> 1; - HEAP32[$5 + 40 >> 2] = HEAP32[$5 + 40 >> 2] >> 1; - HEAP32[$5 + 44 >> 2] = HEAP32[$5 + 44 >> 2] >> 1; - HEAP32[$5 + 48 >> 2] = HEAP32[$5 + 48 >> 2] >> 1; - HEAP32[$5 + 52 >> 2] = HEAP32[$5 + 52 >> 2] >> 1; - HEAP32[$5 + 56 >> 2] = HEAP32[$5 + 56 >> 2] >> 1; - HEAP32[$5 + 60 >> 2] = HEAP32[$5 + 60 >> 2] >> 1; - continue; - } - break; - } - $5 = $5 - -64 | 0; - $18 = 1; - $22 = $22 + 1 | 0; - if (($22 | 0) != ($17 | 0)) { - continue; - } - break; - } - } - $13 = 2147483647; - $20 = $1 >> 1; - $14 = Math_imul($20, 9); - $11 = 0; - $21 = 0; - while (1) { - $7 = HEAPU8[($11 + $14 | 0) + 8528 | 0]; - if ($18) { - $9 = Math_imul($11, 18); - $12 = $9 + 8337 | 0; - $5 = 0; - while (1) { - $6 = $12; - $8 = $5 << 2; - if (HEAP32[$19 + $8 >> 2] <= 0) { - $6 = (HEAP32[$8 + $16 >> 2] + $9 | 0) + 8320 | 0; - } - $7 = HEAPU8[$6 | 0] + $7 | 0; - $5 = $5 + 1 | 0; - if (($17 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $5 = ($7 | 0) < ($13 | 0); - $21 = $5 ? $11 : $21; - $13 = $5 ? $7 : $13; - $11 = $11 + 1 | 0; - if (($11 | 0) != 9) { - continue; - } - break; - } - ec_enc_icdf($0, $21, Math_imul($20, 9) + 8496 | 0, 8); - label$24 : { - if (!$18) { - break label$24; - } - $12 = Math_imul($21, 18) + 8128 | 0; - $7 = 0; - while (1) { - $8 = $7 << 2; - $5 = HEAP32[$19 + $8 >> 2]; - label$26 : { - if (!$5) { - ec_enc_icdf($0, HEAP32[$8 + $16 >> 2], $12, 8); - break label$26; - } - ec_enc_icdf($0, 17, $12, 8); - if (($5 | 0) >= 2) { - $6 = $5 - 1 | 0; - $5 = 0; - while (1) { - ec_enc_icdf($0, 17, 8290, 8); - $5 = $5 + 1 | 0; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - ec_enc_icdf($0, HEAP32[$8 + $16 >> 2], 8290, 8); - } - $7 = $7 + 1 | 0; - if (($17 | 0) != ($7 | 0)) { - continue; - } - break; - } - if (!$18) { - break label$24; - } - $5 = 0; - while (1) { - if (HEAP32[($5 << 2) + $16 >> 2] >= 1) { - silk_shell_encoder($0, ($5 << 6) + $15 | 0); - } - $5 = $5 + 1 | 0; - if (($17 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (!$18) { - break label$24; - } - $13 = 0; - while (1) { - $9 = HEAP32[($13 << 2) + $19 >> 2]; - if (($9 | 0) >= 1) { - $11 = ($13 << 4) + $3 | 0; - $12 = 0; - while (1) { - $5 = HEAP8[$12 + $11 | 0]; - $6 = $5; - $5 = $5 >> 31; - $8 = ($5 ^ $5 + $6) << 24 >> 24; - $5 = $9; - if (($5 | 0) != 1) { - while (1) { - $6 = $5 - 1 | 0; - ec_enc_icdf($0, $8 >>> $6 & 1, 5824, 8); - $7 = ($5 | 0) > 2; - $5 = $6; - if ($7) { - continue; - } - break; - } - } - ec_enc_icdf($0, $8 & 1, 5824, 8); - $12 = $12 + 1 | 0; - if (($12 | 0) != 16) { - continue; - } - break; - } - } - $13 = $13 + 1 | 0; - if (($17 | 0) != ($13 | 0)) { - continue; - } - break; - } - } - silk_encode_signs($0, $3, $4, $1, $2, $16); - __stack_pointer = $10 + 32 | 0; -} -function compute_gru($0, $1, $2) { - var $3 = Math_fround(0), $4 = 0, $5 = 0, $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0); - $9 = __stack_pointer - 512 | 0; - __stack_pointer = $9; - $7 = HEAP32[$0 + 16 >> 2]; - label$1 : { - if (($7 | 0) < 1) { - break label$1; - } - $10 = Math_imul($7, 3); - $13 = HEAP32[$0 + 12 >> 2]; - $5 = HEAP32[$0 >> 2]; - while (1) { - HEAPF32[($9 + 256 | 0) + ($4 << 2) >> 2] = HEAP8[$4 + $5 | 0]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $14 = HEAP32[$0 + 4 >> 2]; - $5 = 0; - $8 = ($13 | 0) < 1; - while (1) { - if (!$8) { - $12 = ($9 + 256 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$12 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $14 | 0]))); - $4 = $4 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$12 >> 2] = $3; - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $12 = HEAP32[$0 + 8 >> 2]; - $5 = 0; - while (1) { - $8 = ($9 + 256 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$8 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $1 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $12 | 0]))); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$8 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $3 = Math_fround(1); - $5 = ($9 + 256 | 0) + ($4 << 2) | 0; - $6 = Math_fround(Math_fround(HEAPF32[$5 >> 2] * Math_fround(.0078125)) * Math_fround(.5)); - label$9 : { - if ($6 < Math_fround(8) ^ 1) { - break label$9; - } - $3 = Math_fround(0); - if ($6 > Math_fround(-8) ^ 1) { - break label$9; - } - $3 = Math_fround(.5); - if ($6 != $6) { - break label$9; - } - $11 = $6 < Math_fround(0); - $6 = $11 ? Math_fround(-$6) : $6; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($6 * Math_fround(25)) + Math_fround(.5)))); - label$10 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$10; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $6 = Math_fround($6 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $6)) * Math_fround($6 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = Math_fround(Math_fround(($11 ? Math_fround(-$3) : $3) * Math_fround(.5)) + Math_fround(.5)); - } - HEAPF32[$5 >> 2] = $3; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $5 = HEAP32[$0 >> 2]; - $4 = 0; - while (1) { - HEAPF32[($9 + 128 | 0) + ($4 << 2) >> 2] = HEAP8[($4 + $7 | 0) + $5 | 0]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $8 = $7 + $14 | 0; - $5 = 0; - $15 = ($13 | 0) < 1; - while (1) { - if (!$15) { - $11 = ($9 + 128 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$11 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $8 | 0]))); - $4 = $4 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$11 >> 2] = $3; - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $8 = $7 + $12 | 0; - $5 = 0; - while (1) { - $11 = ($9 + 128 | 0) + ($5 << 2) | 0; - $3 = HEAPF32[$11 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $1 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $8 | 0]))); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$11 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $3 = Math_fround(1); - $5 = ($9 + 128 | 0) + ($4 << 2) | 0; - $6 = Math_fround(Math_fround(HEAPF32[$5 >> 2] * Math_fround(.0078125)) * Math_fround(.5)); - label$19 : { - if ($6 < Math_fround(8) ^ 1) { - break label$19; - } - $3 = Math_fround(0); - if ($6 > Math_fround(-8) ^ 1) { - break label$19; - } - $3 = Math_fround(.5); - if ($6 != $6) { - break label$19; - } - $11 = $6 < Math_fround(0); - $6 = $11 ? Math_fround(-$6) : $6; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($6 * Math_fround(25)) + Math_fround(.5)))); - label$20 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$20; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $6 = Math_fround($6 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $6)) * Math_fround($6 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = Math_fround(Math_fround(($11 ? Math_fround(-$3) : $3) * Math_fround(.5)) + Math_fround(.5)); - } - HEAPF32[$5 >> 2] = $3; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $5 = $7 << 1; - $8 = HEAP32[$0 >> 2]; - $4 = 0; - while (1) { - HEAPF32[($4 << 2) + $9 >> 2] = HEAP8[($4 + $5 | 0) + $8 | 0]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $5 = $4 << 2; - HEAPF32[$5 + ($9 + 384 | 0) >> 2] = HEAPF32[$1 + $5 >> 2] * HEAPF32[($9 + 128 | 0) + $5 >> 2]; - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $0 = $7 << 1; - $14 = $14 + $0 | 0; - $5 = 0; - $11 = ($13 | 0) < 1; - while (1) { - if (!$11) { - $8 = ($5 << 2) + $9 | 0; - $3 = HEAPF32[$8 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($4 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $14 | 0]))); - $4 = $4 + 1 | 0; - if (($13 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$8 >> 2] = $3; - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $12 = $0 + $12 | 0; - $5 = 0; - while (1) { - $13 = ($5 << 2) + $9 | 0; - $3 = HEAPF32[$13 >> 2]; - $4 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($9 + 384 | 0) + ($4 << 2) >> 2] * Math_fround(HEAP8[(Math_imul($4, $10) + $5 | 0) + $12 | 0]))); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAPF32[$13 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - $4 = 0; - if (($7 | 0) <= 0) { - break label$1; - } - while (1) { - $10 = $4 << 2; - $3 = HEAPF32[$10 + ($9 + 256 | 0) >> 2]; - $16 = Math_fround($3 * HEAPF32[$1 + $10 >> 2]); - $17 = Math_fround(Math_fround(1) - $3); - $3 = Math_fround(1); - $10 = $9 + $10 | 0; - $6 = Math_fround(HEAPF32[$10 >> 2] * Math_fround(.0078125)); - label$30 : { - if ($6 < Math_fround(8) ^ 1) { - break label$30; - } - $3 = Math_fround(-1); - if ($6 > Math_fround(-8) ^ 1) { - break label$30; - } - $3 = Math_fround(0); - if ($6 != $6) { - break label$30; - } - $12 = $6 < Math_fround(0); - $6 = $12 ? Math_fround(-$6) : $6; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($6 * Math_fround(25)) + Math_fround(.5)))); - label$31 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $5 = ~~$3; - break label$31; - } - $5 = -2147483648; - } - $3 = HEAPF32[($5 << 2) + 48128 >> 2]; - $6 = Math_fround($6 + Math_fround(Math_fround($5 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $6)) * Math_fround($6 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = $12 ? Math_fround(-$3) : $3; - } - HEAPF32[$10 >> 2] = $16 + Math_fround($17 * $3); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - memcpy($1, $9, $7 << 2); - } - __stack_pointer = $9 + 512 | 0; -} -function quant_band($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - $22 = ($2 >>> 0) / ($4 >>> 0) | 0; - $24 = HEAP32[$0 >> 2]; - label$1 : { - if (($2 | 0) == 1) { - $5 = 0; - if (HEAP32[$0 + 32 >> 2] >= 8) { - $9 = HEAP32[$0 + 28 >> 2]; - label$4 : { - if ($24) { - $5 = HEAPF32[$1 >> 2] < Math_fround(0); - ec_enc_bits($9, $5, 1); - break label$4; - } - $5 = ec_dec_bits($9, 1); - } - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] - 8; - } - if (HEAP32[$0 + 4 >> 2]) { - HEAPF32[$1 >> 2] = $5 ? Math_fround(-1) : Math_fround(1); - } - $10 = 1; - if (!$7) { - break label$1; - } - HEAP32[$7 >> 2] = HEAP32[$1 >> 2]; - return 1; - } - $21 = HEAP32[$0 + 24 >> 2]; - $11 = ($21 | 0) > 0; - label$7 : { - if (!$5) { - $9 = $5; - break label$7; - } - if (!$9) { - $9 = $5; - break label$7; - } - if (!(!($22 & 1) & ($21 | 0) != 0 | (($21 | 0) > 0 | ($4 | 0) > 1))) { - $9 = $5; - break label$7; - } - memcpy($9, $5, $2 << 2); - } - $19 = $11 ? $21 : 0; - if (($21 | 0) >= 1) { - while (1) { - label$13 : { - if ($24) { - if (($12 | 0) == 31) { - break label$13; - } - $15 = $2 >> $12; - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $14 = 1 << $12; - $18 = $14 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $1 | 0; - $23 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = ((($5 << 1 | 1) << $12) + $11 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$23 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($14 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - if (!$9 | ($12 | 0) == 31) { - break label$13; - } - $15 = $2 >> $12; - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $14 = 1 << $12; - $18 = $14 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $9 | 0; - $23 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = ((($5 << 1 | 1) << $12) + $11 << 2) + $9 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$23 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($14 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $10 = HEAPU8[($10 & 15) + 41920 | 0] | HEAPU8[($10 >> 4) + 41920 | 0] << 2; - $12 = $12 + 1 | 0; - if (($19 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $12 = $4 >> $19; - $15 = $22 << $19; - label$21 : { - if (!($15 & 1 | ($21 | 0) > -1)) { - $22 = $21; - while (1) { - if (!(!$24 | ($12 | 0) < 1)) { - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $18 = $12 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $1 | 0; - $14 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = (Math_imul($5 << 1 | 1, $12) + $11 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$14 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $14 = $15 >> 1; - if (!(!$9 | ($12 | 0) < 1)) { - $20 = ($14 | 0) > 1 ? $14 : 1; - $18 = $12 << 1; - $11 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $13 = (Math_imul($5, $18) + $11 << 2) + $9 | 0; - $23 = $13; - $16 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - $13 = (Math_imul($5 << 1 | 1, $12) + $11 << 2) + $9 | 0; - $17 = Math_fround(HEAPF32[$13 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$23 >> 2] = $16 + $17; - HEAPF32[$13 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $25 = $25 + 1 | 0; - $5 = $12 << 1; - $10 = $10 << $12 | $10; - if ($15 & 2) { - break label$21; - } - $11 = ($22 | 0) < -1; - $22 = $22 + 1 | 0; - $12 = $5; - $15 = $14; - if ($11) { - continue; - } - break; - } - break label$21; - } - $14 = $15; - $5 = $12; - } - $11 = ($4 | 0) == 1; - label$32 : { - if (($5 | 0) < 2) { - break label$32; - } - if ($24) { - deinterleave_hadamard($1, $14 >> $19, $5 << $19, $11); - } - if (!$9) { - break label$32; - } - deinterleave_hadamard($9, $14 >> $19, $5 << $19, $11); - } - $10 = quant_partition($0, $1, $2, $3, $5, $9, $6, $8, $10); - if (!HEAP32[$0 + 4 >> 2]) { - break label$1; - } - if (($5 | 0) >= 2) { - interleave_hadamard($1, $14 >> $19, $5 << $19, $11); - } - label$35 : { - if (!$25) { - $13 = $5; - break label$35; - } - $18 = 0; - while (1) { - $14 = $14 << 1; - $13 = $5 >> 1; - $15 = $10 >>> $13 | 0; - if (($5 | 0) >= 2) { - $9 = $14 >> 1; - $12 = ($9 | 0) > 1 ? $9 : 1; - $20 = $5 & -2; - $9 = 0; - while (1) { - $5 = 0; - if (($14 | 0) >= 2) { - while (1) { - $11 = (Math_imul($5, $20) + $9 << 2) + $1 | 0; - $0 = $11; - $16 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - $11 = (Math_imul($5 << 1 | 1, $13) + $9 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$0 >> 2] = $16 + $17; - HEAPF32[$11 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($12 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($13 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $10 = $10 | $15; - $5 = $13; - $18 = $18 + 1 | 0; - if (($25 | 0) != ($18 | 0)) { - continue; - } - break; - } - } - $12 = 0; - if (($21 | 0) > 0) { - while (1) { - $10 = HEAPU8[$10 + 41936 | 0]; - if (($12 | 0) != 31) { - $15 = $2 >> $12; - $5 = $15 >> 1; - $20 = ($5 | 0) > 1 ? $5 : 1; - $14 = 1 << $12; - $18 = $14 << 1; - $9 = 0; - while (1) { - $5 = 0; - if (($15 | 0) >= 2) { - while (1) { - $11 = (Math_imul($5, $18) + $9 << 2) + $1 | 0; - $0 = $11; - $16 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - $11 = ((($5 << 1 | 1) << $12) + $9 << 2) + $1 | 0; - $17 = Math_fround(HEAPF32[$11 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$0 >> 2] = $16 + $17; - HEAPF32[$11 >> 2] = $16 - $17; - $5 = $5 + 1 | 0; - if (($20 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = $9 + 1 | 0; - if (($14 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $12 = $12 + 1 | 0; - if (($19 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $11 = $13 << $19; - if (!(!$7 | ($2 | 0) < 1)) { - $16 = Math_fround(Math_sqrt(+($2 | 0))); - $5 = 0; - while (1) { - $9 = $5 << 2; - HEAPF32[$9 + $7 >> 2] = HEAPF32[$1 + $9 >> 2] * $16; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $10 = (-1 << $11 ^ -1) & $10; - } - return $10; -} -function update_filter($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $2 = HEAP32[$0 + 8 >> 2]; - $1 = HEAP32[$0 + 12 >> 2]; - $5 = ($2 >>> 0) / ($1 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $5; - $3 = Math_imul(HEAP32[$0 + 16 >> 2], 20); - $6 = HEAP32[$3 + 50884 >> 2]; - HEAP32[$0 + 48 >> 2] = $6; - $11 = HEAP32[$0 + 24 >> 2]; - $4 = HEAP32[$3 + 50880 >> 2]; - HEAP32[$0 + 24 >> 2] = $4; - HEAP32[$0 + 40 >> 2] = $2 - Math_imul($1, $5); - $17 = HEAP32[$0 + 28 >> 2]; - label$1 : { - label$2 : { - label$3 : { - if ($1 >>> 0 < $2 >>> 0) { - HEAPF32[$0 + 44 >> 2] = Math_fround(HEAPF32[$3 + 50888 >> 2] * Math_fround($1 >>> 0)) / Math_fround($2 >>> 0); - $3 = ($4 >>> 0) / ($1 >>> 0) | 0; - $5 = $4 - Math_imul($3, $1) | 0; - $4 = 4294967295 / ($2 >>> 0) | 0; - if ($5 >>> 0 > $4 >>> 0 | $3 >>> 0 > $4 >>> 0) { - break label$2; - } - $4 = Math_imul($2, $3); - $3 = (Math_imul($2, $5) >>> 0) / ($1 >>> 0) | 0; - if ($4 >>> 0 > ($3 ^ -1) >>> 0) { - break label$2; - } - $4 = ($3 + $4 | 0) + 7 & -8; - HEAP32[$0 + 24 >> 2] = $4; - $3 = $1 << 1 >>> 0 < $2 >>> 0; - $5 = $1 << 2 >>> 0 < $2 >>> 0; - $7 = $1 << 3; - $6 = $6 >>> $3 >>> $5 >>> ($7 >>> 0 < $2 >>> 0) | 0; - if (!($2 >>> 0 <= $7 >>> 0 ? !($3 | $5) : 0)) { - HEAP32[$0 + 48 >> 2] = $6; - } - $3 = $1 << 4 >>> 0 < $2 >>> 0; - $2 = $6 >>> $3 | 0; - if ($2 ? !$3 : 0) { - break label$3; - } - $6 = $2 ? $2 : 1; - HEAP32[$0 + 48 >> 2] = $6; - break label$3; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$3 + 50892 >> 2]; - } - $2 = Math_imul($1, $4); - $5 = Math_imul($4, $6) + 8 | 0; - label$7 : { - if ($2 >>> 0 <= $5 >>> 0) { - $3 = 1; - if (536870911 / ($1 >>> 0) >>> 0 >= $4 >>> 0) { - break label$7; - } - } - $3 = 0; - $2 = $5; - if (536870903 / ($6 >>> 0) >>> 0 < $4 >>> 0) { - break label$2; - } - } - if (HEAPU32[$0 + 80 >> 2] < $2 >>> 0) { - $1 = dlrealloc(HEAP32[$0 + 76 >> 2], $2 << 2); - if (!$1) { - break label$2; - } - HEAP32[$0 + 80 >> 2] = $2; - HEAP32[$0 + 76 >> 2] = $1; - } - $9 = $0; - label$10 : { - label$11 : { - label$12 : { - if (!$3) { - $1 = -4; - $2 = HEAP32[$0 + 24 >> 2]; - $6 = HEAP32[$0 + 48 >> 2]; - $4 = Math_imul($2, $6) + 4 | 0; - if (($4 | 0) > -4) { - break label$12; - } - $5 = HEAP32[$0 + 16 >> 2]; - break label$11; - } - $2 = HEAP32[$0 + 24 >> 2]; - $8 = HEAP32[$0 + 12 >> 2]; - if ($8) { - $5 = ($2 | 0) / -2 | 0; - $13 = Math_fround($8 >>> 0); - $7 = 0; - while (1) { - if ($2) { - $4 = Math_imul($2, $7); - $14 = Math_fround(Math_fround($7 >>> 0) / $13); - $3 = HEAP32[Math_imul(HEAP32[$0 + 16 >> 2], 20) + 50896 >> 2]; - $6 = HEAP32[$0 + 76 >> 2]; - $1 = 0; - while (1) { - $10 = ($1 + $4 << 2) + $6 | 0; - $1 = $1 + 1 | 0; - HEAPF32[$10 >> 2] = sinc(HEAPF32[$0 + 44 >> 2], Math_fround(Math_fround($5 + $1 | 0) - $14), $2, $3); - if (($1 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - if (($8 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $1 = HEAP32[$0 + 16 >> 2] > 8 ? 5 : 6; - break label$10; - } - $14 = Math_fround($2 >>> 1 >>> 0); - $5 = HEAP32[$0 + 16 >> 2]; - $3 = HEAP32[Math_imul($5, 20) + 50896 >> 2]; - $13 = Math_fround($6 >>> 0); - $6 = HEAP32[$0 + 76 >> 2]; - while (1) { - HEAPF32[(($1 << 2) + $6 | 0) + 16 >> 2] = sinc(HEAPF32[$0 + 44 >> 2], Math_fround(Math_fround(Math_fround($1 | 0) / $13) - $14), $2, $3); - $1 = $1 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $1 = ($5 | 0) > 8 ? 7 : 8; - } - HEAP32[$9 + 84 >> 2] = $1; - $1 = (HEAP32[$0 + 32 >> 2] + $2 | 0) - 1 | 0; - $2 = HEAP32[$0 + 28 >> 2]; - if ($1 >>> 0 > $2 >>> 0) { - $2 = HEAP32[$0 + 20 >> 2]; - if (536870911 / ($2 >>> 0) >>> 0 < $1 >>> 0) { - break label$2; - } - $2 = dlrealloc(HEAP32[$0 + 72 >> 2], Math_imul($1, $2) << 2); - if (!$2) { - break label$2; - } - HEAP32[$0 + 28 >> 2] = $1; - HEAP32[$0 + 72 >> 2] = $2; - $2 = $1; - } - if (!HEAP32[$0 + 56 >> 2]) { - $1 = Math_imul(HEAP32[$0 + 20 >> 2], $2); - if (!$1) { - return 0; - } - memset(HEAP32[$0 + 72 >> 2], 0, $1 << 2); - return 0; - } - $2 = HEAP32[$0 + 24 >> 2]; - if ($11 >>> 0 < $2 >>> 0) { - $8 = HEAP32[$0 + 20 >> 2]; - if (!$8) { - return 0; - } - $18 = $11 - 1 | 0; - $19 = ($8 << 2) - 4 | 0; - $20 = HEAP32[$0 + 68 >> 2]; - while (1) { - $7 = $12 << 2; - $8 = $8 - 1 | 0; - $15 = $8 << 2; - $5 = $15 + $20 | 0; - $4 = HEAP32[$5 >> 2]; - $9 = $4 << 1; - $1 = $4 + $18 | 0; - if ($1) { - $3 = Math_imul($8, $17); - $6 = Math_imul(HEAP32[$0 + 28 >> 2], $8); - $2 = HEAP32[$0 + 72 >> 2]; - while (1) { - $1 = $1 - 1 | 0; - HEAP32[(($4 + $1 | 0) + $6 << 2) + $2 >> 2] = HEAP32[($1 + $3 << 2) + $2 >> 2]; - if ($1) { - continue; - } - break; - } - } - $16 = $19 - $7 | 0; - $9 = $9 + $11 | 0; - if ($4) { - memset(HEAP32[$0 + 72 >> 2] + Math_imul(HEAP32[$0 + 28 >> 2], $16) | 0, 0, $4 << 2); - } - HEAP32[$5 >> 2] = 0; - $10 = HEAP32[$0 + 24 >> 2]; - label$28 : { - if ($10 >>> 0 > $9 >>> 0) { - $6 = $9 - 1 | 0; - if ($6) { - $5 = $10 - 2 | 0; - $7 = $9 - 2 | 0; - $4 = Math_imul(HEAP32[$0 + 28 >> 2], $8); - $3 = HEAP32[$0 + 72 >> 2]; - $1 = 0; - $2 = 0; - while (1) { - HEAP32[(($1 + $5 | 0) + $4 << 2) + $3 >> 2] = HEAP32[(($1 + $7 | 0) + $4 << 2) + $3 >> 2]; - $1 = $2 ^ -1; - $2 = $2 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $1 = $10 - 1 | 0; - if ($6 >>> 0 < $1 >>> 0) { - memset(HEAP32[$0 + 72 >> 2] + Math_imul(HEAP32[$0 + 28 >> 2], $16) | 0, 0, $1 - $6 << 2); - } - $1 = HEAP32[$0 + 60 >> 2] + $15 | 0; - HEAP32[$1 >> 2] = HEAP32[$1 >> 2] + ($10 - $9 >>> 1 | 0); - break label$28; - } - $3 = $9 - $10 >>> 1 | 0; - HEAP32[$5 >> 2] = $3; - $1 = $3 - 1 | 0; - $2 = HEAP32[$0 + 24 >> 2]; - if (($1 | 0) == (0 - $2 | 0)) { - break label$28; - } - $1 = $1 + $2 | 0; - $6 = $1 >>> 0 > 1 ? $1 : 1; - $5 = Math_imul(HEAP32[$0 + 28 >> 2], $8); - $2 = HEAP32[$0 + 72 >> 2]; - $1 = 0; - while (1) { - $4 = $1 + $5 | 0; - HEAP32[($4 << 2) + $2 >> 2] = HEAP32[($3 + $4 << 2) + $2 >> 2]; - $1 = $1 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $12 = $12 + 1 | 0; - if ($8) { - continue; - } - break; - } - return 0; - } - $1 = 0; - if (!HEAP32[$0 + 20 >> 2] | $2 >>> 0 >= $11 >>> 0) { - break label$1; - } - $12 = HEAP32[$0 + 68 >> 2]; - $7 = 0; - while (1) { - $8 = ($7 << 2) + $12 | 0; - $1 = HEAP32[$8 >> 2]; - $3 = $11 - $2 >>> 1 | 0; - HEAP32[$8 >> 2] = $3; - $9 = $1 + $3 | 0; - $1 = $9 - 1 | 0; - $2 = HEAP32[$0 + 24 >> 2]; - if (($1 | 0) != (0 - $2 | 0)) { - $1 = $1 + $2 | 0; - $6 = $1 >>> 0 > 1 ? $1 : 1; - $5 = Math_imul(HEAP32[$0 + 28 >> 2], $7); - $2 = HEAP32[$0 + 72 >> 2]; - $1 = 0; - while (1) { - $4 = $1 + $5 | 0; - HEAP32[($4 << 2) + $2 >> 2] = HEAP32[($3 + $4 << 2) + $2 >> 2]; - $1 = $1 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - HEAP32[$8 >> 2] = $9; - $7 = $7 + 1 | 0; - if ($7 >>> 0 >= HEAPU32[$0 + 20 >> 2]) { - return 0; - } else { - $2 = HEAP32[$0 + 24 >> 2]; - continue; - } - } - } - HEAP32[$0 + 24 >> 2] = $11; - HEAP32[$0 + 84 >> 2] = 9; - $1 = 1; - } - return $1; -} -function dlfree($0) { - $0 = $0 | 0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - label$1 : { - label$2 : { - if (!$0) { - break label$2; - } - $3 = $0 - 8 | 0; - $1 = HEAP32[$0 - 4 >> 2]; - $0 = $1 & -8; - $5 = $3 + $0 | 0; - label$3 : { - if ($1 & 1) { - break label$3; - } - if (!($1 & 3)) { - break label$2; - } - $1 = HEAP32[$3 >> 2]; - $3 = $3 - $1 | 0; - $4 = HEAP32[13236]; - if ($3 >>> 0 < $4 >>> 0) { - break label$2; - } - $0 = $0 + $1 | 0; - if (HEAP32[13237] != ($3 | 0)) { - if ($1 >>> 0 <= 255) { - $7 = $1 >>> 3 | 0; - $1 = ($7 << 3) + 52968 | 0; - $6 = HEAP32[$3 + 8 >> 2]; - $2 = HEAP32[$3 + 12 >> 2]; - if (($6 | 0) == ($2 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $7); - break label$3; - } - HEAP32[$6 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $6; - break label$3; - } - $7 = HEAP32[$3 + 24 >> 2]; - $2 = HEAP32[$3 + 12 >> 2]; - label$7 : { - if (($2 | 0) != ($3 | 0)) { - $1 = HEAP32[$3 + 8 >> 2]; - HEAP32[$1 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $1; - break label$7; - } - label$10 : { - $1 = $3 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$10; - } - $1 = $3 + 16 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$10; - } - $2 = 0; - break label$7; - } - while (1) { - $6 = $1; - $2 = $4; - $1 = $2 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - continue; - } - $1 = $2 + 16 | 0; - $4 = HEAP32[$2 + 16 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$6 >> 2] = 0; - } - if (!$7) { - break label$3; - } - $4 = HEAP32[$3 + 28 >> 2]; - $1 = ($4 << 2) + 53232 | 0; - label$12 : { - if (HEAP32[$1 >> 2] == ($3 | 0)) { - HEAP32[$1 >> 2] = $2; - if ($2) { - break label$12; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$3; - } - HEAP32[(HEAP32[$7 + 16 >> 2] == ($3 | 0) ? 16 : 20) + $7 >> 2] = $2; - if (!$2) { - break label$3; - } - } - HEAP32[$2 + 24 >> 2] = $7; - $1 = HEAP32[$3 + 16 >> 2]; - if ($1) { - HEAP32[$2 + 16 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - } - $1 = HEAP32[$3 + 20 >> 2]; - if (!$1) { - break label$3; - } - HEAP32[$2 + 20 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - break label$3; - } - $1 = HEAP32[$5 + 4 >> 2]; - if (($1 & 3) != 3) { - break label$3; - } - HEAP32[13234] = $0; - HEAP32[$5 + 4 >> 2] = $1 & -2; - break label$1; - } - if ($3 >>> 0 >= $5 >>> 0) { - break label$2; - } - $1 = HEAP32[$5 + 4 >> 2]; - if (!($1 & 1)) { - break label$2; - } - label$15 : { - if (!($1 & 2)) { - if (HEAP32[13238] == ($5 | 0)) { - HEAP32[13238] = $3; - $0 = HEAP32[13235] + $0 | 0; - HEAP32[13235] = $0; - HEAP32[$3 + 4 >> 2] = $0 | 1; - if (HEAP32[13237] != ($3 | 0)) { - break label$2; - } - HEAP32[13234] = 0; - HEAP32[13237] = 0; - return; - } - if (HEAP32[13237] == ($5 | 0)) { - HEAP32[13237] = $3; - $0 = HEAP32[13234] + $0 | 0; - HEAP32[13234] = $0; - break label$1; - } - $0 = ($1 & -8) + $0 | 0; - label$19 : { - if ($1 >>> 0 <= 255) { - $4 = HEAP32[$5 + 12 >> 2]; - $2 = HEAP32[$5 + 8 >> 2]; - $5 = $1 >>> 3 | 0; - if (($2 | 0) == ($4 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $5); - break label$19; - } - HEAP32[$2 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $2; - break label$19; - } - $7 = HEAP32[$5 + 24 >> 2]; - $2 = HEAP32[$5 + 12 >> 2]; - label$24 : { - if (($5 | 0) != ($2 | 0)) { - $1 = HEAP32[$5 + 8 >> 2]; - HEAP32[$1 + 12 >> 2] = $2; - HEAP32[$2 + 8 >> 2] = $1; - break label$24; - } - label$27 : { - $1 = $5 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$27; - } - $1 = $5 + 16 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - break label$27; - } - $2 = 0; - break label$24; - } - while (1) { - $6 = $1; - $2 = $4; - $1 = $2 + 20 | 0; - $4 = HEAP32[$1 >> 2]; - if ($4) { - continue; - } - $1 = $2 + 16 | 0; - $4 = HEAP32[$2 + 16 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$6 >> 2] = 0; - } - if (!$7) { - break label$19; - } - $4 = HEAP32[$5 + 28 >> 2]; - $1 = ($4 << 2) + 53232 | 0; - label$29 : { - if (HEAP32[$1 >> 2] == ($5 | 0)) { - HEAP32[$1 >> 2] = $2; - if ($2) { - break label$29; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$19; - } - HEAP32[(HEAP32[$7 + 16 >> 2] == ($5 | 0) ? 16 : 20) + $7 >> 2] = $2; - if (!$2) { - break label$19; - } - } - HEAP32[$2 + 24 >> 2] = $7; - $1 = HEAP32[$5 + 16 >> 2]; - if ($1) { - HEAP32[$2 + 16 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - } - $1 = HEAP32[$5 + 20 >> 2]; - if (!$1) { - break label$19; - } - HEAP32[$2 + 20 >> 2] = $1; - HEAP32[$1 + 24 >> 2] = $2; - } - HEAP32[$3 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $3 >> 2] = $0; - if (HEAP32[13237] != ($3 | 0)) { - break label$15; - } - HEAP32[13234] = $0; - return; - } - HEAP32[$5 + 4 >> 2] = $1 & -2; - HEAP32[$3 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $3 >> 2] = $0; - } - if ($0 >>> 0 <= 255) { - $1 = $0 >>> 3 | 0; - $0 = ($1 << 3) + 52968 | 0; - $1 = 1 << $1; - $4 = HEAP32[13232]; - label$33 : { - if (!($1 & $4)) { - HEAP32[13232] = $1 | $4; - $1 = $0; - break label$33; - } - $1 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$0 + 8 >> 2] = $3; - HEAP32[$1 + 12 >> 2] = $3; - HEAP32[$3 + 12 >> 2] = $0; - HEAP32[$3 + 8 >> 2] = $1; - return; - } - $1 = 31; - HEAP32[$3 + 16 >> 2] = 0; - HEAP32[$3 + 20 >> 2] = 0; - if ($0 >>> 0 <= 16777215) { - $1 = $0 >>> 8 | 0; - $2 = $1; - $1 = $1 + 1048320 >>> 16 & 8; - $4 = $2 << $1; - $2 = $4; - $4 = $4 + 520192 >>> 16 & 4; - $2 = $2 << $4; - $6 = $2; - $2 = $2 + 245760 >>> 16 & 2; - $1 = ($6 << $2 >>> 15 | 0) - ($1 | $4 | $2) | 0; - $1 = ($1 << 1 | $0 >>> $1 + 21 & 1) + 28 | 0; - } - HEAP32[$3 + 28 >> 2] = $1; - $4 = ($1 << 2) + 53232 | 0; - label$36 : { - label$37 : { - $2 = HEAP32[13233]; - $5 = 1 << $1; - label$38 : { - if (!($2 & $5)) { - HEAP32[13233] = $2 | $5; - HEAP32[$4 >> 2] = $3; - break label$38; - } - $1 = $0 << (($1 | 0) == 31 ? 0 : 25 - ($1 >>> 1 | 0) | 0); - $2 = HEAP32[$4 >> 2]; - while (1) { - $4 = $2; - if ((HEAP32[$2 + 4 >> 2] & -8) == ($0 | 0)) { - break label$37; - } - $2 = $1 >>> 29 | 0; - $1 = $1 << 1; - $6 = ($2 & 4) + $4 | 0; - $5 = $6 + 16 | 0; - $2 = HEAP32[$5 >> 2]; - if ($2) { - continue; - } - break; - } - HEAP32[$6 + 16 >> 2] = $3; - } - HEAP32[$3 + 24 >> 2] = $4; - HEAP32[$3 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $3; - break label$36; - } - $0 = HEAP32[$4 + 8 >> 2]; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$4 + 8 >> 2] = $3; - HEAP32[$3 + 24 >> 2] = 0; - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$3 + 8 >> 2] = $0; - } - $3 = HEAP32[13240] - 1 | 0; - HEAP32[13240] = $3 ? $3 : -1; - } - return; - } - HEAP32[$3 + 4 >> 2] = $0 | 1; - HEAP32[$0 + $3 >> 2] = $0; -} -function dispose_chunk($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $5 = $0 + $1 | 0; - label$1 : { - label$2 : { - $2 = HEAP32[$0 + 4 >> 2]; - if ($2 & 1) { - break label$2; - } - if (!($2 & 3)) { - break label$1; - } - $2 = HEAP32[$0 >> 2]; - $1 = $2 + $1 | 0; - $0 = $0 - $2 | 0; - if (($0 | 0) != HEAP32[13237]) { - if ($2 >>> 0 <= 255) { - $6 = $2 >>> 3 | 0; - $2 = ($6 << 3) + 52968 | 0; - $3 = HEAP32[$0 + 8 >> 2]; - $4 = HEAP32[$0 + 12 >> 2]; - if (($4 | 0) == ($3 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $6); - break label$2; - } - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $3; - break label$2; - } - $6 = HEAP32[$0 + 24 >> 2]; - $3 = HEAP32[$0 + 12 >> 2]; - label$6 : { - if (($3 | 0) != ($0 | 0)) { - $2 = HEAP32[$0 + 8 >> 2]; - HEAP32[$2 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $2; - break label$6; - } - label$9 : { - $2 = $0 + 20 | 0; - $4 = HEAP32[$2 >> 2]; - if ($4) { - break label$9; - } - $2 = $0 + 16 | 0; - $4 = HEAP32[$2 >> 2]; - if ($4) { - break label$9; - } - $3 = 0; - break label$6; - } - while (1) { - $7 = $2; - $3 = $4; - $2 = $3 + 20 | 0; - $4 = HEAP32[$2 >> 2]; - if ($4) { - continue; - } - $2 = $3 + 16 | 0; - $4 = HEAP32[$3 + 16 >> 2]; - if ($4) { - continue; - } - break; - } - HEAP32[$7 >> 2] = 0; - } - if (!$6) { - break label$2; - } - $4 = HEAP32[$0 + 28 >> 2]; - $2 = ($4 << 2) + 53232 | 0; - label$11 : { - if (HEAP32[$2 >> 2] == ($0 | 0)) { - HEAP32[$2 >> 2] = $3; - if ($3) { - break label$11; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$2; - } - HEAP32[(HEAP32[$6 + 16 >> 2] == ($0 | 0) ? 16 : 20) + $6 >> 2] = $3; - if (!$3) { - break label$2; - } - } - HEAP32[$3 + 24 >> 2] = $6; - $2 = HEAP32[$0 + 16 >> 2]; - if ($2) { - HEAP32[$3 + 16 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - } - $2 = HEAP32[$0 + 20 >> 2]; - if (!$2) { - break label$2; - } - HEAP32[$3 + 20 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - break label$2; - } - $2 = HEAP32[$5 + 4 >> 2]; - if (($2 & 3) != 3) { - break label$2; - } - HEAP32[13234] = $1; - HEAP32[$5 + 4 >> 2] = $2 & -2; - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$5 >> 2] = $1; - return; - } - $2 = HEAP32[$5 + 4 >> 2]; - label$14 : { - if (!($2 & 2)) { - if (HEAP32[13238] == ($5 | 0)) { - HEAP32[13238] = $0; - $1 = HEAP32[13235] + $1 | 0; - HEAP32[13235] = $1; - HEAP32[$0 + 4 >> 2] = $1 | 1; - if (HEAP32[13237] != ($0 | 0)) { - break label$1; - } - HEAP32[13234] = 0; - HEAP32[13237] = 0; - return; - } - if (HEAP32[13237] == ($5 | 0)) { - HEAP32[13237] = $0; - $1 = HEAP32[13234] + $1 | 0; - HEAP32[13234] = $1; - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $1 >> 2] = $1; - return; - } - $1 = ($2 & -8) + $1 | 0; - label$18 : { - if ($2 >>> 0 <= 255) { - $4 = HEAP32[$5 + 12 >> 2]; - $3 = HEAP32[$5 + 8 >> 2]; - $5 = $2 >>> 3 | 0; - if (($3 | 0) == ($4 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $5); - break label$18; - } - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $3; - break label$18; - } - $6 = HEAP32[$5 + 24 >> 2]; - $3 = HEAP32[$5 + 12 >> 2]; - label$21 : { - if (($5 | 0) != ($3 | 0)) { - $2 = HEAP32[$5 + 8 >> 2]; - HEAP32[$2 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $2; - break label$21; - } - label$24 : { - $4 = $5 + 20 | 0; - $2 = HEAP32[$4 >> 2]; - if ($2) { - break label$24; - } - $4 = $5 + 16 | 0; - $2 = HEAP32[$4 >> 2]; - if ($2) { - break label$24; - } - $3 = 0; - break label$21; - } - while (1) { - $7 = $4; - $3 = $2; - $4 = $2 + 20 | 0; - $2 = HEAP32[$4 >> 2]; - if ($2) { - continue; - } - $4 = $3 + 16 | 0; - $2 = HEAP32[$3 + 16 >> 2]; - if ($2) { - continue; - } - break; - } - HEAP32[$7 >> 2] = 0; - } - if (!$6) { - break label$18; - } - $4 = HEAP32[$5 + 28 >> 2]; - $2 = ($4 << 2) + 53232 | 0; - label$26 : { - if (HEAP32[$2 >> 2] == ($5 | 0)) { - HEAP32[$2 >> 2] = $3; - if ($3) { - break label$26; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $4); - break label$18; - } - HEAP32[(HEAP32[$6 + 16 >> 2] == ($5 | 0) ? 16 : 20) + $6 >> 2] = $3; - if (!$3) { - break label$18; - } - } - HEAP32[$3 + 24 >> 2] = $6; - $2 = HEAP32[$5 + 16 >> 2]; - if ($2) { - HEAP32[$3 + 16 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - } - $2 = HEAP32[$5 + 20 >> 2]; - if (!$2) { - break label$18; - } - HEAP32[$3 + 20 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $3; - } - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $1 >> 2] = $1; - if (HEAP32[13237] != ($0 | 0)) { - break label$14; - } - HEAP32[13234] = $1; - return; - } - HEAP32[$5 + 4 >> 2] = $2 & -2; - HEAP32[$0 + 4 >> 2] = $1 | 1; - HEAP32[$0 + $1 >> 2] = $1; - } - if ($1 >>> 0 <= 255) { - $2 = $1 >>> 3 | 0; - $1 = ($2 << 3) + 52968 | 0; - $2 = 1 << $2; - $4 = HEAP32[13232]; - label$30 : { - if (!($2 & $4)) { - HEAP32[13232] = $2 | $4; - $2 = $1; - break label$30; - } - $2 = HEAP32[$1 + 8 >> 2]; - } - HEAP32[$1 + 8 >> 2] = $0; - HEAP32[$2 + 12 >> 2] = $0; - HEAP32[$0 + 12 >> 2] = $1; - HEAP32[$0 + 8 >> 2] = $2; - return; - } - $2 = 31; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - if ($1 >>> 0 <= 16777215) { - $2 = $1 >>> 8 | 0; - $3 = $2; - $2 = $2 + 1048320 >>> 16 & 8; - $4 = $3 << $2; - $3 = $4; - $4 = $4 + 520192 >>> 16 & 4; - $3 = $3 << $4; - $7 = $3; - $3 = $3 + 245760 >>> 16 & 2; - $2 = ($7 << $3 >>> 15 | 0) - ($2 | $4 | $3) | 0; - $2 = ($2 << 1 | $1 >>> $2 + 21 & 1) + 28 | 0; - } - HEAP32[$0 + 28 >> 2] = $2; - $4 = ($2 << 2) + 53232 | 0; - label$33 : { - $3 = HEAP32[13233]; - $5 = 1 << $2; - label$34 : { - if (!($3 & $5)) { - HEAP32[13233] = $3 | $5; - HEAP32[$4 >> 2] = $0; - break label$34; - } - $2 = $1 << (($2 | 0) == 31 ? 0 : 25 - ($2 >>> 1 | 0) | 0); - $3 = HEAP32[$4 >> 2]; - while (1) { - $4 = $3; - if ((HEAP32[$3 + 4 >> 2] & -8) == ($1 | 0)) { - break label$33; - } - $3 = $2 >>> 29 | 0; - $2 = $2 << 1; - $7 = ($3 & 4) + $4 | 0; - $5 = $7 + 16 | 0; - $3 = HEAP32[$5 >> 2]; - if ($3) { - continue; - } - break; - } - HEAP32[$7 + 16 >> 2] = $0; - } - HEAP32[$0 + 24 >> 2] = $4; - HEAP32[$0 + 12 >> 2] = $0; - HEAP32[$0 + 8 >> 2] = $0; - return; - } - $1 = HEAP32[$4 + 8 >> 2]; - HEAP32[$1 + 12 >> 2] = $0; - HEAP32[$4 + 8 >> 2] = $0; - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 12 >> 2] = $4; - HEAP32[$0 + 8 >> 2] = $1; - } -} -function tf_analysis($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0, $27 = Math_fround(0), $28 = 0, $29 = 0, $30 = Math_fround(0), $31 = 0, $32 = 0, $33 = 0, $34 = Math_fround(0); - $11 = __stack_pointer; - $28 = $11; - $20 = 1; - $12 = ($1 << 2) + 15 & -16; - $21 = $11 - $12 | 0; - $13 = $21; - __stack_pointer = $13; - $11 = HEAP32[$0 + 32 >> 2]; - $24 = $1 - 1 | 0; - $14 = (HEAP16[$11 + ($1 << 1) >> 1] - HEAP16[($24 << 1) + $11 >> 1] << $7 << 2) + 15 & -16; - $22 = $13 - $14 | 0; - $13 = $22; - __stack_pointer = $13; - $29 = $13 - $14 | 0; - $13 = $29; - __stack_pointer = $13; - $25 = $13 - $12 | 0; - $13 = $25; - __stack_pointer = $13; - $26 = $13 - $12 | 0; - __stack_pointer = $26; - if (($1 | 0) >= 1) { - $27 = Math_fround(Math_fround(Math_max(Math_fround(Math_fround(.5) - $8), Math_fround(-.25))) * Math_fround(.03999999910593033)); - $30 = Math_fround($27 * Math_fround(($2 ? $7 : 0) | 0)); - $31 = 1 << $7; - $32 = Math_imul($6, $9); - $33 = 0 - ($7 << 1) | 0; - $34 = Math_fround($27 * Math_fround($7 + 1 | 0)); - while (1) { - $12 = HEAP16[($16 << 1) + $11 >> 1]; - $6 = (($12 << $7) + $32 << 2) + $5 | 0; - $18 = $16 + 1 | 0; - $9 = HEAP16[($18 << 1) + $11 >> 1] - $12 | 0; - $12 = $9 << $7; - $14 = $12 << 2; - $13 = memcpy($22, $6, $14); - $8 = Math_fround(0); - $11 = 0; - $15 = ($12 | 0) < 1; - if (!$15) { - while (1) { - $8 = Math_fround($8 + Math_fround(Math_abs(HEAPF32[($11 << 2) + $13 >> 2]))); - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $23 = Math_fround($8 + Math_fround($30 * $8)); - $11 = 0; - $6 = 0; - label$5 : { - if (!$2) { - break label$5; - } - $6 = 0; - if (($9 | 0) == 1) { - break label$5; - } - $6 = memcpy($29, $13, $14); - haar1($6, $12 >> $7, $31); - $14 = 0; - $8 = Math_fround(0); - if (!$15) { - while (1) { - $8 = Math_fround($8 + Math_fround(Math_abs(HEAPF32[($14 << 2) + $6 >> 2]))); - $14 = $14 + 1 | 0; - if (($14 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $8 = Math_fround($8 + Math_fround($34 * $8)); - $6 = 0; - if ($23 > $8 ^ 1) { - break label$5; - } - $23 = $8; - $6 = -1; - } - $19 = ($9 | 0) != 1; - $17 = ($19 & !$2) + $7 | 0; - if (($17 | 0) >= 1) { - while (1) { - haar1($13, $12 >> $11, 1 << $11); - $14 = $11 + 1 | 0; - $9 = $2 ? ($11 ^ -1) + $7 | 0 : $14; - $11 = 0; - $8 = Math_fround(0); - if (!$15) { - while (1) { - $8 = Math_fround($8 + Math_fround(Math_abs(HEAPF32[($11 << 2) + $13 >> 2]))); - $11 = $11 + 1 | 0; - if (($12 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $8 = Math_fround($8 + Math_fround(Math_fround($27 * Math_fround($9 | 0)) * $8)); - $11 = $23 > $8; - $23 = $11 ? $8 : $23; - $6 = $11 ? $14 : $6; - $11 = $14; - if (($17 | 0) != ($11 | 0)) { - continue; - } - break; - } - } - $12 = ($16 << 2) + $21 | 0; - $11 = $6 << 1; - $11 = $2 ? $11 : 0 - $11 | 0; - HEAP32[$12 >> 2] = $11; - if (!((($11 | 0) != ($33 | 0) ? $11 : 0) | $19)) { - HEAP32[$12 >> 2] = $11 - 1; - } - if (($1 | 0) != ($18 | 0)) { - $11 = HEAP32[$0 + 32 >> 2]; - $16 = $18; - continue; - } - break; - } - $18 = HEAP32[$21 >> 2]; - } - $0 = $2 << 2; - $16 = ($7 << 3) + 1744 | 0; - $15 = HEAP8[$0 + $16 | 0] << 1; - $11 = $18 - $15 | 0; - $5 = $11; - $19 = HEAP32[$10 >> 2]; - $11 = $11 >> 31; - $11 = Math_imul($19, $11 ^ $11 + $5); - $17 = HEAP8[($0 | 1) + $16 | 0] << 1; - $12 = $18 - $17 | 0; - $6 = $12; - $5 = $2 ? 0 : $4; - $12 = $12 >> 31; - $12 = $5 + Math_imul($12 ^ $12 + $6, $19) | 0; - label$14 : { - if (($1 | 0) <= 1) { - $6 = $12; - break label$14; - } - while (1) { - $13 = $4 + $11 | 0; - $14 = $20 << 2; - $6 = HEAP32[$21 + $14 >> 2]; - $9 = $6 - $15 | 0; - $22 = $9; - $14 = HEAP32[$10 + $14 >> 2]; - $9 = $9 >> 31; - $22 = Math_imul($14, $9 ^ $9 + $22); - $9 = $4 + $12 | 0; - $11 = $22 + (($9 | 0) > ($11 | 0) ? $11 : $9) | 0; - $6 = $6 - $17 | 0; - $9 = $6; - $6 = $6 >> 31; - $6 = Math_imul($6 ^ $6 + $9, $14) + (($12 | 0) > ($13 | 0) ? $13 : $12) | 0; - $12 = $6; - $20 = $20 + 1 | 0; - if (($20 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $14 = 1; - $17 = HEAP8[($0 | 2) + $16 | 0] << 1; - $12 = $18 - $17 | 0; - $9 = $12; - $12 = $12 >> 31; - $12 = Math_imul($12 ^ $12 + $9, $19); - $16 = HEAP8[($0 | 3) + $16 | 0] << 1; - $13 = $18 - $16 | 0; - $9 = $13; - $13 = $13 >> 31; - $13 = Math_imul($13 ^ $13 + $9, $19) + $5 | 0; - $20 = ($6 | 0) > ($11 | 0) ? $11 : $6; - label$17 : { - if (($1 | 0) <= 1) { - $11 = $13; - break label$17; - } - while (1) { - $11 = $4 + $12 | 0; - $6 = $14 << 2; - $9 = HEAP32[$21 + $6 >> 2]; - $15 = $9 - $17 | 0; - $5 = $15; - $6 = HEAP32[$6 + $10 >> 2]; - $15 = $15 >> 31; - $5 = Math_imul($6, $15 ^ $15 + $5); - $15 = $4 + $13 | 0; - $12 = $5 + (($12 | 0) < ($15 | 0) ? $12 : $15) | 0; - $9 = $9 - $16 | 0; - $5 = $9; - $9 = $9 >> 31; - $11 = Math_imul($9 ^ $9 + $5, $6) + (($11 | 0) < ($13 | 0) ? $11 : $13) | 0; - $13 = $11; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $14 = 1; - $16 = ($2 | 0) != 0 & ((($11 | 0) > ($12 | 0) ? $12 : $11) | 0) < ($20 | 0); - $12 = ($16 ? 2 : 0) | $0; - $13 = ($7 << 3) + 1744 | 0; - $15 = HEAP8[$12 + $13 | 0] << 1; - $11 = $18 - $15 | 0; - $0 = $11; - $11 = $11 >> 31; - $11 = Math_imul($11 ^ $11 + $0, $19); - $17 = HEAP8[($12 | 1) + $13 | 0] << 1; - $12 = $18 - $17 | 0; - $0 = $12; - $12 = $12 >> 31; - $12 = Math_imul($12 ^ $12 + $0, $19) + ($2 ? 0 : $4) | 0; - if (($1 | 0) <= 1) { - HEAP32[($24 << 2) + $3 >> 2] = ($11 | 0) >= ($12 | 0); - __stack_pointer = $28; - return $16; - } - while (1) { - $13 = $14 << 2; - $6 = $4 + $12 | 0; - HEAP32[$25 + $13 >> 2] = ($11 | 0) >= ($6 | 0); - $9 = $4 + $11 | 0; - HEAP32[$13 + $26 >> 2] = ($12 | 0) <= ($9 | 0); - $7 = HEAP32[$13 + $21 >> 2]; - $2 = $7 - $17 | 0; - $0 = $2; - $13 = HEAP32[$10 + $13 >> 2]; - $2 = $2 >> 31; - $12 = Math_imul($13, $2 ^ $2 + $0) + (($9 | 0) < ($12 | 0) ? $9 : $12) | 0; - $9 = $7 - $15 | 0; - $0 = $9; - $9 = $9 >> 31; - $11 = Math_imul($9 ^ $9 + $0, $13) + (($6 | 0) > ($11 | 0) ? $11 : $6) | 0; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($1 | 0)) { - continue; - } - break; - } - $12 = ($11 | 0) >= ($12 | 0); - HEAP32[($24 << 2) + $3 >> 2] = $12; - if (($1 | 0) >= 2) { - $11 = $1 - 2 | 0; - while (1) { - $13 = $11 << 2; - $12 = HEAP32[($13 + (($12 | 0) == 1 ? $26 : $25) | 0) + 4 >> 2]; - HEAP32[$3 + $13 >> 2] = $12; - $13 = ($11 | 0) > 0; - $11 = $11 - 1 | 0; - if ($13) { - continue; - } - break; - } - } - __stack_pointer = $28; - return $16; -} -function silk_burg_modified_FLP($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = 0; - $7 = __stack_pointer - 992 | 0; - __stack_pointer = $7; - $6 = Math_imul($3, $4); - if (($6 | 0) < 385) { - $19 = silk_energy_FLP($1, $6); - memset($7 + 800 | 0, 0, 192); - if (($4 | 0) >= 1) { - while (1) { - $6 = 1; - if (($5 | 0) >= 1) { - $9 = (Math_imul($3, $14) << 2) + $1 | 0; - while (1) { - $13 = ($6 << 3) + $7 | 0; - $11 = $13 + 792 | 0; - HEAPF64[$11 >> 3] = silk_inner_product_FLP($9, ($6 << 2) + $9 | 0, $3 - $6 | 0) + HEAPF64[$13 + 792 >> 3]; - $11 = ($5 | 0) != ($6 | 0); - $6 = $6 + 1 | 0; - if ($11) { - continue; - } - break; - } - } - $14 = $14 + 1 | 0; - if (($14 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - memcpy($7 + 608 | 0, $7 + 800 | 0, 192); - $24 = $19 * 9999999747378752e-21; - $10 = $19 + $24 + 9.999999717180685e-10; - HEAPF64[$7 + 192 >> 3] = $10; - HEAPF64[$7 + 400 >> 3] = $10; - label$6 : { - label$7 : { - if (($5 | 0) < 1) { - $12 = 1; - break label$7; - } - $25 = +$2; - $11 = 0; - $21 = 2; - $20 = 1; - $22 = 1; - while (1) { - if (($4 | 0) >= 1) { - $17 = $3 - $11 | 0; - $18 = $17 - 1 | 0; - $16 = 0; - while (1) { - $9 = (Math_imul($3, $16) << 2) + $1 | 0; - $26 = HEAPF32[$9 + ($18 << 2) >> 2]; - $8 = +$26; - $27 = HEAPF32[($11 << 2) + $9 >> 2]; - $10 = +$27; - $6 = 0; - if ($11) { - while (1) { - $14 = $6 << 3; - $13 = $14 + ($7 + 800 | 0) | 0; - $2 = HEAPF32[(($6 ^ -1) + $11 << 2) + $9 >> 2]; - HEAPF64[$13 >> 3] = HEAPF64[$13 >> 3] - +Math_fround($27 * $2); - $13 = ($7 + 608 | 0) + $14 | 0; - $28 = HEAPF32[($6 + $17 << 2) + $9 >> 2]; - HEAPF64[$13 >> 3] = HEAPF64[$13 >> 3] - +Math_fround($26 * $28); - $12 = HEAPF64[$7 + $14 >> 3]; - $10 = $10 + $12 * +$2; - $8 = $8 + $12 * +$28; - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = 0; - while (1) { - $14 = $6 << 3; - $13 = $14 + ($7 + 400 | 0) | 0; - HEAPF64[$13 >> 3] = HEAPF64[$13 >> 3] - $10 * +HEAPF32[($11 - $6 << 2) + $9 >> 2]; - $14 = ($7 + 192 | 0) + $14 | 0; - HEAPF64[$14 >> 3] = HEAPF64[$14 >> 3] - $8 * +HEAPF32[($6 + $18 << 2) + $9 >> 2]; - $6 = $6 + 1 | 0; - if (($20 | 0) != ($6 | 0)) { - continue; - } - break; - } - $16 = $16 + 1 | 0; - if (($16 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $18 = $11 << 3; - $10 = HEAPF64[$18 + ($7 + 608 | 0) >> 3]; - $8 = HEAPF64[($7 + 800 | 0) + $18 >> 3]; - $6 = 0; - if ($11) { - while (1) { - $12 = HEAPF64[($6 << 3) + $7 >> 3]; - $9 = ($6 ^ -1) + $11 << 3; - $10 = $10 + $12 * HEAPF64[$9 + ($7 + 800 | 0) >> 3]; - $8 = $8 + $12 * HEAPF64[($7 + 608 | 0) + $9 >> 3]; - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $13 = $11 + 1 | 0; - $6 = $13 << 3; - HEAPF64[$6 + ($7 + 400 | 0) >> 3] = $8; - $17 = ($7 + 192 | 0) + $6 | 0; - HEAPF64[$17 >> 3] = $10; - $6 = 0; - $12 = HEAPF64[$7 + 192 >> 3]; - $23 = HEAPF64[$7 + 400 >> 3]; - $15 = $23; - if ($11) { - while (1) { - $8 = HEAPF64[($6 << 3) + $7 >> 3]; - $9 = $6 + 1 | 0; - $14 = $9 << 3; - $15 = $15 + $8 * HEAPF64[$14 + ($7 + 400 | 0) >> 3]; - $12 = $12 + $8 * HEAPF64[($7 + 192 | 0) + $14 >> 3]; - $10 = $10 + $8 * HEAPF64[($7 + 192 | 0) + ($11 - $6 << 3) >> 3]; - $6 = $9; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $16 = 1; - $8 = $10 * -2 / ($15 + $12); - $15 = $22 * (1 - $8 * $8); - if (!($25 >= $15 ^ 1)) { - $16 = 0; - $15 = $25; - $8 = Math_sqrt(1 - $15 / $22); - $8 = $10 > 0 ? -$8 : $8; - } - if ($13 & 2147483646) { - $14 = $20 >>> 1 | 0; - $6 = 0; - while (1) { - $9 = ($6 << 3) + $7 | 0; - $29 = $9; - $10 = HEAPF64[$9 >> 3]; - $9 = (($6 ^ -1) + $11 << 3) + $7 | 0; - $12 = HEAPF64[$9 >> 3]; - HEAPF64[$29 >> 3] = $10 + $8 * $12; - HEAPF64[$9 >> 3] = $12 + $8 * $10; - $6 = $6 + 1 | 0; - if (($14 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - HEAPF64[$7 + $18 >> 3] = $8; - label$22 : { - if ($16) { - $10 = HEAPF64[$17 >> 3]; - HEAPF64[$17 >> 3] = $10 + $8 * $23; - HEAPF64[$7 + 400 >> 3] = $23 + $8 * $10; - $6 = 1; - while (1) { - $9 = ($7 + 192 | 0) + ($13 - $6 << 3) | 0; - $11 = $9; - $10 = HEAPF64[$9 >> 3]; - $9 = ($7 + 400 | 0) + ($6 << 3) | 0; - $12 = HEAPF64[$9 >> 3]; - HEAPF64[$11 >> 3] = $10 + $8 * $12; - HEAPF64[$9 >> 3] = $12 + $8 * $10; - $6 = $6 + 1 | 0; - if (($21 | 0) != ($6 | 0)) { - continue; - } - break; - } - break label$22; - } - if (($5 | 0) > ($13 | 0)) { - memset(($13 << 3) + $7 | 0, 0, $5 - $13 << 3); - } - $6 = 0; - while (1) { - HEAPF32[($6 << 2) + $0 >> 2] = -Math_fround(HEAPF64[($6 << 3) + $7 >> 3]); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - $6 = 0; - if (($4 | 0) > 0) { - while (1) { - $19 = $19 - silk_energy_FLP((Math_imul($3, $6) << 2) + $1 | 0, $5); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $8 = $15 * $19; - break label$6; - } - $21 = $21 + 1 | 0; - $20 = $20 + 1 | 0; - $22 = $15; - $11 = $13; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - $12 = 1; - $10 = HEAPF64[$7 + 400 >> 3]; - if (($5 | 0) < 1) { - break label$7; - } - $6 = 0; - while (1) { - $9 = $6 + 1 | 0; - $15 = HEAPF64[($7 + 400 | 0) + ($9 << 3) >> 3]; - $8 = HEAPF64[($6 << 3) + $7 >> 3]; - HEAPF32[($6 << 2) + $0 >> 2] = -Math_fround($8); - $10 = $10 + $8 * $15; - $12 = $12 + $8 * $8; - $6 = $9; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $8 = $10 - $24 * $12; - } - __stack_pointer = $7 + 992 | 0; - return Math_fround($8); - } - celt_fatal(16463, 16523, 55); - abort(); -} -function quant_coarse_energy($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) { - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0, $27 = Math_fround(0), $28 = 0, $29 = 0, $30 = Math_fround(0), $31 = 0, $32 = 0, $33 = 0; - $25 = __stack_pointer - 96 | 0; - $21 = $25; - __stack_pointer = $21; - $26 = 1; - label$1 : { - if ($12) { - break label$1; - } - $26 = 0; - if ($14) { - break label$1; - } - $12 = Math_imul($2 - $1 | 0, $9); - if (HEAPF32[$13 >> 2] > Math_fround($12 << 1) ^ 1) { - break label$1; - } - $26 = ($11 | 0) > ($12 | 0); - } - $30 = Math_fround(Math_fround(Math_fround(HEAPF32[$13 >> 2] * Math_fround($6 >>> 0)) * Math_fround($15 | 0)) / Math_fround($9 << 9)); - $18 = ($9 | 0) > 1 ? $9 : 1; - $22 = HEAP32[$0 + 8 >> 2]; - while (1) { - if (($1 | 0) < ($3 | 0)) { - $24 = Math_imul($20, $22); - $12 = $1; - while (1) { - $15 = $12 + $24 << 2; - $23 = Math_fround(HEAPF32[$15 + $4 >> 2] - HEAPF32[$5 + $15 >> 2]); - $27 = Math_fround($27 + Math_fround($23 * $23)); - $12 = $12 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $20 = $20 + 1 | 0; - if (($18 | 0) != ($20 | 0)) { - continue; - } - break; - } - $24 = HEAP32[$8 + 20 >> 2]; - $20 = HEAP32[$8 + 28 >> 2]; - $19 = $8; - $18 = HEAP32[$19 + 16 >> 2]; - $17 = HEAP32[$19 + 20 >> 2]; - $3 = $18; - $18 = $21; - HEAP32[$18 + 88 >> 2] = $3; - HEAP32[$18 + 92 >> 2] = $17; - $18 = HEAP32[$19 + 12 >> 2]; - $17 = HEAP32[$19 + 8 >> 2]; - $3 = $17; - $17 = $21; - HEAP32[$17 + 80 >> 2] = $3; - HEAP32[$17 + 84 >> 2] = $18; - $17 = HEAP32[$19 + 4 >> 2]; - $18 = HEAP32[$19 >> 2]; - $3 = $18; - $18 = $21; - HEAP32[$18 + 72 >> 2] = $3; - HEAP32[$18 + 76 >> 2] = $17; - $3 = HEAP32[$19 + 24 >> 2]; - $18 = HEAP32[$19 + 40 >> 2]; - $17 = HEAP32[$19 + 36 >> 2]; - $12 = $17; - $17 = $21; - HEAP32[$17 + 56 >> 2] = $12; - HEAP32[$17 + 60 >> 2] = $18; - HEAP32[$17 - -64 >> 2] = HEAP32[$19 + 44 >> 2]; - $17 = HEAP32[$19 + 32 >> 2]; - $18 = HEAP32[$19 + 28 >> 2]; - $12 = $18; - $18 = $21; - HEAP32[$18 + 48 >> 2] = $12; - HEAP32[$18 + 52 >> 2] = $17; - $15 = $25 - ((Math_imul($9, $22) << 2) + 15 & -16) | 0; - $12 = $15; - __stack_pointer = $12; - $22 = Math_imul(HEAP32[$0 + 8 >> 2], $9) << 2; - $12 = $12 - ($22 + 15 & -16) | 0; - $28 = $12; - __stack_pointer = $12; - $15 = memcpy($15, $5, $22); - $23 = ($2 - $1 | 0) > 10 ? Math_fround(Math_min(Math_fround(Math_fround($11 | 0) * Math_fround(.125)), Math_fround(16))) : Math_fround(16); - $25 = 0; - $24 = Math_clz32($20) + $24 | 0; - $20 = $24 - 29 >>> 0 > $6 >>> 0; - $14 = $20 ? 0 : $14; - $20 = $20 ? 0 : $26; - $22 = $14 | $20; - if (Math_fround(Math_abs($30)) < Math_fround(2147483648)) { - $26 = ~~$30; - } else { - $26 = -2147483648; - } - $23 = $16 ? Math_fround(3) : $23; - $24 = $24 - 32 | 0; - if ($22) { - $25 = quant_coarse_energy_impl($0, $1, $2, $4, $15, $6, $24, Math_imul($10, 84) + 33082 | 0, $12, $8, $9, $10, 1, $23, $16); - } - $27 = Math_fround(Math_min($27, Math_fround(200))); - label$8 : { - label$9 : { - if (!$20) { - $33 = ec_tell_frac($8); - $11 = HEAP32[$8 >> 2]; - HEAP32[$21 + 40 >> 2] = HEAP32[$8 + 20 >> 2]; - $17 = HEAP32[$8 + 12 >> 2]; - $18 = HEAP32[$19 + 16 >> 2]; - $20 = $17; - $17 = $21; - HEAP32[$17 + 32 >> 2] = $20; - HEAP32[$17 + 36 >> 2] = $18; - $17 = HEAP32[$19 + 8 >> 2]; - $18 = HEAP32[$19 + 4 >> 2]; - $20 = $18; - $18 = $21; - HEAP32[$18 + 24 >> 2] = $20; - HEAP32[$18 + 28 >> 2] = $17; - $31 = HEAP32[$19 + 24 >> 2]; - $20 = $19 + 28 | 0; - $19 = $20 + 8 | 0; - $17 = HEAP32[$19 >> 2]; - $18 = HEAP32[$19 + 4 >> 2]; - $19 = $17; - $17 = $21; - HEAP32[$17 + 8 >> 2] = $19; - HEAP32[$17 + 12 >> 2] = $18; - HEAP32[$17 + 16 >> 2] = HEAP32[$20 + 16 >> 2]; - $19 = $20; - $18 = HEAP32[$19 >> 2]; - $17 = HEAP32[$19 + 4 >> 2]; - $19 = $18; - $18 = $21; - HEAP32[$18 >> 2] = $19; - HEAP32[$18 + 4 >> 2] = $17; - $22 = $31 - $3 | 0; - $28 = $28 - (($22 ? $22 : 1) + 15 & -16) | 0; - __stack_pointer = $28; - $32 = $3 + $11 | 0; - $28 = memcpy($28, $32, $22); - $19 = $18; - $17 = HEAP32[$19 + 88 >> 2]; - $18 = HEAP32[$19 + 92 >> 2]; - $29 = $17; - $17 = $8; - HEAP32[$17 + 16 >> 2] = $29; - HEAP32[$17 + 20 >> 2] = $18; - $17 = HEAP32[$19 + 84 >> 2]; - $18 = HEAP32[$19 + 80 >> 2]; - $29 = $18; - $18 = $8; - HEAP32[$18 + 8 >> 2] = $29; - HEAP32[$18 + 12 >> 2] = $17; - $18 = HEAP32[$19 + 76 >> 2]; - $17 = HEAP32[$19 + 72 >> 2]; - $29 = $17; - $17 = $8; - HEAP32[$17 >> 2] = $29; - HEAP32[$17 + 4 >> 2] = $18; - HEAP32[$17 + 24 >> 2] = $3; - HEAP32[$20 + 16 >> 2] = HEAP32[$19 - -64 >> 2]; - $17 = HEAP32[$19 + 60 >> 2]; - $18 = HEAP32[$19 + 56 >> 2]; - $3 = $18; - $18 = $20; - HEAP32[$18 + 8 >> 2] = $3; - HEAP32[$18 + 12 >> 2] = $17; - $18 = HEAP32[$19 + 52 >> 2]; - $17 = HEAP32[$19 + 48 >> 2]; - $3 = $17; - $17 = $20; - HEAP32[$17 >> 2] = $3; - HEAP32[$17 + 4 >> 2] = $18; - $3 = quant_coarse_energy_impl($0, $1, $2, $4, $5, $6, $24, Math_imul($10, 84) + 33040 | 0, $7, $8, $9, $10, 0, $23, $16); - if (!$14) { - break label$9; - } - if (($3 | 0) <= ($25 | 0)) { - if (($3 | 0) != ($25 | 0)) { - break label$9; - } - if ((ec_tell_frac($8) + $26 | 0) <= ($33 | 0)) { - break label$9; - } - } - HEAP32[$8 >> 2] = $11; - $3 = $8 + 4 | 0; - HEAP32[$3 + 16 >> 2] = HEAP32[$21 + 40 >> 2]; - $18 = HEAP32[$21 + 32 >> 2]; - $17 = HEAP32[$19 + 36 >> 2]; - $1 = $18; - $18 = $8; - HEAP32[$18 + 12 >> 2] = $1; - HEAP32[$18 + 16 >> 2] = $17; - $18 = HEAP32[$19 + 28 >> 2]; - $17 = HEAP32[$19 + 24 >> 2]; - $1 = $17; - $17 = $8; - HEAP32[$17 + 4 >> 2] = $1; - HEAP32[$17 + 8 >> 2] = $18; - HEAP32[$17 + 24 >> 2] = $31; - HEAP32[$20 + 16 >> 2] = HEAP32[$19 + 16 >> 2]; - $17 = HEAP32[$19 + 12 >> 2]; - $18 = HEAP32[$19 + 8 >> 2]; - $1 = $18; - $18 = $20; - HEAP32[$18 + 8 >> 2] = $1; - HEAP32[$18 + 12 >> 2] = $17; - $18 = HEAP32[$19 + 4 >> 2]; - $17 = HEAP32[$19 >> 2]; - $1 = $17; - $17 = $20; - HEAP32[$17 >> 2] = $1; - HEAP32[$17 + 4 >> 2] = $18; - memcpy($32, $28, $22); - $3 = $9 << 2; - memcpy($5, $15, Math_imul($3, HEAP32[$0 + 8 >> 2])); - memcpy($7, $12, Math_imul(HEAP32[$0 + 8 >> 2], $3)); - break label$8; - } - $3 = $9 << 2; - memcpy($5, $15, Math_imul($3, HEAP32[$0 + 8 >> 2])); - memcpy($7, $12, Math_imul(HEAP32[$0 + 8 >> 2], $3)); - break label$8; - } - $23 = HEAPF32[($10 << 2) + 33376 >> 2]; - $27 = Math_fround($27 + Math_fround(Math_fround($23 * $23) * HEAPF32[$13 >> 2])); - } - HEAPF32[$13 >> 2] = $27; - __stack_pointer = $21 + 96 | 0; -} -function tonality_get_info($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = Math_fround(0), $18 = Math_fround(0); - $4 = HEAP32[$0 + 8 >> 2]; - $3 = HEAP32[$0 + 7452 >> 2] + (($2 | 0) / (($4 | 0) / 400 | 0) | 0) | 0; - HEAP32[$0 + 7452 >> 2] = $3; - $10 = HEAP32[$0 + 7444 >> 2]; - $12 = HEAP32[$0 + 7448 >> 2]; - $7 = $12; - if (($3 | 0) >= 8) { - $11 = ($3 - (($3 | 0) < 15 ? $3 : 15) | 0) + 7 | 0; - $7 = (($11 >>> 3 | 0) + $12 | 0) + 1 | 0; - HEAP32[$0 + 7448 >> 2] = $7; - HEAP32[$0 + 7452 >> 2] = ($3 - ($11 & -8) | 0) - 8; - } - if (($7 | 0) >= 100) { - HEAP32[$0 + 7448 >> 2] = $7 - 100; - } - $11 = 6; - $3 = $12 + 1 | 0; - $3 = ($10 | 0) == ($12 | 0) ? $12 : (($4 | 0) / 50 | 0) >= ($2 | 0) ? $12 : ($3 | 0) == 100 ? 0 : $3; - $3 = $3 - (($3 | 0) == ($10 | 0)) | 0; - $2 = ($3 | 0) < 0 ? 99 : $3; - $3 = ($2 << 6) + $0 | 0; - $6 = $3 + 7660 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 56 >> 2] = $7; - HEAP32[$1 + 60 >> 2] = $4; - $6 = $3 + 7652 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 48 >> 2] = $4; - HEAP32[$1 + 52 >> 2] = $7; - $6 = $3 + 7644 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 40 >> 2] = $7; - HEAP32[$1 + 44 >> 2] = $4; - $6 = $3 + 7636 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 32 >> 2] = $4; - HEAP32[$1 + 36 >> 2] = $7; - $6 = $3 + 7628 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 24 >> 2] = $7; - HEAP32[$1 + 28 >> 2] = $4; - $6 = $3 + 7620 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 16 >> 2] = $4; - HEAP32[$1 + 20 >> 2] = $7; - $6 = $3 + 7612 | 0; - $7 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = $7; - HEAP32[$1 + 12 >> 2] = $4; - $6 = $3 + 7604 | 0; - $4 = HEAP32[$6 >> 2]; - $7 = HEAP32[$6 + 4 >> 2]; - HEAP32[$1 >> 2] = $4; - HEAP32[$1 + 4 >> 2] = $7; - if ($4) { - $3 = $10 - $12 | 0; - $10 = ($3 | 0) < 0; - $7 = $3 + 100 | 0; - $5 = HEAPF32[$1 + 4 >> 2]; - $8 = Math_fround(1); - $16 = $2 + 1 | 0; - $4 = ($16 | 0) == 100 ? 0 : $16; - $12 = HEAP32[$0 + 7444 >> 2]; - label$4 : { - if (($4 | 0) == ($12 | 0)) { - $9 = $5; - break label$4; - } - $11 = ($4 << 6) + $0 | 0; - $8 = HEAPF32[$11 + 7608 >> 2]; - $6 = HEAP32[$1 + 32 >> 2]; - $11 = HEAP32[$11 + 7636 >> 2]; - $11 = ($11 | 0) < ($6 | 0) ? $6 : $11; - HEAP32[$1 + 32 >> 2] = $11; - $9 = $5 > $8 ? $5 : $8; - $5 = Math_fround($5 + $8); - $4 = $4 + 1 | 0; - $4 = ($4 | 0) == 100 ? 0 : $4; - if (($12 | 0) == ($4 | 0)) { - $11 = 5; - $8 = Math_fround(2); - break label$4; - } - $6 = ($4 << 6) + $0 | 0; - $8 = HEAPF32[$6 + 7608 >> 2]; - $6 = HEAP32[$6 + 7636 >> 2]; - $11 = ($11 | 0) > ($6 | 0) ? $11 : $6; - HEAP32[$1 + 32 >> 2] = $11; - $9 = $8 < $9 ? $9 : $8; - $5 = Math_fround($5 + $8); - $4 = $4 + 1 | 0; - $4 = ($4 | 0) == 100 ? 0 : $4; - if (($12 | 0) == ($4 | 0)) { - $11 = 4; - $8 = Math_fround(3); - break label$4; - } - $4 = ($4 << 6) + $0 | 0; - $8 = HEAPF32[$4 + 7608 >> 2]; - $4 = HEAP32[$4 + 7636 >> 2]; - HEAP32[$1 + 32 >> 2] = ($4 | 0) < ($11 | 0) ? $11 : $4; - $9 = $8 < $9 ? $9 : $8; - $5 = Math_fround($5 + $8); - $11 = 3; - $8 = Math_fround(4); - } - $6 = $10 ? $7 : $3; - $10 = 0; - $3 = $2; - while (1) { - $3 = ($3 | 0) < 1 ? 99 : $3 - 1 | 0; - if (($12 | 0) != ($3 | 0)) { - $7 = HEAP32[$1 + 32 >> 2]; - $4 = HEAP32[(($3 << 6) + $0 | 0) + 7636 >> 2]; - HEAP32[$1 + 32 >> 2] = ($4 | 0) < ($7 | 0) ? $7 : $4; - $10 = $10 + 1 | 0; - if (($11 | 0) != ($10 | 0)) { - continue; - } - } - break; - } - $5 = Math_fround($5 / $8); - $9 = Math_fround($9 + Math_fround(-.20000000298023224)); - HEAPF32[$1 + 4 >> 2] = $5 > $9 ? $5 : $9; - $10 = $2; - $3 = $10; - if (($6 | 0) >= 16) { - $10 = (($2 | 0) > 94 ? -95 : 5) + $2 | 0; - $16 = $10 + 1 | 0; - $3 = (($2 | 0) > 98 ? -99 : 1) + $2 | 0; - } - $7 = $0 + 7604 | 0; - $17 = HEAPF32[($7 + ($3 << 6) | 0) + 36 >> 2]; - $5 = Math_fround(Math_max($17, Math_fround(.10000000149011612))); - $9 = Math_fround(HEAPF32[(($10 << 6) + $7 | 0) + 20 >> 2] * $5); - $10 = ($16 | 0) == 100 ? 0 : $16; - label$11 : { - if (($12 | 0) == ($10 | 0)) { - $8 = Math_fround(1); - break label$11; - } - $8 = Math_fround(1); - while (1) { - $3 = $3 + 1 | 0; - $3 = ($3 | 0) == 100 ? 0 : $3; - if (($12 | 0) == ($3 | 0)) { - break label$11; - } - $13 = HEAPF32[(($3 << 6) + $7 | 0) + 36 >> 2]; - $15 = Math_fround(Math_fround($17 - $13) * Math_fround(10)); - $18 = Math_fround(Math_fround($9 + $15) / $5); - $14 = $14 < $18 ? $18 : $14; - $15 = Math_fround(Math_fround($9 - $15) / $5); - $8 = $8 > $15 ? $15 : $8; - $13 = Math_fround(Math_max($13, Math_fround(.10000000149011612))); - $9 = Math_fround($9 + Math_fround(HEAPF32[(($10 << 6) + $7 | 0) + 20 >> 2] * $13)); - $5 = Math_fround($5 + $13); - $10 = $10 + 1 | 0; - $10 = ($10 | 0) == 100 ? 0 : $10; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - $5 = Math_fround($9 / $5); - HEAPF32[$1 + 20 >> 2] = $5; - $9 = $5 > $14 ? $5 : $14; - $14 = $9 < Math_fround(1) ? $9 : Math_fround(1); - $5 = $5 < $8 ? $5 : $8; - $13 = $5 > Math_fround(0) ? $5 : Math_fround(0); - if (($6 | 0) <= 9) { - $9 = $13; - $8 = $14; - $3 = HEAP32[$0 + 7436 >> 2]; - if (($3 | 0) >= 2) { - $3 = ($3 | 0) > 15 ? 15 : $3 - 1 | 0; - $12 = ($3 | 0) > 1 ? $3 : 1; - $3 = 0; - while (1) { - $2 = ($2 | 0) < 1 ? 99 : $2 - 1 | 0; - $5 = HEAPF32[(($2 << 6) + $0 | 0) + 7624 >> 2]; - $8 = $5 < $8 ? $8 : $5; - $9 = $5 > $9 ? $9 : $5; - $3 = $3 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $5 = Math_fround(Math_fround(1) - Math_fround(Math_fround($6 | 0) * Math_fround(.10000000149011612))); - $15 = Math_fround($17 * Math_fround(.10000000149011612)); - $14 = Math_fround($14 + Math_fround($5 * Math_fround(Math_fround(Math_min(Math_fround($15 + $8), Math_fround(1))) - $14))); - $13 = Math_fround($13 + Math_fround($5 * Math_fround(Math_fround(Math_max(Math_fround($9 - $15), Math_fround(0))) - $13))); - } - HEAPF32[$1 + 28 >> 2] = $14; - HEAPF32[$1 + 24 >> 2] = $13; - } -} -function silk_NLSF2A($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $6 = __stack_pointer - 320 | 0; - __stack_pointer = $6; - label$1 : { - switch ($2 - 10 | 0) { - default: - celt_fatal(15418, 15451, 89); - abort(); - case 0: - case 6: - break label$1; - } - } - $12 = ($2 | 0) == 16 ? 15392 : 15408; - while (1) { - $8 = HEAP16[($5 << 1) + $1 >> 1]; - $7 = $8 >> 8 << 1; - $3 = HEAP16[$7 + 15122 >> 1]; - $7 = HEAP16[$7 + 15120 >> 1]; - HEAP32[($6 + 224 | 0) + (HEAPU8[$5 + $12 | 0] << 2) >> 2] = (Math_imul($3 - $7 | 0, $8 & 255) + ($7 << 8) >> 3) + 1 >> 1; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - $7 = 65536; - HEAP32[$6 + 160 >> 2] = 65536; - $1 = 0 - HEAP32[$6 + 224 >> 2] | 0; - HEAP32[$6 + 164 >> 2] = $1; - $5 = 1; - $19 = $2 >> 1; - label$4 : { - $20 = ($2 | 0) < 4; - if ($20) { - break label$4; - } - while (1) { - $17 = HEAP32[($6 + 224 | 0) + ($5 << 3) >> 2]; - $3 = $17; - $4 = $3 >> 31; - $14 = $3; - $15 = $4; - $3 = $1; - $4 = $3 >> 31; - $3 = $4; - $13 = $5 + 1 | 0; - $18 = ($6 + 160 | 0) + ($13 << 2) | 0; - $4 = $15; - $3 = __wasm_i64_mul($14, $4, $1, $3); - $9 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $9 >>> 15; - $10 = $4 + 1 | 0; - $11 = $10 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $10; - HEAP32[$18 >> 2] = ($7 << 1) - (($11 & 1) << 31 | $3 >>> 1); - $8 = $5 << 2; - $16 = $8 + ($6 + 160 | 0) | 0; - label$6 : { - if ($5 >>> 0 < 2) { - break label$6; - } - $8 = HEAP32[($6 + $8 | 0) + 152 >> 2]; - $1 = $8 + $1 | 0; - $3 = $7; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($7, $4, $14, $3); - $11 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $11 >>> 15; - $9 = $4 + 1 | 0; - $10 = $9 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $9; - HEAP32[$16 >> 2] = $1 - (($10 & 1) << 31 | $3 >>> 1); - if (($5 | 0) == 2) { - break label$6; - } - while (1) { - $7 = $5 - 1 | 0; - $1 = ($6 + 160 | 0) + ($7 << 2) | 0; - $12 = HEAP32[(($5 << 2) + $6 | 0) + 148 >> 2]; - $21 = $12 + HEAP32[$1 >> 2] | 0; - $3 = $8; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($8, $4, $14, $3); - $10 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $10 >>> 15; - $11 = $4 + 1 | 0; - $9 = $11 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $11; - HEAP32[$1 >> 2] = $21 - (($9 & 1) << 31 | $3 >>> 1); - $1 = ($5 | 0) > 3; - $5 = $7; - $8 = $12; - if ($1) { - continue; - } - break; - } - } - HEAP32[$6 + 164 >> 2] = HEAP32[$6 + 164 >> 2] - $17; - if (($13 | 0) == ($19 | 0)) { - break label$4; - } - $1 = HEAP32[$18 >> 2]; - $7 = HEAP32[$16 >> 2]; - $5 = $13; - continue; - } - } - $7 = 65536; - HEAP32[$6 + 96 >> 2] = 65536; - $1 = 0 - HEAP32[$6 + 228 >> 2] | 0; - HEAP32[$6 + 100 >> 2] = $1; - label$8 : { - if ($20) { - break label$8; - } - $20 = $6 + 224 | 4; - $5 = 1; - while (1) { - $17 = HEAP32[($5 << 3) + $20 >> 2]; - $3 = $17; - $4 = $3 >> 31; - $14 = $3; - $15 = $4; - $3 = $1; - $4 = $3 >> 31; - $3 = $4; - $13 = $5 + 1 | 0; - $18 = ($6 + 96 | 0) + ($13 << 2) | 0; - $4 = $15; - $3 = __wasm_i64_mul($14, $4, $1, $3); - $9 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $9 >>> 15; - $10 = $4 + 1 | 0; - $11 = $10 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $10; - HEAP32[$18 >> 2] = ($7 << 1) - (($11 & 1) << 31 | $3 >>> 1); - $8 = $5 << 2; - $16 = $8 + ($6 + 96 | 0) | 0; - label$10 : { - if ($5 >>> 0 < 2) { - break label$10; - } - $8 = HEAP32[($6 + $8 | 0) + 88 >> 2]; - $1 = $8 + $1 | 0; - $3 = $7; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($7, $4, $14, $3); - $11 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $11 >>> 15; - $9 = $4 + 1 | 0; - $10 = $9 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $9; - HEAP32[$16 >> 2] = $1 - (($10 & 1) << 31 | $3 >>> 1); - if (($5 | 0) == 2) { - break label$10; - } - while (1) { - $7 = $5 - 1 | 0; - $1 = ($6 + 96 | 0) + ($7 << 2) | 0; - $12 = HEAP32[(($5 << 2) + $6 | 0) + 84 >> 2]; - $21 = $12 + HEAP32[$1 >> 2] | 0; - $3 = $8; - $4 = $3 >> 31; - $3 = $15; - $3 = __wasm_i64_mul($8, $4, $14, $3); - $10 = $3; - $4 = i64toi32_i32$HIGH_BITS; - $3 = $4 >>> 15 | 0; - $4 = ($4 & 32767) << 17 | $10 >>> 15; - $11 = $4 + 1 | 0; - $9 = $11 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $11; - HEAP32[$1 >> 2] = $21 - (($9 & 1) << 31 | $3 >>> 1); - $1 = ($5 | 0) > 3; - $5 = $7; - $8 = $12; - if ($1) { - continue; - } - break; - } - } - HEAP32[$6 + 100 >> 2] = HEAP32[$6 + 100 >> 2] - $17; - if (($13 | 0) == ($19 | 0)) { - break label$8; - } - $1 = HEAP32[$18 >> 2]; - $7 = HEAP32[$16 >> 2]; - $5 = $13; - continue; - } - } - if (($2 | 0) >= 2) { - $16 = ($19 | 0) > 1 ? $19 : 1; - $7 = HEAP32[$6 + 96 >> 2]; - $1 = HEAP32[$6 + 160 >> 2]; - $5 = 0; - while (1) { - $8 = $5 + 1 | 0; - $12 = $8 << 2; - $13 = HEAP32[$12 + ($6 + 96 | 0) >> 2]; - $7 = $13 - $7 | 0; - $12 = HEAP32[($6 + 160 | 0) + $12 >> 2]; - $1 = $12 + $1 | 0; - HEAP32[($5 << 2) + $6 >> 2] = 0 - ($7 + $1 | 0); - HEAP32[(($5 ^ -1) + $2 << 2) + $6 >> 2] = $7 - $1; - $7 = $13; - $1 = $12; - $5 = $8; - if (($16 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - silk_LPC_fit($0, $6, 12, 17, $2); - label$14 : { - if (silk_LPC_inverse_pred_gain_c($0, $2)) { - break label$14; - } - $8 = 0; - while (1) { - silk_bwexpander_32($6, $2, (-2 << $8) + 65536 | 0); - $5 = 0; - while (1) { - HEAP16[($5 << 1) + $0 >> 1] = (HEAP32[($5 << 2) + $6 >> 2] >>> 4 | 0) + 1 >>> 1; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - $5 = silk_LPC_inverse_pred_gain_c($0, $2); - if ($8 >>> 0 > 14) { - break label$14; - } - $8 = $8 + 1 | 0; - if (!$5) { - continue; - } - break; - } - } - __stack_pointer = $6 + 320 | 0; -} -function celt_pitch_xcorr_c($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = Math_fround(0), $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = Math_fround(0), $19 = 0, $20 = Math_fround(0), $21 = Math_fround(0), $22 = Math_fround(0), $23 = Math_fround(0), $24 = Math_fround(0), $25 = Math_fround(0), $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = Math_fround(0), $32 = 0, $33 = 0, $34 = 0; - if (($4 | 0) >= 1) { - label$2 : { - if (($4 | 0) < 4) { - break label$2; - } - if (($3 | 0) >= 3) { - $32 = $4 - 3 | 0; - $19 = $3 - 3 | 0; - $33 = ($3 | 0) == 3; - $29 = $3 & -4; - $30 = $29 | 1; - $34 = ($30 + 1 | 0) >= ($3 | 0); - while (1) { - $17 = $11 << 2; - $5 = $17 + $1 | 0; - $7 = $5 + 12 | 0; - $8 = HEAPF32[$5 + 8 >> 2]; - $18 = HEAPF32[$5 + 4 >> 2]; - $16 = HEAPF32[$5 >> 2]; - $12 = Math_fround(0); - $25 = Math_fround(0); - $26 = Math_fround(0); - $27 = Math_fround(0); - $5 = $0; - $10 = 0; - $9 = 0; - $13 = 0; - $14 = 0; - $15 = 0; - if (!$33) { - while (1) { - $20 = HEAPF32[$5 >> 2]; - $6 = HEAPF32[$7 >> 2]; - $21 = HEAPF32[$5 + 4 >> 2]; - $22 = HEAPF32[$7 + 4 >> 2]; - $23 = HEAPF32[$5 + 8 >> 2]; - $28 = HEAPF32[$7 + 8 >> 2]; - $24 = HEAPF32[$5 + 12 >> 2]; - $31 = HEAPF32[$7 + 12 >> 2]; - $12 = Math_fround(Math_fround(Math_fround(Math_fround($12 + Math_fround($20 * $6)) + Math_fround($21 * $22)) + Math_fround($23 * $28)) + Math_fround($24 * $31)); - $25 = Math_fround(Math_fround(Math_fround(Math_fround($25 + Math_fround($8 * $20)) + Math_fround($6 * $21)) + Math_fround($22 * $23)) + Math_fround($28 * $24)); - $26 = Math_fround(Math_fround(Math_fround(Math_fround($26 + Math_fround($18 * $20)) + Math_fround($8 * $21)) + Math_fround($6 * $23)) + Math_fround($22 * $24)); - $27 = Math_fround(Math_fround(Math_fround(Math_fround($27 + Math_fround($16 * $20)) + Math_fround($18 * $21)) + Math_fround($8 * $23)) + Math_fround($6 * $24)); - $7 = $7 + 16 | 0; - $5 = $5 + 16 | 0; - $16 = $22; - $8 = $31; - $18 = $28; - $10 = $10 + 4 | 0; - if (($19 | 0) > ($10 | 0)) { - continue; - } - break; - } - $13 = (wasm2js_scratch_store_f32($26), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32($25), wasm2js_scratch_load_i32(2)); - $15 = (wasm2js_scratch_store_f32($12), wasm2js_scratch_load_i32(2)); - $12 = $6; - $9 = (wasm2js_scratch_store_f32($27), wasm2js_scratch_load_i32(2)); - } - label$7 : { - if (($3 | 0) <= ($29 | 0)) { - break label$7; - } - $6 = HEAPF32[$5 >> 2]; - $12 = HEAPF32[$7 >> 2]; - $15 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($6 * $12) + (wasm2js_scratch_store_i32(2, $15), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($8 * $6) + (wasm2js_scratch_store_i32(2, $14), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $13 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($18 * $6) + (wasm2js_scratch_store_i32(2, $13), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $9 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($16 * $6) + (wasm2js_scratch_store_i32(2, $9), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $7 = $7 + 4 | 0; - $5 = $5 + 4 | 0; - } - $10 = $7; - label$9 : { - if (($3 | 0) <= ($30 | 0)) { - $7 = $10; - break label$9; - } - $6 = HEAPF32[$5 >> 2]; - $16 = HEAPF32[$10 >> 2]; - $15 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($6 * $16) + (wasm2js_scratch_store_i32(2, $15), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($12 * $6) + (wasm2js_scratch_store_i32(2, $14), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $13 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($8 * $6) + (wasm2js_scratch_store_i32(2, $13), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $9 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($18 * $6) + (wasm2js_scratch_store_i32(2, $9), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $5 = $5 + 4 | 0; - $7 = $10 + 4 | 0; - } - if (!$34) { - $6 = HEAPF32[$5 >> 2]; - $15 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($6 * HEAPF32[$7 >> 2]) + (wasm2js_scratch_store_i32(2, $15), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $14 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($16 * $6) + (wasm2js_scratch_store_i32(2, $14), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $13 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($12 * $6) + (wasm2js_scratch_store_i32(2, $13), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - $9 = (wasm2js_scratch_store_f32(Math_fround(Math_fround($8 * $6) + (wasm2js_scratch_store_i32(2, $9), wasm2js_scratch_load_f32()))), wasm2js_scratch_load_i32(2)); - } - HEAP32[$2 + $17 >> 2] = $9; - HEAP32[($17 | 4) + $2 >> 2] = $13; - HEAP32[($17 | 8) + $2 >> 2] = $14; - HEAP32[($17 | 12) + $2 >> 2] = $15; - $11 = $11 + 4 | 0; - if (($32 | 0) > ($11 | 0)) { - continue; - } - break; - } - break label$2; - } - celt_fatal(9872, 9897, 69); - abort(); - } - if (($4 | 0) > ($11 | 0)) { - $9 = ($3 | 0) < 1; - while (1) { - $19 = $11 << 2; - $8 = Math_fround(0); - if (!$9) { - $10 = $1 + $19 | 0; - $7 = 0; - while (1) { - $5 = $7 << 2; - $8 = Math_fround($8 + Math_fround(HEAPF32[$5 + $0 >> 2] * HEAPF32[$5 + $10 >> 2])); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - HEAPF32[$2 + $19 >> 2] = $8; - $11 = $11 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(9738, 9768, 251); - abort(); -} -function quant_band_stereo($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = Math_fround(0), $12 = 0, $13 = 0, $14 = 0, $15 = Math_fround(0), $16 = 0, $17 = 0, $18 = Math_fround(0), $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = 0, $23 = Math_fround(0); - $12 = __stack_pointer - 32 | 0; - __stack_pointer = $12; - HEAP32[$12 + 24 >> 2] = $10; - HEAP32[$12 + 28 >> 2] = $4; - $4 = HEAP32[$0 + 28 >> 2]; - $16 = HEAP32[$0 >> 2]; - label$1 : { - if (($3 | 0) == 1) { - $3 = 0; - $10 = HEAP32[$0 + 32 >> 2]; - if (($10 | 0) >= 8) { - label$4 : { - if ($16) { - $3 = HEAPF32[$1 >> 2] < Math_fround(0); - ec_enc_bits($4, $3, 1); - break label$4; - } - $3 = ec_dec_bits($4, 1); - } - $10 = HEAP32[$0 + 32 >> 2] - 8 | 0; - HEAP32[$0 + 32 >> 2] = $10; - } - if (HEAP32[$0 + 4 >> 2]) { - HEAPF32[$1 >> 2] = $3 ? Math_fround(-1) : Math_fround(1); - } - if ($2) { - $3 = $2 ? 2 : 1; - $7 = $3 >>> 0 > 1 ? $3 : 1; - $5 = 1; - while (1) { - $3 = 0; - if (($10 | 0) >= 8) { - label$10 : { - if ($16) { - $3 = HEAPF32[$2 >> 2] < Math_fround(0); - ec_enc_bits($4, $3, 1); - break label$10; - } - $3 = ec_dec_bits($4, 1); - } - $10 = HEAP32[$0 + 32 >> 2] - 8 | 0; - HEAP32[$0 + 32 >> 2] = $10; - } - if (HEAP32[$0 + 4 >> 2]) { - HEAPF32[$2 >> 2] = $3 ? Math_fround(-1) : Math_fround(1); - } - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $7 = 1; - if (!$8) { - break label$1; - } - HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; - break label$1; - } - compute_theta($0, $12, $1, $2, $3, $12 + 28 | 0, $5, $5, $7, 1, $12 + 24 | 0); - $11 = Math_fround(Math_fround(HEAP32[$12 + 8 >> 2]) * Math_fround(30517578125e-15)); - $19 = Math_fround(Math_fround(HEAP32[$12 + 4 >> 2]) * Math_fround(30517578125e-15)); - $14 = HEAP32[$12 + 28 >> 2]; - $17 = HEAP32[$12 + 20 >> 2]; - $13 = HEAP32[$12 + 16 >> 2]; - $22 = HEAP32[$12 >> 2]; - label$13 : { - if (($3 | 0) == 2) { - $21 = $13 & -16385; - $20 = (($21 | 0) != 0) << 3; - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] - ($20 + $17 | 0); - $13 = ($13 | 0) > 8192; - $17 = $13 ? $1 : $2; - $13 = $13 ? $2 : $1; - $20 = $14 - $20 | 0; - $14 = 0; - label$15 : { - if (!$21) { - break label$15; - } - if ($16) { - $14 = Math_fround(Math_fround(HEAPF32[$13 >> 2] * HEAPF32[$17 + 4 >> 2]) - Math_fround(HEAPF32[$13 + 4 >> 2] * HEAPF32[$17 >> 2])) < Math_fround(0); - ec_enc_bits($4, $14, 1); - break label$15; - } - $14 = ec_dec_bits($4, 1); - } - $7 = quant_band($0, $13, 2, $20, $5, $6, $7, $8, Math_fround(1), $9, $10); - $5 = 1 - ($14 << 1) | 0; - HEAPF32[$17 >> 2] = HEAPF32[$13 + 4 >> 2] * Math_fround(0 - $5 | 0); - HEAPF32[$17 + 4 >> 2] = HEAPF32[$13 >> 2] * Math_fround($5 | 0); - if (!HEAP32[$0 + 4 >> 2]) { - break label$13; - } - HEAPF32[$1 >> 2] = $19 * HEAPF32[$1 >> 2]; - HEAPF32[$1 + 4 >> 2] = $19 * HEAPF32[$1 + 4 >> 2]; - $15 = Math_fround($11 * HEAPF32[$2 >> 2]); - HEAPF32[$2 >> 2] = $15; - HEAPF32[$2 + 4 >> 2] = $11 * HEAPF32[$2 + 4 >> 2]; - $11 = HEAPF32[$1 >> 2]; - HEAPF32[$1 >> 2] = $11 - $15; - HEAPF32[$2 >> 2] = $11 + HEAPF32[$2 >> 2]; - $11 = HEAPF32[$1 + 4 >> 2]; - HEAPF32[$1 + 4 >> 2] = $11 - HEAPF32[$2 + 4 >> 2]; - HEAPF32[$2 + 4 >> 2] = $11 + HEAPF32[$2 + 4 >> 2]; - break label$13; - } - $10 = HEAP32[$12 + 12 >> 2]; - $17 = HEAP32[$0 + 32 >> 2] - $17 | 0; - HEAP32[$0 + 32 >> 2] = $17; - $4 = HEAP32[$12 + 24 >> 2]; - $10 = ($14 - $10 | 0) / 2 | 0; - $10 = ($10 | 0) > ($14 | 0) ? $14 : $10; - $10 = ($10 | 0) > 0 ? $10 : 0; - $16 = $14 - $10 | 0; - if (($10 | 0) >= ($16 | 0)) { - $6 = quant_band($0, $1, $3, $10, $5, $6, $7, $8, Math_fround(1), $9, $4); - $10 = (HEAP32[$0 + 32 >> 2] - $17 | 0) + $10 | 0; - $7 = $6 | quant_band($0, $2, $3, ($13 ? ($10 | 0) > 24 ? $10 - 24 | 0 : 0 : 0) + $16 | 0, $5, 0, $7, 0, $11, 0, $4 >> $5); - break label$13; - } - $14 = quant_band($0, $2, $3, $16, $5, 0, $7, 0, $11, 0, $4 >> $5); - $16 = (HEAP32[$0 + 32 >> 2] - $17 | 0) + $16 | 0; - $7 = $14 | quant_band($0, $1, $3, (($13 | 0) != 16384 ? ($16 | 0) > 24 ? $16 - 24 | 0 : 0 : 0) + $10 | 0, $5, $6, $7, $8, Math_fround(1), $9, $4); - } - if (!HEAP32[$0 + 4 >> 2]) { - break label$1; - } - label$18 : { - if (($3 | 0) == 2) { - break label$18; - } - $15 = Math_fround(0); - if (($3 | 0) >= 1) { - $0 = 0; - while (1) { - $5 = $0 << 2; - $11 = HEAPF32[$5 + $2 >> 2]; - $18 = Math_fround($18 + Math_fround($11 * HEAPF32[$1 + $5 >> 2])); - $15 = Math_fround($15 + Math_fround($11 * $11)); - $0 = $0 + 1 | 0; - if (($3 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - label$22 : { - $15 = Math_fround(Math_fround($19 * $19) + $15); - $11 = Math_fround($19 * $18); - $11 = Math_fround($11 + $11); - $18 = Math_fround($15 + $11); - if (!($18 < Math_fround(.0006000000284984708))) { - $11 = Math_fround($15 - $11); - if ($11 < Math_fround(.0006000000284984708) ^ 1) { - break label$22; - } - } - memcpy($2, $1, $3 << 2); - break label$18; - } - if (($3 | 0) < 1) { - break label$1; - } - $18 = Math_fround(Math_fround(1) / Math_fround(Math_sqrt($18))); - $23 = Math_fround(Math_fround(1) / Math_fround(Math_sqrt($11))); - $0 = 0; - while (1) { - $5 = $0 << 2; - $10 = $5 + $1 | 0; - $11 = Math_fround($19 * HEAPF32[$10 >> 2]); - $5 = $2 + $5 | 0; - $15 = HEAPF32[$5 >> 2]; - HEAPF32[$10 >> 2] = $23 * Math_fround($11 - $15); - HEAPF32[$5 >> 2] = $18 * Math_fround($11 + $15); - $0 = $0 + 1 | 0; - if (($3 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - if (!$22 | ($3 | 0) < 1) { - break label$1; - } - $0 = 0; - while (1) { - $5 = ($0 << 2) + $2 | 0; - HEAPF32[$5 >> 2] = -HEAPF32[$5 >> 2]; - $0 = $0 + 1 | 0; - if (($3 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $12 + 32 | 0; - return $7; -} -function silk_LPC_inverse_pred_gain_c($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - $13 = __stack_pointer - 96 | 0; - label$1 : { - if (($1 | 0) >= 1) { - while (1) { - $8 = HEAP16[($6 << 1) + $0 >> 1]; - HEAP32[($6 << 2) + $13 >> 2] = $8 << 12; - $10 = $8 + $10 | 0; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - if (($10 | 0) > 4095) { - break label$1; - } - } - $10 = $1 - 1 | 0; - $8 = HEAP32[($10 << 2) + $13 >> 2]; - $6 = $8 + 16773022 >>> 0 > 33546044; - $9 = 1073741824; - if (($1 | 0) >= 2) { - while (1) { - if ($6 & 1) { - return 0; - } - $7 = 0 - ($8 << 7) | 0; - $3 = $7 >> 31; - $12 = $7; - $17 = $3; - $7 = __wasm_i64_mul($12, $3, $12, $3); - $3 = i64toi32_i32$HIGH_BITS; - $6 = 1073741824 - $3 | 0; - $2 = $6; - $7 = $2 >> 31; - $2 = $7; - $7 = $11; - $2 = __wasm_i64_mul($9, $7, $6, $2); - $3 = $2; - $7 = i64toi32_i32$HIGH_BITS; - $18 = (($7 & 1073741823) << 2 | $3 >>> 30) & -4; - if (($18 | 0) < 107374) { - break label$1; - } - $15 = $10; - $10 = 0; - $8 = $6 >> 31; - $16 = Math_clz32($8 ^ $6 + $8); - $8 = $6 << $16 - 1; - $0 = $8 >> 16; - $6 = 536870911 / ($0 | 0) | 0; - $3 = ($6 >> 15) + 1 >> 1; - $14 = $6 << 16; - $6 = $14 >> 16; - $8 = 0 - ((Math_imul($6, $8 & 65535) >> 16) + Math_imul($0, $6) << 3) | 0; - $3 = ((Math_imul($8, $3) + $14 | 0) + Math_imul($8 >> 16, $6) | 0) + (Math_imul($8 & 65528, $6) >> 16) | 0; - $2 = $3 >> 31; - $19 = $3; - $20 = $2; - $6 = $1 >>> 1 | 0; - $23 = $6 >>> 0 > 1 ? $6 : 1; - $21 = 31 - $16 | 0; - while (1) { - $14 = ($10 << 2) + $13 | 0; - $6 = HEAP32[$14 >> 2]; - $22 = (($10 ^ -1) + $15 << 2) + $13 | 0; - $8 = HEAP32[$22 >> 2]; - $3 = $8; - $2 = $3 >> 31; - $3 = $17; - $3 = __wasm_i64_mul($8, $2, $12, $3); - $7 = $3; - $2 = i64toi32_i32$HIGH_BITS; - $3 = $2 >>> 30 | 0; - $2 = ($2 & 1073741823) << 2 | $7 >>> 30; - $4 = $2 + 1 | 0; - $1 = $4 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $4; - $1 = ($1 & 1) << 31 | $3 >>> 1; - $0 = $6 - $1 | 0; - $3 = $0; - $0 = ($0 | 0) > -1; - $3 = ((($0 ? $1 : $6) ^ -2147483648) & ($0 ? $6 : $1)) > -1 ? $3 : $0 ? -2147483648 : 2147483647; - $2 = $3 >> 31; - $0 = $3; - $3 = $20; - $3 = __wasm_i64_mul($0, $2, $19, $3); - $9 = $3; - $2 = i64toi32_i32$HIGH_BITS; - $11 = $2; - $1 = $3; - $7 = $3 & 1; - $3 = 0; - $4 = $3; - $3 = $2; - $2 = $1; - $5 = ($3 & 1) << 31 | $2 >>> 1; - $0 = ($16 | 0) != 31; - $1 = $3 >> 1; - $2 = $1; - $1 = $4; - $4 = $2 + $1 | 0; - $3 = $7; - $7 = $3 + $5 | 0; - $4 = $7 >>> 0 < $5 >>> 0 ? $4 + 1 | 0 : $4; - $1 = $7; - label$8 : { - if (!$0) { - break label$8; - } - $4 = $11; - $1 = $9; - $5 = $21; - $2 = $5 & 31; - if (($5 & 63) >>> 0 >= 32) { - $3 = $4 >> 31; - $4 = $4 >> $2; - } else { - $3 = $4 >> $2; - $4 = ((1 << $2) - 1 & $4) << 32 - $2 | $1 >>> $2; - } - $2 = $4 + 1 | 0; - $7 = $2 >>> 0 < 1 ? $3 + 1 | 0 : $3; - $3 = $2; - $1 = ($7 & 1) << 31 | $3 >>> 1; - $4 = $7 >> 1; - } - $2 = $4; - $9 = $1; - $7 = $9; - $1 = $7 - -2147483648 | 0; - $2 = $1 >>> 0 < 2147483648 ? $2 + 1 | 0 : $2; - if ($2) { - break label$1; - } - HEAP32[$14 >> 2] = $9; - $2 = $6; - $4 = $2 >> 31; - $2 = $17; - $2 = __wasm_i64_mul($6, $4, $12, $2); - $5 = $2; - $4 = i64toi32_i32$HIGH_BITS; - $2 = $4 >>> 30 | 0; - $4 = ($4 & 1073741823) << 2 | $5 >>> 30; - $3 = $4 + 1 | 0; - $1 = $3 >>> 0 < 1 ? $2 + 1 | 0 : $2; - $2 = $3; - $6 = ($1 & 1) << 31 | $2 >>> 1; - $1 = $8 - $6 | 0; - $3 = $1; - $1 = ($1 | 0) > -1; - $2 = ((($1 ? $6 : $8) ^ -2147483648) & ($1 ? $8 : $6)) > -1 ? $3 : $1 ? -2147483648 : 2147483647; - $4 = $2 >> 31; - $1 = $2; - $2 = $20; - $2 = __wasm_i64_mul($1, $4, $19, $2); - $9 = $2; - $4 = i64toi32_i32$HIGH_BITS; - $11 = $4; - if ($0) { - $4 = $11; - $1 = $9; - $7 = $21; - $5 = $7 & 31; - if (($7 & 63) >>> 0 >= 32) { - $2 = $4 >> 31; - $4 = $4 >> $5; - } else { - $2 = $4 >> $5; - $4 = ((1 << $5) - 1 & $4) << 32 - $5 | $1 >>> $5; - } - $5 = $4 + 1 | 0; - $3 = $5 >>> 0 < 1 ? $2 + 1 | 0 : $2; - $2 = $5; - $9 = ($3 & 1) << 31 | $2 >>> 1; - $4 = $3 >> 1; - $5 = $4; - } else { - $3 = $9; - $1 = $3 & 1; - $2 = 0; - $0 = $2; - $4 = $11; - $2 = $4; - $7 = ($2 & 1) << 31 | $3 >>> 1; - $3 = $2 >> 1; - $4 = $3; - $3 = $0; - $5 = $3 + $4 | 0; - $2 = $1; - $1 = $7 + $2 | 0; - $9 = $1; - $5 = $1 >>> 0 < $7 >>> 0 ? $5 + 1 | 0 : $5; - } - $11 = $5; - $3 = $9; - $4 = $3 - -2147483648 | 0; - $1 = $4 >>> 0 < 2147483648 ? $5 + 1 | 0 : $5; - $3 = 0; - if ($1) { - break label$1; - } - HEAP32[$22 >> 2] = $9; - $10 = $10 + 1 | 0; - if (($23 | 0) != ($10 | 0)) { - continue; - } - break; - } - $10 = $15 - 1 | 0; - $8 = HEAP32[($10 << 2) + $13 >> 2]; - $6 = $8 + 16773022 >>> 0 > 33546044; - $1 = $18; - $5 = $1 >> 31; - $9 = $1; - $11 = $5; - $1 = $15; - if (($1 | 0) > 1) { - continue; - } - break; - } - } - if ($6) { - break label$1; - } - $1 = 0 - (HEAP32[$13 >> 2] << 7) | 0; - $5 = $1 >> 31; - $12 = $1; - $1 = __wasm_i64_mul($12, $5, $12, $5); - $2 = 0 - 0 | 0; - $5 = i64toi32_i32$HIGH_BITS; - $1 = $5 & 2147483647; - $4 = $1 + (($3 | 0) != 0) | 0; - $4 = 1073741824 - $4 | 0; - $5 = $4 >> 31; - $1 = $11; - $1 = __wasm_i64_mul($4, $5, $9, $1); - $4 = $1; - $5 = i64toi32_i32$HIGH_BITS; - $6 = (($5 & 1073741823) << 2 | $4 >>> 30) & -4; - $24 = ($6 | 0) < 107374 ? 0 : $6; - } - return $24; -} -function opus_packet_parse_impl($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - $15 = -1; - label$1 : { - if (!$5 | ($1 | 0) < 0) { - break label$1; - } - $15 = -4; - if (!$1) { - break label$1; - } - $16 = HEAPU8[$0 | 0]; - label$2 : { - if ($16 & 128) { - $11 = (48e3 << ($16 >>> 3 & 3) >>> 0) / 400 | 0; - break label$2; - } - $11 = $16 & 8 ? 960 : 480; - if (($16 & 96) == 96) { - break label$2; - } - $9 = $16 >>> 3 & 3; - $11 = 2880; - if (($9 | 0) == 3) { - break label$2; - } - $11 = (48e3 << $9 >>> 0) / 100 | 0; - } - $10 = 1; - $9 = $0 + 1 | 0; - $8 = $1 - 1 | 0; - $12 = $8; - $13 = $16 & 3; - $17 = $13; - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - switch ($13 | 0) { - case 1: - if ($2) { - $10 = 2; - $13 = 1; - $17 = 0; - $12 = $8; - break label$6; - } - if ($8 & 1) { - break label$1; - } - $12 = $8 >>> 1 | 0; - HEAP16[$5 >> 1] = $12; - $10 = 2; - $17 = 0; - break label$5; - case 2: - if (($1 | 0) <= 1) { - HEAP16[$5 >> 1] = 65535; - return -4; - } - $13 = HEAPU8[$9 | 0]; - if ($13 >>> 0 >= 252) { - $10 = 2; - if (($1 | 0) <= 2) { - HEAP16[$5 >> 1] = 65535; - return -4; - } - $13 = (HEAPU8[$0 + 2 | 0] << 2) + $13 | 0; - } - HEAP16[$5 >> 1] = $13; - $8 = $8 - $10 | 0; - if (($13 | 0) > ($8 | 0)) { - break label$1; - } - $12 = $8 - $13 | 0; - $9 = $9 + $10 | 0; - $13 = 0; - $10 = 2; - $17 = 0; - break label$7; - case 0: - break label$7; - default: - break label$8; - } - } - if (($1 | 0) < 2) { - break label$1; - } - $14 = HEAPU8[$0 + 1 | 0]; - $10 = $14 & 63; - if (!$10 | Math_imul($10, $11) >>> 0 > 5760) { - break label$1; - } - $13 = $0 + 2 | 0; - $1 = $1 - 2 | 0; - $17 = 0; - label$15 : { - if (!($14 & 64)) { - $9 = $13; - break label$15; - } - while (1) { - if (($1 | 0) < 1) { - break label$1; - } - $9 = HEAPU8[$13 | 0]; - $12 = ($9 | 0) == 255; - $9 = ($12 ? -2 : $9) & 255; - $17 = $17 + $9 | 0; - $1 = ($9 ^ -1) + $1 | 0; - $9 = $13 + 1 | 0; - $13 = $9; - if ($12) { - continue; - } - break; - } - if (($1 | 0) < 0) { - break label$1; - } - } - $13 = $14 >>> 7 ^ 1; - if ($14 & 128) { - if ($10 >>> 0 < 2) { - $8 = $1; - $12 = $1; - break label$7; - } - $19 = $10 - 1 | 0; - $14 = 0; - $12 = $1; - $8 = $1; - while (1) { - $18 = ($14 << 1) + $5 | 0; - if (($8 | 0) <= 0) { - HEAP16[$18 >> 1] = 65535; - return -4; - } - $11 = 1; - $1 = HEAPU8[$9 | 0]; - if ($1 >>> 0 >= 252) { - if (($8 | 0) <= 1) { - HEAP16[$18 >> 1] = 65535; - return -4; - } - $11 = 2; - $1 = (HEAPU8[$9 + 1 | 0] << 2) + $1 | 0; - } - HEAP16[$18 >> 1] = $1; - $8 = $8 - $11 | 0; - if (($8 | 0) < ($1 | 0)) { - break label$1; - } - $9 = $9 + $11 | 0; - $12 = ($12 - $11 | 0) - $1 | 0; - $14 = $14 + 1 | 0; - if (($19 | 0) != ($14 | 0)) { - continue; - } - break; - } - if (($12 | 0) >= 0) { - break label$7; - } - break label$1; - } - if ($2) { - $12 = $8; - $8 = $1; - break label$6; - } - $12 = ($1 | 0) / ($10 | 0) | 0; - if ((Math_imul($12, $10) | 0) != ($1 | 0)) { - break label$1; - } - if ($10 >>> 0 < 2) { - break label$5; - } - $11 = $10 - 1 | 0; - $8 = 0; - while (1) { - HEAP16[($8 << 1) + $5 >> 1] = $12; - $8 = $8 + 1 | 0; - if (($11 | 0) != ($8 | 0)) { - continue; - } - break; - } - $8 = $1; - } - if (!$2) { - break label$5; - } - } - $11 = (($10 << 1) + $5 | 0) - 2 | 0; - $1 = 65535; - $2 = -1; - label$26 : { - if (($8 | 0) < 1) { - break label$26; - } - $14 = HEAPU8[$9 | 0]; - if ($14 >>> 0 < 252) { - $1 = $14; - $2 = 1; - break label$26; - } - $2 = -1; - if (($8 | 0) < 2) { - break label$26; - } - $1 = (HEAPU8[$9 + 1 | 0] << 2) + $14 | 0; - $2 = 2; - } - HEAP16[$11 >> 1] = $1; - $11 = $1 << 16 >> 16; - if (($11 | 0) < 0) { - break label$1; - } - $8 = $8 - $2 | 0; - if (($11 | 0) > ($8 | 0)) { - break label$1; - } - $9 = $2 + $9 | 0; - if ($13) { - if ((Math_imul($10, $11) | 0) > ($8 | 0)) { - break label$1; - } - if ($10 >>> 0 < 2) { - break label$4; - } - HEAP16[$5 >> 1] = $1; - $1 = 1; - $15 = $10 - 1 | 0; - if (($15 | 0) == 1) { - break label$4; - } - $2 = ($15 << 1) + $5 | 0; - while (1) { - HEAP16[($1 << 1) + $5 >> 1] = HEAPU16[$2 >> 1]; - $1 = $1 + 1 | 0; - if (($15 | 0) != ($1 | 0)) { - continue; - } - break; - } - break label$4; - } - if (($2 + $11 | 0) > ($12 | 0)) { - break label$1; - } - break label$4; - } - if (($12 | 0) > 1275) { - break label$1; - } - HEAP16[(($10 << 1) + $5 | 0) - 2 >> 1] = $12; - } - if ($6) { - HEAP32[$6 >> 2] = $9 - $0; - } - if ($10) { - $1 = 0; - while (1) { - if ($4) { - HEAP32[($1 << 2) + $4 >> 2] = $9; - } - $9 = HEAP16[($1 << 1) + $5 >> 1] + $9 | 0; - $1 = $1 + 1 | 0; - if (($10 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if ($7) { - HEAP32[$7 >> 2] = ($17 - $0 | 0) + $9; - } - if ($3) { - HEAP8[$3 | 0] = $16; - } - $15 = $10; - } - return $15; -} -function silk_LPC_analysis_filter_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if (($3 | 0) >= ($4 | 0)) { - label$3 : { - label$4 : { - switch ($4 - 6 | 0) { - case 0: - if (($3 | 0) < 7) { - break label$3; - } - $6 = 6; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 2: - if (($3 | 0) < 9) { - break label$3; - } - $6 = 8; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 4: - if (($3 | 0) < 11) { - break label$3; - } - $6 = 10; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])) + Math_fround(HEAPF32[$5 - 36 >> 2] * HEAPF32[$1 + 32 >> 2])) + Math_fround(HEAPF32[$5 - 40 >> 2] * HEAPF32[$1 + 36 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 6: - if (($3 | 0) < 13) { - break label$3; - } - $6 = 12; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])) + Math_fround(HEAPF32[$5 - 36 >> 2] * HEAPF32[$1 + 32 >> 2])) + Math_fround(HEAPF32[$5 - 40 >> 2] * HEAPF32[$1 + 36 >> 2])) + Math_fround(HEAPF32[$5 - 44 >> 2] * HEAPF32[$1 + 40 >> 2])) + Math_fround(HEAPF32[$5 - 48 >> 2] * HEAPF32[$1 + 44 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$3; - case 10: - break label$4; - default: - break label$1; - } - } - if (($3 | 0) < 17) { - break label$3; - } - $6 = 16; - while (1) { - $5 = $6 << 2; - $7 = $5 + $0 | 0; - $5 = $2 + $5 | 0; - HEAPF32[$7 >> 2] = HEAPF32[$5 >> 2] - Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[$5 - 4 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$5 - 8 >> 2] * HEAPF32[$1 + 4 >> 2])) + Math_fround(HEAPF32[$5 - 12 >> 2] * HEAPF32[$1 + 8 >> 2])) + Math_fround(HEAPF32[$5 - 16 >> 2] * HEAPF32[$1 + 12 >> 2])) + Math_fround(HEAPF32[$5 - 20 >> 2] * HEAPF32[$1 + 16 >> 2])) + Math_fround(HEAPF32[$5 - 24 >> 2] * HEAPF32[$1 + 20 >> 2])) + Math_fround(HEAPF32[$5 - 28 >> 2] * HEAPF32[$1 + 24 >> 2])) + Math_fround(HEAPF32[$5 - 32 >> 2] * HEAPF32[$1 + 28 >> 2])) + Math_fround(HEAPF32[$5 - 36 >> 2] * HEAPF32[$1 + 32 >> 2])) + Math_fround(HEAPF32[$5 - 40 >> 2] * HEAPF32[$1 + 36 >> 2])) + Math_fround(HEAPF32[$5 - 44 >> 2] * HEAPF32[$1 + 40 >> 2])) + Math_fround(HEAPF32[$5 - 48 >> 2] * HEAPF32[$1 + 44 >> 2])) + Math_fround(HEAPF32[$5 - 52 >> 2] * HEAPF32[$1 + 48 >> 2])) + Math_fround(HEAPF32[$5 - 56 >> 2] * HEAPF32[$1 + 52 >> 2])) + Math_fround(HEAPF32[$5 - 60 >> 2] * HEAPF32[$1 + 56 >> 2])) + Math_fround(HEAPF32[$5 + -64 >> 2] * HEAPF32[$1 + 60 >> 2])); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - memset($0, 0, $4 << 2); - return; - } - celt_fatal(9580, 9614, 218); - abort(); - } - celt_fatal(9651, 9614, 242); - abort(); -} -function remove_doubling($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = Math_fround(0), $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = Math_fround(0), $23 = Math_fround(0), $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = Math_fround(0), $29 = 0, $30 = 0, $31 = 0, $32 = Math_fround(0), $33 = Math_fround(0), $34 = Math_fround(0), $35 = Math_fround(0), $36 = Math_fround(0); - $11 = HEAP32[$4 >> 2] / 2 | 0; - $20 = ($1 | 0) / 2 | 0; - $15 = ($11 | 0) < ($20 | 0) ? $11 : $20 - 1 | 0; - HEAP32[$4 >> 2] = $15; - $12 = $20 << 2; - $11 = $12 + $0 | 0; - $18 = ($3 | 0) / 2 | 0; - $29 = ($5 | 0) / -2 | 0; - $13 = __stack_pointer; - $21 = $13 - ($12 + 19 & -16) | 0; - if (($3 | 0) >= 2) { - $13 = $11 - ($15 << 2) | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $8 = HEAPF32[$11 + $0 >> 2]; - $22 = Math_fround($22 + Math_fround($8 * HEAPF32[$0 + $13 >> 2])); - $14 = Math_fround($14 + Math_fround($8 * $8)); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - HEAPF32[$21 >> 2] = $14; - if (($1 | 0) >= 2) { - $5 = 1; - $8 = $14; - while (1) { - $0 = $5 << 2; - $9 = HEAPF32[$11 - $0 >> 2]; - $10 = Math_fround($8 + Math_fround($9 * $9)); - $8 = HEAPF32[($18 - $5 << 2) + $11 >> 2]; - $8 = Math_fround($10 - Math_fround($8 * $8)); - HEAPF32[$0 + $21 >> 2] = Math_max($8, Math_fround(0)); - $0 = ($5 | 0) != ($20 | 0); - $5 = $5 + 1 | 0; - if ($0) { - continue; - } - break; - } - } - $24 = ($2 | 0) / 2 | 0; - $30 = $24 << 1; - $31 = Math_imul($24, 3); - $32 = Math_fround($6 * Math_fround(.5)); - $25 = $15 << 1; - $23 = HEAPF32[($15 << 2) + $21 >> 2]; - $19 = Math_fround($22 / Math_fround(Math_sqrt(Math_fround(Math_fround($14 * $23) + Math_fround(1))))); - $33 = Math_fround($19 * Math_fround(.8500000238418579)); - $34 = Math_fround($19 * Math_fround(.8999999761581421)); - $35 = Math_fround($19 * Math_fround(.699999988079071)); - $12 = 2; - $7 = $15; - while (1) { - $5 = $12 << 1; - $16 = ($12 + $25 >>> 0) / ($5 >>> 0) | 0; - if (($24 | 0) <= ($16 | 0)) { - label$8 : { - if (($12 | 0) == 2) { - $5 = $15 + $16 | 0; - $5 = ($5 | 0) > ($20 | 0) ? $15 : $5; - break label$8; - } - $5 = (Math_imul(HEAP32[($12 << 2) + 9808 >> 2], $25) + $12 >>> 0) / ($5 >>> 0) | 0; - } - $26 = $5 << 2; - $27 = $16 << 2; - $8 = Math_fround(0); - label$10 : { - if (($3 | 0) < 2) { - $9 = Math_fround(0); - break label$10; - } - $13 = $11 - $26 | 0; - $1 = $11 - $27 | 0; - $5 = 0; - $9 = Math_fround(0); - while (1) { - $0 = $5 << 2; - $10 = HEAPF32[$11 + $0 >> 2]; - $8 = Math_fround($8 + Math_fround($10 * HEAPF32[$0 + $13 >> 2])); - $9 = Math_fround($9 + Math_fround($10 * HEAPF32[$0 + $1 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = Math_fround(Math_fround($9 + $8) * Math_fround(.5)); - $28 = Math_fround(Math_fround(HEAPF32[$21 + $27 >> 2] + HEAPF32[$21 + $26 >> 2]) * Math_fround(.5)); - $10 = Math_fround(Math_sqrt(Math_fround(Math_fround($14 * $28) + Math_fround(1)))); - $10 = Math_fround($9 / $10); - $36 = $10; - $17 = $33; - $5 = $16 + $29 | 0; - $0 = $5; - $8 = $6; - $5 = $5 >> 31; - $5 = $5 ^ $5 + $0; - label$13 : { - if (($5 | 0) < 2) { - break label$13; - } - $8 = Math_fround(0); - if (($5 | 0) != 2) { - break label$13; - } - $8 = (Math_imul(Math_imul($12, $12), 5) | 0) < ($15 | 0) ? $32 : Math_fround(0); - } - $17 = Math_fround(Math_max(Math_fround($17 - $8), Math_fround(.4000000059604645))); - label$14 : { - if (($16 | 0) < ($31 | 0)) { - break label$14; - } - $17 = Math_fround(Math_max(Math_fround($35 - $8), Math_fround(.30000001192092896))); - if (($16 | 0) >= ($30 | 0)) { - break label$14; - } - $17 = Math_fround(Math_max(Math_fround($34 - $8), Math_fround(.5))); - } - $8 = $17; - if (!($36 > $8 ^ 1)) { - $7 = $16; - $23 = $28; - $22 = $9; - $19 = $10; - } - $12 = $12 + 1 | 0; - if (($12 | 0) != 16) { - continue; - } - } - break; - } - $8 = Math_fround(0); - $14 = Math_fround(1); - $9 = Math_fround(Math_max($22, Math_fround(0))); - if (!($23 <= $9)) { - $14 = Math_fround($9 / Math_fround($23 + Math_fround(1))); - } - label$17 : { - if (($3 | 0) < 2) { - $9 = Math_fround(0); - $10 = Math_fround(0); - break label$17; - } - $13 = ($11 - ($7 << 2) | 0) + 4 | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $8 = Math_fround($8 + Math_fround(HEAPF32[$11 + $0 >> 2] * HEAPF32[$0 + $13 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - $9 = Math_fround(0); - if (($3 | 0) <= 1) { - $10 = Math_fround(0); - break label$17; - } - $13 = $11 - ($7 << 2) | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $9 = Math_fround($9 + Math_fround(HEAPF32[$11 + $0 >> 2] * HEAPF32[$0 + $13 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - $10 = Math_fround(0); - if (($3 | 0) < 2) { - break label$17; - } - $13 = (($7 ^ -1) << 2) + $11 | 0; - $5 = 0; - while (1) { - $0 = $5 << 2; - $10 = Math_fround($10 + Math_fround(HEAPF32[$11 + $0 >> 2] * HEAPF32[$0 + $13 >> 2])); - $5 = $5 + 1 | 0; - if (($18 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $5 = 1; - $5 = Math_fround($10 - $8) > Math_fround(Math_fround($9 - $8) * Math_fround(.699999988079071)) ? $5 : Math_fround($8 - $10) > Math_fround(Math_fround($9 - $10) * Math_fround(.699999988079071)) ? -1 : 0; - $5 = $5 + ($7 << 1) | 0; - HEAP32[$4 >> 2] = ($2 | 0) > ($5 | 0) ? $2 : $5; - return $14 > $19 ? $19 : $14; -} -function quant_partition($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $13 = __stack_pointer - 32 | 0; - __stack_pointer = $13; - HEAP32[$13 + 24 >> 2] = $8; - HEAP32[$13 + 28 >> 2] = $3; - $9 = HEAP32[$0 + 8 >> 2]; - $10 = HEAP32[$9 + 100 >> 2] + HEAP16[HEAP32[$9 + 96 >> 2] + (HEAP32[$0 + 12 >> 2] + Math_imul(HEAP32[$9 + 8 >> 2], $6 + 1 | 0) << 1) >> 1] | 0; - $9 = HEAPU8[$10 | 0]; - $15 = -1; - $18 = HEAP32[$0 + 28 >> 2]; - $19 = HEAP32[$0 + 20 >> 2]; - $20 = HEAP32[$0 >> 2]; - label$1 : { - if (!(($6 | 0) == -1 | ($2 | 0) < 3 | (HEAPU8[$9 + $10 | 0] + 12 | 0) >= ($3 | 0))) { - $9 = $6 - 1 | 0; - $3 = $2 >>> 1 | 0; - $2 = ($3 << 2) + $1 | 0; - if (($4 | 0) == 1) { - HEAP32[$13 + 24 >> 2] = $8 & 1 | $8 << 1; - } - $14 = $4 + 1 >> 1; - compute_theta($0, $13, $1, $2, $3, $13 + 28 | 0, $14, $4, $9, 0, $13 + 24 | 0); - $16 = Math_fround(HEAP32[$13 + 8 >> 2]); - $17 = Math_fround(HEAP32[$13 + 4 >> 2]); - $8 = HEAP32[$13 + 20 >> 2]; - $10 = HEAP32[$13 + 12 >> 2]; - $15 = HEAP32[$13 + 16 >> 2]; - $11 = $10; - label$4 : { - if (!($15 & 16383) | ($4 | 0) < 2) { - break label$4; - } - $11 = $10 - ($10 >> 5 - $6) | 0; - if (($15 | 0) >= 8193) { - break label$4; - } - $6 = ($3 << 3 >> 6 - $6) + $10 | 0; - $11 = $6 & $6 >> 31; - } - $10 = $11; - $16 = Math_fround($16 * Math_fround(30517578125e-15)); - $17 = Math_fround($17 * Math_fround(30517578125e-15)); - $6 = HEAP32[$13 + 28 >> 2]; - $8 = HEAP32[$0 + 32 >> 2] - $8 | 0; - HEAP32[$0 + 32 >> 2] = $8; - $12 = $5 ? ($3 << 2) + $5 | 0 : 0; - $10 = ($6 - $10 | 0) / 2 | 0; - $10 = ($6 | 0) < ($10 | 0) ? $6 : $10; - $10 = ($10 | 0) > 0 ? $10 : 0; - $6 = $6 - $10 | 0; - if (($6 | 0) <= ($10 | 0)) { - $11 = HEAP32[$13 + 24 >> 2]; - $1 = quant_partition($0, $1, $3, $10, $14, $5, $9, Math_fround($17 * $7), $11); - $10 = (HEAP32[$0 + 32 >> 2] - $8 | 0) + $10 | 0; - $9 = $1 | quant_partition($0, $2, $3, ($15 ? ($10 | 0) > 24 ? $10 - 24 | 0 : 0 : 0) + $6 | 0, $14, $12, $9, Math_fround($16 * $7), $11 >> $14) << ($4 >> 1); - break label$1; - } - $11 = HEAP32[$13 + 24 >> 2]; - $2 = quant_partition($0, $2, $3, $6, $14, $12, $9, Math_fround($16 * $7), $11 >> $14); - $6 = (HEAP32[$0 + 32 >> 2] - $8 | 0) + $6 | 0; - $9 = quant_partition($0, $1, $3, (($15 | 0) != 16384 ? ($6 | 0) > 24 ? $6 - 24 | 0 : 0 : 0) + $10 | 0, $14, $5, $9, Math_fround($17 * $7), $11) | $2 << ($4 >> 1); - break label$1; - } - $6 = $3 - 1 | 0; - $12 = $9 + 1 >>> 1 | 0; - $3 = ($6 | 0) > HEAPU8[$12 + $10 | 0]; - $9 = $3 ? $9 : $12; - $11 = $9; - $12 = $3 ? $12 : 0; - $3 = ($12 + $9 | 0) + 1 >>> 1 | 0; - $9 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $11 = $9 ? $11 : $3; - $9 = $9 ? $3 : $12; - $3 = ($11 + $9 | 0) + 1 >>> 1 | 0; - $12 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $9 = $12 ? $3 : $9; - $11 = $12 ? $11 : $3; - $3 = ($9 + $11 | 0) + 1 >>> 1 | 0; - $12 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $9 = $12 ? $3 : $9; - $11 = $12 ? $11 : $3; - $3 = ($9 + $11 | 0) + 1 >> 1; - $12 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $11 = $12 ? $11 : $3; - $21 = $11; - $12 = $12 ? $3 : $9; - $3 = ($11 + $12 | 0) + 1 >> 1; - $11 = HEAPU8[$10 + $3 | 0] < ($6 | 0); - $9 = $11 ? $21 : $3; - $3 = $11 ? $3 : $12; - if ($3) { - $15 = HEAPU8[$3 + $10 | 0]; - } - $3 = ($6 - $15 | 0) > (HEAPU8[$9 + $10 | 0] - $6 | 0) ? $9 : $3; - if ($3) { - $14 = HEAPU8[$3 + $10 | 0] + 1 | 0; - } - $9 = HEAP32[$0 + 32 >> 2] - $14 | 0; - HEAP32[$0 + 32 >> 2] = $9; - label$9 : { - label$10 : { - if (($9 | 0) > -1) { - $6 = $3; - break label$10; - } - if (($3 | 0) < 1) { - $6 = $3; - break label$10; - } - while (1) { - $9 = $9 + $14 | 0; - HEAP32[$0 + 32 >> 2] = $9; - $6 = $3 - 1 | 0; - if (!$6) { - HEAP32[$0 + 32 >> 2] = $9; - break label$9; - } - $14 = HEAPU8[$6 + $10 | 0] + 1 | 0; - $9 = $9 - $14 | 0; - HEAP32[$0 + 32 >> 2] = $9; - if (($9 | 0) > -1) { - break label$10; - } - $15 = ($3 | 0) > 1; - $3 = $6; - if ($15) { - continue; - } - break; - } - } - if (!$6) { - break label$9; - } - $6 = ($6 | 0) >= 8 ? ($6 & 7 | 8) << ($6 >>> 3 | 0) - 1 : $6; - if ($20) { - $9 = alg_quant($1, $2, $6, $19, $4, $18, $7, HEAP32[$0 + 4 >> 2], HEAP32[$0 + 44 >> 2]); - break label$1; - } - $9 = alg_unquant($1, $2, $6, $19, $4, $18, $7); - break label$1; - } - if (!HEAP32[$0 + 4 >> 2]) { - $9 = 0; - break label$1; - } - $9 = -1 << $4 ^ -1; - $14 = $9 & $8; - HEAP32[$13 + 24 >> 2] = $14; - if (!$14) { - $9 = 0; - memset($1, 0, $2 << 2); - break label$1; - } - label$19 : { - if ($5) { - if (($2 | 0) >= 1) { - $3 = HEAP32[$0 + 40 >> 2]; - $6 = 0; - while (1) { - $9 = $6 << 2; - $3 = Math_imul($3, 1664525) + 1013904223 | 0; - HEAPF32[$9 + $1 >> 2] = HEAPF32[$5 + $9 >> 2] + ($3 & 32768 ? Math_fround(.00390625) : Math_fround(-.00390625)); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 40 >> 2] = $3; - } - $9 = $14; - break label$19; - } - if (($2 | 0) < 1) { - break label$19; - } - $3 = HEAP32[$0 + 40 >> 2]; - $6 = 0; - while (1) { - $3 = Math_imul($3, 1664525) + 1013904223 | 0; - HEAPF32[($6 << 2) + $1 >> 2] = $3 >> 20; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($2 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 40 >> 2] = $3; - } - renormalise_vector($1, $2, $7, HEAP32[$0 + 44 >> 2]); - } - __stack_pointer = $13 + 32 | 0; - return $9; -} -function pitch_search($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = Math_fround(0), $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = Math_fround(0), $21 = 0; - $5 = __stack_pointer; - $21 = $5; - label$1 : { - if (($2 | 0) > 0) { - if (($3 | 0) <= 0) { - break label$1; - } - $11 = $2 >>> 2 | 0; - $8 = $5 - (($11 << 2) + 15 & -16) | 0; - $5 = $8; - __stack_pointer = $5; - $9 = $2 + $3 | 0; - $10 = $5 - (($9 & -4) + 15 & -16) | 0; - $5 = $10; - __stack_pointer = $5; - $15 = $3 >>> 1 | 0; - $16 = $5 - (($15 << 2) + 15 & -16) | 0; - __stack_pointer = $16; - if ($11) { - $5 = 0; - while (1) { - HEAP32[($5 << 2) + $8 >> 2] = HEAP32[($5 << 3) + $0 >> 2]; - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - if (($9 | 0) >= 4) { - $5 = $9 >> 2; - $9 = ($5 | 0) > 1 ? $5 : 1; - $5 = 0; - while (1) { - HEAP32[($5 << 2) + $10 >> 2] = HEAP32[($5 << 3) + $1 >> 2]; - $5 = $5 + 1 | 0; - if (($9 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $9 = $3 >> 2; - celt_pitch_xcorr_c($8, $10, $16, $11, $9, $5); - $7 = Math_fround(1); - if ($11) { - $5 = 0; - while (1) { - $6 = HEAPF32[($5 << 2) + $10 >> 2]; - $7 = Math_fround($7 + Math_fround($6 * $6)); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $18 = 1; - if (($3 | 0) > 3) { - $13 = Math_fround(-1); - $5 = 0; - $14 = Math_fround(-1); - while (1) { - $8 = $5 << 2; - $6 = HEAPF32[$16 + $8 >> 2]; - label$11 : { - if ($6 > Math_fround(0) ^ 1) { - break label$11; - } - $6 = Math_fround($6 * Math_fround(9.999999960041972e-13)); - $6 = Math_fround($6 * $6); - if (Math_fround($12 * $6) > Math_fround($14 * $7) ^ 1) { - break label$11; - } - if (Math_fround($17 * $6) > Math_fround($13 * $7)) { - $18 = $19; - $19 = $5; - $14 = $13; - $13 = $6; - $12 = $17; - $17 = $7; - break label$11; - } - $18 = $5; - $14 = $6; - $12 = $7; - } - $6 = HEAPF32[($5 + $11 << 2) + $10 >> 2]; - $20 = Math_fround($6 * $6); - $6 = HEAPF32[$10 + $8 >> 2]; - $7 = Math_fround(Math_max(Math_fround($7 + Math_fround($20 - Math_fround($6 * $6))), Math_fround(1))); - $5 = $5 + 1 | 0; - if (($9 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - label$13 : { - if (!$15) { - $11 = $2 >> 1; - break label$13; - } - $11 = $2 >> 1; - $18 = $18 << 1; - $19 = $19 << 1; - $9 = 0; - while (1) { - $10 = $9 << 2; - $3 = $16 + $10 | 0; - HEAP32[$3 >> 2] = 0; - $5 = $9 - $19 | 0; - $8 = $5; - $5 = $5 >> 31; - label$16 : { - if (($5 ^ $5 + $8) >= 3) { - $5 = $9 - $18 | 0; - $8 = $5; - $5 = $5 >> 31; - if (($5 ^ $5 + $8) > 2) { - break label$16; - } - } - $7 = Math_fround(0); - if (($2 | 0) >= 2) { - $8 = $1 + $10 | 0; - $5 = 0; - while (1) { - $10 = $5 << 2; - $7 = Math_fround($7 + Math_fround(HEAPF32[$10 + $0 >> 2] * HEAPF32[$10 + $8 >> 2])); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - HEAPF32[$3 >> 2] = Math_max($7, Math_fround(-1)); - } - $9 = $9 + 1 | 0; - if (($15 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $7 = Math_fround(1); - if (($2 | 0) > 1) { - $5 = 0; - while (1) { - $6 = HEAPF32[($5 << 2) + $1 >> 2]; - $7 = Math_fround($7 + Math_fround($6 * $6)); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $8 = 0; - label$22 : { - if (!$15) { - $0 = 0; - break label$22; - } - $13 = Math_fround(-1); - $17 = Math_fround(0); - $0 = 0; - $5 = 0; - $12 = Math_fround(0); - $14 = Math_fround(-1); - while (1) { - $10 = $5 << 2; - $6 = HEAPF32[$16 + $10 >> 2]; - label$25 : { - if ($6 > Math_fround(0) ^ 1) { - break label$25; - } - $6 = Math_fround($6 * Math_fround(9.999999960041972e-13)); - $6 = Math_fround($6 * $6); - if (Math_fround($12 * $6) > Math_fround($14 * $7) ^ 1) { - break label$25; - } - if (Math_fround($17 * $6) > Math_fround($13 * $7)) { - $0 = $5; - $14 = $13; - $13 = $6; - $12 = $17; - $17 = $7; - break label$25; - } - $14 = $6; - $12 = $7; - } - $6 = HEAPF32[($5 + $11 << 2) + $1 >> 2]; - $20 = Math_fround($6 * $6); - $6 = HEAPF32[$1 + $10 >> 2]; - $7 = Math_fround(Math_max(Math_fround($7 + Math_fround($20 - Math_fround($6 * $6))), Math_fround(1))); - $5 = $5 + 1 | 0; - if (($15 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (($0 | 0) < 1 | ($15 - 1 | 0) <= ($0 | 0)) { - break label$22; - } - $8 = -1; - $5 = ($0 << 2) + $16 | 0; - $6 = HEAPF32[$5 + 4 >> 2]; - $7 = HEAPF32[$5 - 4 >> 2]; - $12 = HEAPF32[$5 >> 2]; - if (Math_fround($6 - $7) > Math_fround(Math_fround($12 - $7) * Math_fround(.699999988079071))) { - break label$22; - } - $8 = Math_fround($7 - $6) > Math_fround(Math_fround($12 - $6) * Math_fround(.699999988079071)); - } - HEAP32[$4 >> 2] = ($0 << 1) + $8; - __stack_pointer = $21; - return; - } - celt_fatal(9781, 9768, 302); - abort(); - } - celt_fatal(9738, 9768, 303); - abort(); -} -function exp_rotation($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - label$1 : { - if (!$5 | $4 << 1 >= ($1 | 0)) { - break label$1; - } - $9 = Math_fround(Math_fround($1 | 0) / Math_fround(Math_imul(HEAP32[($5 << 2) + 41524 >> 2], $4) + $1 | 0)); - $9 = Math_fround(Math_fround($9 * $9) * Math_fround(.5)); - $18 = cos(+Math_fround($9 * Math_fround(1.5707963705062866))); - $19 = cos(+Math_fround(Math_fround(Math_fround(1) - $9) * Math_fround(1.5707963705062866))); - $5 = 0; - if ($3 << 3 <= ($1 | 0)) { - $7 = $3 >> 2; - $4 = 1; - while (1) { - $5 = $4; - $4 = $4 + 1 | 0; - if ((Math_imul(Math_imul($5, $5) + $5 | 0, $3) + $7 | 0) < ($1 | 0)) { - continue; - } - break; - } - } - if (($3 | 0) < 1) { - break label$1; - } - $9 = Math_fround($18); - $10 = Math_fround($19); - $14 = ($1 >>> 0) / ($3 >>> 0) | 0; - $15 = $14 - $5 | 0; - $12 = $14 - 3 | 0; - $16 = $14 - 1 | 0; - $13 = ($5 << 1 ^ -1) + $14 | 0; - $20 = ($2 | 0) > -1; - $2 = 0; - while (1) { - $11 = Math_imul($2, $14); - label$5 : { - if (!$20) { - label$7 : { - if (!$5) { - break label$7; - } - $1 = 0; - $17 = ($11 << 2) + $0 | 0; - $4 = $17; - if (($15 | 0) >= 1) { - while (1) { - $7 = ($5 << 2) + $4 | 0; - $8 = HEAPF32[$7 >> 2]; - $6 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $9) + Math_fround($8 * $10); - HEAPF32[$4 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($15 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) < 0) { - break label$7; - } - $4 = ($13 << 2) + $17 | 0; - $1 = $13; - while (1) { - $7 = ($5 << 2) + $4 | 0; - $8 = HEAPF32[$7 >> 2]; - $6 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $9) + Math_fround($8 * $10); - HEAPF32[$4 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - $7 = ($11 << 2) + $0 | 0; - if (($16 | 0) >= 1) { - $6 = HEAPF32[$7 >> 2]; - $1 = 0; - $4 = $7; - while (1) { - $8 = HEAPF32[$4 + 4 >> 2]; - HEAPF32[$4 >> 2] = Math_fround($6 * $9) - Math_fround($8 * $10); - $6 = Math_fround(Math_fround($6 * $10) + Math_fround($8 * $9)); - HEAPF32[$4 + 4 >> 2] = $6; - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($16 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($12 | 0) < 0) { - break label$5; - } - $4 = ($12 << 2) + $7 | 0; - $1 = $12; - while (1) { - $6 = HEAPF32[$4 >> 2]; - $8 = HEAPF32[$4 + 4 >> 2]; - HEAPF32[$4 + 4 >> 2] = Math_fround($6 * $10) + Math_fround($8 * $9); - HEAPF32[$4 >> 2] = Math_fround($6 * $9) - Math_fround($8 * $10); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - break label$5; - } - $11 = ($11 << 2) + $0 | 0; - if (($16 | 0) >= 1) { - $6 = HEAPF32[$11 >> 2]; - $1 = 0; - $4 = $11; - while (1) { - $8 = HEAPF32[$4 + 4 >> 2]; - HEAPF32[$4 >> 2] = Math_fround($6 * $9) + Math_fround($8 * $10); - $6 = Math_fround(Math_fround($8 * $9) - Math_fround($6 * $10)); - HEAPF32[$4 + 4 >> 2] = $6; - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($16 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($12 | 0) >= 0) { - $4 = ($12 << 2) + $11 | 0; - $1 = $12; - while (1) { - $6 = HEAPF32[$4 + 4 >> 2]; - $8 = HEAPF32[$4 >> 2]; - HEAPF32[$4 + 4 >> 2] = Math_fround($6 * $9) - Math_fround($8 * $10); - HEAPF32[$4 >> 2] = Math_fround($8 * $9) + Math_fround($6 * $10); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - if (!$5) { - break label$5; - } - $1 = 0; - $4 = $11; - if (($15 | 0) >= 1) { - while (1) { - $7 = ($5 << 2) + $4 | 0; - $6 = HEAPF32[$7 >> 2]; - $8 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - HEAPF32[$4 >> 2] = Math_fround($8 * $10) + Math_fround($6 * $9); - $4 = $4 + 4 | 0; - $1 = $1 + 1 | 0; - if (($15 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($13 | 0) < 0) { - break label$5; - } - $4 = ($13 << 2) + $11 | 0; - $1 = $13; - while (1) { - $7 = ($5 << 2) + $4 | 0; - $6 = HEAPF32[$7 >> 2]; - $8 = HEAPF32[$4 >> 2]; - HEAPF32[$7 >> 2] = Math_fround($6 * $10) - Math_fround($8 * $9); - HEAPF32[$4 >> 2] = Math_fround($8 * $10) + Math_fround($6 * $9); - $4 = $4 - 4 | 0; - $7 = ($1 | 0) > 0; - $1 = $1 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function __rem_pio2($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $6 = __stack_pointer - 48 | 0; - __stack_pointer = $6; - label$1 : { - label$2 : { - wasm2js_scratch_store_f64(+$0); - $4 = wasm2js_scratch_load_i32(1) | 0; - $8 = wasm2js_scratch_load_i32(0) | 0; - $3 = $4; - $7 = $4 & 2147483647; - label$3 : { - if ($7 >>> 0 <= 1074752122) { - if (($3 & 1048575) == 598523) { - break label$3; - } - if ($7 >>> 0 <= 1073928572) { - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -1.5707963267341256; - $2 = $0 + -6.077100506506192e-11; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -6.077100506506192e-11; - $3 = 1; - break label$1; - } - $0 = $0 + 1.5707963267341256; - $2 = $0 + 6.077100506506192e-11; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 6.077100506506192e-11; - $3 = -1; - break label$1; - } - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -3.1415926534682512; - $2 = $0 + -1.2154201013012384e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -1.2154201013012384e-10; - $3 = 2; - break label$1; - } - $0 = $0 + 3.1415926534682512; - $2 = $0 + 1.2154201013012384e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 1.2154201013012384e-10; - $3 = -2; - break label$1; - } - if ($7 >>> 0 <= 1075594811) { - if ($7 >>> 0 <= 1075183036) { - if (($7 | 0) == 1074977148) { - break label$3; - } - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -4.712388980202377; - $2 = $0 + -1.8231301519518578e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -1.8231301519518578e-10; - $3 = 3; - break label$1; - } - $0 = $0 + 4.712388980202377; - $2 = $0 + 1.8231301519518578e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 1.8231301519518578e-10; - $3 = -3; - break label$1; - } - if (($7 | 0) == 1075388923) { - break label$3; - } - if (($4 | 0) > 0 ? 1 : ($4 | 0) >= 0) { - $0 = $0 + -6.2831853069365025; - $2 = $0 + -2.430840202602477e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + -2.430840202602477e-10; - $3 = 4; - break label$1; - } - $0 = $0 + 6.2831853069365025; - $2 = $0 + 2.430840202602477e-10; - HEAPF64[$1 >> 3] = $2; - HEAPF64[$1 + 8 >> 3] = $0 - $2 + 2.430840202602477e-10; - $3 = -4; - break label$1; - } - if ($7 >>> 0 > 1094263290) { - break label$2; - } - } - $2 = $0 * .6366197723675814 + 6755399441055744 + -6755399441055744; - $9 = $0 + $2 * -1.5707963267341256; - $11 = $2 * 6.077100506506192e-11; - $0 = $9 - $11; - HEAPF64[$1 >> 3] = $0; - $10 = $7 >>> 20 | 0; - wasm2js_scratch_store_f64(+$0); - $5 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - $5 = ($10 - ($5 >>> 20 & 2047) | 0) < 17; - if (Math_abs($2) < 2147483648) { - $3 = ~~$2; - } else { - $3 = -2147483648; - } - label$14 : { - if ($5) { - break label$14; - } - $0 = $2 * 6.077100506303966e-11; - $12 = $9 - $0; - $11 = $2 * 2.0222662487959506e-21 - ($9 - $12 - $0); - $0 = $12 - $11; - HEAPF64[$1 >> 3] = $0; - wasm2js_scratch_store_f64(+$0); - $5 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - if (($10 - ($5 >>> 20 & 2047) | 0) < 50) { - $9 = $12; - break label$14; - } - $0 = $2 * 2.0222662487111665e-21; - $9 = $12 - $0; - $11 = $2 * 8.4784276603689e-32 - ($12 - $9 - $0); - $0 = $9 - $11; - HEAPF64[$1 >> 3] = $0; - } - HEAPF64[$1 + 8 >> 3] = $9 - $0 - $11; - break label$1; - } - if ($7 >>> 0 >= 2146435072) { - $0 = $0 - $0; - HEAPF64[$1 >> 3] = $0; - HEAPF64[$1 + 8 >> 3] = $0; - $3 = 0; - break label$1; - } - $5 = $4 & 1048575; - $5 = $5 | 1096810496; - wasm2js_scratch_store_i32(0, $8 | 0); - wasm2js_scratch_store_i32(1, $5 | 0); - $0 = +wasm2js_scratch_load_f64(); - $3 = 0; - $5 = 1; - while (1) { - $3 = ($6 + 16 | 0) + ($3 << 3) | 0; - if (Math_abs($0) < 2147483648) { - $10 = ~~$0; - } else { - $10 = -2147483648; - } - $2 = +($10 | 0); - HEAPF64[$3 >> 3] = $2; - $0 = ($0 - $2) * 16777216; - $3 = 1; - $10 = $5 & 1; - $5 = 0; - if ($10) { - continue; - } - break; - } - HEAPF64[$6 + 32 >> 3] = $0; - label$20 : { - if ($0 != 0) { - $3 = 2; - break label$20; - } - $5 = 1; - while (1) { - $3 = $5; - $5 = $3 - 1 | 0; - if (HEAPF64[($6 + 16 | 0) + ($3 << 3) >> 3] == 0) { - continue; - } - break; - } - } - $3 = __rem_pio2_large($6 + 16 | 0, $6, ($7 >>> 20 | 0) - 1046 | 0, $3 + 1 | 0, 1); - $0 = HEAPF64[$6 >> 3]; - if (($4 | 0) < -1 ? 1 : ($4 | 0) <= -1) { - HEAPF64[$1 >> 3] = -$0; - HEAPF64[$1 + 8 >> 3] = -HEAPF64[$6 + 8 >> 3]; - $3 = 0 - $3 | 0; - break label$1; - } - HEAPF64[$1 >> 3] = $0; - HEAPF64[$1 + 8 >> 3] = HEAPF64[$6 + 8 >> 3]; - } - __stack_pointer = $6 + 48 | 0; - return $3; -} -function silk_stereo_find_predictor($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - $13 = __stack_pointer - 16 | 0; - __stack_pointer = $13; - silk_sum_sqr_shift($13 + 4 | 0, $13 + 12 | 0, $1, $4); - silk_sum_sqr_shift($13, $13 + 8 | 0, $2, $4); - $6 = HEAP32[$13 + 12 >> 2]; - $11 = HEAP32[$13 + 8 >> 2]; - $9 = ($6 | 0) > ($11 | 0) ? $6 : $11; - $9 = $9 + ($9 & 1) | 0; - HEAP32[$13 >> 2] = HEAP32[$13 >> 2] >> $9 - $11; - $6 = HEAP32[$13 + 4 >> 2] >> $9 - $6; - HEAP32[$13 + 4 >> 2] = ($6 | 0) > 1 ? $6 : 1; - $1 = silk_inner_prod_aligned_scale($1, $2, $9, $4); - $4 = $1 >> 31; - $11 = Math_clz32($4 ^ $1 + $4); - $6 = $1 << $11 - 1; - $15 = $6; - $4 = HEAP32[$13 + 4 >> 2]; - $2 = $4 >> 31; - $8 = Math_clz32($2 ^ $2 + $4); - $12 = $4 << $8 - 1; - $2 = 536870911 / ($12 >> 16) << 16 >> 16; - $6 = (Math_imul($2, $6 & 65535) >> 16) + Math_imul($6 >> 16, $2) | 0; - $10 = $6 >> 31; - $7 = $10; - $10 = $12 >> 31; - $14 = $10; - $10 = $7; - $7 = $14; - $7 = __wasm_i64_mul($6, $10, $12, $7); - $14 = $7; - $10 = i64toi32_i32$HIGH_BITS; - $12 = $15 - ((($10 & 536870911) << 3 | $14 >>> 29) & -8) | 0; - $2 = (Math_imul($12 >> 16, $2) + $6 | 0) + (Math_imul($12 & 65535, $2) >> 16) | 0; - $7 = $5; - $6 = ($11 - $8 | 0) + 16 | 0; - label$1 : { - if (($6 | 0) <= -1) { - $6 = 0 - $6 | 0; - $11 = 2147483647 >>> $6 | 0; - $8 = -2147483648 >> $6; - $2 = (($2 | 0) > ($11 | 0) ? $11 : ($2 | 0) < ($8 | 0) ? $8 : $2) << $6; - break label$1; - } - $2 = ($6 | 0) < 32 ? $2 >> $6 : 0; - } - $2 = ($2 | 0) > -16384 ? $2 : -16384; - $2 = ($2 | 0) < 16384 ? $2 : 16384; - $11 = (Math_imul($2, $2 & 65535) >> 16) + Math_imul($2 >> 16, $2) | 0; - $6 = $11 >> 31; - $6 = $6 ^ $6 + $11; - $7 = ($5 | 0) > ($6 | 0) ? $7 : $6; - $5 = $9 >> 1; - $8 = 0; - $6 = HEAP32[$3 >> 2]; - $14 = $3; - $15 = $6; - label$3 : { - if (($4 | 0) <= 0) { - $9 = $7 << 16 >> 16; - $10 = Math_imul($9, 0 - $6 >> 16); - break label$3; - } - $8 = Math_clz32($4); - $10 = 24 - $8 | 0; - $17 = 0 - $10 | 0; - $12 = ($8 & 1 ? 32768 : 46214) >>> ($8 >>> 1) | 0; - $16 = $12; - $9 = $4; - label$5 : { - if (!$10) { - break label$5; - } - $9 = $4 << $17 | $4 >>> 56 - $8; - if ($4 >>> 0 <= 127) { - break label$5; - } - $9 = $4 << $8 + 8 | $4 >>> $10; - } - $16 = ((Math_imul(Math_imul($9 & 127, 13959168) >>> 16 | 0, $16) >>> 16 | 0) + $12 << $5) - $6 >> 16; - $9 = $7 << 16 >> 16; - $7 = $4; - label$6 : { - if (!$10) { - break label$6; - } - $7 = $4 << $17 | $4 >>> 56 - $8; - if ($4 >>> 0 <= 127) { - break label$6; - } - $7 = $4 << $8 + 8 | $4 >>> $10; - } - $8 = (Math_imul(Math_imul($7 & 127, 13959168) >>> 16 | 0, $12) >>> 16 | 0) + $12 | 0; - $10 = Math_imul($9, $16); - } - $6 = ($15 + $10 | 0) + (Math_imul(($8 << $5) - $6 & 65535, $9) >> 16) | 0; - HEAP32[$14 >> 2] = $6; - $7 = HEAP32[$13 >> 2] - (Math_imul($1 >> 16, $2) + (Math_imul($1 & 65535, $2) >> 16) << 4) | 0; - $1 = $11 << 16 >> 16; - $4 = $7 + ((Math_imul($1, $4 & 65535) >> 16) + Math_imul($4 >> 16, $1) << 6) | 0; - HEAP32[$13 >> 2] = $4; - $14 = $3; - $1 = HEAP32[$3 + 4 >> 2]; - $3 = $1; - label$7 : { - if (($4 | 0) < 1) { - $11 = 0; - break label$7; - } - $11 = Math_clz32($4); - $12 = 24 - $11 | 0; - $7 = 0 - $12 | 0; - $8 = $4; - label$9 : { - if (!$12) { - break label$9; - } - $8 = $4 << $7 | $4 >>> 56 - $11; - if ($4 >>> 0 <= 127) { - break label$9; - } - $8 = $4 << $11 + 8 | $4 >>> $12; - } - $10 = Math_imul($8 & 127, 13959168) >>> 16 | 0; - $8 = ($11 & 1 ? 32768 : 46214) >>> ($11 >>> 1) | 0; - $10 = $8 + (Math_imul($8, $10) >>> 16 | 0) | 0; - label$10 : { - if (!$12) { - break label$10; - } - if ($4 >>> 0 <= 127) { - $4 = $4 << $7 | $4 >>> 56 - $11; - break label$10; - } - $4 = $4 << $11 + 8 | $4 >>> $12; - } - $18 = (Math_imul(Math_imul($4 & 127, 13959168) >>> 16 | 0, $8) >>> 16 | 0) + $8 | 0; - $11 = $10 << $5; - } - $4 = $18; - $4 = ($3 + Math_imul($11 - $1 >> 16, $9) | 0) + (Math_imul(($4 << $5) - $1 & 65535, $9) >> 16) | 0; - HEAP32[$14 + 4 >> 2] = $4; - $3 = $4 >> 31; - $1 = Math_clz32($3 ^ $3 + $4); - $3 = $4 << $1 - 1; - $8 = $3; - $4 = ($6 | 0) > 1 ? $6 : 1; - $9 = Math_clz32($4); - $5 = $4 << $9 - 1; - $4 = 536870911 / ($5 >> 16) << 16 >> 16; - $3 = (Math_imul($4, $3 & 65535) >> 16) + Math_imul($3 >> 16, $4) | 0; - $7 = $3 >> 31; - $10 = $7; - $7 = $5 >> 31; - $14 = $7; - $7 = $10; - $14 = __wasm_i64_mul($3, $7, $5, $14); - $10 = $14; - $7 = i64toi32_i32$HIGH_BITS; - $5 = $8 - ((($7 & 536870911) << 3 | $10 >>> 29) & -8) | 0; - $4 = (Math_imul($5 >> 16, $4) + $3 | 0) + (Math_imul($5 & 65535, $4) >> 16) | 0; - $3 = ($1 - $9 | 0) + 15 | 0; - label$12 : { - if (($3 | 0) <= -1) { - $3 = 0 - $3 | 0; - $1 = 2147483647 >>> $3 | 0; - $9 = -2147483648 >> $3; - $4 = (($1 | 0) < ($4 | 0) ? $1 : ($4 | 0) < ($9 | 0) ? $9 : $4) << $3; - break label$12; - } - $4 = ($3 | 0) < 32 ? $4 >> $3 : 0; - } - $4 = ($4 | 0) > 0 ? $4 : 0; - HEAP32[$0 >> 2] = ($4 | 0) < 32767 ? $4 : 32767; - __stack_pointer = $13 + 16 | 0; - return $2; -} -function transient_analysis($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = Math_fround(0), $21 = 0, $22 = Math_fround(0), $23 = 0, $24 = 0, $25 = Math_fround(0), $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - $10 = __stack_pointer; - $21 = $10; - $10 = $10 - (($1 << 2) + 15 & -16) | 0; - __stack_pointer = $10; - HEAP32[$6 >> 2] = 0; - $16 = ($1 | 0) / 2 | 0; - label$1 : { - label$2 : { - label$3 : { - if (($2 | 0) < 1) { - break label$3; - } - $22 = $5 ? Math_fround(.03125) : Math_fround(.0625); - $23 = $16 - 5 | 0; - $24 = Math_imul($16, 6) - 102 | 0; - $25 = Math_fround($16 | 0); - $26 = +($16 | 0); - $27 = ($1 | 0) < 1; - $28 = $10; - $29 = $10; - $30 = $10; - $31 = $10; - $32 = $10; - $33 = ($1 | 0) < 36; - while (1) { - if (!$27) { - $12 = Math_imul($1, $18); - $13 = Math_fround(0); - $7 = 0; - $14 = Math_fround(0); - while (1) { - $9 = HEAPF32[($7 + $12 << 2) + $0 >> 2]; - $8 = Math_fround($13 + $9); - HEAPF32[($7 << 2) + $10 >> 2] = $8; - $13 = Math_fround(Math_fround($14 + $8) - Math_fround($9 + $9)); - $14 = Math_fround($9 + Math_fround($8 * Math_fround(-.5))); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - HEAP32[$10 >> 2] = 0; - HEAP32[$10 + 4 >> 2] = 0; - $7 = $28; - HEAP32[$7 + 40 >> 2] = 0; - HEAP32[$7 + 44 >> 2] = 0; - HEAP32[$29 + 32 >> 2] = 0; - HEAP32[$7 + 36 >> 2] = 0; - HEAP32[$30 + 24 >> 2] = 0; - HEAP32[$7 + 28 >> 2] = 0; - HEAP32[$31 + 16 >> 2] = 0; - HEAP32[$7 + 20 >> 2] = 0; - HEAP32[$32 + 8 >> 2] = 0; - HEAP32[$7 + 12 >> 2] = 0; - $7 = 0; - $13 = Math_fround(0); - $9 = Math_fround(0); - $20 = Math_fround(0); - $8 = Math_fround(0); - $11 = ($1 | 0) > 1; - $15 = $8; - label$7 : { - if (!$11) { - break label$7; - } - while (1) { - $12 = $7 << 3; - $8 = HEAPF32[$12 + $10 >> 2]; - $15 = Math_fround($8 * $8); - $8 = HEAPF32[($12 | 4) + $10 >> 2]; - $8 = Math_fround($15 + Math_fround($8 * $8)); - $9 = Math_fround($9 + Math_fround($22 * Math_fround($8 - $9))); - HEAPF32[($7 << 2) + $10 >> 2] = $9; - $13 = Math_fround($13 + $8); - $7 = $7 + 1 | 0; - if (($16 | 0) != ($7 | 0)) { - continue; - } - break; - } - $7 = $16; - $14 = Math_fround(0); - $20 = $13; - $8 = Math_fround(0); - $15 = $8; - if (!$11) { - break label$7; - } - while (1) { - $12 = $7 - 1 | 0; - $11 = ($12 << 2) + $10 | 0; - $8 = Math_fround($8 + Math_fround(Math_fround(HEAPF32[$11 >> 2] - $8) * Math_fround(.125))); - HEAPF32[$11 >> 2] = $8; - $14 = $8 < $14 ? $14 : $8; - $11 = ($7 | 0) > 1; - $7 = $12; - if ($11) { - continue; - } - break; - } - $15 = $14; - } - $8 = $15; - $9 = $20; - $13 = HEAPF32[$10 >> 2]; - if ($13 != $13) { - break label$2; - } - $9 = Math_fround($25 / Math_fround(Math_fround(Math_sqrt(+Math_fround($9 * $8) * .5 * $26)) + Math_fround(1.0000000036274937e-15))); - if ($9 != $9) { - break label$1; - } - $12 = 0; - if (!$33) { - $8 = Math_fround($9 * Math_fround(64)); - $7 = 12; - while (1) { - $9 = Math_fround(Math_floor(Math_fround($8 * Math_fround(HEAPF32[($7 << 2) + $10 >> 2] + Math_fround(1.0000000036274937e-15))))); - $11 = Math_fround(Math_min($9, Math_fround(127))) < Math_fround(0); - $17 = $11 ? 0 : 127; - $17 = $9 > Math_fround(127) ? $17 : $11 ? $17 : +$9; - label$12 : { - if (Math_abs($17) < 2147483648) { - $11 = ~~$17; - break label$12; - } - $11 = -2147483648; - } - $12 = HEAPU8[$11 + 42832 | 0] + $12 | 0; - $7 = $7 + 4 | 0; - if (($23 | 0) > ($7 | 0)) { - continue; - } - break; - } - } - $7 = ($12 << 8) / ($24 | 0) | 0; - if (($19 | 0) < ($7 | 0)) { - HEAP32[$4 >> 2] = $18; - $19 = $7; - } - $18 = $18 + 1 | 0; - if (($18 | 0) != ($2 | 0)) { - continue; - } - break; - } - $7 = ($19 | 0) > 200; - if (!$5 | $19 - 201 >>> 0 > 398) { - break label$3; - } - HEAP32[$6 >> 2] = 1; - $7 = 0; - } - HEAPF32[$3 >> 2] = Math_sqrt(Math_max(+Math_fround(Math_fround(Math_min(Math_fround(Math_max(Math_fround(Math_fround(Math_sqrt(+(Math_imul($19, 27) | 0))) + Math_fround(-42)), Math_fround(0))), Math_fround(163))) * Math_fround(.006899999920278788)) + -.139, 0)); - __stack_pointer = $21; - return $7; - } - celt_fatal(42960, 42508, 369); - abort(); - } - celt_fatal(42998, 42508, 370); - abort(); -} -function run_prefilter($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0; - $12 = __stack_pointer - 16 | 0; - __stack_pointer = $12; - $21 = HEAP32[$0 >> 2]; - $20 = HEAP32[$21 + 4 >> 2]; - $15 = $4 + 1024 | 0; - $14 = $12 - ((Math_imul($15, $3) << 2) + 15 & -16) | 0; - $18 = $14; - __stack_pointer = $14; - $16 = $12; - HEAP32[$12 + 12 >> 2] = ($15 << 2) + $14; - HEAP32[$12 + 8 >> 2] = $14; - $23 = ($3 | 0) > 1 ? $3 : 1; - $22 = $4 << 2; - $24 = $4 + $20 | 0; - $14 = ($20 << 2) + $1 | 0; - $12 = 0; - while (1) { - memcpy(memcpy(HEAP32[($16 + 8 | 0) + ($12 << 2) >> 2], ($12 << 12) + $2 | 0, 4096) + 4096 | 0, (Math_imul($12, $24) << 2) + $14 | 0, $22); - $12 = $12 + 1 | 0; - if (($23 | 0) != ($12 | 0)) { - continue; - } - break; - } - label$2 : { - if ($9) { - $14 = $18; - $12 = $14 - (($15 << 1 & -4) + 15 & -16) | 0; - __stack_pointer = $12; - pitch_downsample($16 + 8 | 0, $12, $15, $3, HEAP32[$0 + 72 >> 2]); - pitch_search($12 + 2048 | 0, $12, $4, 979, $16 + 4 | 0, HEAP32[$0 + 72 >> 2]); - HEAP32[$16 + 4 >> 2] = 1024 - HEAP32[$16 + 4 >> 2]; - $13 = remove_doubling($12, 1024, 15, $4, $16 + 4 | 0, HEAP32[$0 + 104 >> 2], HEAPF32[$0 + 108 >> 2], HEAP32[$0 + 72 >> 2]); - if (HEAP32[$16 + 4 >> 2] >= 1023) { - HEAP32[$16 + 4 >> 2] = 1022; - } - $13 = Math_fround($13 * Math_fround(.699999988079071)); - $12 = HEAP32[$0 + 56 >> 2]; - $13 = ($12 | 0) > 2 ? Math_fround($13 * Math_fround(.5)) : $13; - $13 = ($12 | 0) > 8 ? Math_fround(0) : ($12 | 0) > 4 ? Math_fround($13 * Math_fround(.5)) : $13; - break label$2; - } - HEAP32[$16 + 4 >> 2] = 15; - $13 = Math_fround(0); - } - $12 = HEAP32[$16 + 4 >> 2]; - $3 = HEAP32[$0 + 104 >> 2]; - $14 = $12 - $3 | 0; - $9 = $14; - $13 = HEAP32[$11 >> 2] ? Math_fround($13 * HEAPF32[$11 + 40 >> 2]) : $13; - $14 = $14 >> 31; - $17 = (Math_imul($14 ^ $14 + $9, 10) | 0) > ($12 | 0) ? Math_fround(.4000000059604645) : Math_fround(.20000000298023224); - $17 = ($10 | 0) < 25 ? Math_fround($17 + Math_fround(.10000000149011612)) : $17; - $19 = ($10 | 0) < 35 ? Math_fround($17 + Math_fround(.10000000149011612)) : $17; - $17 = HEAPF32[$0 + 108 >> 2]; - $19 = $17 > Math_fround(.4000000059604645) ? Math_fround($19 + Math_fround(-.10000000149011612)) : $19; - $19 = $17 > Math_fround(.550000011920929) ? Math_fround($19 + Math_fround(-.10000000149011612)) : $19; - if (!($13 < ($19 > Math_fround(.20000000298023224) ? $19 : Math_fround(.20000000298023224)))) { - $27 = 1; - $13 = Math_fround(Math_floor(Math_fround(Math_fround(Math_fround((Math_fround(Math_abs(Math_fround($13 - $17))) < Math_fround(.10000000149011612) ? $17 : $13) * Math_fround(32)) / Math_fround(3)) + Math_fround(.5)))); - label$8 : { - if (Math_fround(Math_abs($13)) < Math_fround(2147483648)) { - $12 = ~~$13; - break label$8; - } - $12 = -2147483648; - } - $12 = ($12 | 0) > 7 ? 7 : $12 - 1 | 0; - $25 = ($12 | 0) > 0 ? $12 : 0; - $26 = Math_fround(Math_fround($25 + 1 | 0) * Math_fround(.09375)); - } - $28 = 4096 - $22 | 0; - $14 = $20 << 2; - $17 = Math_fround(-$26); - $9 = ($4 | 0) < 1025; - $29 = 0 - $4 << 2; - $12 = 0; - while (1) { - $15 = HEAP32[$21 + 44 >> 2]; - HEAP32[$0 + 104 >> 2] = ($3 | 0) > 15 ? $3 : 15; - $10 = ((Math_imul($12, $20) << 2) + $0 | 0) + 244 | 0; - $3 = memcpy((Math_imul($12, $24) << 2) + $1 | 0, $10, $14); - $15 = $15 - $20 | 0; - if ($15) { - $11 = HEAP32[$0 + 104 >> 2]; - $13 = Math_fround(-HEAPF32[$0 + 108 >> 2]); - $18 = HEAP32[$0 + 112 >> 2]; - comb_filter($3 + $14 | 0, HEAP32[($16 + 8 | 0) + ($12 << 2) >> 2] + 4096 | 0, $11, $11, $15, $13, $13, $18, $18, 0, 0, HEAP32[$0 + 72 >> 2]); - } - $11 = $15 << 2; - $18 = ($16 + 8 | 0) + ($12 << 2) | 0; - comb_filter($11 + ($3 + $14 | 0) | 0, (HEAP32[$18 >> 2] + $11 | 0) + 4096 | 0, HEAP32[$0 + 104 >> 2], HEAP32[$16 + 4 >> 2], $4 - $15 | 0, Math_fround(-HEAPF32[$0 + 108 >> 2]), $17, HEAP32[$0 + 112 >> 2], $5, HEAP32[$21 + 60 >> 2], $20, HEAP32[$0 + 72 >> 2]); - $15 = $4 << 2; - memcpy($10, $15 + $3 | 0, $14); - $3 = ($12 << 12) + $2 | 0; - label$12 : { - if (!$9) { - memcpy($3, HEAP32[$18 >> 2] + $15 | 0, 4096); - break label$12; - } - memcpy((memmove($3, $3 + $15 | 0, $28) + $29 | 0) + 4096 | 0, HEAP32[$18 >> 2] + 4096 | 0, $22); - } - $12 = $12 + 1 | 0; - if (($23 | 0) != ($12 | 0)) { - $3 = HEAP32[$0 + 104 >> 2]; - continue; - } - break; - } - HEAPF32[$7 >> 2] = $26; - HEAP32[$6 >> 2] = HEAP32[$16 + 4 >> 2]; - HEAP32[$8 >> 2] = $25; - __stack_pointer = $16 + 16 | 0; - return $27; -} -function opus_repacketizer_out_range_impl($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - $7 = -1; - label$1 : { - if (($1 | 0) < 0 | ($1 | 0) >= ($2 | 0) | HEAP32[$0 + 4 >> 2] < ($2 | 0)) { - break label$1; - } - $10 = $2 - $1 | 0; - $11 = (($1 << 1) + $0 | 0) + 200 | 0; - $8 = $5 ? HEAP16[(($10 << 1) + $11 | 0) - 2 >> 1] > 251 ? 2 : 1 : 0; - label$4 : { - label$5 : { - label$6 : { - label$7 : { - switch ($10 - 1 | 0) { - case 0: - $7 = -2; - $8 = (HEAP16[$11 >> 1] + $8 | 0) + 1 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$0 | 0] & 252; - $7 = $3 + 1 | 0; - break label$6; - case 1: - $7 = HEAPU16[$11 >> 1]; - $9 = $7 << 16 >> 16; - $12 = HEAPU16[$11 + 2 >> 1]; - if (($12 | 0) == ($7 | 0)) { - $7 = -2; - $8 = ($9 << 1 | 1) + $8 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$0 | 0] & 252 | 1; - $7 = $3 + 1 | 0; - break label$6; - } - $7 = -2; - $8 = (((($12 << 16 >> 16) + $8 | 0) + $9 | 0) + (($9 | 0) > 251) | 0) + 2 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$0 | 0] & 252 | 2; - $7 = $3 + 1 | 0; - $7 = $7 + encode_size(HEAP16[$11 >> 1], $7) | 0; - break label$6; - default: - break label$7; - } - } - $7 = $3; - if (($10 | 0) > 2) { - break label$5; - } - } - if (!$6 | ($4 | 0) <= ($8 | 0)) { - break label$4; - } - } - $12 = $5 ? HEAP16[(($10 << 1) + $11 | 0) - 2 >> 1] > 251 ? 4 : 3 : 2; - $7 = 1; - $9 = HEAP16[$11 >> 1]; - label$13 : { - label$14 : { - if (($10 | 0) <= 1) { - break label$14; - } - $8 = $9 & 65535; - while (1) { - if (HEAPU16[($7 << 1) + $11 >> 1] == ($8 | 0)) { - $7 = $7 + 1 | 0; - if (($10 | 0) != ($7 | 0)) { - continue; - } - break label$14; - } - break; - } - $7 = 1; - $8 = ($9 + $12 | 0) + (($9 | 0) > 251 ? 2 : 1) | 0; - $13 = $10 - 1 | 0; - $12 = ($1 ^ -1) + $2 | 0; - if (($12 | 0) >= 2) { - while (1) { - $9 = HEAP16[($7 << 1) + $11 >> 1]; - $8 = ($9 + $8 | 0) + (($9 | 0) > 251 ? 2 : 1) | 0; - $7 = $7 + 1 | 0; - if (($12 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $7 = -2; - $8 = HEAP16[($13 << 1) + $11 >> 1] + $8 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - $7 = HEAPU8[$0 | 0]; - $9 = $10 | -128; - HEAP8[$3 + 1 | 0] = $9; - HEAP8[$3 | 0] = $7 | 3; - $7 = 0; - break label$13; - } - $7 = -2; - $8 = Math_imul($9, $10) + $12 | 0; - if (($8 | 0) > ($4 | 0)) { - break label$1; - } - $7 = HEAPU8[$0 | 0]; - HEAP8[$3 + 1 | 0] = $10; - HEAP8[$3 | 0] = $7 | 3; - $9 = $10; - $7 = 1; - } - $13 = $7; - $7 = $3 + 2 | 0; - label$19 : { - if (!$6) { - break label$19; - } - $12 = $4 - $8 | 0; - if (!$12) { - break label$19; - } - HEAP8[$3 + 1 | 0] = $9 | 64; - $14 = ($12 - 1 | 0) / 255 | 0; - if (($12 | 0) >= 256) { - $9 = ($14 | 0) > 1 ? $14 : 1; - memset($7, 255, $9); - $8 = 0; - while (1) { - $7 = $7 + 1 | 0; - $8 = $8 + 1 | 0; - if (($9 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - HEAP8[$7 | 0] = (Math_imul($14, -255) + $12 | 0) - 1; - $7 = $7 + 1 | 0; - $8 = $4; - } - if (($10 | 0) < 2 | $13) { - break label$4; - } - $2 = ($1 ^ -1) + $2 | 0; - $9 = ($2 | 0) > 1 ? $2 : 1; - $2 = 0; - while (1) { - $7 = encode_size(HEAP16[($2 << 1) + $11 >> 1], $7) + $7 | 0; - $2 = $2 + 1 | 0; - if (($9 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - if ($5) { - $7 = encode_size(HEAP16[(($10 << 1) + $11 | 0) - 2 >> 1], $7) + $7 | 0; - } - if (($10 | 0) >= 1) { - $0 = (($1 << 2) + $0 | 0) + 8 | 0; - $1 = 0; - while (1) { - $2 = ($1 << 1) + $11 | 0; - $7 = memmove($7, HEAP32[($1 << 2) + $0 >> 2], HEAP16[$2 >> 1]) + HEAP16[$2 >> 1] | 0; - $1 = $1 + 1 | 0; - if (($10 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (!(!$6 | $3 + $4 >>> 0 <= $7 >>> 0)) { - memset($7, 0, ($4 - $7 | 0) + $3 | 0); - } - $7 = $8; - } - return $7; -} -function try_realloc_chunk($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $6 = HEAP32[$0 + 4 >> 2]; - $3 = $6 & 3; - $5 = $6 & -8; - $2 = $5 + $0 | 0; - label$2 : { - if (!$3) { - $3 = 0; - if ($1 >>> 0 < 256) { - break label$2; - } - if ($1 + 4 >>> 0 <= $5 >>> 0) { - $3 = $0; - if ($5 - $1 >>> 0 <= HEAP32[13352] << 1 >>> 0) { - break label$2; - } - } - return 0; - } - label$5 : { - if ($1 >>> 0 <= $5 >>> 0) { - $3 = $5 - $1 | 0; - if ($3 >>> 0 < 16) { - break label$5; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $1 = $0 + $1 | 0; - HEAP32[$1 + 4 >> 2] = $3 | 3; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] | 1; - dispose_chunk($1, $3); - break label$5; - } - $3 = 0; - if (HEAP32[13238] == ($2 | 0)) { - $2 = HEAP32[13235] + $5 | 0; - if ($2 >>> 0 <= $1 >>> 0) { - break label$2; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $3 = $0 + $1 | 0; - $1 = $2 - $1 | 0; - HEAP32[$3 + 4 >> 2] = $1 | 1; - HEAP32[13235] = $1; - HEAP32[13238] = $3; - break label$5; - } - if (HEAP32[13237] == ($2 | 0)) { - $2 = HEAP32[13234] + $5 | 0; - if ($2 >>> 0 < $1 >>> 0) { - break label$2; - } - $3 = $2 - $1 | 0; - label$9 : { - if ($3 >>> 0 >= 16) { - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $1 = $0 + $1 | 0; - HEAP32[$1 + 4 >> 2] = $3 | 1; - $2 = $0 + $2 | 0; - HEAP32[$2 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] & -2; - break label$9; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $2 | 2; - $1 = $0 + $2 | 0; - HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 1; - $3 = 0; - $1 = 0; - } - HEAP32[13237] = $1; - HEAP32[13234] = $3; - break label$5; - } - $4 = HEAP32[$2 + 4 >> 2]; - if ($4 & 2) { - break label$2; - } - $7 = ($4 & -8) + $5 | 0; - if ($7 >>> 0 < $1 >>> 0) { - break label$2; - } - $9 = $7 - $1 | 0; - label$11 : { - if ($4 >>> 0 <= 255) { - $3 = HEAP32[$2 + 12 >> 2]; - $2 = HEAP32[$2 + 8 >> 2]; - $4 = $4 >>> 3 | 0; - $5 = ($4 << 3) + 52968 | 0; - if (($2 | 0) == ($3 | 0)) { - HEAP32[13232] = HEAP32[13232] & __wasm_rotl_i32(-2, $4); - break label$11; - } - HEAP32[$2 + 12 >> 2] = $3; - HEAP32[$3 + 8 >> 2] = $2; - break label$11; - } - $8 = HEAP32[$2 + 24 >> 2]; - $4 = HEAP32[$2 + 12 >> 2]; - label$14 : { - if (($4 | 0) != ($2 | 0)) { - $3 = HEAP32[$2 + 8 >> 2]; - HEAP32[$3 + 12 >> 2] = $4; - HEAP32[$4 + 8 >> 2] = $3; - break label$14; - } - label$17 : { - $3 = $2 + 20 | 0; - $5 = HEAP32[$3 >> 2]; - if ($5) { - break label$17; - } - $3 = $2 + 16 | 0; - $5 = HEAP32[$3 >> 2]; - if ($5) { - break label$17; - } - $4 = 0; - break label$14; - } - while (1) { - $10 = $3; - $4 = $5; - $3 = $4 + 20 | 0; - $5 = HEAP32[$3 >> 2]; - if ($5) { - continue; - } - $3 = $4 + 16 | 0; - $5 = HEAP32[$4 + 16 >> 2]; - if ($5) { - continue; - } - break; - } - HEAP32[$10 >> 2] = 0; - } - if (!$8) { - break label$11; - } - $5 = HEAP32[$2 + 28 >> 2]; - $3 = ($5 << 2) + 53232 | 0; - label$19 : { - if (HEAP32[$3 >> 2] == ($2 | 0)) { - HEAP32[$3 >> 2] = $4; - if ($4) { - break label$19; - } - HEAP32[13233] = HEAP32[13233] & __wasm_rotl_i32(-2, $5); - break label$11; - } - HEAP32[(HEAP32[$8 + 16 >> 2] == ($2 | 0) ? 16 : 20) + $8 >> 2] = $4; - if (!$4) { - break label$11; - } - } - HEAP32[$4 + 24 >> 2] = $8; - $3 = HEAP32[$2 + 16 >> 2]; - if ($3) { - HEAP32[$4 + 16 >> 2] = $3; - HEAP32[$3 + 24 >> 2] = $4; - } - $2 = HEAP32[$2 + 20 >> 2]; - if (!$2) { - break label$11; - } - HEAP32[$4 + 20 >> 2] = $2; - HEAP32[$2 + 24 >> 2] = $4; - } - if ($9 >>> 0 <= 15) { - HEAP32[$0 + 4 >> 2] = $6 & 1 | $7 | 2; - $1 = $0 + $7 | 0; - HEAP32[$1 + 4 >> 2] = HEAP32[$1 + 4 >> 2] | 1; - break label$5; - } - HEAP32[$0 + 4 >> 2] = $6 & 1 | $1 | 2; - $1 = $0 + $1 | 0; - HEAP32[$1 + 4 >> 2] = $9 | 3; - $2 = $0 + $7 | 0; - HEAP32[$2 + 4 >> 2] = HEAP32[$2 + 4 >> 2] | 1; - dispose_chunk($1, $9); - } - $3 = $0; - } - return $3; -} -function silk_A2NLSF($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - $6 = __stack_pointer - 144 | 0; - __stack_pointer = $6; - HEAP32[$6 + 12 >> 2] = $6 + 16; - HEAP32[$6 + 8 >> 2] = $6 + 80; - $10 = $2 >> 1; - silk_A2NLSF_init($1, $6 + 80 | 0, $6 + 16 | 0, $10); - $13 = $6 + 80 | 0; - $15 = HEAP16[7560]; - $3 = silk_A2NLSF_eval_poly($6 + 80 | 0, $15, $10); - if (($3 | 0) <= -1) { - HEAP16[$0 >> 1] = 0; - $13 = $6 + 16 | 0; - $3 = silk_A2NLSF_eval_poly($6 + 16 | 0, $15, $10); - $14 = 1; - } - label$2 : while (1) { - $8 = 1; - $9 = $15; - while (1) { - label$4 : { - $19 = $8 << 1; - $4 = HEAP16[$19 + 15120 >> 1]; - $16 = silk_A2NLSF_eval_poly($13, $4, $10); - label$5 : { - label$6 : { - $7 = ($3 | 0) > 0; - if (!(($3 | 0) < 0 | (0 - $5 | 0) < ($16 | 0) ? !(($5 | 0) <= ($16 | 0) ? !$7 : 0) : 0)) { - $5 = $4 + $9 | 0; - $11 = ($5 >> 1) + ($5 & 1) | 0; - $12 = silk_A2NLSF_eval_poly($13, $11, $10); - label$9 : { - label$10 : { - if ($7) { - break label$10; - } - $5 = -256; - if (($12 | 0) <= -1) { - break label$10; - } - $7 = $11; - $17 = $12; - break label$9; - } - $5 = ($12 | 0) < 1 & ($3 | 0) > -1; - $17 = $5 ? $12 : $16; - $3 = $5 ? $3 : $12; - $7 = $5 ? $11 : $4; - $9 = $5 ? $9 : $11; - $5 = $5 ? -256 : -128; - } - $4 = $7 + $9 | 0; - $12 = ($4 >> 1) + ($4 & 1) | 0; - $4 = silk_A2NLSF_eval_poly($13, $12, $10); - if (($4 | 0) <= -1 | ($3 | 0) > 0) { - break label$6; - } - $17 = $4; - $7 = $12; - break label$5; - } - $7 = ($8 | 0) < 128; - $5 = 0; - $9 = $4; - $3 = $16; - $8 = $8 + 1 | 0; - if ($7) { - continue; - } - if ($18 >>> 0 >= 16) { - $3 = 32768 / ($2 + 1 | 0) | 0; - HEAP16[$0 >> 1] = $3; - $8 = 2; - if (($2 | 0) < 2) { - break label$4; - } - $3 = $3 << 1; - HEAP16[$0 + 2 >> 1] = $3; - if (($2 | 0) == 2) { - break label$4; - } - while (1) { - $3 = HEAPU16[$0 >> 1] + $3 | 0; - HEAP16[($8 << 1) + $0 >> 1] = $3; - $8 = $8 + 1 | 0; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$4; - } - silk_bwexpander_32($1, $2, (-2 << $18) + 65536 | 0); - silk_A2NLSF_init($1, $6 + 80 | 0, $6 + 16 | 0, $10); - $14 = 0; - $13 = $6 + 80 | 0; - $8 = $18 + 1 | 0; - $18 = $8; - $3 = silk_A2NLSF_eval_poly($6 + 80 | 0, $15, $10); - if (($3 | 0) > -1) { - continue label$2; - } - HEAP16[$0 >> 1] = 0; - $14 = 1; - $13 = $6 + 16 | 0; - $3 = silk_A2NLSF_eval_poly($6 + 16 | 0, $15, $10); - $18 = $8; - continue label$2; - } - $11 = ($4 | 0) < 1 & ($3 | 0) > -1; - $17 = $11 ? $4 : $17; - $3 = $11 ? $3 : $4; - $9 = $11 ? $9 : $12; - $5 = $11 ? $5 : $5 | 64; - $7 = $11 ? $12 : $7; - } - $4 = $9 + $7 | 0; - $4 = silk_A2NLSF_eval_poly($13, ($4 >> 1) + ($4 & 1) | 0, $10); - label$13 : { - if (!(($4 | 0) <= -1 | ($3 | 0) > 0)) { - $7 = $4; - break label$13; - } - $9 = ($4 | 0) < 1 & ($3 | 0) > -1; - $7 = $9 ? $4 : $17; - $3 = $9 ? $3 : $4; - $5 = $9 ? $5 : $5 + 32 | 0; - } - $4 = $3 - $7 | 0; - $7 = $3 >> 31; - label$15 : { - if (($7 ^ $3 + $7) >= 65536) { - $5 = (($3 | 0) / ($4 >> 5) | 0) + $5 | 0; - break label$15; - } - if (!$4) { - break label$15; - } - $5 = ((($3 << 5) + ($4 >> 1) | 0) / ($4 | 0) | 0) + $5 | 0; - } - $3 = ($8 << 8) + $5 | 0; - HEAP16[($14 << 1) + $0 >> 1] = ($3 | 0) < 32767 ? $3 : 32767; - $14 = $14 + 1 | 0; - if (($14 | 0) >= ($2 | 0)) { - break label$4; - } - $5 = !$16; - $3 = 4096 - ($14 << 12 & 8192) | 0; - $9 = HEAP16[$19 + 15118 >> 1]; - $13 = HEAP32[($6 + 8 | 0) + (($14 & 1) << 2) >> 2]; - continue; - } - break; - } - break; - } - __stack_pointer = $6 + 144 | 0; -} -function ec_enc_done($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $2 = HEAP32[$0 + 28 >> 2]; - $4 = Math_clz32($2); - $1 = 2147483647 >>> $4 | 0; - $3 = HEAP32[$0 + 32 >> 2]; - $5 = $1 + $3 & -2147483648 >> $4; - label$1 : { - label$2 : { - if ($2 + $3 >>> 0 <= ($1 | $5) >>> 0) { - $1 = $1 >>> 1 | 0; - $5 = $3 + $1 & ($1 ^ -1); - $4 = $4 + 1 | 0; - break label$2; - } - if (!$4) { - break label$1; - } - } - $6 = $4; - while (1) { - $7 = $5 >>> 23 | 0; - label$5 : { - if (($7 | 0) != 255) { - $3 = $5 >>> 31 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - if (($2 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $3 - 1 | 0; - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $4; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $7 & 255; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $5 = $5 << 8 & 2147483392; - $1 = ($6 | 0) > 8; - $4 = $6 - 8 | 0; - $6 = $4; - if ($1) { - continue; - } - break; - } - } - $1 = -1; - $3 = HEAP32[$0 + 40 >> 2]; - label$12 : { - label$13 : { - label$14 : { - if (($3 | 0) <= -1) { - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - break label$14; - } - break label$12; - } - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - $1 = HEAP32[$0 + 36 >> 2]; - if (!$1) { - break label$13; - } - } - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = 255; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = 0; - } - $3 = HEAP32[$0 + 12 >> 2]; - $5 = HEAP32[$0 + 16 >> 2]; - label$19 : { - if (($5 | 0) <= 7) { - $6 = HEAP32[$0 + 44 >> 2]; - break label$19; - } - $1 = $5; - while (1) { - $2 = -1; - $6 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 + 8 >> 2]; - if ($6 >>> 0 > $5 + HEAP32[$0 + 24 >> 2] >>> 0) { - $2 = $5 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $2; - HEAP8[HEAP32[$0 >> 2] + ($6 - $2 | 0) | 0] = $3; - $2 = 0; - } - $6 = HEAP32[$0 + 44 >> 2] | $2; - HEAP32[$0 + 44 >> 2] = $6; - $3 = $3 >>> 8 | 0; - $2 = ($1 | 0) > 15; - $5 = $1 - 8 | 0; - $1 = $5; - if ($2) { - continue; - } - break; - } - } - label$23 : { - if ($6) { - break label$23; - } - $1 = HEAP32[$0 + 24 >> 2]; - memset($1 + HEAP32[$0 >> 2] | 0, 0, (HEAP32[$0 + 4 >> 2] - $1 | 0) - HEAP32[$0 + 8 >> 2] | 0); - if (($5 | 0) < 1) { - break label$23; - } - $1 = HEAP32[$0 + 8 >> 2]; - $2 = HEAP32[$0 + 4 >> 2]; - if ($1 >>> 0 >= $2 >>> 0) { - HEAP32[$0 + 44 >> 2] = -1; - return; - } - $4 = 0 - $4 | 0; - if (!(HEAP32[$0 + 24 >> 2] + $1 >>> 0 < $2 >>> 0 | ($5 | 0) <= ($4 | 0))) { - HEAP32[$0 + 44 >> 2] = -1; - $3 = (-1 << $4 ^ -1) & $3; - } - $0 = HEAP32[$0 >> 2] + (($1 ^ -1) + $2 | 0) | 0; - HEAP8[$0 | 0] = HEAPU8[$0 | 0] | $3; - } -} -function silk_encode_indices($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $7 = __stack_pointer - 48 | 0; - __stack_pointer = $7; - label$1 : { - label$2 : { - $2 = $3 ? (Math_imul($2, 36) + $0 | 0) + 6100 | 0 : $0 + 4736 | 0; - $5 = (HEAP8[$2 + 29 | 0] << 1) + HEAP8[$2 + 30 | 0] | 0; - if ($5 >>> 0 < 6) { - if (($5 | 0) <= 1 ? $3 : 0) { - break label$2; - } - label$4 : { - if (!(($5 | 0) < 2 ? !$3 : 0)) { - ec_enc_icdf($1, $5 - 2 | 0, 5829, 8); - break label$4; - } - ec_enc_icdf($1, $5, 5833, 8); - } - $3 = HEAP8[$2 | 0]; - label$6 : { - if (($4 | 0) == 2) { - ec_enc_icdf($1, $3, 7328, 8); - break label$6; - } - ec_enc_icdf($1, $3 >> 3, (HEAP8[$2 + 29 | 0] << 3) + 7296 | 0, 8); - ec_enc_icdf($1, HEAPU8[$2 | 0] & 7, 5872, 8); - } - if (HEAP32[$0 + 4580 >> 2] >= 2) { - $3 = 1; - while (1) { - ec_enc_icdf($1, HEAP8[$2 + $3 | 0], 7328, 8); - $3 = $3 + 1 | 0; - if (($3 | 0) < HEAP32[$0 + 4580 >> 2]) { - continue; - } - break; - } - } - $3 = HEAP32[$0 + 4692 >> 2]; - ec_enc_icdf($1, HEAP8[$2 + 8 | 0], HEAP32[$3 + 16 >> 2] + Math_imul(HEAP16[$3 >> 1], HEAP8[$2 + 29 | 0] >> 1) | 0, 8); - silk_NLSF_unpack($7 + 16 | 0, $7, HEAP32[$0 + 4692 >> 2], HEAP8[$2 + 8 | 0]); - $5 = HEAP32[$0 + 4692 >> 2]; - $6 = HEAP16[$5 + 2 >> 1]; - if (($6 | 0) != HEAP32[$0 + 4640 >> 2]) { - break label$1; - } - $3 = 0; - if (($6 | 0) > 0) { - while (1) { - $6 = $3; - $3 = $3 + 1 | 0; - $8 = $3 + $2 | 0; - $9 = HEAP8[$8 + 8 | 0]; - label$12 : { - if (($9 | 0) >= 4) { - ec_enc_icdf($1, 8, HEAP32[$5 + 28 >> 2] + HEAP16[($7 + 16 | 0) + ($6 << 1) >> 1] | 0, 8); - ec_enc_icdf($1, HEAP8[$8 + 8 | 0] - 4 | 0, 5880, 8); - break label$12; - } - if (($9 | 0) <= -4) { - ec_enc_icdf($1, 0, HEAP32[$5 + 28 >> 2] + HEAP16[($7 + 16 | 0) + ($6 << 1) >> 1] | 0, 8); - ec_enc_icdf($1, -4 - HEAP8[$8 + 8 | 0] | 0, 5880, 8); - break label$12; - } - ec_enc_icdf($1, $9 + 4 | 0, HEAP32[$5 + 28 >> 2] + HEAP16[($7 + 16 | 0) + ($6 << 1) >> 1] | 0, 8); - } - $5 = HEAP32[$0 + 4692 >> 2]; - if (HEAP16[$5 + 2 >> 1] > ($3 | 0)) { - continue; - } - break; - } - } - if (HEAP32[$0 + 4580 >> 2] == 4) { - ec_enc_icdf($1, HEAP8[$2 + 31 | 0], 5835, 8); - } - label$16 : { - if (HEAPU8[$2 + 29 | 0] != 2) { - break label$16; - } - label$17 : { - if (!(($4 | 0) != 2 | HEAP32[$0 + 5768 >> 2] != 2)) { - $3 = HEAP16[$2 + 26 >> 1] - HEAP16[$0 + 5772 >> 1] | 0; - $6 = $3 + 9 | 0; - $3 = $3 + 8 | 0; - ec_enc_icdf($1, $3 >>> 0 > 19 ? 0 : $6, 2080, 8); - if ($3 >>> 0 < 20) { - break label$17; - } - } - $3 = HEAP16[$2 + 26 >> 1]; - $5 = HEAP32[$0 + 4576 >> 2] >> 1; - $6 = ($3 | 0) / ($5 | 0) | 0; - ec_enc_icdf($1, $6, 2048, 8); - ec_enc_icdf($1, $3 - Math_imul($6 << 16 >> 16, $5 << 16 >> 16) | 0, HEAP32[$0 + 4684 >> 2], 8); - } - HEAP16[$0 + 5772 >> 1] = HEAPU16[$2 + 26 >> 1]; - ec_enc_icdf($1, HEAP8[$2 + 28 | 0], HEAP32[$0 + 4688 >> 2], 8); - ec_enc_icdf($1, HEAP8[$2 + 32 | 0], 7369, 8); - if (HEAP32[$0 + 4580 >> 2] >= 1) { - $3 = 0; - while (1) { - ec_enc_icdf($1, HEAP8[($2 + $3 | 0) + 4 | 0], HEAP32[(HEAP8[$2 + 32 | 0] << 2) + 7440 >> 2], 8); - $3 = $3 + 1 | 0; - if (($3 | 0) < HEAP32[$0 + 4580 >> 2]) { - continue; - } - break; - } - } - if ($4) { - break label$16; - } - ec_enc_icdf($1, HEAP8[$2 + 33 | 0], 5826, 8); - } - HEAP32[$0 + 5768 >> 2] = HEAP8[$2 + 29 | 0]; - ec_enc_icdf($1, HEAP8[$2 + 34 | 0], 5857, 8); - __stack_pointer = $7 + 48 | 0; - return; - } - celt_fatal(7919, 7971, 59); - abort(); - } - celt_fatal(7993, 7971, 60); - abort(); - } - celt_fatal(8047, 7971, 93); - abort(); -} -function pitch_downsample($0, $1, $2, $3, $4) { - var $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = Math_fround(0), $12 = Math_fround(0), $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = Math_fround(0), $19 = Math_fround(0), $20 = Math_fround(0), $21 = Math_fround(0), $22 = Math_fround(0); - $6 = __stack_pointer - 48 | 0; - __stack_pointer = $6; - $13 = $2 >> 1; - $8 = HEAP32[$0 >> 2]; - if (($2 | 0) >= 4) { - $15 = ($13 | 0) > 2 ? $13 : 2; - $7 = 1; - while (1) { - $9 = $7 << 3; - $14 = $9 + $8 | 0; - HEAPF32[($7 << 2) + $1 >> 2] = Math_fround(HEAPF32[$14 >> 2] + Math_fround(Math_fround(HEAPF32[$14 - 4 >> 2] + HEAPF32[($9 | 4) + $8 >> 2]) * Math_fround(.5))) * Math_fround(.5); - $7 = $7 + 1 | 0; - if (($15 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $5 = Math_fround(Math_fround(Math_fround(HEAPF32[$8 + 4 >> 2] * Math_fround(.5)) + HEAPF32[$8 >> 2]) * Math_fround(.5)); - HEAPF32[$1 >> 2] = $5; - if (($3 | 0) == 2) { - $8 = HEAP32[$0 + 4 >> 2]; - if (($2 | 0) >= 4) { - $15 = ($13 | 0) > 2 ? $13 : 2; - $7 = 1; - while (1) { - $9 = ($7 << 2) + $1 | 0; - $0 = $9; - $5 = HEAPF32[$9 >> 2]; - $9 = $7 << 3; - $14 = $9 + $8 | 0; - HEAPF32[$0 >> 2] = $5 + Math_fround(Math_fround(HEAPF32[$14 >> 2] + Math_fround(Math_fround(HEAPF32[$14 - 4 >> 2] + HEAPF32[($9 | 4) + $8 >> 2]) * Math_fround(.5))) * Math_fround(.5)); - $7 = $7 + 1 | 0; - if (($15 | 0) != ($7 | 0)) { - continue; - } - break; - } - $5 = HEAPF32[$1 >> 2]; - } - HEAPF32[$1 >> 2] = $5 + Math_fround(Math_fround(Math_fround(HEAPF32[$8 + 4 >> 2] * Math_fround(.5)) + HEAPF32[$8 >> 2]) * Math_fround(.5)); - } - $7 = 0; - _celt_autocorr($1, $6 + 16 | 0, 0, 0, 4, $13, $4); - HEAPF32[$6 + 16 >> 2] = HEAPF32[$6 + 16 >> 2] * Math_fround(1.000100016593933); - $5 = HEAPF32[$6 + 20 >> 2]; - HEAPF32[$6 + 20 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.00800000037997961)) * Math_fround(.00800000037997961)); - $5 = HEAPF32[$6 + 24 >> 2]; - HEAPF32[$6 + 24 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.01600000075995922)) * Math_fround(.01600000075995922)); - $5 = HEAPF32[$6 + 28 >> 2]; - HEAPF32[$6 + 28 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.024000000208616257)) * Math_fround(.024000000208616257)); - $5 = HEAPF32[$6 + 32 >> 2]; - HEAPF32[$6 + 32 >> 2] = $5 - Math_fround(Math_fround($5 * Math_fround(.03200000151991844)) * Math_fround(.03200000151991844)); - _celt_lpc($6, $6 + 16 | 0, 4); - $5 = Math_fround(HEAPF32[$6 + 8 >> 2] * Math_fround(.7289999127388)); - HEAPF32[$6 + 8 >> 2] = $5; - $10 = Math_fround(HEAPF32[$6 + 12 >> 2] * Math_fround(.6560999155044556)); - HEAPF32[$6 + 12 >> 2] = $10; - $11 = Math_fround(HEAPF32[$6 + 4 >> 2] * Math_fround(.809999942779541)); - HEAPF32[$6 + 4 >> 2] = $11; - $12 = Math_fround(HEAPF32[$6 >> 2] * Math_fround(.8999999761581421)); - HEAPF32[$6 >> 2] = $12; - if (($2 | 0) >= 2) { - $17 = Math_fround($10 + Math_fround($5 * Math_fround(.800000011920929))); - $18 = Math_fround($5 + Math_fround($11 * Math_fround(.800000011920929))); - $19 = Math_fround($11 + Math_fround($12 * Math_fround(.800000011920929))); - $20 = Math_fround($10 * Math_fround(.800000011920929)); - $21 = Math_fround($12 + Math_fround(.800000011920929)); - $5 = Math_fround(0); - $10 = Math_fround(0); - $11 = Math_fround(0); - $12 = Math_fround(0); - while (1) { - $8 = ($7 << 2) + $1 | 0; - $16 = HEAPF32[$8 >> 2]; - HEAPF32[$8 >> 2] = Math_fround($20 * $22) + Math_fround(Math_fround($17 * $5) + Math_fround(Math_fround($18 * $10) + Math_fround(Math_fround($19 * $11) + Math_fround(Math_fround($21 * $12) + $16)))); - $22 = $5; - $5 = $10; - $10 = $11; - $11 = $12; - $12 = $16; - $7 = $7 + 1 | 0; - if (($13 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $6 + 48 | 0; -} -function quant_coarse_energy_impl($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { - var $15 = 0, $16 = Math_fround(0), $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = Math_fround(0), $21 = Math_fround(0), $22 = 0, $23 = Math_fround(0), $24 = Math_fround(0), $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - $15 = __stack_pointer - 16 | 0; - __stack_pointer = $15; - HEAP32[$15 + 8 >> 2] = 0; - HEAP32[$15 + 12 >> 2] = 0; - if (($6 + 3 | 0) <= ($5 | 0)) { - ec_enc_bit_logp($9, $12, 3); - } - if ($12) { - $19 = Math_fround(.149993896484375); - } else { - $12 = $11 << 2; - $26 = HEAPF32[$12 + 33376 >> 2]; - $19 = HEAPF32[$12 + 33392 >> 2]; - } - if (($1 | 0) < ($2 | 0)) { - $27 = ($10 | 0) > 1 ? $10 : 1; - $28 = Math_imul($10, 3); - $29 = $5 + 32 | 0; - $5 = HEAP32[$0 + 8 >> 2]; - $11 = $1; - while (1) { - $30 = ($14 | 0) != 0 & ($11 | 0) > 1; - $31 = Math_imul($11 - $2 | 0, $28); - $12 = (($11 | 0) < 20 ? $11 : 20) << 1; - $32 = $12 + $7 | 0; - $33 = ($12 | 1) + $7 | 0; - $10 = 0; - while (1) { - $12 = Math_imul($5, $10) + $11 << 2; - $16 = HEAPF32[$12 + $3 >> 2]; - $17 = HEAPF32[$4 + $12 >> 2]; - $20 = Math_fround(Math_fround(Math_max($17, Math_fround(-28))) - $13); - $5 = $16 < $20 ^ 1; - $21 = Math_fround($26 * Math_fround(Math_max($17, Math_fround(-9)))); - $22 = ($15 + 8 | 0) + ($10 << 2) | 0; - $17 = HEAPF32[$22 >> 2]; - $23 = Math_fround(Math_fround($16 - $21) - $17); - $24 = Math_fround(Math_floor(Math_fround($23 + Math_fround(.5)))); - label$7 : { - if (Math_fround(Math_abs($24)) < Math_fround(2147483648)) { - $12 = ~~$24; - break label$7; - } - $12 = -2147483648; - } - if (!($5 | ($12 | 0) > -1)) { - $16 = Math_fround($20 - $16); - label$10 : { - if (Math_fround(Math_abs($16)) < Math_fround(2147483648)) { - $5 = ~~$16; - break label$10; - } - $5 = -2147483648; - } - $12 = $12 + $5 | 0; - $12 = $12 & $12 >> 31; - } - HEAP32[$15 + 4 >> 2] = $12; - $6 = ($29 - HEAP32[$9 + 20 >> 2] | 0) - Math_clz32(HEAP32[$9 + 28 >> 2]) | 0; - $5 = $12; - label$12 : { - if (($1 | 0) == ($11 | 0)) { - break label$12; - } - $18 = $6 + $31 | 0; - if (($18 | 0) > 23) { - break label$12; - } - $5 = ($12 | 0) < 1 ? $12 : 1; - HEAP32[$15 + 4 >> 2] = $5; - if (($18 | 0) > 15) { - break label$12; - } - $5 = ($5 | 0) > -1 ? $5 : -1; - HEAP32[$15 + 4 >> 2] = $5; - } - if ($30) { - $5 = $5 >> 31 & $5; - HEAP32[$15 + 4 >> 2] = $5; - } - label$14 : { - if (($6 | 0) >= 15) { - ec_laplace_encode($9, $15 + 4 | 0, HEAPU8[$32 | 0] << 7, HEAPU8[$33 | 0] << 6); - break label$14; - } - if (($6 | 0) >= 2) { - $5 = ($5 | 0) < 1 ? $5 : 1; - $5 = ($5 | 0) > -1 ? $5 : -1; - HEAP32[$15 + 4 >> 2] = $5; - ec_enc_icdf($9, $5 << 1 ^ $5 >> 31, 33408, 2); - break label$14; - } - if (($6 | 0) == 1) { - $5 = $5 >> 31 & $5; - HEAP32[$15 + 4 >> 2] = $5; - ec_enc_bit_logp($9, 0 - $5 | 0, 1); - break label$14; - } - HEAP32[$15 + 4 >> 2] = -1; - } - $5 = HEAP32[$0 + 8 >> 2]; - $6 = Math_imul($10, $5) + $11 << 2; - $18 = HEAP32[$15 + 4 >> 2]; - $16 = Math_fround($18 | 0); - HEAPF32[$8 + $6 >> 2] = $23 - $16; - HEAPF32[$4 + $6 >> 2] = Math_fround($17 + $21) + $16; - HEAPF32[$22 >> 2] = Math_fround($17 + $16) - Math_fround($19 * $16); - $12 = $12 - $18 | 0; - $6 = $12; - $12 = $12 >> 31; - $25 = ($12 ^ $12 + $6) + $25 | 0; - $10 = $10 + 1 | 0; - if (($27 | 0) != ($10 | 0)) { - continue; - } - break; - } - $11 = $11 + 1 | 0; - if (($11 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $15 + 16 | 0; - return $14 ? 0 : $25; -} -function compute_dense($0, $1, $2) { - var $3 = Math_fround(0), $4 = Math_fround(0), $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $7 = HEAP32[$0 + 12 >> 2]; - label$1 : { - if (($7 | 0) < 1) { - break label$1; - } - $9 = HEAP32[$0 + 8 >> 2]; - $6 = HEAP32[$0 >> 2]; - while (1) { - HEAPF32[($5 << 2) + $1 >> 2] = HEAP8[$5 + $6 | 0]; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $10 = HEAP32[$0 + 4 >> 2]; - $6 = 0; - $11 = ($9 | 0) < 1; - while (1) { - if (!$11) { - $8 = ($6 << 2) + $1 | 0; - $3 = HEAPF32[$8 >> 2]; - $5 = 0; - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($5 << 2) + $2 >> 2] * Math_fround(HEAP8[(Math_imul($5, $7) + $6 | 0) + $10 | 0]))); - HEAPF32[$8 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($9 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $6 = $6 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - if (($7 | 0) < 1) { - break label$1; - } - $5 = 0; - while (1) { - $6 = ($5 << 2) + $1 | 0; - HEAPF32[$6 >> 2] = HEAPF32[$6 >> 2] * Math_fround(.0078125); - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - label$7 : { - if (HEAP32[$0 + 16 >> 2]) { - $5 = 0; - if (($7 | 0) <= 0) { - break label$7; - } - while (1) { - $3 = Math_fround(1); - $6 = ($5 << 2) + $1 | 0; - $4 = Math_fround(HEAPF32[$6 >> 2] * Math_fround(.5)); - label$10 : { - if ($4 < Math_fround(8) ^ 1) { - break label$10; - } - $3 = Math_fround(0); - if ($4 > Math_fround(-8) ^ 1) { - break label$10; - } - $3 = Math_fround(.5); - if ($4 != $4) { - break label$10; - } - $9 = $4 < Math_fround(0); - $4 = $9 ? Math_fround(-$4) : $4; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($4 * Math_fround(25)) + Math_fround(.5)))); - label$11 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$11; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $4 = Math_fround($4 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $4)) * Math_fround($4 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = Math_fround(Math_fround(($9 ? Math_fround(-$3) : $3) * Math_fround(.5)) + Math_fround(.5)); - } - HEAPF32[$6 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - break label$7; - } - $5 = 0; - if (($7 | 0) <= 0) { - break label$7; - } - while (1) { - $3 = Math_fround(1); - $6 = ($5 << 2) + $1 | 0; - $4 = HEAPF32[$6 >> 2]; - label$14 : { - if ($4 < Math_fround(8) ^ 1) { - break label$14; - } - $3 = Math_fround(-1); - if ($4 > Math_fround(-8) ^ 1) { - break label$14; - } - $3 = Math_fround(0); - if ($4 != $4) { - break label$14; - } - $9 = $4 < Math_fround(0); - $4 = $9 ? Math_fround(-$4) : $4; - $3 = Math_fround(Math_floor(Math_fround(Math_fround($4 * Math_fround(25)) + Math_fround(.5)))); - label$15 : { - if (Math_fround(Math_abs($3)) < Math_fround(2147483648)) { - $8 = ~~$3; - break label$15; - } - $8 = -2147483648; - } - $3 = HEAPF32[($8 << 2) + 48128 >> 2]; - $4 = Math_fround($4 + Math_fround(Math_fround($8 | 0) * Math_fround(-.03999999910593033))); - $3 = Math_fround($3 + Math_fround(Math_fround(Math_fround(1) - Math_fround($3 * $4)) * Math_fround($4 * Math_fround(Math_fround(1) - Math_fround($3 * $3))))); - $3 = $9 ? Math_fround(-$3) : $3; - } - HEAPF32[$6 >> 2] = $3; - $5 = $5 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function silk_NLSF_stabilize($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - $12 = ($2 << 1) + $1 | 0; - $13 = $2 - 1 | 0; - $11 = ($13 << 1) + $0 | 0; - $16 = ($2 | 0) < 2; - label$1 : { - while (1) { - $5 = HEAP16[$0 >> 1]; - $9 = HEAP16[$1 >> 1]; - $3 = $5 - $9 | 0; - $4 = 1; - $6 = 0; - if (!$16) { - while (1) { - $7 = $5 << 16; - $10 = $4 << 1; - $5 = HEAP16[$10 + $0 >> 1]; - $7 = ($5 - ($7 >> 16) | 0) - HEAP16[$1 + $10 >> 1] | 0; - $8 = $7; - $7 = ($3 | 0) > ($7 | 0); - $3 = $7 ? $8 : $3; - $6 = $7 ? $4 : $6; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $5 = HEAP16[$12 >> 1]; - $4 = 32768 - ($5 + HEAP16[$11 >> 1] | 0) | 0; - $8 = $4; - $4 = ($3 | 0) > ($4 | 0); - if ((($4 ? $8 : $3) | 0) > -1) { - break label$1; - } - $3 = $4 ? $2 : $6; - label$5 : { - if (!$3) { - HEAP16[$0 >> 1] = $9; - break label$5; - } - label$7 : { - label$8 : { - if (($2 | 0) != ($3 | 0)) { - if (($3 | 0) >= 1) { - break label$8; - } - $9 = 0; - break label$7; - } - HEAP16[$11 >> 1] = -32768 - $5; - break label$5; - } - $4 = 1; - if (($3 | 0) == 1) { - break label$7; - } - while (1) { - $9 = HEAP16[($4 << 1) + $1 >> 1] + $9 | 0; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $8 = $3 << 1; - $14 = $8 + $1 | 0; - $10 = HEAP16[$14 >> 1] >> 1; - $7 = $10 + $9 | 0; - $6 = 32768; - label$11 : { - if (($2 | 0) <= ($3 | 0)) { - break label$11; - } - $6 = 32768 - $5 | 0; - $4 = $13; - if (($4 | 0) <= ($3 | 0)) { - break label$11; - } - while (1) { - $6 = $6 - HEAP16[($4 << 1) + $1 >> 1] | 0; - $4 = $4 - 1 | 0; - if (($4 | 0) > ($3 | 0)) { - continue; - } - break; - } - } - $4 = $0 + $8 | 0; - $9 = $4 - 2 | 0; - $3 = HEAP16[$4 >> 1] + HEAP16[$9 >> 1] | 0; - $3 = ($3 >> 1) + ($3 & 1) | 0; - $6 = $6 - $10 | 0; - label$13 : { - if (($7 | 0) > ($6 | 0)) { - $5 = $7; - $8 = $5; - if (($3 | 0) > ($5 | 0)) { - break label$13; - } - $8 = ($3 | 0) < ($6 | 0) ? $6 : $3; - break label$13; - } - $5 = $6; - $8 = $5; - if (($3 | 0) > ($5 | 0)) { - break label$13; - } - $8 = ($3 | 0) < ($7 | 0) ? $7 : $3; - } - $5 = $8; - $3 = $5 - $10 | 0; - HEAP16[$9 >> 1] = $3; - HEAP16[$4 >> 1] = HEAPU16[$14 >> 1] + $3; - } - $15 = $15 + 1 | 0; - if (($15 | 0) != 20) { - continue; - } - break; - } - silk_insertion_sort_increasing_all_values_int16($0, $2); - $4 = HEAP16[$0 >> 1]; - $3 = HEAP16[$1 >> 1]; - $3 = ($3 | 0) < ($4 | 0) ? $4 : $3; - HEAP16[$0 >> 1] = $3; - $7 = ($2 | 0) < 2; - if (!$7) { - $4 = 1; - while (1) { - $6 = $4 << 1; - $5 = $6 + $0 | 0; - $8 = $5; - $5 = HEAP16[$5 >> 1]; - $3 = HEAP16[$1 + $6 >> 1] + ($3 << 16 >> 16) | 0; - $3 = ($3 | 0) < 32767 ? $3 : 32767; - $3 = ($3 | 0) > -32768 ? $3 : -32768; - $3 = ($3 | 0) < ($5 | 0) ? $5 : $3; - HEAP16[$8 >> 1] = $3; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $4 = HEAP16[$11 >> 1]; - $3 = 32768 - HEAP16[$12 >> 1] | 0; - $3 = ($3 | 0) > ($4 | 0) ? $4 : $3; - HEAP16[$11 >> 1] = $3; - if ($7) { - break label$1; - } - $4 = $2 - 2 | 0; - while (1) { - $6 = $4 << 1; - $5 = $6 + $0 | 0; - $2 = $5; - $5 = HEAP16[$5 >> 1]; - $3 = ($3 << 16 >> 16) - HEAP16[($1 + $6 | 0) + 2 >> 1] | 0; - $3 = ($3 | 0) > ($5 | 0) ? $5 : $3; - HEAP16[$2 >> 1] = $3; - $6 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($6) { - continue; - } - break; - } - } -} -function clt_mdct_forward_c($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = Math_fround(0), $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = Math_fround(0), $25 = 0; - $7 = __stack_pointer; - $22 = $7; - $15 = HEAP32[$0 >> 2]; - $9 = $15 >> 1; - $20 = HEAP32[(($5 << 2) + $0 | 0) + 8 >> 2]; - $17 = HEAPF32[$20 + 4 >> 2]; - $16 = HEAP32[$0 + 24 >> 2]; - if (($5 | 0) >= 1) { - $0 = 0; - while (1) { - $15 = $9; - $9 = $9 >> 1; - $16 = ($15 << 2) + $16 | 0; - $0 = $0 + 1 | 0; - if (($5 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - $0 = $4 << 1 & -4; - $10 = $9 << 2; - $5 = ($0 + ($10 + $1 | 0) | 0) - 4 | 0; - $10 = $7 - ($10 + 15 & -16) | 0; - $7 = $10; - __stack_pointer = $7; - $21 = $4 + 3 >> 2; - $1 = $0 + $1 | 0; - $11 = $15 >> 2; - $12 = $7 - (($11 << 3) + 15 & -16) | 0; - __stack_pointer = $12; - label$3 : { - if (($4 | 0) < 1) { - $7 = 0; - $0 = $10; - break label$3; - } - $7 = ($21 | 0) > 1 ? $21 : 1; - $8 = $0 + $3 | 0; - $18 = $8 - 4 | 0; - $25 = 0 - $9 << 2; - $0 = $10; - while (1) { - $13 = HEAPF32[$18 >> 2]; - $14 = HEAPF32[$8 >> 2]; - HEAPF32[$0 >> 2] = Math_fround($13 * HEAPF32[($9 << 2) + $1 >> 2]) + Math_fround($14 * HEAPF32[$5 >> 2]); - HEAPF32[$0 + 4 >> 2] = Math_fround($14 * HEAPF32[$1 >> 2]) - Math_fround($13 * HEAPF32[$5 + $25 >> 2]); - $18 = $18 - 8 | 0; - $8 = $8 + 8 | 0; - $5 = $5 - 8 | 0; - $1 = $1 + 8 | 0; - $0 = $0 + 8 | 0; - $23 = $23 + 1 | 0; - if (($23 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $8 = $11 - $21 | 0; - if (($8 | 0) > ($7 | 0)) { - while (1) { - HEAP32[$0 >> 2] = HEAP32[$5 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$1 >> 2]; - $5 = $5 - 8 | 0; - $1 = $1 + 8 | 0; - $0 = $0 + 8 | 0; - $7 = $7 + 1 | 0; - if (($8 | 0) > ($7 | 0)) { - continue; - } - break; - } - $7 = $8; - } - if (($7 | 0) < ($11 | 0)) { - $8 = (($4 << 2) + $3 | 0) - 4 | 0; - $18 = 0 - $9 << 2; - while (1) { - HEAPF32[$0 >> 2] = Math_fround(HEAPF32[$8 >> 2] * HEAPF32[$5 >> 2]) - Math_fround(HEAPF32[$3 >> 2] * HEAPF32[$1 + $18 >> 2]); - HEAPF32[$0 + 4 >> 2] = Math_fround(HEAPF32[$8 >> 2] * HEAPF32[$1 >> 2]) + Math_fround(HEAPF32[$3 >> 2] * HEAPF32[($9 << 2) + $5 >> 2]); - $8 = $8 - 8 | 0; - $3 = $3 + 8 | 0; - $5 = $5 - 8 | 0; - $1 = $1 + 8 | 0; - $0 = $0 + 8 | 0; - $7 = $7 + 1 | 0; - if (($11 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - if (($15 | 0) <= 3) { - opus_fft_impl($20, $12); - __stack_pointer = $22; - return; - } - $1 = ($11 | 0) > 1 ? $11 : 1; - $0 = 0; - while (1) { - $5 = (HEAP16[HEAP32[$20 + 44 >> 2] + ($0 << 1) >> 1] << 3) + $12 | 0; - $13 = HEAPF32[($0 + $11 << 2) + $16 >> 2]; - $14 = HEAPF32[$10 >> 2]; - $19 = HEAPF32[($0 << 2) + $16 >> 2]; - $24 = HEAPF32[$10 + 4 >> 2]; - HEAPF32[$5 + 4 >> 2] = $17 * Math_fround(Math_fround($13 * $14) + Math_fround($19 * $24)); - HEAPF32[$5 >> 2] = $17 * Math_fround(Math_fround($19 * $14) - Math_fround($13 * $24)); - $10 = $10 + 8 | 0; - $0 = $0 + 1 | 0; - if (($1 | 0) != ($0 | 0)) { - continue; - } - break; - } - opus_fft_impl($20, $12); - if (($15 | 0) >= 4) { - $1 = ($11 | 0) > 1 ? $11 : 1; - $0 = 0; - $5 = (Math_imul($9 - 1 | 0, $6) << 2) + $2 | 0; - $7 = $6 << 1; - $9 = 0 - $7 << 2; - while (1) { - $13 = HEAPF32[$12 + 4 >> 2]; - $14 = HEAPF32[($0 + $11 << 2) + $16 >> 2]; - $17 = HEAPF32[$12 >> 2]; - $19 = HEAPF32[($0 << 2) + $16 >> 2]; - HEAPF32[$2 >> 2] = Math_fround($13 * $14) - Math_fround($17 * $19); - HEAPF32[$5 >> 2] = Math_fround($14 * $17) + Math_fround($13 * $19); - $12 = $12 + 8 | 0; - $5 = $5 + $9 | 0; - $2 = ($7 << 2) + $2 | 0; - $0 = $0 + 1 | 0; - if (($1 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $22; -} -function speex_resampler_process_float($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $8 = __stack_pointer - 16 | 0; - __stack_pointer = $8; - $16 = HEAP32[$0 + 24 >> 2]; - $17 = $16 - 1 | 0; - $13 = HEAP32[$0 + 72 >> 2]; - $18 = HEAP32[$0 + 28 >> 2]; - $19 = Math_imul($18, $1); - $14 = $13 + ($19 << 2) | 0; - $20 = HEAP32[$0 + 88 >> 2]; - $11 = HEAP32[$5 >> 2]; - $12 = HEAP32[$3 >> 2]; - $6 = $1 << 2; - $7 = $6 + HEAP32[$0 + 68 >> 2] | 0; - label$1 : { - if (HEAP32[$7 >> 2]) { - HEAP32[$8 + 12 >> 2] = $11; - HEAP32[$8 + 8 >> 2] = HEAP32[$7 >> 2]; - HEAP32[$0 + 56 >> 2] = 1; - $9 = FUNCTION_TABLE[HEAP32[$0 + 84 >> 2]]($0, $1, $14, $8 + 8 | 0, $4, $8 + 12 | 0) | 0; - $7 = HEAP32[$8 + 8 >> 2]; - $6 = HEAP32[$0 + 60 >> 2] + $6 | 0; - $10 = HEAP32[$6 >> 2]; - if (($7 | 0) > ($10 | 0)) { - HEAP32[$8 + 8 >> 2] = $10; - $7 = $10; - } - HEAP32[$8 + 12 >> 2] = $9; - HEAP32[$6 >> 2] = HEAP32[$6 >> 2] - $7; - $7 = HEAP32[$8 + 8 >> 2]; - if (($16 | 0) >= 2) { - $6 = 0; - while (1) { - HEAP32[($6 << 2) + $14 >> 2] = HEAP32[($6 + $7 << 2) + $14 >> 2]; - $6 = $6 + 1 | 0; - if (($17 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $15 = HEAP32[$0 + 68 >> 2] + ($1 << 2) | 0; - $9 = HEAP32[$15 >> 2] - $7 | 0; - HEAP32[$15 >> 2] = $9; - if ($9) { - $6 = 0; - $10 = HEAP32[$8 + 8 >> 2]; - while (1) { - $7 = $6 + $17 | 0; - HEAP32[($7 << 2) + $14 >> 2] = HEAP32[($7 + $10 << 2) + $14 >> 2]; - $6 = $6 + 1 | 0; - if (($9 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = HEAP32[$8 + 12 >> 2]; - $11 = $11 - $6 | 0; - if (HEAP32[$15 >> 2]) { - break label$1; - } - $4 = (Math_imul(HEAP32[$0 + 92 >> 2], $6) << 2) + $4 | 0; - } - if (!$11 | !$12) { - break label$1; - } - $15 = $18 - $17 | 0; - $18 = (($16 + $19 << 2) + $13 | 0) - 4 | 0; - while (1) { - $7 = $12 >>> 0 > $15 >>> 0 ? $15 : $12; - HEAP32[$8 + 12 >> 2] = $7; - HEAP32[$8 + 8 >> 2] = $11; - label$9 : { - if ($2) { - $6 = 0; - if (!$7) { - break label$9; - } - while (1) { - HEAP32[($6 + $17 << 2) + $14 >> 2] = HEAP32[(Math_imul($6, $20) << 2) + $2 >> 2]; - $6 = $6 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - break label$9; - } - if (!$7) { - break label$9; - } - memset($18, 0, $7 << 2); - } - HEAP32[$0 + 56 >> 2] = 1; - $10 = HEAP32[$0 + 24 >> 2]; - $7 = HEAP32[$0 + 72 >> 2] + (Math_imul(HEAP32[$0 + 28 >> 2], $1) << 2) | 0; - $16 = FUNCTION_TABLE[HEAP32[$0 + 84 >> 2]]($0, $1, $7, $8 + 12 | 0, $4, $8 + 8 | 0) | 0; - $9 = HEAP32[$8 + 12 >> 2]; - $6 = HEAP32[$0 + 60 >> 2] + ($1 << 2) | 0; - $13 = HEAP32[$6 >> 2]; - if (($9 | 0) > ($13 | 0)) { - HEAP32[$8 + 12 >> 2] = $13; - $9 = $13; - } - HEAP32[$8 + 8 >> 2] = $16; - HEAP32[$6 >> 2] = HEAP32[$6 >> 2] - $9; - $9 = HEAP32[$8 + 12 >> 2]; - $6 = $9; - if (($10 | 0) >= 2) { - $10 = $10 - 1 | 0; - $6 = 0; - while (1) { - HEAP32[($6 << 2) + $7 >> 2] = HEAP32[($6 + $9 << 2) + $7 >> 2]; - $6 = $6 + 1 | 0; - if (($10 | 0) != ($6 | 0)) { - continue; - } - break; - } - $6 = HEAP32[$8 + 12 >> 2]; - } - $12 = $12 - $9 | 0; - $7 = HEAP32[$8 + 8 >> 2]; - $11 = $11 - $7 | 0; - if (!$11) { - break label$1; - } - $2 = $2 ? (Math_imul($6, $20) << 2) + $2 | 0 : 0; - $4 = (Math_imul(HEAP32[$0 + 92 >> 2], $7) << 2) + $4 | 0; - if ($12) { - continue; - } - break; - } - } - HEAP32[$3 >> 2] = HEAP32[$3 >> 2] - $12; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - $11; - __stack_pointer = $8 + 16 | 0; - $6 = HEAP32[$0 + 84 >> 2]; - return ($6 | 0) == 9; -} -function check_control_input($0) { - var $1 = 0, $2 = 0, $3 = 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$10 : { - if ($0) { - $1 = HEAP32[$0 + 8 >> 2]; - label$12 : { - if (($1 | 0) <= 23999) { - if (($1 | 0) == 8e3 | ($1 | 0) == 12e3) { - break label$12; - } - if (($1 | 0) != 16e3) { - break label$1; - } - break label$12; - } - if (($1 | 0) <= 44099) { - if (($1 | 0) == 24e3 | ($1 | 0) == 32e3) { - break label$12; - } - break label$1; - } - if (($1 | 0) == 48e3) { - break label$12; - } - if (($1 | 0) != 44100) { - break label$1; - } - } - $1 = HEAP32[$0 + 20 >> 2]; - if (($1 | 0) != 12e3 ? !(($1 | 0) == 8e3 | ($1 | 0) == 16e3) : 0) { - break label$1; - } - $2 = HEAP32[$0 + 12 >> 2]; - if (($2 | 0) != 12e3 ? !(($2 | 0) == 8e3 | ($2 | 0) == 16e3) : 0) { - break label$1; - } - $3 = HEAP32[$0 + 16 >> 2]; - if ((($3 | 0) != 12e3 ? !(($3 | 0) == 8e3 | ($3 | 0) == 16e3) : 0) | (($1 | 0) < ($3 | 0) | ($1 | 0) > ($2 | 0))) { - break label$1; - } - if (($2 | 0) < ($3 | 0)) { - break label$1; - } - label$18 : { - label$19 : { - $1 = HEAP32[$0 + 24 >> 2]; - switch ($1 - 10 | 0) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - break label$10; - case 0: - case 10: - break label$18; - default: - break label$19; - } - } - if (($1 | 0) == 40) { - break label$18; - } - if (($1 | 0) != 60) { - break label$10; - } - } - if (HEAPU32[$0 + 32 >> 2] >= 101) { - break label$9; - } - if (HEAPU32[$0 + 48 >> 2] >= 2) { - break label$8; - } - if (HEAPU32[$0 + 52 >> 2] >= 2) { - break label$7; - } - if (HEAPU32[$0 + 40 >> 2] >= 2) { - break label$6; - } - $1 = HEAP32[$0 >> 2]; - if ($1 - 1 >>> 0 >= 2) { - break label$5; - } - $2 = HEAP32[$0 + 4 >> 2]; - if ($2 - 1 >>> 0 >= 2) { - break label$4; - } - if (($1 | 0) < ($2 | 0)) { - break label$3; - } - if (HEAPU32[$0 + 36 >> 2] >= 11) { - break label$2; - } - return 0; - } - celt_fatal(1952, 1989, 41); - abort(); - } - celt_fatal(2016, 1989, 69); - abort(); - } - celt_fatal(2016, 1989, 73); - abort(); - } - celt_fatal(2016, 1989, 77); - abort(); - } - celt_fatal(2016, 1989, 81); - abort(); - } - celt_fatal(2016, 1989, 85); - abort(); - } - celt_fatal(2016, 1989, 89); - abort(); - } - celt_fatal(2016, 1989, 93); - abort(); - } - celt_fatal(2016, 1989, 97); - abort(); - } - celt_fatal(2016, 1989, 101); - abort(); - } - celt_fatal(2016, 1989, 62); - abort(); -} -function silk_NLSF_encode($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - $7 = __stack_pointer - 128 | 0; - $10 = $7; - __stack_pointer = $7; - if ($6 >>> 0 < 3) { - silk_NLSF_stabilize($1, HEAP32[$2 + 36 >> 2], HEAP16[$2 + 2 >> 1]); - $7 = $7 - ((HEAPU16[$2 >> 1] << 2) + 15 & 524272) | 0; - __stack_pointer = $7; - silk_NLSF_VQ($7, $1, HEAP32[$2 + 8 >> 2], HEAP32[$2 + 12 >> 2], HEAP16[$2 >> 1], HEAP16[$2 + 2 >> 1]); - $9 = ($5 << 2) + 15 & -16; - $18 = $7 - $9 | 0; - $8 = $18; - __stack_pointer = $8; - silk_insertion_sort_increasing($7, $8, HEAP16[$2 >> 1], $5); - $15 = $8 - $9 | 0; - $7 = $15; - __stack_pointer = $7; - $19 = $7 - ($5 << 4) | 0; - __stack_pointer = $19; - if (($5 | 0) >= 1) { - $23 = $6 >>> 1 | 0; - $24 = $4 << 14 >> 16; - while (1) { - $22 = $16 << 2; - $17 = HEAP32[$22 + $18 >> 2]; - $20 = HEAP16[$2 + 2 >> 1]; - if (($20 | 0) >= 1) { - $7 = Math_imul($17, $20); - $25 = $7 + HEAP32[$2 + 8 >> 2] | 0; - $26 = HEAP32[$2 + 12 >> 2] + ($7 << 1) | 0; - $6 = 0; - while (1) { - $7 = $6 << 1; - $8 = HEAP16[$26 + $7 >> 1]; - HEAP16[($10 + 80 | 0) + $7 >> 1] = Math_imul(HEAPU16[$1 + $7 >> 1] - (HEAPU8[$6 + $25 | 0] << 7) << 16 >> 16, $8) >>> 14; - $9 = HEAP16[$3 + $7 >> 1]; - $11 = $9 >> 31; - $11 = Math_clz32($11 ^ $9 + $11); - $9 = $9 << $11 - 1; - $27 = $9; - $8 = Math_imul($8, $8); - $14 = Math_clz32($8); - $13 = $8 << $14 - 1; - $8 = 536870911 / ($13 >> 16) << 16 >> 16; - $9 = (Math_imul($8, $9 & 65535) >> 16) + Math_imul($9 >> 16, $8) | 0; - $12 = $9 >> 31; - $21 = $12; - $12 = $13 >> 31; - $28 = $12; - $12 = $21; - $21 = __wasm_i64_mul($9, $12, $13, $28); - $12 = i64toi32_i32$HIGH_BITS; - $13 = $27 - ((($12 & 536870911) << 3 | $21 >>> 29) & -8) | 0; - $8 = (Math_imul($13 >> 16, $8) + $9 | 0) + (Math_imul($13 & 65535, $8) >> 16) | 0; - $9 = $11 - $14 | 0; - $11 = $9 + 8 | 0; - $7 = ($10 + 48 | 0) + $7 | 0; - $9 = $9 + 29 | 0; - label$6 : { - if (($9 | 0) <= 20) { - $9 = 0 - $11 | 0; - $11 = 2147483647 >>> $9 | 0; - $14 = -2147483648 >> $9; - $8 = (($8 | 0) > ($11 | 0) ? $11 : ($8 | 0) < ($14 | 0) ? $14 : $8) << $9; - break label$6; - } - $8 = ($9 | 0) < 53 ? $8 >> $11 : 0; - } - HEAP16[$7 >> 1] = $8; - $6 = $6 + 1 | 0; - if (($20 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - silk_NLSF_unpack($10, $10 + 32 | 0, $2, $17); - $6 = $15 + $22 | 0; - HEAP32[$6 >> 2] = silk_NLSF_del_dec_quant(($16 << 4) + $19 | 0, $10 + 80 | 0, $10 + 48 | 0, $10 + 32 | 0, $10, HEAP32[$2 + 32 >> 2], HEAP16[$2 + 4 >> 1], HEAP16[$2 + 6 >> 1], $4, HEAP16[$2 + 2 >> 1]); - $7 = HEAP32[$2 + 16 >> 2] + Math_imul(HEAP16[$2 >> 1], $23) | 0; - $12 = $6; - if ($17) { - $7 = $7 + $17 | 0; - $8 = HEAPU8[$7 - 1 | 0]; - } else { - $8 = 256; - } - HEAP32[$12 >> 2] = Math_imul(67108864 - (silk_lin2log($8 - HEAPU8[$7 | 0] | 0) << 16) >> 16, $24) + HEAP32[$6 >> 2]; - $16 = $16 + 1 | 0; - if (($16 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - silk_insertion_sort_increasing($15, $10 + 124 | 0, $5, 1); - $7 = HEAP32[$10 + 124 >> 2]; - HEAP8[$0 | 0] = HEAP32[($7 << 2) + $18 >> 2]; - memcpy($0 + 1 | 0, ($7 << 4) + $19 | 0, HEAP16[$2 + 2 >> 1]); - silk_NLSF_decode($1, $0, $2); - __stack_pointer = $10 + 128 | 0; - $7 = HEAP32[$15 >> 2]; - return $7; - } - celt_fatal(15776, 15829, 63); - abort(); -} -function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - label$5 : { - label$6 : { - label$7 : { - label$8 : { - label$9 : { - label$11 : { - $5 = $1; - if ($5) { - $7 = $2; - if (!$7) { - break label$11; - } - $4 = $3; - if (!$4) { - break label$9; - } - $5 = Math_clz32($4) - Math_clz32($5) | 0; - if ($5 >>> 0 <= 31) { - break label$8; - } - break label$2; - } - $4 = $3; - if (($4 | 0) == 1 | $4 >>> 0 > 1) { - break label$2; - } - $5 = $0; - $7 = $2; - $5 = ($5 >>> 0) / ($7 >>> 0) | 0; - i64toi32_i32$HIGH_BITS = 0; - return $5; - } - $7 = $3; - if (!$0) { - break label$7; - } - if (!$7) { - break label$6; - } - $4 = $7 - 1 | 0; - if ($4 & $7) { - break label$6; - } - $9 = $5 >>> __wasm_ctz_i32($7) | 0; - i64toi32_i32$HIGH_BITS = 0; - return $9; - } - if (!($7 - 1 & $7)) { - break label$5; - } - $5 = (Math_clz32($7) + 33 | 0) - Math_clz32($5) | 0; - $7 = 0 - $5 | 0; - break label$3; - } - $7 = 63 - $5 | 0; - $5 = $5 + 1 | 0; - break label$3; - } - $4 = ($5 >>> 0) / ($7 >>> 0) | 0; - i64toi32_i32$HIGH_BITS = 0; - return $4; - } - $5 = Math_clz32($7) - Math_clz32($5) | 0; - if ($5 >>> 0 < 31) { - break label$4; - } - break label$2; - } - if (($7 | 0) == 1) { - break label$1; - } - $4 = $1; - $9 = $0; - $10 = 0; - $8 = __wasm_ctz_i32($7); - $6 = $8 & 31; - if (($8 & 63) >>> 0 >= 32) { - $9 = $4 >>> $6 | 0; - } else { - $10 = $4 >>> $6 | 0; - $9 = ((1 << $6) - 1 & $4) << 32 - $6 | $9 >>> $6; - } - i64toi32_i32$HIGH_BITS = $10; - return $9; - } - $7 = 63 - $5 | 0; - $5 = $5 + 1 | 0; - } - $9 = $1; - $4 = $0; - $10 = 0; - $8 = $5 & 63; - $6 = $8 & 31; - if (($8 & 63) >>> 0 >= 32) { - $12 = $9 >>> $6 | 0; - } else { - $10 = $9 >>> $6 | 0; - $12 = ((1 << $6) - 1 & $9) << 32 - $6 | $4 >>> $6; - } - $13 = $10; - $10 = $1; - $9 = $0; - $8 = $7 & 63; - $6 = $8 & 31; - if (($8 & 63) >>> 0 >= 32) { - $4 = $9 << $6; - $0 = 0; - } else { - $4 = (1 << $6) - 1 & $9 >>> 32 - $6 | $10 << $6; - $0 = $9 << $6; - } - $1 = $4; - if ($5) { - $4 = $3 - 1 | 0; - $6 = $2 - 1 | 0; - $4 = ($6 | 0) != -1 ? $4 + 1 | 0 : $4; - $7 = $6; - $9 = $4; - while (1) { - $4 = $12; - $8 = $4 << 1; - $4 = $13 << 1 | $4 >>> 31; - $12 = $8 | $1 >>> 31; - $11 = $12; - $10 = $4; - $4 = $7; - $8 = $11; - $6 = $9 - (($4 >>> 0 < $8 >>> 0) + $10 | 0) | 0; - $13 = $3 & $6 >> 31; - $4 = $8; - $11 = $6 >> 31; - $8 = $11 & $2; - $12 = $4 - $8 | 0; - $13 = $10 - (($4 >>> 0 < $8 >>> 0) + $13 | 0) | 0; - $4 = $1 << 1 | $0 >>> 31; - $0 = $0 << 1 | $14; - $1 = $4 | $16; - $15 = 0; - $11 = $11 & 1; - $14 = $11; - $5 = $5 - 1 | 0; - if ($5) { - continue; - } - break; - } - } - i64toi32_i32$HIGH_BITS = $15 | ($1 << 1 | $0 >>> 31); - return $0 << 1 | $11; - } - $0 = 0; - $1 = 0; - } - i64toi32_i32$HIGH_BITS = $1; - return $0; -} -function silk_NSQ_wrapper_FLP($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; - $7 = __stack_pointer - 1008 | 0; - __stack_pointer = $7; - label$1 : { - label$2 : { - $10 = HEAP32[$0 + 4580 >> 2]; - if (($10 | 0) < 1) { - break label$2; - } - $11 = HEAP32[$0 + 4636 >> 2]; - $13 = ($11 | 0) < 1; - while (1) { - if (!$13) { - $9 = Math_imul($12, 24); - $6 = 0; - while (1) { - $8 = $6 + $9 | 0; - HEAP16[($7 + 48 | 0) + ($8 << 1) >> 1] = lrintf(Math_fround(HEAPF32[(($8 << 2) + $1 | 0) + 244 >> 2] * Math_fround(8192))); - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $12 = $12 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - $9 = 0; - if (($10 | 0) <= 0) { - break label$2; - } - while (1) { - $6 = $9 << 2; - $8 = $6 + $1 | 0; - $11 = lrintf(Math_fround(HEAPF32[$8 + 644 >> 2] * Math_fround(16384))); - HEAP32[($7 + 32 | 0) + $6 >> 2] = lrintf(Math_fround(HEAPF32[$8 + 628 >> 2] * Math_fround(16384))) & 65535 | $11 << 16; - HEAP32[($7 + 16 | 0) + $6 >> 2] = lrintf(Math_fround(HEAPF32[$8 + 660 >> 2] * Math_fround(16384))); - HEAP32[$6 + $7 >> 2] = lrintf(Math_fround(HEAPF32[$8 + 676 >> 2] * Math_fround(16384))); - $9 = $9 + 1 | 0; - if (($10 | 0) != ($9 | 0)) { - continue; - } - break; - } - $11 = lrintf(Math_fround(HEAPF32[$1 + 692 >> 2] * Math_fround(1024))); - if (($10 | 0) < 1) { - break label$1; - } - $6 = Math_imul($10, 5); - $8 = ($6 | 0) > 1 ? $6 : 1; - $6 = 0; - while (1) { - HEAP16[($7 + 240 | 0) + ($6 << 1) >> 1] = lrintf(Math_fround(HEAPF32[(($6 << 2) + $1 | 0) + 144 >> 2] * Math_fround(16384))); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - break label$1; - } - $11 = lrintf(Math_fround(HEAPF32[$1 + 692 >> 2] * Math_fround(1024))); - } - $6 = 0; - $8 = HEAP32[$0 + 4640 >> 2]; - label$8 : { - if (($8 | 0) <= 0) { - break label$8; - } - while (1) { - HEAP16[($7 + 288 | 0) + ($6 << 1) >> 1] = lrintf(Math_fround(HEAPF32[(($6 << 2) + $1 | 0) + 16 >> 2] * Math_fround(4096))); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - $6 = 0; - if (($8 | 0) <= 0) { - break label$8; - } - while (1) { - HEAP16[(($6 << 1) + $7 | 0) + 320 >> 1] = lrintf(Math_fround(HEAPF32[(($6 << 2) + $1 | 0) + 80 >> 2] * Math_fround(4096))); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = 0; - if (($10 | 0) > 0) { - while (1) { - $8 = $6 << 2; - HEAP32[$8 + ($7 + 352 | 0) >> 2] = lrintf(Math_fround(HEAPF32[$1 + $8 >> 2] * Math_fround(65536))); - $6 = $6 + 1 | 0; - if (($10 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - $6 = 0; - $9 = 0; - $9 = HEAPU8[$2 + 29 | 0] == 2 ? HEAP16[(HEAP8[$2 + 33 | 0] << 1) + 5848 >> 1] : $9; - $8 = HEAP32[$0 + 4584 >> 2]; - if (($8 | 0) >= 1) { - while (1) { - HEAP16[($7 + 368 | 0) + ($6 << 1) >> 1] = lrintf(HEAPF32[($6 << 2) + $5 >> 2]); - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - label$16 : { - if (!(HEAP32[$0 + 4672 >> 2] < 1 ? HEAP32[$0 + 4628 >> 2] <= 1 : 0)) { - silk_NSQ_del_dec_c($0, $3, $2, $7 + 368 | 0, $4, $7 + 288 | 0, $7 + 240 | 0, $7 + 48 | 0, $7, $7 + 16 | 0, $7 + 32 | 0, $7 + 352 | 0, $1 + 228 | 0, $11, $9); - break label$16; - } - silk_NSQ_c($0, $3, $2, $7 + 368 | 0, $4, $7 + 288 | 0, $7 + 240 | 0, $7 + 48 | 0, $7, $7 + 16 | 0, $7 + 32 | 0, $7 + 352 | 0, $1 + 228 | 0, $11, $9); - } - __stack_pointer = $7 + 1008 | 0; -} -function ec_dec_uint($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - if ($1 >>> 0 > 1) { - $10 = $1 - 1 | 0; - label$2 : { - if ($10 >>> 0 >= 256) { - $4 = HEAP32[$0 + 28 >> 2]; - $7 = 24 - Math_clz32($10) | 0; - $2 = $10 >>> $7 | 0; - $3 = $2 + 1 | 0; - $1 = ($4 >>> 0) / ($3 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $1; - $5 = HEAP32[$0 + 32 >> 2]; - $8 = $5; - $5 = ($5 >>> 0) / ($1 >>> 0) | 0; - $6 = $5 + 1 | 0; - $3 = $6 - $3 | 0; - $11 = ($3 >>> 0 > $6 >>> 0 ? 0 : $3) + ($2 - $5 | 0) | 0; - $2 = Math_imul($2 - $11 | 0, $1); - $3 = $8 - $2 | 0; - HEAP32[$0 + 32 >> 2] = $3; - $2 = $11 ? $1 : $4 - $2 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $4 = HEAP32[$0 + 24 >> 2]; - $5 = HEAP32[$0 + 40 >> 2]; - $6 = HEAP32[$0 + 20 >> 2]; - $12 = HEAP32[$0 + 4 >> 2]; - while (1) { - $8 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $8; - $6 = $6 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $6; - $1 = 0; - if ($4 >>> 0 < $12 >>> 0) { - $9 = $4 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $9; - $1 = HEAPU8[HEAP32[$0 >> 2] + $4 | 0]; - $4 = $9; - } - HEAP32[$0 + 40 >> 2] = $1; - $3 = (($5 << 8 | $1) >>> 1 & 255 | $3 << 8 & 2147483392) ^ 255; - HEAP32[$0 + 32 >> 2] = $3; - $9 = $2 >>> 0 < 32769; - $5 = $1; - $2 = $8; - if ($9) { - continue; - } - break; - } - } - $8 = $11 << $7; - $3 = HEAP32[$0 + 12 >> 2]; - $1 = HEAP32[$0 + 16 >> 2]; - label$7 : { - if ($7 >>> 0 <= $1 >>> 0) { - $6 = $1; - break label$7; - } - $2 = HEAP32[$0 + 8 >> 2]; - $5 = HEAP32[$0 + 4 >> 2]; - while (1) { - $4 = 0; - if ($2 >>> 0 < $5 >>> 0) { - $2 = $2 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $2; - $4 = HEAPU8[HEAP32[$0 >> 2] + ($5 - $2 | 0) | 0]; - } - $3 = $4 << $1 | $3; - $4 = ($1 | 0) < 17; - $6 = $1 + 8 | 0; - $1 = $6; - if ($4) { - continue; - } - break; - } - } - HEAP32[$0 + 16 >> 2] = $6 - $7; - HEAP32[$0 + 12 >> 2] = $3 >>> $7; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $7; - $7 = (-1 << $7 ^ -1) & $3 | $8; - if ($10 >>> 0 >= $7 >>> 0) { - break label$2; - } - HEAP32[$0 + 44 >> 2] = 1; - return $10; - } - $4 = HEAP32[$0 + 28 >> 2]; - $2 = ($4 >>> 0) / ($1 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $2; - $3 = HEAP32[$0 + 32 >> 2]; - $8 = $3; - $3 = ($3 >>> 0) / ($2 >>> 0) | 0; - $9 = ($3 ^ -1) + $1 | 0; - $3 = $3 + 1 | 0; - $5 = $3 - $1 | 0; - $7 = $9 + ($3 >>> 0 < $5 >>> 0 ? 0 : $5) | 0; - $1 = Math_imul(($7 ^ -1) + $1 | 0, $2); - $3 = $8 - $1 | 0; - HEAP32[$0 + 32 >> 2] = $3; - $2 = $7 ? $2 : $4 - $1 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 > 8388608) { - break label$2; - } - $4 = HEAP32[$0 + 24 >> 2]; - $5 = HEAP32[$0 + 40 >> 2]; - $6 = HEAP32[$0 + 20 >> 2]; - $12 = HEAP32[$0 + 4 >> 2]; - while (1) { - $8 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $8; - $6 = $6 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $6; - $1 = 0; - if ($4 >>> 0 < $12 >>> 0) { - $9 = $4 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $9; - $1 = HEAPU8[HEAP32[$0 >> 2] + $4 | 0]; - $4 = $9; - } - HEAP32[$0 + 40 >> 2] = $1; - $3 = (($5 << 8 | $1) >>> 1 & 255 | $3 << 8 & 2147483392) ^ 255; - HEAP32[$0 + 32 >> 2] = $3; - $9 = $2 >>> 0 < 32769; - $5 = $1; - $2 = $8; - if ($9) { - continue; - } - break; - } - } - return $7; - } - celt_fatal(9274, 9298, 203); - abort(); -} -function downmix_and_resample($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = Math_fround(0), $11 = 0, $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = Math_fround(0), $18 = Math_fround(0), $19 = Math_fround(0), $20 = 0; - $11 = __stack_pointer; - $16 = $11; - if (!$4) { - __stack_pointer = $16; - return Math_fround(0); - } - label$2 : { - if (($9 | 0) == 48e3) { - $5 = $5 << 1; - $4 = $4 << 1; - break label$2; - } - if (($9 | 0) != 16e3) { - break label$2; - } - $5 = ($5 << 1) / 3 | 0; - $4 = ($4 << 1) / 3 | 0; - } - $11 = $11 - (($4 << 2) + 15 & -16) | 0; - $20 = $11; - __stack_pointer = $11; - FUNCTION_TABLE[$0 | 0]($1, $11, $4, $5, $6, $7, $8); - $10 = ($7 | 0) == -2 ? Math_fround(Math_fround(30517578125e-15) / Math_fround($8 | 0)) : ($7 | 0) > -1 ? Math_fround(152587890625e-16) : Math_fround(30517578125e-15); - if (($4 | 0) >= 1) { - $7 = 0; - while (1) { - $5 = ($7 << 2) + $11 | 0; - HEAPF32[$5 >> 2] = $10 * HEAPF32[$5 >> 2]; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - label$8 : { - if (($9 | 0) == 48e3) { - $9 = ($4 | 0) / 2 | 0; - if (($4 | 0) < 2) { - break label$8; - } - $7 = 0; - while (1) { - $5 = $7 << 3; - $10 = HEAPF32[$11 + $5 >> 2]; - $12 = HEAPF32[$3 >> 2]; - $13 = Math_fround(Math_fround($10 - $12) * Math_fround(.6074370741844177)); - HEAPF32[$3 >> 2] = $10 + $13; - $10 = HEAPF32[($5 | 4) + $11 >> 2]; - $14 = HEAPF32[$3 + 4 >> 2]; - $15 = Math_fround(Math_fround($10 - $14) * Math_fround(.15062999725341797)); - HEAPF32[$3 + 4 >> 2] = $10 + $15; - $17 = HEAPF32[$3 + 8 >> 2]; - $18 = Math_fround(Math_fround(Math_fround(-$10) - $17) * Math_fround(.15062999725341797)); - HEAPF32[$3 + 8 >> 2] = $18 - $10; - $10 = Math_fround($12 + $13); - HEAPF32[($7 << 2) + $2 >> 2] = Math_fround(Math_fround($14 + $10) + $15) * Math_fround(.5); - $10 = Math_fround(Math_fround($10 + $17) + $18); - $19 = Math_fround($19 + Math_fround($10 * $10)); - $7 = $7 + 1 | 0; - if (($9 | 0) != ($7 | 0)) { - continue; - } - break; - } - break label$8; - } - if (($9 | 0) != 16e3) { - if (($9 | 0) != 24e3) { - break label$8; - } - memcpy($2, $11, $4 << 2); - break label$8; - } - $1 = $20; - $0 = Math_imul($4, 3); - $8 = $1 - (($0 << 2) + 15 & -16) | 0; - __stack_pointer = $8; - if (($4 | 0) >= 1) { - $7 = 0; - while (1) { - $5 = Math_imul($7, 12) + $8 | 0; - $9 = HEAP32[($7 << 2) + $11 >> 2]; - HEAP32[$5 + 8 >> 2] = $9; - HEAP32[$5 + 4 >> 2] = $9; - HEAP32[$5 >> 2] = $9; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $5 = ($0 | 0) / 2 | 0; - if (($0 | 0) >= 2) { - $7 = 0; - while (1) { - $11 = $7 << 3; - $10 = HEAPF32[$11 + $8 >> 2]; - $12 = HEAPF32[$3 >> 2]; - $13 = Math_fround(Math_fround($10 - $12) * Math_fround(.6074370741844177)); - HEAPF32[$3 >> 2] = $10 + $13; - $10 = HEAPF32[($11 | 4) + $8 >> 2]; - $14 = HEAPF32[$3 + 4 >> 2]; - $15 = Math_fround(Math_fround($10 - $14) * Math_fround(.15062999725341797)); - HEAPF32[$3 + 4 >> 2] = $10 + $15; - HEAPF32[$3 + 8 >> 2] = Math_fround(Math_fround(Math_fround(-$10) - HEAPF32[$3 + 8 >> 2]) * Math_fround(.15062999725341797)) - $10; - HEAPF32[($7 << 2) + $2 >> 2] = Math_fround(Math_fround($14 + Math_fround($12 + $13)) + $15) * Math_fround(.5); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - } - __stack_pointer = $16; - return $19; -} -function op_pvq_search_c($0, $1, $2, $3, $4) { - var $5 = 0, $6 = Math_fround(0), $7 = Math_fround(0), $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = Math_fround(0); - $4 = __stack_pointer; - $17 = $4; - $5 = ($3 << 2) + 15 & -16; - $4 = $4 - $5 | 0; - __stack_pointer = $4; - $14 = $4 - $5 | 0; - __stack_pointer = $14; - $11 = ($3 | 0) > 1 ? $3 : 1; - $12 = memset($4, 0, $11 << 2); - $4 = 0; - while (1) { - $5 = $4 << 2; - $8 = $5 + $0 | 0; - $6 = HEAPF32[$8 >> 2]; - HEAP32[$5 + $14 >> 2] = $6 < Math_fround(0); - HEAPF32[$8 >> 2] = Math_abs($6); - HEAP32[$1 + $5 >> 2] = 0; - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - $6 = Math_fround(0); - if (($2 | 0) > $3 >> 1) { - $4 = 0; - while (1) { - $6 = Math_fround($6 + HEAPF32[($4 << 2) + $0 >> 2]); - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - if (!($6 < Math_fround(64) ? !($6 > Math_fround(1.0000000036274937e-15) ^ 1) : 0)) { - HEAP32[$0 >> 2] = 1065353216; - memset($0 + 4 | 0, 0, ((($3 | 0) > 2 ? $3 : 2) << 2) - 4 | 0); - $6 = Math_fround(1); - } - $9 = Math_fround(Math_fround(Math_fround($2 | 0) + Math_fround(.800000011920929)) * Math_fround(Math_fround(1) / $6)); - $5 = 0; - $6 = Math_fround(0); - while (1) { - $8 = $5 << 2; - $15 = $8 + $1 | 0; - $10 = HEAPF32[$0 + $8 >> 2]; - $7 = Math_fround(Math_floor(Math_fround($9 * $10))); - label$7 : { - if (Math_fround(Math_abs($7)) < Math_fround(2147483648)) { - $4 = ~~$7; - break label$7; - } - $4 = -2147483648; - } - HEAP32[$15 >> 2] = $4; - $7 = Math_fround($4 | 0); - HEAPF32[$8 + $12 >> 2] = $7 + $7; - $13 = Math_fround($13 + Math_fround($10 * $7)); - $2 = $2 - $4 | 0; - $6 = Math_fround($6 + Math_fround($7 * $7)); - $5 = $5 + 1 | 0; - if (($11 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - label$9 : { - if (($3 + 3 | 0) < ($2 | 0)) { - $10 = HEAPF32[$12 >> 2]; - HEAP32[$1 >> 2] = HEAP32[$1 >> 2] + $2; - $7 = Math_fround($2 | 0); - $6 = Math_fround(Math_fround($6 + Math_fround($7 * $7)) + Math_fround($10 * $7)); - break label$9; - } - if (($2 | 0) < 1) { - break label$9; - } - $15 = ($3 | 0) > 2 ? $3 : 2; - $18 = HEAPF32[$0 >> 2]; - $3 = 0; - while (1) { - $16 = Math_fround($6 + Math_fround(1)); - $6 = Math_fround($16 + HEAPF32[$12 >> 2]); - $7 = Math_fround($13 + $18); - $7 = Math_fround($7 * $7); - $4 = 1; - $8 = 0; - while (1) { - $5 = $4 << 2; - $10 = Math_fround($16 + HEAPF32[$12 + $5 >> 2]); - $9 = Math_fround($13 + HEAPF32[$0 + $5 >> 2]); - $9 = Math_fround($9 * $9); - $5 = Math_fround($6 * $9) > Math_fround($7 * $10); - $6 = $5 ? $10 : $6; - $7 = $5 ? $9 : $7; - $8 = $5 ? $4 : $8; - $4 = $4 + 1 | 0; - if (($15 | 0) != ($4 | 0)) { - continue; - } - break; - } - $4 = $8 << 2; - $7 = HEAPF32[$4 + $0 >> 2]; - $5 = $4 + $12 | 0; - $6 = HEAPF32[$5 >> 2]; - HEAPF32[$5 >> 2] = $6 + Math_fround(2); - $4 = $1 + $4 | 0; - HEAP32[$4 >> 2] = HEAP32[$4 >> 2] + 1; - $6 = Math_fround($16 + $6); - $13 = Math_fround($13 + $7); - $3 = $3 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $4 = 0; - while (1) { - $5 = $4 << 2; - $8 = $5 + $1 | 0; - $5 = HEAP32[$5 + $14 >> 2]; - HEAP32[$8 >> 2] = $5 + (HEAP32[$8 >> 2] ^ 0 - $5); - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - __stack_pointer = $17; - return $6; -} -function silk_LP_variable_cutoff($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $5 = __stack_pointer - 32 | 0; - __stack_pointer = $5; - $11 = HEAP32[$0 + 12 >> 2]; - if ($11) { - $12 = HEAP32[$0 + 8 >> 2]; - $3 = 262144 - ($12 << 10) | 0; - label$2 : { - if (($3 | 0) <= 262143) { - $7 = $3 >> 16; - $4 = $3 & 64512; - if ($4) { - $10 = $7 + 1 | 0; - $3 = $4 << 16 >> 16; - if ($4 >>> 0 >= 32768) { - $4 = Math_imul($10, 12); - $8 = HEAP32[$4 + 5896 >> 2]; - $6 = Math_imul($7, 12); - $9 = $8 - HEAP32[$6 + 5896 >> 2] | 0; - HEAP32[$5 + 24 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $8 = HEAP32[$4 + 5892 >> 2]; - $9 = $8 - HEAP32[$6 + 5892 >> 2] | 0; - HEAP32[$5 + 20 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $4 = HEAP32[$4 + 5888 >> 2]; - $6 = $4 - HEAP32[$6 + 5888 >> 2] | 0; - HEAP32[$5 + 16 >> 2] = (Math_imul($6 >> 16, $3) + $4 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $4 = $10 << 3; - $10 = HEAP32[$4 + 5956 >> 2]; - $7 = $7 << 3; - $6 = $10 - HEAP32[$7 + 5956 >> 2] | 0; - HEAP32[$5 + 12 >> 2] = (Math_imul($6 >> 16, $3) + $10 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $4 = HEAP32[$4 + 5952 >> 2]; - $7 = $4 - HEAP32[$7 + 5952 >> 2] | 0; - HEAP32[$5 + 8 >> 2] = (Math_imul($7 >> 16, $3) + $4 | 0) + (Math_imul($7 & 65535, $3) >> 16); - break label$2; - } - $4 = Math_imul($10, 12); - $6 = Math_imul($7, 12); - $8 = HEAP32[$6 + 5896 >> 2]; - $9 = HEAP32[$4 + 5896 >> 2] - $8 | 0; - HEAP32[$5 + 24 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $8 = HEAP32[$6 + 5892 >> 2]; - $9 = HEAP32[$4 + 5892 >> 2] - $8 | 0; - HEAP32[$5 + 20 >> 2] = (Math_imul($9 >> 16, $3) + $8 | 0) + (Math_imul($9 & 65535, $3) >> 16); - $8 = HEAP32[$4 + 5888 >> 2]; - $4 = HEAP32[$6 + 5888 >> 2]; - $6 = $8 - $4 | 0; - HEAP32[$5 + 16 >> 2] = (Math_imul($6 >> 16, $3) + $4 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $4 = $10 << 3; - $7 = $7 << 3; - $10 = HEAP32[$7 + 5956 >> 2]; - $6 = HEAP32[$4 + 5956 >> 2] - $10 | 0; - HEAP32[$5 + 12 >> 2] = (Math_imul($6 >> 16, $3) + $10 | 0) + (Math_imul($6 & 65535, $3) >> 16); - $7 = HEAP32[$7 + 5952 >> 2]; - $4 = HEAP32[$4 + 5952 >> 2] - $7 | 0; - HEAP32[$5 + 8 >> 2] = (Math_imul($4 >> 16, $3) + $7 | 0) + (Math_imul($4 & 65535, $3) >> 16); - break label$2; - } - $3 = Math_imul($7, 12); - HEAP32[$5 + 24 >> 2] = HEAP32[$3 + 5896 >> 2]; - $6 = $3 + 5888 | 0; - $4 = HEAP32[$6 >> 2]; - $3 = HEAP32[$6 + 4 >> 2]; - HEAP32[$5 + 16 >> 2] = $4; - HEAP32[$5 + 20 >> 2] = $3; - $6 = ($7 << 3) + 5952 | 0; - $3 = HEAP32[$6 >> 2]; - $4 = HEAP32[$6 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = $3; - HEAP32[$5 + 12 >> 2] = $4; - break label$2; - } - HEAP32[$5 + 24 >> 2] = HEAP32[1486]; - $3 = HEAP32[1485]; - $4 = HEAP32[1484]; - HEAP32[$5 + 16 >> 2] = $4; - HEAP32[$5 + 20 >> 2] = $3; - $4 = HEAP32[1497]; - $3 = HEAP32[1496]; - HEAP32[$5 + 8 >> 2] = $3; - HEAP32[$5 + 12 >> 2] = $4; - } - $3 = $11 + $12 | 0; - $3 = ($3 | 0) > 0 ? $3 : 0; - HEAP32[$0 + 8 >> 2] = ($3 | 0) < 256 ? $3 : 256; - silk_biquad_alt_stride1($1, $5 + 16 | 0, $5 + 8 | 0, $0, $1, $2); - } - __stack_pointer = $5 + 32 | 0; -} -function silk_resampler_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - label$1 : { - label$2 : { - $4 = memset($0, 0, 300); - $0 = $4; - label$3 : { - if ($3) { - label$5 : { - if (($1 | 0) <= 15999) { - if (($1 | 0) == 8e3 | ($1 | 0) == 12e3) { - break label$5; - } - break label$1; - } - if (($1 | 0) == 16e3 | ($1 | 0) == 48e3) { - break label$5; - } - if (($1 | 0) != 24e3) { - break label$1; - } - } - if (($2 | 0) != 16e3 ? !(($2 | 0) == 8e3 | ($2 | 0) == 12e3) : 0) { - break label$1; - } - $3 = (Math_imul(($1 >>> 12 | 0) - (($1 | 0) > 16e3) >> (($1 | 0) > 24e3), 3) + ($2 >>> 12 | 0) | 0) + 6487 | 0; - break label$3; - } - if (($1 | 0) != 12e3 ? !(($1 | 0) == 8e3 | ($1 | 0) == 16e3) : 0) { - break label$2; - } - label$9 : { - if (($2 | 0) <= 15999) { - if (($2 | 0) == 8e3 | ($2 | 0) == 12e3) { - break label$9; - } - break label$2; - } - if (($2 | 0) == 16e3 | ($2 | 0) == 24e3) { - break label$9; - } - if (($2 | 0) != 48e3) { - break label$2; - } - } - $3 = (Math_imul($1 >>> 12 | 0, 5) + (($2 >>> 12 | 0) - (($2 | 0) > 16e3) >> (($2 | 0) > 24e3)) | 0) + 6500 | 0; - } - HEAP32[$0 + 292 >> 2] = HEAP8[$3 | 0]; - HEAP32[$4 + 288 >> 2] = (($2 & 65535) >>> 0) / 1e3; - $3 = (($1 & 65535) >>> 0) / 1e3 | 0; - HEAP32[$4 + 284 >> 2] = $3; - HEAP32[$4 + 268 >> 2] = Math_imul($3, 10); - label$11 : { - if (($1 | 0) < ($2 | 0)) { - $5 = 1; - if ($1 << 1 == ($2 | 0)) { - HEAP32[$4 + 264 >> 2] = 1; - $5 = 0; - break label$11; - } - HEAP32[$4 + 264 >> 2] = 2; - break label$11; - } - if (($1 | 0) > ($2 | 0)) { - HEAP32[$4 + 264 >> 2] = 3; - $3 = $2 << 2; - if (($3 | 0) == (Math_imul($1, 3) | 0)) { - HEAP32[$4 + 296 >> 2] = 6e3; - HEAP32[$4 + 276 >> 2] = 18; - HEAP32[$4 + 280 >> 2] = 3; - break label$11; - } - $0 = Math_imul($2, 3); - if (($0 | 0) == $1 << 1) { - HEAP32[$4 + 296 >> 2] = 6064; - HEAP32[$4 + 276 >> 2] = 18; - HEAP32[$4 + 280 >> 2] = 2; - break label$11; - } - if ($2 << 1 == ($1 | 0)) { - HEAP32[$4 + 296 >> 2] = 6112; - HEAP32[$4 + 276 >> 2] = 24; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - if (($0 | 0) == ($1 | 0)) { - HEAP32[$4 + 296 >> 2] = 6144; - HEAP32[$4 + 276 >> 2] = 36; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - if (($1 | 0) == ($3 | 0)) { - HEAP32[$4 + 296 >> 2] = 6192; - HEAP32[$4 + 276 >> 2] = 36; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - if ((Math_imul($2, 6) | 0) == ($1 | 0)) { - HEAP32[$4 + 296 >> 2] = 6240; - HEAP32[$4 + 276 >> 2] = 36; - HEAP32[$4 + 280 >> 2] = 1; - break label$11; - } - celt_fatal(6454, 6474, 154); - abort(); - } - HEAP32[$4 + 264 >> 2] = 0; - } - $0 = $1 << $5; - $3 = $2 << 16 >> 16; - $6 = ($2 >>> 15 | 0) + 1 >>> 1 | 0; - $1 = ($1 << ($5 | 14)) / ($2 | 0) << 2; - while (1) { - $2 = $1; - $1 = $2 + 1 | 0; - if (((Math_imul($2 >> 16, $3) + Math_imul($2, $6) | 0) + (Math_imul($2 & 65535, $3) >> 16) | 0) < ($0 | 0)) { - continue; - } - break; - } - HEAP32[$4 + 272 >> 2] = $2; - return 0; - } - celt_fatal(6454, 6474, 101); - abort(); - } - celt_fatal(6454, 6474, 94); - abort(); -} -function comb_filter($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = Math_fround(0), $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = Math_fround(0), $23 = Math_fround(0), $24 = Math_fround(0), $25 = Math_fround(0), $26 = Math_fround(0), $27 = Math_fround(0), $28 = Math_fround(0), $29 = Math_fround(0), $30 = Math_fround(0); - label$1 : { - if (!($5 != Math_fround(0) | $6 != Math_fround(0))) { - if (($0 | 0) == ($1 | 0)) { - break label$1; - } - memmove($0, $1, $4 << 2); - return; - } - $11 = ($3 | 0) > 15 ? $3 : 15; - $18 = -2 - $11 | 0; - $19 = $11 ^ -1; - $20 = 1 - $11 | 0; - $21 = 0 - $11 | 0; - $3 = Math_imul($8, 12); - $22 = Math_fround(HEAPF32[$3 + 1704 >> 2] * $6); - $23 = Math_fround(HEAPF32[$3 + 1700 >> 2] * $6); - $24 = Math_fround(HEAPF32[$3 + 1696 >> 2] * $6); - $3 = $5 == $6 ? ($7 | 0) == ($8 | 0) ? 0 : $10 : $10; - $8 = ($2 | 0) > 15 ? $2 : 15; - $3 = ($11 | 0) == ($8 | 0) ? $3 : $10; - if (($3 | 0) >= 1) { - $10 = Math_imul($7, 12); - $25 = Math_fround(HEAPF32[$10 + 1704 >> 2] * $5); - $26 = Math_fround(HEAPF32[$10 + 1700 >> 2] * $5); - $27 = Math_fround(HEAPF32[$10 + 1696 >> 2] * $5); - $7 = 2 - $11 | 0; - $12 = HEAPF32[($20 << 2) + $1 >> 2]; - $13 = HEAPF32[($21 << 2) + $1 >> 2]; - $14 = HEAPF32[($19 << 2) + $1 >> 2]; - $5 = HEAPF32[($18 << 2) + $1 >> 2]; - $10 = 0; - while (1) { - $2 = $10 << 2; - $16 = $2 + $0 | 0; - $15 = HEAPF32[($7 + $10 << 2) + $1 >> 2]; - $17 = Math_fround($5 + $15); - $5 = HEAPF32[$2 + $9 >> 2]; - $5 = Math_fround($5 * $5); - $17 = Math_fround($17 * Math_fround($22 * $5)); - $28 = Math_fround(Math_fround($12 + $14) * Math_fround($23 * $5)); - $29 = Math_fround($13 * Math_fround($24 * $5)); - $30 = HEAPF32[$1 + $2 >> 2]; - $2 = ($10 - $8 << 2) + $1 | 0; - $5 = Math_fround(Math_fround(1) - $5); - HEAPF32[$16 >> 2] = $17 + Math_fround($28 + Math_fround($29 + Math_fround(Math_fround(Math_fround($30 + Math_fround(HEAPF32[$2 >> 2] * Math_fround($27 * $5))) + Math_fround(Math_fround($26 * $5) * Math_fround(HEAPF32[$2 + 4 >> 2] + HEAPF32[$2 - 4 >> 2]))) + Math_fround(Math_fround($25 * $5) * Math_fround(HEAPF32[$2 + 8 >> 2] + HEAPF32[$2 - 8 >> 2]))))); - $5 = $14; - $14 = $13; - $13 = $12; - $12 = $15; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($3 | 0)) { - continue; - } - break; - } - $16 = $3; - } - if ($6 == Math_fround(0)) { - if (($0 | 0) == ($1 | 0)) { - break label$1; - } - $10 = $3 << 2; - memmove($10 + $0 | 0, $1 + $10 | 0, $4 - $3 << 2); - return; - } - $3 = $4 - $16 | 0; - if (($3 | 0) < 1) { - break label$1; - } - $10 = $16 << 2; - $0 = $10 + $0 | 0; - $9 = 2 - $11 | 0; - $2 = $1 + $10 | 0; - $14 = HEAPF32[$2 + ($18 << 2) >> 2]; - $5 = HEAPF32[($19 << 2) + $2 >> 2]; - $12 = HEAPF32[($21 << 2) + $2 >> 2]; - $13 = HEAPF32[($20 << 2) + $2 >> 2]; - $10 = 0; - while (1) { - $1 = $10 << 2; - $15 = HEAPF32[($9 + $10 << 2) + $2 >> 2]; - HEAPF32[$1 + $0 >> 2] = Math_fround($22 * Math_fround($14 + $15)) + Math_fround(Math_fround($23 * Math_fround($5 + $13)) + Math_fround(Math_fround($24 * $12) + HEAPF32[$1 + $2 >> 2])); - $14 = $5; - $5 = $12; - $12 = $13; - $13 = $15; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function compute_stereo_width($0, $1, $2, $3) { - var $4 = Math_fround(0), $5 = Math_fround(0), $6 = Math_fround(0), $7 = Math_fround(0), $8 = Math_fround(0), $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = Math_fround(0), $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = Math_fround(0), $17 = 0; - $11 = ($2 | 0) / ($1 | 0) | 0; - $12 = Math_fround(Math_fround(Math_fround(-25) / Math_fround((($11 | 0) > 50 ? $11 : 50) | 0)) + Math_fround(1)); - label$1 : { - label$2 : { - if (($1 | 0) >= 4) { - $17 = $1 - 3 | 0; - $2 = 0; - while (1) { - $1 = $2 << 3; - $4 = HEAPF32[$1 + $0 >> 2]; - $5 = HEAPF32[($1 | 4) + $0 >> 2]; - $6 = HEAPF32[($1 | 8) + $0 >> 2]; - $7 = HEAPF32[($1 | 12) + $0 >> 2]; - $8 = HEAPF32[($1 | 16) + $0 >> 2]; - $13 = HEAPF32[($1 | 20) + $0 >> 2]; - $14 = HEAPF32[($1 | 24) + $0 >> 2]; - $15 = HEAPF32[($1 | 28) + $0 >> 2]; - $16 = Math_fround($16 + Math_fround(Math_fround(Math_fround(Math_fround($4 * $5) + Math_fround($6 * $7)) + Math_fround($8 * $13)) + Math_fround($14 * $15))); - $9 = Math_fround($9 + Math_fround(Math_fround(Math_fround(Math_fround($5 * $5) + Math_fround($7 * $7)) + Math_fround($13 * $13)) + Math_fround($15 * $15))); - $10 = Math_fround($10 + Math_fround(Math_fround(Math_fround(Math_fround($4 * $4) + Math_fround($6 * $6)) + Math_fround($8 * $8)) + Math_fround($14 * $14))); - $2 = $2 + 4 | 0; - if (($17 | 0) > ($2 | 0)) { - continue; - } - break; - } - if ($10 < Math_fround(1e9) ^ 1) { - break label$2; - } - } - if ($9 < Math_fround(1e9) ^ 1) { - break label$2; - } - if ($9 == $9 & $10 == $10) { - break label$1; - } - } - $9 = Math_fround(0); - $16 = Math_fround(0); - $10 = Math_fround(0); - } - $4 = HEAPF32[$3 + 8 >> 2]; - $4 = Math_fround(Math_max(Math_fround($4 + Math_fround($12 * Math_fround($9 - $4))), Math_fround(0))); - HEAPF32[$3 + 8 >> 2] = $4; - $5 = HEAPF32[$3 + 4 >> 2]; - $6 = Math_fround(Math_max(Math_fround($5 + Math_fround($12 * Math_fround($16 - $5))), Math_fround(0))); - HEAPF32[$3 + 4 >> 2] = $6; - $5 = HEAPF32[$3 >> 2]; - $5 = Math_fround(Math_max(Math_fround($5 + Math_fround($12 * Math_fround($10 - $5))), Math_fround(0))); - HEAPF32[$3 >> 2] = $5; - label$6 : { - if (!(($4 < $5 ? $5 : $4) > Math_fround(.0007999999797903001))) { - $4 = HEAPF32[$3 + 16 >> 2]; - break label$6; - } - $5 = Math_fround(Math_sqrt($5)); - $7 = Math_fround(Math_sqrt($4)); - $4 = Math_fround($5 * $7); - $6 = $4 > $6 ? $6 : $4; - HEAPF32[$3 + 4 >> 2] = $6; - $5 = Math_fround(Math_sqrt($5)); - $7 = Math_fround(Math_sqrt($7)); - $4 = Math_fround($6 / Math_fround($4 + Math_fround(1.0000000036274937e-15))); - $8 = HEAPF32[$3 + 12 >> 2]; - $4 = Math_fround(Math_fround(Math_fround(Math_fround(Math_abs(Math_fround($5 - $7))) / Math_fround(Math_fround($5 + Math_fround(1.0000000036274937e-15)) + $7)) * Math_fround(Math_sqrt(Math_fround(Math_fround(1) - Math_fround($4 * $4))))) - $8); - $5 = Math_fround($11 | 0); - $4 = Math_fround($8 + Math_fround($4 / $5)); - HEAPF32[$3 + 12 >> 2] = $4; - $5 = Math_fround(HEAPF32[$3 + 16 >> 2] + Math_fround(Math_fround(-.019999999552965164) / $5)); - $4 = $4 < $5 ? $5 : $4; - HEAPF32[$3 + 16 >> 2] = $4; - } - return Math_fround(Math_min(Math_fround($4 * Math_fround(20)), Math_fround(1))); -} -function silk_process_gains_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0; - $7 = __stack_pointer - 16 | 0; - __stack_pointer = $7; - label$1 : { - if (HEAPU8[$0 + 4765 | 0] != 2) { - $5 = HEAP32[$0 + 4580 >> 2]; - break label$1; - } - $8 = exp(+Math_fround(Math_fround(HEAPF32[$1 + 708 >> 2] + Math_fround(-12)) * Math_fround(-.25))); - $5 = HEAP32[$0 + 4580 >> 2]; - if (($5 | 0) < 1) { - break label$1; - } - $6 = Math_fround(Math_fround(Math_fround(1 / ($8 + 1)) * Math_fround(-.5)) + Math_fround(1)); - while (1) { - $4 = ($3 << 2) + $1 | 0; - HEAPF32[$4 >> 2] = $6 * HEAPF32[$4 >> 2]; - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $3 = 0; - $4 = HEAP32[$0 + 4588 >> 2]; - $8 = exp2(+Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4716 >> 2]) * Math_fround(-.0078125)) + Math_fround(21)) * Math_fround(.33000001311302185))); - label$4 : { - if (($5 | 0) <= 0) { - break label$4; - } - $9 = Math_fround($8 / +($4 | 0)); - while (1) { - $4 = ($3 << 2) + $1 | 0; - $6 = HEAPF32[$4 >> 2]; - $6 = Math_fround(Math_sqrt(Math_fround(Math_fround($6 * $6) + Math_fround(HEAPF32[$4 + 712 >> 2] * $9)))); - HEAPF32[$4 >> 2] = $6 < Math_fround(32767) ? $6 : Math_fround(32767); - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - $3 = 0; - if (($5 | 0) <= 0) { - break label$4; - } - while (1) { - $4 = $3 << 2; - $10 = $7 + $4 | 0; - $6 = Math_fround(HEAPF32[$1 + $4 >> 2] * Math_fround(65536)); - label$7 : { - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - $4 = ~~$6; - break label$7; - } - $4 = -2147483648; - } - HEAP32[$10 >> 2] = $4; - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - memcpy($1 + 728 | 0, $7, $5 << 2); - HEAP8[$1 + 744 | 0] = HEAPU8[$0 + 7168 | 0]; - silk_gains_quant($0 + 4736 | 0, $7, $0 + 7168 | 0, ($2 | 0) == 2, HEAP32[$0 + 4580 >> 2]); - $5 = HEAP32[$0 + 4580 >> 2]; - if (($5 | 0) >= 1) { - $3 = 0; - while (1) { - $4 = $3 << 2; - HEAPF32[$4 + $1 >> 2] = Math_fround(HEAP32[$4 + $7 >> 2]) * Math_fround(152587890625e-16); - $3 = $3 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $4 = HEAPU8[$0 + 4765 | 0]; - label$11 : { - if (($4 | 0) != 2) { - $3 = HEAP8[$0 + 4766 | 0]; - break label$11; - } - $3 = Math_fround(HEAPF32[$1 + 708 >> 2] + Math_fround(Math_fround(HEAP32[$0 + 4712 >> 2]) * Math_fround(30517578125e-15))) > Math_fround(1) ^ 1; - HEAP8[$0 + 4766 | 0] = $3; - } - HEAPF32[$1 + 692 >> 2] = Math_fround(Math_fround(Math_fround(HEAP16[(($4 << 24 >> 24 << 1 & -4) + ($3 << 1) | 0) + 5840 >> 1]) * Math_fround(.0009765625)) * Math_fround(.800000011920929)) + Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4628 >> 2]) * Math_fround(-.05000000074505806)) + Math_fround(1.2000000476837158)) + Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4532 >> 2]) * Math_fround(.20000000298023224)) * Math_fround(-.00390625))) + Math_fround(HEAPF32[$1 + 696 >> 2] * Math_fround(-.10000000149011612))) - Math_fround(HEAPF32[$1 + 700 >> 2] * Math_fround(.20000000298023224))); - __stack_pointer = $7 + 16 | 0; -} -function silk_find_pred_coefs_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0); - $5 = __stack_pointer - 2064 | 0; - __stack_pointer = $5; - label$1 : { - label$2 : { - $7 = HEAP32[$0 + 4580 >> 2]; - label$3 : { - if (($7 | 0) >= 1) { - while (1) { - $8 = $6 << 2; - HEAPF32[$8 + ($5 + 1568 | 0) >> 2] = Math_fround(1) / HEAPF32[$1 + $8 >> 2]; - $6 = $6 + 1 | 0; - if (($7 | 0) != ($6 | 0)) { - continue; - } - break; - } - if (HEAPU8[$0 + 4765 | 0] == 2) { - break label$3; - } - if (($7 | 0) < 1) { - break label$2; - } - $4 = HEAP32[$0 + 4640 >> 2]; - $6 = $3 - ($4 << 2) | 0; - $8 = HEAP32[$0 + 4588 >> 2]; - $3 = 0; - $2 = $5; - while (1) { - silk_scale_copy_vector_FLP($2, $6, HEAPF32[($5 + 1568 | 0) + ($3 << 2) >> 2], $4 + $8 | 0); - $8 = HEAP32[$0 + 4588 >> 2]; - $6 = ($8 << 2) + $6 | 0; - $4 = HEAP32[$0 + 4640 >> 2]; - $2 = ($8 + $4 << 2) + $2 | 0; - $3 = $3 + 1 | 0; - $7 = HEAP32[$0 + 4580 >> 2]; - if (($3 | 0) < ($7 | 0)) { - continue; - } - break; - } - break label$2; - } - if (HEAPU8[$0 + 4765 | 0] != 2) { - break label$2; - } - } - if ((HEAP32[$1 + 228 >> 2] + 2 | 0) <= (HEAP32[$0 + 4592 >> 2] - HEAP32[$0 + 4640 >> 2] | 0)) { - $6 = $1 + 228 | 0; - silk_find_LTP_FLP($5 + 1664 | 0, $5 + 1584 | 0, $2, $6, HEAP32[$0 + 4588 >> 2], $7); - $8 = $1 + 144 | 0; - silk_quant_LTP_gains_FLP($8, $0 + 4740 | 0, $0 + 4768 | 0, $0 + 4656 | 0, $1 + 708 | 0, $5 + 1664 | 0, $5 + 1584 | 0, HEAP32[$0 + 4588 >> 2], HEAP32[$0 + 4580 >> 2], HEAP32[$0 + 5092 >> 2]); - silk_LTP_scale_ctrl_FLP($0, $1, $4); - $7 = HEAP32[$0 + 4640 >> 2]; - silk_LTP_analysis_filter_FLP($5, $3 - ($7 << 2) | 0, $8, $6, $5 + 1568 | 0, HEAP32[$0 + 4588 >> 2], HEAP32[$0 + 4580 >> 2], $7); - break label$1; - } - celt_fatal(16745, 16862, 62); - abort(); - } - memset($1 + 144 | 0, 0, Math_imul($7, 20)); - HEAP32[$1 + 708 >> 2] = 0; - HEAP32[$0 + 4656 >> 2] = 0; - } - $9 = Math_fround(.009999999776482582); - $2 = $0; - $4 = $5 + 1536 | 0; - $3 = $5; - if (!HEAP32[$0 + 4664 >> 2]) { - $9 = HEAPF32[$1 + 700 >> 2]; - $9 = Math_fround(Math_fround(Math_fround(exp2(+Math_fround(HEAPF32[$1 + 708 >> 2] / Math_fround(3)))) / Math_fround(1e4)) / Math_fround(Math_fround($9 * Math_fround(.75)) + Math_fround(.25))); - } - silk_find_LPC_FLP($2, $4, $3, $9); - $6 = $1 + 16 | 0; - silk_process_NLSFs_FLP($0, $6, $5 + 1536 | 0, $0 + 4500 | 0); - silk_residual_energy_FLP($1 + 712 | 0, $5, $6, $1, HEAP32[$0 + 4588 >> 2], HEAP32[$0 + 4580 >> 2], HEAP32[$0 + 4640 >> 2]); - $3 = $5 + 1560 | 0; - $2 = HEAP32[$3 >> 2]; - $1 = HEAP32[$3 + 4 >> 2]; - $3 = $2; - $2 = $0 + 4524 | 0; - HEAP32[$2 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = $1; - $3 = $5 + 1552 | 0; - $1 = HEAP32[$3 >> 2]; - $2 = HEAP32[$3 + 4 >> 2]; - $3 = $1; - $1 = $0 + 4516 | 0; - HEAP32[$1 >> 2] = $3; - HEAP32[$1 + 4 >> 2] = $2; - $1 = HEAP32[$5 + 1548 >> 2]; - $2 = HEAP32[$5 + 1544 >> 2]; - $3 = $2; - $2 = $0 + 4508 | 0; - HEAP32[$2 >> 2] = $3; - HEAP32[$2 + 4 >> 2] = $1; - $2 = HEAP32[$5 + 1540 >> 2]; - $1 = HEAP32[$5 + 1536 >> 2]; - HEAP32[$0 + 4500 >> 2] = $1; - HEAP32[$0 + 4504 >> 2] = $2; - __stack_pointer = $5 + 2064 | 0; -} -function spreading_decision($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { - var $11 = 0, $12 = 0, $13 = 0, $14 = Math_fround(0), $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = Math_fround(0); - label$1 : { - label$2 : { - if (($7 | 0) > 0) { - $18 = HEAP32[$0 + 32 >> 2]; - $12 = $18 + ($7 << 1) | 0; - label$4 : { - if ((Math_imul(HEAP16[$12 >> 1] - HEAP16[$12 - 2 >> 1] | 0, $9) | 0) < 9) { - break label$4; - } - $25 = Math_imul(HEAP32[$0 + 44 >> 2], $9); - $26 = ($8 | 0) > 1 ? $8 : 1; - $27 = HEAPU16[$18 >> 1]; - while (1) { - $28 = (Math_imul($19, $25) << 2) + $1 | 0; - $20 = $27; - $15 = 0; - while (1) { - $11 = $20 << 16; - $24 = $15 + 1 | 0; - $20 = HEAP16[($24 << 1) + $18 >> 1]; - $11 = $11 >> 16; - $13 = Math_imul($20 - $11 | 0, $9); - if (($13 | 0) >= 9) { - $29 = (Math_imul($9, $11) << 2) + $28 | 0; - $30 = Math_fround($13 | 0); - $21 = 0; - $12 = 0; - $16 = 0; - $11 = 0; - while (1) { - $14 = HEAPF32[($11 << 2) + $29 >> 2]; - $14 = Math_fround(Math_fround($14 * $14) * $30); - $21 = ($14 < Math_fround(.015625)) + $21 | 0; - $12 = ($14 < Math_fround(.0625)) + $12 | 0; - $16 = ($14 < Math_fround(.25)) + $16 | 0; - $11 = $11 + 1 | 0; - if (($13 | 0) != ($11 | 0)) { - continue; - } - break; - } - $11 = HEAP32[($15 << 2) + $10 >> 2]; - $22 = Math_imul($11, (($12 << 1 >= ($13 | 0)) + ($16 << 1 >= ($13 | 0)) | 0) + ($21 << 1 >= ($13 | 0)) | 0) + $22 | 0; - $23 = $11 + $23 | 0; - $17 = (HEAP32[$0 + 8 >> 2] - 4 | 0) < ($15 | 0) ? (($12 + $16 << 5 >>> 0) / ($13 >>> 0) | 0) + $17 | 0 : $17; - } - $15 = $24; - if (($15 | 0) != ($7 | 0)) { - continue; - } - break; - } - $19 = $19 + 1 | 0; - if (($26 | 0) != ($19 | 0)) { - continue; - } - break; - } - if ($6) { - $11 = $17 ? ($17 >>> 0) / (Math_imul(($7 - HEAP32[$0 + 8 >> 2] | 0) + 4 | 0, $8) >>> 0) | 0 : 0; - $11 = $11 + HEAP32[$4 >> 2] >> 1; - HEAP32[$4 >> 2] = $11; - label$13 : { - label$14 : { - switch (HEAP32[$5 >> 2]) { - case 2: - $11 = $11 + 4 | 0; - break label$13; - case 0: - break label$14; - default: - break label$13; - } - } - $11 = $11 - 4 | 0; - } - HEAP32[$5 >> 2] = ($11 | 0) > 22 ? 2 : ($11 | 0) > 18; - } - if (($23 | 0) <= 0) { - break label$2; - } - if (($22 | 0) <= -1) { - break label$1; - } - $12 = HEAP32[$2 >> 2] + (($22 << 8 >>> 0) / ($23 >>> 0) | 0) >> 1; - HEAP32[$2 >> 2] = $12; - $11 = 3; - $12 = (Math_imul($12, 3) - ($3 << 7) | 0) + 448 | 0; - if (($12 | 0) < 318) { - break label$4; - } - $11 = 2; - if (($12 | 0) < 1022) { - break label$4; - } - $11 = ($12 | 0) < 1534; - } - return $11; - } - celt_fatal(41813, 41800, 489); - abort(); - } - celt_fatal(41837, 41800, 545); - abort(); - } - celt_fatal(41865, 41800, 546); - abort(); -} -function decode_pulses($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0; - $4 = $2 + 1 | 0; - $5 = ($1 | 0) > ($2 | 0); - $5 = ec_dec_uint($3, HEAP32[HEAP32[(($5 ? $4 : $1) << 2) + 36320 >> 2] + ((($1 | 0) > ($4 | 0) ? $1 : $4) << 2) >> 2] + HEAP32[HEAP32[((($1 | 0) < ($2 | 0) ? $1 : $2) << 2) + 36320 >> 2] + (($5 ? $1 : $2) << 2) >> 2] | 0); - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) < 2) { - break label$1; - } - if (($1 | 0) != 2) { - while (1) { - $9 = $1; - label$5 : { - if (($1 | 0) <= ($2 | 0)) { - $3 = $2; - $7 = $9 << 2; - $10 = HEAP32[$7 + 36320 >> 2]; - $4 = HEAP32[($10 + ($2 << 2) | 0) + 4 >> 2]; - $11 = $5 >>> 0 >= $4 >>> 0 ? -1 : 0; - $4 = $5 - ($4 & $11) | 0; - label$7 : { - if ($4 >>> 0 < HEAPU32[$7 + $10 >> 2]) { - while (1) { - $1 = $1 - 1 | 0; - $5 = HEAP32[HEAP32[($1 << 2) + 36320 >> 2] + $7 >> 2]; - if ($5 >>> 0 > $4 >>> 0) { - continue; - } - break label$7; - } - } - while (1) { - $1 = $3; - $3 = $1 - 1 | 0; - $5 = HEAP32[($1 << 2) + $10 >> 2]; - if ($5 >>> 0 > $4 >>> 0) { - continue; - } - break; - } - } - $3 = (($2 + $11 | 0) - $1 ^ $11) << 16 >> 16; - HEAP32[$0 >> 2] = $3; - $6 = Math_fround($3 | 0); - $8 = Math_fround($8 + Math_fround($6 * $6)); - $2 = $1; - $5 = $4 - $5 | 0; - break label$5; - } - $4 = $9 << 2; - $3 = $2 << 2; - $1 = HEAP32[$4 + HEAP32[$3 + 36324 >> 2] >> 2]; - $3 = HEAP32[HEAP32[$3 + 36320 >> 2] + $4 >> 2]; - if (!($5 >>> 0 < $3 >>> 0 | $1 >>> 0 <= $5 >>> 0)) { - HEAP32[$0 >> 2] = 0; - $5 = $5 - $3 | 0; - break label$5; - } - $7 = $1 >>> 0 <= $5 >>> 0 ? -1 : 0; - $3 = $5 - ($7 & $1) | 0; - $1 = $2; - while (1) { - $1 = $1 - 1 | 0; - $5 = HEAP32[HEAP32[($1 << 2) + 36320 >> 2] + $4 >> 2]; - if ($5 >>> 0 > $3 >>> 0) { - continue; - } - break; - } - $4 = (($2 + $7 | 0) - $1 ^ $7) << 16 >> 16; - HEAP32[$0 >> 2] = $4; - $6 = Math_fround($4 | 0); - $8 = Math_fround($8 + Math_fround($6 * $6)); - $2 = $1; - $5 = $3 - $5 | 0; - } - $1 = $9 - 1 | 0; - $0 = $0 + 4 | 0; - if (($9 | 0) > 3) { - continue; - } - break; - } - } - $1 = $2 << 1 | 1; - $4 = $5 >>> 0 >= $1 >>> 0; - $2 = $2 - $4 | 0; - $4 = $4 ? -1 : 0; - $3 = $5 - ($4 & $1) | 0; - $5 = $3 + 1 | 0; - $1 = $5 >>> 1 | 0; - $4 = ($2 - $1 ^ $4) << 16 >> 16; - HEAP32[$0 >> 2] = $4; - $3 = $3 - ($1 ? ($5 & -2) - 1 | 0 : 0) | 0; - $1 = ($1 - $3 ^ 0 - $3) << 16 >> 16; - HEAP32[$0 + 4 >> 2] = $1; - $6 = Math_fround($4 | 0); - $6 = Math_fround($8 + Math_fround($6 * $6)); - $8 = Math_fround($1 | 0); - return Math_fround($6 + Math_fround($8 * $8)); - } - celt_fatal(36272, 36295, 469); - abort(); - } - celt_fatal(41504, 36295, 470); - abort(); -} -function resampler_basic_interpolate_single($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = Math_fround(0), $7 = Math_fround(0), $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = Math_fround(0), $15 = Math_fround(0), $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = Math_fround(0), $22 = Math_fround(0), $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = Math_fround(0); - $1 = $1 << 2; - $16 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $12 = HEAP32[$16 >> 2]; - $17 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $9 = HEAP32[$17 >> 2]; - $18 = HEAP32[$3 >> 2]; - label$1 : { - if (($9 | 0) >= ($18 | 0)) { - break label$1; - } - $23 = HEAP32[$0 + 40 >> 2]; - $24 = HEAP32[$0 + 36 >> 2]; - $25 = HEAP32[$0 + 92 >> 2]; - $3 = HEAP32[$5 >> 2]; - $19 = ($3 | 0) > 0 ? $3 : 0; - $10 = HEAP32[$0 + 12 >> 2]; - $26 = Math_fround($10 >>> 0); - $20 = HEAP32[$0 + 24 >> 2]; - $27 = ($20 | 0) < 1; - while (1) { - if (($11 | 0) == ($19 | 0)) { - $11 = $19; - break label$1; - } - $5 = HEAP32[$0 + 48 >> 2]; - $3 = Math_imul($12, $5); - $1 = $3; - $3 = ($3 >>> 0) / ($10 >>> 0) | 0; - $7 = Math_fround(Math_fround($1 - Math_imul($10, $3) >>> 0) / $26); - label$4 : { - if ($27) { - $8 = Math_fround(0); - $13 = Math_fround(0); - $14 = Math_fround(0); - $15 = Math_fround(0); - break label$4; - } - $28 = ($9 << 2) + $2 | 0; - $29 = 4 - $3 | 0; - $30 = HEAP32[$0 + 76 >> 2]; - $3 = 0; - $15 = Math_fround(0); - $14 = Math_fround(0); - $13 = Math_fround(0); - $8 = Math_fround(0); - while (1) { - $6 = HEAPF32[($3 << 2) + $28 >> 2]; - $3 = $3 + 1 | 0; - $1 = (Math_imul($5, $3) + $29 << 2) + $30 | 0; - $14 = Math_fround($14 + Math_fround($6 * HEAPF32[$1 >> 2])); - $15 = Math_fround($15 + Math_fround($6 * HEAPF32[$1 + 4 >> 2])); - $13 = Math_fround($13 + Math_fround($6 * HEAPF32[$1 - 4 >> 2])); - $8 = Math_fround($8 + Math_fround($6 * HEAPF32[$1 - 8 >> 2])); - if (($3 | 0) != ($20 | 0)) { - continue; - } - break; - } - } - $6 = Math_fround($7 * Math_fround(.16666999459266663)); - $21 = Math_fround($7 * Math_fround($7 * $6)); - $22 = Math_fround($21 - $6); - $31 = Math_fround($22 * $8); - $6 = Math_fround($7 * Math_fround($7 * Math_fround(.5))); - $8 = Math_fround(Math_fround($7 + $6) - Math_fround($7 * $6)); - $6 = Math_fround(Math_fround($6 + Math_fround($7 * Math_fround(-.3333300054073334))) - $21); - HEAPF32[(Math_imul($11, $25) << 2) + $4 >> 2] = Math_fround(Math_fround($31 + Math_fround($8 * $13)) + Math_fround($14 * Math_fround(1 - +$22 - +$8 - +$6))) + Math_fround($6 * $15); - $3 = $12 + $23 | 0; - $12 = $3 - ($3 >>> 0 < $10 >>> 0 ? 0 : $10) | 0; - $11 = $11 + 1 | 0; - $9 = ($9 + $24 | 0) + ($3 >>> 0 >= $10 >>> 0) | 0; - if (($18 | 0) > ($9 | 0)) { - continue; - } - break; - } - } - HEAP32[$17 >> 2] = $9; - HEAP32[$16 >> 2] = $12; - return $11 | 0; -} -function opus_encoder_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $4 = __stack_pointer - 32 | 0; - __stack_pointer = $4; - $6 = -1; - label$1 : { - label$2 : { - if (($1 | 0) <= 15999) { - if (($1 | 0) == 8e3 | ($1 | 0) == 12e3) { - break label$2; - } - break label$1; - } - if (($1 | 0) == 16e3 | ($1 | 0) == 48e3) { - break label$2; - } - if (($1 | 0) != 24e3) { - break label$1; - } - } - if ($2 - 1 >>> 0 > 1) { - break label$1; - } - $5 = $3 - 2048 | 0; - if ($5 >>> 0 > 3 | ($5 | 0) == 2) { - break label$1; - } - $5 = 0; - if (!silk_Get_Encoder_Size($4 + 28 | 0)) { - HEAP32[$4 + 28 >> 2] = HEAP32[$4 + 28 >> 2] + 3 & -4; - $5 = (celt_encoder_get_size($2) + HEAP32[$4 + 28 >> 2] | 0) + 18140 | 0; - } - $0 = memset($0, 0, $5); - if (silk_Get_Encoder_Size($4 + 28 | 0)) { - break label$1; - } - $6 = HEAP32[$4 + 28 >> 2] + 3 & -4; - HEAP32[$4 + 28 >> 2] = $6; - HEAP32[$0 + 14192 >> 2] = $2; - HEAP32[$0 + 112 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = 18140; - HEAP32[$0 + 180 >> 2] = 0; - HEAP32[$0 + 144 >> 2] = $1; - $5 = $6 + 18140 | 0; - HEAP32[$0 >> 2] = $5; - $6 = -3; - if (silk_InitEncoder($0 + 18140 | 0, 0, $0 + 8 | 0)) { - break label$1; - } - HEAP32[$0 + 8 >> 2] = $2; - HEAP32[$0 + 12 >> 2] = $2; - HEAP32[$0 + 76 >> 2] = 0; - HEAP32[$0 + 56 >> 2] = 0; - HEAP32[$0 + 60 >> 2] = 0; - HEAP32[$0 + 44 >> 2] = 9; - HEAP32[$0 + 48 >> 2] = 0; - HEAP32[$0 + 36 >> 2] = 25e3; - HEAP32[$0 + 40 >> 2] = 0; - HEAP32[$0 + 28 >> 2] = 16e3; - HEAP32[$0 + 32 >> 2] = 20; - HEAP32[$0 + 20 >> 2] = 16e3; - HEAP32[$0 + 24 >> 2] = 8e3; - HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 144 >> 2]; - $5 = $0 + $5 | 0; - if (celt_encoder_init($5, $1, $2, HEAP32[$0 + 180 >> 2])) { - break label$1; - } - $6 = 0; - HEAP32[$4 + 16 >> 2] = 0; - opus_custom_encoder_ctl($5, 10016, $4 + 16 | 0); - HEAP32[$4 >> 2] = HEAP32[$0 + 44 >> 2]; - opus_custom_encoder_ctl($5, 4010, $4); - HEAP32[$0 + 148 >> 2] = 1; - HEAP32[$0 + 152 >> 2] = 1; - HEAP32[$0 + 160 >> 2] = Math_imul($1, $2) + 3e3; - HEAP32[$0 + 128 >> 2] = -1e3; - HEAP32[$0 + 132 >> 2] = 1105; - HEAP32[$0 + 108 >> 2] = $3; - HEAP32[$0 + 136 >> 2] = -1e3; - HEAP32[$0 + 140 >> 2] = -1; - HEAP32[$0 + 120 >> 2] = -1e3; - HEAP32[$0 + 124 >> 2] = -1e3; - HEAP32[$0 + 164 >> 2] = -1e3; - HEAP32[$0 + 168 >> 2] = 24; - HEAP32[$0 + 156 >> 2] = 5e3; - HEAP32[$0 + 14204 >> 2] = 1065353216; - HEAP16[$0 + 14196 >> 1] = 16384; - $1 = HEAP32[$0 + 144 >> 2]; - HEAP32[$0 + 172 >> 2] = ($1 | 0) / 100; - HEAP32[$0 + 116 >> 2] = ($1 | 0) / 250; - $1 = silk_lin2log(60); - HEAP32[$0 + 14252 >> 2] = 1; - HEAP32[$0 + 14240 >> 2] = 1105; - HEAP32[$0 + 14224 >> 2] = 1001; - HEAP32[$0 + 14200 >> 2] = $1 << 8; - tonality_analysis_init($0 + 188 | 0, HEAP32[$0 + 144 >> 2]); - HEAP32[$0 + 192 >> 2] = HEAP32[$0 + 108 >> 2]; - } - __stack_pointer = $4 + 32 | 0; - return $6; -} -function resampler_basic_interpolate_double($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = Math_fround(0), $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = Math_fround(0), $23 = 0, $24 = 0, $25 = 0, $26 = Math_fround(0), $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0; - $1 = $1 << 2; - $17 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $13 = HEAP32[$17 >> 2]; - $18 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $9 = HEAP32[$18 >> 2]; - $19 = HEAP32[$3 >> 2]; - label$1 : { - if (($9 | 0) >= ($19 | 0)) { - break label$1; - } - $23 = HEAP32[$0 + 40 >> 2]; - $24 = HEAP32[$0 + 36 >> 2]; - $25 = HEAP32[$0 + 92 >> 2]; - $3 = HEAP32[$5 >> 2]; - $20 = ($3 | 0) > 0 ? $3 : 0; - $10 = HEAP32[$0 + 12 >> 2]; - $26 = Math_fround($10 >>> 0); - $21 = HEAP32[$0 + 24 >> 2]; - $27 = ($21 | 0) < 1; - while (1) { - if (($12 | 0) == ($20 | 0)) { - $12 = $20; - break label$1; - } - $5 = HEAP32[$0 + 48 >> 2]; - $3 = Math_imul($13, $5); - $1 = $3; - $3 = ($3 >>> 0) / ($10 >>> 0) | 0; - $8 = Math_fround(Math_fround($1 - Math_imul($10, $3) >>> 0) / $26); - label$4 : { - if ($27) { - $7 = 0; - $11 = 0; - $14 = 0; - $15 = 0; - break label$4; - } - $28 = ($9 << 2) + $2 | 0; - $29 = 4 - $3 | 0; - $30 = HEAP32[$0 + 76 >> 2]; - $3 = 0; - $15 = 0; - $14 = 0; - $11 = 0; - $7 = 0; - while (1) { - $6 = HEAPF32[($3 << 2) + $28 >> 2]; - $3 = $3 + 1 | 0; - $1 = (Math_imul($5, $3) + $29 << 2) + $30 | 0; - $14 = $14 + +Math_fround($6 * HEAPF32[$1 >> 2]); - $15 = $15 + +Math_fround($6 * HEAPF32[$1 + 4 >> 2]); - $11 = $11 + +Math_fround($6 * HEAPF32[$1 - 4 >> 2]); - $7 = $7 + +Math_fround($6 * HEAPF32[$1 - 8 >> 2]); - if (($3 | 0) != ($21 | 0)) { - continue; - } - break; - } - } - $6 = Math_fround($8 * Math_fround(.16666999459266663)); - $22 = Math_fround($8 * Math_fround($8 * $6)); - $16 = +Math_fround($22 - $6); - $31 = $7 * $16; - $6 = Math_fround($8 * Math_fround($8 * Math_fround(.5))); - $7 = +Math_fround(Math_fround($8 + $6) - Math_fround($8 * $6)); - $11 = $31 + $11 * $7; - $16 = 1 - $16 - $7; - $7 = +Math_fround(Math_fround($6 + Math_fround($8 * Math_fround(-.3333300054073334))) - $22); - HEAPF32[(Math_imul($12, $25) << 2) + $4 >> 2] = $11 + $14 * +Math_fround($16 - $7) + $15 * $7; - $3 = $13 + $23 | 0; - $13 = $3 - ($3 >>> 0 < $10 >>> 0 ? 0 : $10) | 0; - $12 = $12 + 1 | 0; - $9 = ($9 + $24 | 0) + ($3 >>> 0 >= $10 >>> 0) | 0; - if (($19 | 0) > ($9 | 0)) { - continue; - } - break; - } - } - HEAP32[$18 >> 2] = $9; - HEAP32[$17 >> 2] = $13; - return $12 | 0; -} -function silk_find_pitch_lags_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0; - $5 = __stack_pointer - 1744 | 0; - __stack_pointer = $5; - $7 = HEAP32[$0 + 4548 >> 2]; - $8 = HEAP32[$0 + 4596 >> 2]; - $6 = $8 + HEAP32[$0 + 4584 >> 2] | 0; - $10 = HEAP32[$0 + 4592 >> 2]; - $11 = $6 + $10 | 0; - if (($7 | 0) <= ($11 | 0)) { - $6 = (($6 << 2) + $3 | 0) - ($7 << 2) | 0; - silk_apply_sine_window_FLP($5, $6, 1, $8); - $8 = HEAP32[$0 + 4596 >> 2]; - $7 = $8 << 2; - $12 = $7 + $5 | 0; - $7 = $7 + $6 | 0; - $6 = HEAP32[$0 + 4548 >> 2] - ($8 << 1) << 2; - silk_apply_sine_window_FLP($6 + memcpy($12, $7, $6) | 0, $7 + $6 | 0, 2, $8); - silk_autocorrelation_FLP($5 + 1664 | 0, $5, HEAP32[$0 + 4548 >> 2], HEAP32[$0 + 4648 >> 2] + 1 | 0); - $9 = HEAPF32[$5 + 1664 >> 2]; - HEAPF32[$5 + 1664 >> 2] = $9 + Math_fround(Math_fround($9 * Math_fround(.0010000000474974513)) + Math_fround(1)); - $9 = silk_schur_FLP($5 + 1536 | 0, $5 + 1664 | 0, HEAP32[$0 + 4648 >> 2]); - HEAPF32[$1 + 704 >> 2] = HEAPF32[$5 + 1664 >> 2] / ($9 > Math_fround(1) ? $9 : Math_fround(1)); - silk_k2a_FLP($5 + 1600 | 0, $5 + 1536 | 0, HEAP32[$0 + 4648 >> 2]); - silk_bwexpander_FLP($5 + 1600 | 0, HEAP32[$0 + 4648 >> 2], Math_fround(.9900000095367432)); - silk_LPC_analysis_filter_FLP($2, $5 + 1600 | 0, $3 - ($10 << 2) | 0, $11, HEAP32[$0 + 4648 >> 2]); - label$2 : { - if (!(HEAP32[$0 + 4664 >> 2] | !HEAPU8[$0 + 4765 | 0])) { - if (!silk_pitch_analysis_core_FLP($2, $1 + 228 | 0, $0 + 4762 | 0, $0 + 4764 | 0, $0 + 10060 | 0, HEAP32[$0 + 4544 >> 2], Math_fround(Math_fround(HEAP32[$0 + 4652 >> 2]) * Math_fround(152587890625e-16)), Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4648 >> 2]) * Math_fround(-.004000000189989805)) + Math_fround(.6000000238418579)) + Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4532 >> 2]) * Math_fround(.10000000149011612)) * Math_fround(-.00390625))) + Math_fround(Math_fround(HEAP8[$0 + 4541 | 0] >> 1) * Math_fround(-.15000000596046448))) + Math_fround(Math_fround(Math_fround(HEAP32[$0 + 4712 >> 2]) * Math_fround(.10000000149011612)) * Math_fround(-30517578125e-15))), HEAP32[$0 + 4576 >> 2], HEAP32[$0 + 4644 >> 2], HEAP32[$0 + 4580 >> 2], $4)) { - HEAP8[$0 + 4765 | 0] = 2; - break label$2; - } - HEAP8[$0 + 4765 | 0] = 1; - break label$2; - } - HEAP32[$1 + 228 >> 2] = 0; - HEAP32[$1 + 232 >> 2] = 0; - HEAP32[$1 + 236 >> 2] = 0; - HEAP32[$1 + 240 >> 2] = 0; - HEAP32[$0 + 10060 >> 2] = 0; - HEAP8[$0 + 4764 | 0] = 0; - HEAP16[$0 + 4762 >> 1] = 0; - } - __stack_pointer = $5 + 1744 | 0; - return; - } - celt_fatal(10821, 10883, 59); - abort(); -} -function stereo_itheta($0, $1, $2, $3, $4) { - var $5 = Math_fround(0), $6 = Math_fround(0), $7 = Math_fround(0), $8 = Math_fround(0), $9 = Math_fround(0); - label$1 : { - if ($2) { - $6 = Math_fround(1.0000000036274937e-15); - if (($3 | 0) < 1) { - $5 = Math_fround(1.0000000036274937e-15); - break label$1; - } - $2 = 0; - $5 = Math_fround(1.0000000036274937e-15); - while (1) { - $4 = $2 << 2; - $7 = HEAPF32[$4 + $0 >> 2]; - $8 = HEAPF32[$1 + $4 >> 2]; - $9 = Math_fround($7 - $8); - $5 = Math_fround($5 + Math_fround($9 * $9)); - $7 = Math_fround($7 + $8); - $6 = Math_fround($6 + Math_fround($7 * $7)); - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($3 | 0) < 1) { - $5 = Math_fround(1.0000000036274937e-15); - $6 = Math_fround(1.0000000036274937e-15); - break label$1; - } - $2 = 0; - while (1) { - $5 = HEAPF32[($2 << 2) + $0 >> 2]; - $6 = Math_fround($6 + Math_fround($5 * $5)); - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - $6 = Math_fround($6 + Math_fround(1.0000000036274937e-15)); - $2 = 0; - $5 = Math_fround(0); - while (1) { - $7 = HEAPF32[($2 << 2) + $1 >> 2]; - $5 = Math_fround($5 + Math_fround($7 * $7)); - $2 = $2 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - $5 = Math_fround($5 + Math_fround(1.0000000036274937e-15)); - } - $8 = Math_fround(Math_sqrt($5)); - $5 = Math_fround($8 * $8); - $9 = Math_fround(Math_sqrt($6)); - $6 = Math_fround($9 * $9); - $7 = Math_fround(0); - label$8 : { - if (Math_fround($5 + $6) < Math_fround(1.000000045813705e-18)) { - break label$8; - } - $7 = Math_fround(Math_fround(1.5707963705062866) - Math_fround(Math_fround(Math_fround($8 * $9) * Math_fround($5 + Math_fround($6 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($5 + Math_fround($6 * Math_fround(.6784840226173401))) * Math_fround($5 + Math_fround($6 * Math_fround(.0859554186463356)))))); - if (!($5 > $6 ^ 1)) { - break label$8; - } - $7 = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($8 * $9) * Math_fround($6 + Math_fround($5 * Math_fround(.43157973885536194)))) / Math_fround(Math_fround($6 + Math_fround($5 * Math_fround(.6784840226173401))) * Math_fround($6 + Math_fround($5 * Math_fround(.0859554186463356))))) + Math_fround(1.5707963705062866)) + Math_fround(-1.5707963705062866)); - } - $6 = Math_fround(Math_floor(Math_fround(Math_fround($7 * Math_fround(10430.3818359375)) + Math_fround(.5)))); - if (Math_fround(Math_abs($6)) < Math_fround(2147483648)) { - return ~~$6; - } - return -2147483648; -} -function silk_resampler_down2_3($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; - $6 = __stack_pointer - 1936 | 0; - __stack_pointer = $6; - $5 = $0; - $7 = HEAP32[$5 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - HEAP32[$6 >> 2] = $7; - HEAP32[$6 + 4 >> 2] = $4; - $7 = HEAP32[$5 + 12 >> 2]; - $4 = HEAP32[$5 + 8 >> 2]; - HEAP32[$6 + 8 >> 2] = $4; - HEAP32[$6 + 12 >> 2] = $7; - $20 = $5 + 16 | 0; - $11 = HEAP16[3144]; - $15 = HEAP16[3145]; - $12 = HEAP16[3143]; - $13 = HEAP16[3142]; - $21 = $6 + 16 | 0; - while (1) { - $9 = ($3 | 0) < 480 ? $3 : 480; - silk_resampler_private_AR2($20, $21, $2, 6280, $9); - if (($9 | 0) >= 3) { - $4 = HEAP32[$6 >> 2]; - $5 = $6; - $7 = $9; - while (1) { - $14 = Math_imul($4 >> 16, $13) + (Math_imul($4 & 65535, $13) >> 16) | 0; - $4 = HEAP32[$5 + 4 >> 2]; - $8 = $4 >> 16; - $10 = $4 & 65535; - $4 = HEAP32[$5 + 8 >> 2]; - $16 = (Math_imul($4 & 65535, $15) >> 16) + Math_imul($4 >> 16, $15) | 0; - $4 = HEAP32[$5 + 12 >> 2]; - $17 = $4 >> 16; - $18 = $4 & 65535; - $14 = (($16 + ((Math_imul($8, $12) + $14 | 0) + (Math_imul($12, $10) >> 16) | 0) | 0) + Math_imul($17, $11) | 0) + (Math_imul($18, $11) >> 16) | 0; - $19 = ($14 >> 5) + 1 >> 1; - HEAP16[$1 >> 1] = ($14 | 0) > 2097119 ? 32767 : ($19 | 0) > -32768 ? $19 : -32768; - $10 = (((Math_imul($12, $17) + (Math_imul($12, $18) >> 16) | 0) + Math_imul($8, $11) | 0) + $16 | 0) + (Math_imul($11, $10) >> 16) | 0; - $8 = HEAP32[$5 + 16 >> 2]; - $8 = ($10 + Math_imul($8 >> 16, $13) | 0) + (Math_imul($8 & 65535, $13) >> 16) | 0; - $10 = ($8 >> 5) + 1 >> 1; - HEAP16[$1 + 2 >> 1] = ($8 | 0) > 2097119 ? 32767 : ($10 | 0) > -32768 ? $10 : -32768; - $1 = $1 + 4 | 0; - $5 = $5 + 12 | 0; - $8 = ($7 | 0) > 5; - $7 = $7 - 3 | 0; - if ($8) { - continue; - } - break; - } - } - $3 = $3 - $9 | 0; - if (($3 | 0) >= 1) { - $5 = ($9 << 2) + $6 | 0; - $7 = HEAP32[$5 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - HEAP32[$6 >> 2] = $7; - HEAP32[$6 + 4 >> 2] = $4; - $7 = HEAP32[$5 + 12 >> 2]; - $4 = HEAP32[$5 + 8 >> 2]; - HEAP32[$6 + 8 >> 2] = $4; - HEAP32[$6 + 12 >> 2] = $7; - $2 = ($9 << 1) + $2 | 0; - continue; - } - break; - } - $5 = ($9 << 2) + $6 | 0; - $7 = HEAP32[$5 >> 2]; - $4 = HEAP32[$5 + 4 >> 2]; - $1 = $7; - $7 = $0; - HEAP32[$7 >> 2] = $1; - HEAP32[$7 + 4 >> 2] = $4; - $7 = HEAP32[$5 + 12 >> 2]; - $4 = HEAP32[$5 + 8 >> 2]; - $1 = $4; - $4 = $0; - HEAP32[$4 + 8 >> 2] = $1; - HEAP32[$4 + 12 >> 2] = $7; - __stack_pointer = $6 + 1936 | 0; -} -function memcpy($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - if ($2 >>> 0 >= 512) { - emscripten_memcpy_big($0 | 0, $1 | 0, $2 | 0) | 0; - return $0; - } - $4 = $0 + $2 | 0; - label$2 : { - if (!(($0 ^ $1) & 3)) { - label$4 : { - if (($2 | 0) < 1) { - $2 = $0; - break label$4; - } - if (!($0 & 3)) { - $2 = $0; - break label$4; - } - $2 = $0; - while (1) { - HEAP8[$2 | 0] = HEAPU8[$1 | 0]; - $1 = $1 + 1 | 0; - $2 = $2 + 1 | 0; - if ($4 >>> 0 <= $2 >>> 0) { - break label$4; - } - if ($2 & 3) { - continue; - } - break; - } - } - $3 = $4 & -4; - label$8 : { - if ($3 >>> 0 < 64) { - break label$8; - } - $5 = $3 + -64 | 0; - if ($5 >>> 0 < $2 >>> 0) { - break label$8; - } - while (1) { - HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; - HEAP32[$2 + 12 >> 2] = HEAP32[$1 + 12 >> 2]; - HEAP32[$2 + 16 >> 2] = HEAP32[$1 + 16 >> 2]; - HEAP32[$2 + 20 >> 2] = HEAP32[$1 + 20 >> 2]; - HEAP32[$2 + 24 >> 2] = HEAP32[$1 + 24 >> 2]; - HEAP32[$2 + 28 >> 2] = HEAP32[$1 + 28 >> 2]; - HEAP32[$2 + 32 >> 2] = HEAP32[$1 + 32 >> 2]; - HEAP32[$2 + 36 >> 2] = HEAP32[$1 + 36 >> 2]; - HEAP32[$2 + 40 >> 2] = HEAP32[$1 + 40 >> 2]; - HEAP32[$2 + 44 >> 2] = HEAP32[$1 + 44 >> 2]; - HEAP32[$2 + 48 >> 2] = HEAP32[$1 + 48 >> 2]; - HEAP32[$2 + 52 >> 2] = HEAP32[$1 + 52 >> 2]; - HEAP32[$2 + 56 >> 2] = HEAP32[$1 + 56 >> 2]; - HEAP32[$2 + 60 >> 2] = HEAP32[$1 + 60 >> 2]; - $1 = $1 - -64 | 0; - $2 = $2 - -64 | 0; - if ($5 >>> 0 >= $2 >>> 0) { - continue; - } - break; - } - } - if ($2 >>> 0 >= $3 >>> 0) { - break label$2; - } - while (1) { - HEAP32[$2 >> 2] = HEAP32[$1 >> 2]; - $1 = $1 + 4 | 0; - $2 = $2 + 4 | 0; - if ($3 >>> 0 > $2 >>> 0) { - continue; - } - break; - } - break label$2; - } - if ($4 >>> 0 < 4) { - $2 = $0; - break label$2; - } - $3 = $4 - 4 | 0; - if ($3 >>> 0 < $0 >>> 0) { - $2 = $0; - break label$2; - } - $2 = $0; - while (1) { - HEAP8[$2 | 0] = HEAPU8[$1 | 0]; - HEAP8[$2 + 1 | 0] = HEAPU8[$1 + 1 | 0]; - HEAP8[$2 + 2 | 0] = HEAPU8[$1 + 2 | 0]; - HEAP8[$2 + 3 | 0] = HEAPU8[$1 + 3 | 0]; - $1 = $1 + 4 | 0; - $2 = $2 + 4 | 0; - if ($3 >>> 0 >= $2 >>> 0) { - continue; - } - break; - } - } - if ($2 >>> 0 < $4 >>> 0) { - while (1) { - HEAP8[$2 | 0] = HEAPU8[$1 | 0]; - $1 = $1 + 1 | 0; - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return $0; -} -function silk_VQ_WMat_EC_c($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; - $12 = HEAP32[$5 + 8 >> 2]; - $13 = HEAP32[$5 + 4 >> 2]; - $15 = HEAP32[$5 >> 2]; - $14 = HEAP32[$5 + 12 >> 2]; - $5 = HEAP32[$5 + 16 >> 2]; - HEAP32[$2 >> 2] = 2147483647; - HEAP32[$1 >> 2] = 2147483647; - HEAP8[$0 | 0] = 0; - if (($11 | 0) >= 1) { - $17 = $5 << 8; - $18 = $14 << 7; - $19 = $15 << 7; - $20 = $13 << 7; - $21 = $12 << 7; - $22 = $9 << 16 >> 16; - $15 = 0; - while (1) { - $14 = HEAP8[$6 | 0]; - $13 = HEAP8[$6 + 1 | 0]; - $12 = HEAP8[$6 + 2 | 0]; - $9 = HEAP8[$6 + 3 | 0]; - $5 = HEAP8[$6 + 4 | 0]; - $16 = Math_imul($14, HEAP32[$4 >> 2]) + ((((Math_imul($13, HEAP32[$4 + 4 >> 2]) - $19 | 0) + Math_imul($12, HEAP32[$4 + 8 >> 2]) | 0) + Math_imul($9, HEAP32[$4 + 12 >> 2]) | 0) + Math_imul($5, HEAP32[$4 + 16 >> 2]) << 1) | 0; - $16 = Math_imul($16 >> 16, $14) + (Math_imul($16 & 65535, $14) >> 16) | 0; - $14 = Math_imul(HEAP32[$4 + 24 >> 2], $13) + (((Math_imul(HEAP32[$4 + 28 >> 2], $12) - $20 | 0) + Math_imul(HEAP32[$4 + 32 >> 2], $9) | 0) + Math_imul(HEAP32[$4 + 36 >> 2], $5) << 1) | 0; - $14 = ($16 + Math_imul($14 >> 16, $13) | 0) + (Math_imul($14 & 65535, $13) >> 16) | 0; - $13 = Math_imul(HEAP32[$4 + 48 >> 2], $12) + ((Math_imul(HEAP32[$4 + 52 >> 2], $9) - $21 | 0) + Math_imul(HEAP32[$4 + 56 >> 2], $5) << 1) | 0; - $14 = ($14 + Math_imul($13 >> 16, $12) | 0) + (Math_imul($13 & 65535, $12) >> 16) | 0; - $12 = Math_imul(HEAP32[$4 + 96 >> 2], $5) - $17 | 0; - $13 = Math_imul(HEAP32[$4 + 72 >> 2], $9) + (Math_imul(HEAP32[$4 + 76 >> 2], $5) - $18 << 1) | 0; - $5 = (((($14 + Math_imul($12 >> 16, $5) | 0) + Math_imul($13 >> 16, $9) | 0) + (Math_imul($12 & 65535, $5) >> 16) | 0) + (Math_imul($13 & 65535, $9) >> 16) | 0) + 32801 | 0; - label$3 : { - if (($5 | 0) < 0) { - break label$3; - } - $12 = HEAPU8[$7 + $15 | 0]; - $9 = $12 - $10 | 0; - $5 = ((($9 | 0) > 0 ? $9 : 0) << 11) + $5 | 0; - $9 = Math_imul((silk_lin2log($5) << 16) - 125829120 >> 16, $22) + (HEAPU8[$8 + $15 | 0] << 2) | 0; - if (($9 | 0) > HEAP32[$2 >> 2]) { - break label$3; - } - HEAP32[$2 >> 2] = $9; - HEAP32[$1 >> 2] = $5; - HEAP8[$0 | 0] = $15; - HEAP32[$3 >> 2] = $12; - } - $6 = $6 + 5 | 0; - $15 = $15 + 1 | 0; - if (($15 | 0) != ($11 | 0)) { - continue; - } - break; - } - } -} -function silk_quant_LTP_gains($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - $11 = __stack_pointer - 16 | 0; - __stack_pointer = $11; - $19 = ($8 | 0) < 1; - $18 = 2147483647; - while (1) { - $12 = HEAP32[$3 >> 2]; - label$2 : { - if ($19) { - $16 = 0; - $15 = 0; - $9 = $12; - break label$2; - } - $20 = HEAP8[$17 + 7916 | 0]; - $10 = $17 << 2; - $21 = HEAP32[$10 + 7904 >> 2]; - $22 = HEAP32[$10 + 7824 >> 2]; - $23 = HEAP32[$10 + 7520 >> 2]; - $10 = 0; - $15 = 0; - $16 = 0; - $13 = $6; - $14 = $5; - while (1) { - silk_VQ_WMat_EC_c(($11 + 12 | 0) + $10 | 0, $11 + 8 | 0, $11 + 4 | 0, $11, $14, $13, $22, $21, $23, $7, silk_log2lin(6229 - $12 | 0) - 51 | 0, $20); - $15 = HEAP32[$11 + 4 >> 2] + $15 | 0; - $24 = ($15 | 0) > -1; - $16 = HEAP32[$11 + 8 >> 2] + $16 | 0; - $25 = ($16 | 0) > -1; - $9 = 0; - if ((silk_lin2log(HEAP32[$11 >> 2] + 51 | 0) + $12 | 0) >= 896) { - $9 = (silk_lin2log(HEAP32[$11 >> 2] + 51 | 0) + $12 | 0) - 896 | 0; - } - $15 = $24 ? $15 : 2147483647; - $16 = $25 ? $16 : 2147483647; - $13 = $13 + 20 | 0; - $14 = $14 + 100 | 0; - $12 = $9; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - if (($15 | 0) <= ($18 | 0)) { - HEAP8[$2 | 0] = $17; - memcpy($1, $11 + 12 | 0, $8); - $26 = $9; - $18 = $15; - } - $17 = $17 + 1 | 0; - if (($17 | 0) != 3) { - continue; - } - break; - } - if (($8 | 0) >= 1) { - $12 = HEAP32[(HEAP8[$2 | 0] << 2) + 7824 >> 2]; - $14 = 0; - while (1) { - $10 = Math_imul($14, 10) + $0 | 0; - $13 = $1 + $14 | 0; - HEAP16[$10 >> 1] = HEAP8[Math_imul(HEAP8[$13 | 0], 5) + $12 | 0] << 7; - HEAP16[$10 + 2 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 1 | 0] << 7; - HEAP16[$10 + 4 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 2 | 0] << 7; - HEAP16[$10 + 6 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 3 | 0] << 7; - HEAP16[$10 + 8 >> 1] = HEAP8[(Math_imul(HEAP8[$13 | 0], 5) + $12 | 0) + 4 | 0] << 7; - $14 = $14 + 1 | 0; - if (($14 | 0) != ($8 | 0)) { - continue; - } - break; - } - } - HEAP32[$3 >> 2] = $26; - HEAP32[$4 >> 2] = Math_imul((silk_lin2log($16 >> (($8 | 0) == 2 ? 1 : 2)) << 16) - 125829120 >> 16, -3); - __stack_pointer = $11 + 16 | 0; -} -function silk_insertion_sort_decreasing_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0; - label$1 : { - label$2 : { - if (($3 | 0) > 0) { - if (($2 | 0) <= 0) { - break label$2; - } - if (($2 | 0) < ($3 | 0)) { - break label$1; - } - while (1) { - HEAP32[($4 << 2) + $1 >> 2] = $4; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - $6 = 1; - if (($3 | 0) > 1) { - while (1) { - $9 = HEAPF32[($6 << 2) + $0 >> 2]; - $4 = $6; - label$7 : { - while (1) { - $7 = $4 - 1 | 0; - $5 = $7 << 2; - $10 = HEAPF32[$5 + $0 >> 2]; - if ($10 < $9 ^ 1) { - break label$7; - } - $8 = $4 << 2; - HEAPF32[$8 + $0 >> 2] = $10; - HEAP32[$1 + $8 >> 2] = HEAP32[$1 + $5 >> 2]; - $5 = ($4 | 0) > 1; - $4 = $7; - if ($5) { - continue; - } - break; - } - $4 = 0; - } - $4 = $4 << 2; - HEAPF32[$4 + $0 >> 2] = $9; - HEAP32[$1 + $4 >> 2] = $6; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - if (($2 | 0) > ($3 | 0)) { - $6 = $3 - 2 | 0; - $11 = (($3 << 2) + $0 | 0) - 4 | 0; - $8 = $3; - while (1) { - $9 = HEAPF32[($8 << 2) + $0 >> 2]; - if (!($9 > HEAPF32[$11 >> 2] ^ 1)) { - $4 = $6; - $5 = $4; - label$12 : { - if (($3 | 0) < 2) { - break label$12; - } - while (1) { - $7 = $4 << 2; - $10 = HEAPF32[$7 + $0 >> 2]; - if ($10 < $9 ^ 1) { - $5 = $4; - break label$12; - } - $5 = $7 + 4 | 0; - HEAPF32[$5 + $0 >> 2] = $10; - HEAP32[$1 + $5 >> 2] = HEAP32[$1 + $7 >> 2]; - $5 = -1; - $7 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($7) { - continue; - } - break; - } - } - $4 = ($5 << 2) + 4 | 0; - HEAPF32[$4 + $0 >> 2] = $9; - HEAP32[$1 + $4 >> 2] = $8; - } - $8 = $8 + 1 | 0; - if (($8 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(9912, 9936, 50); - abort(); - } - celt_fatal(9958, 9936, 51); - abort(); - } - celt_fatal(9982, 9936, 52); - abort(); -} -function silk_insertion_sort_increasing($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - label$1 : { - label$2 : { - if (($3 | 0) > 0) { - if (($2 | 0) <= 0) { - break label$2; - } - if (($2 | 0) < ($3 | 0)) { - break label$1; - } - while (1) { - HEAP32[($4 << 2) + $1 >> 2] = $4; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - $6 = 1; - if (($3 | 0) > 1) { - while (1) { - $7 = HEAP32[($6 << 2) + $0 >> 2]; - $4 = $6; - label$7 : { - while (1) { - $8 = $4 - 1 | 0; - $5 = $8 << 2; - $10 = HEAP32[$5 + $0 >> 2]; - if (($10 | 0) <= ($7 | 0)) { - break label$7; - } - $9 = $4 << 2; - HEAP32[$9 + $0 >> 2] = $10; - HEAP32[$1 + $9 >> 2] = HEAP32[$1 + $5 >> 2]; - $5 = ($4 | 0) > 1; - $4 = $8; - if ($5) { - continue; - } - break; - } - $4 = 0; - } - $4 = $4 << 2; - HEAP32[$4 + $0 >> 2] = $7; - HEAP32[$1 + $4 >> 2] = $6; - $6 = $6 + 1 | 0; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - if (($2 | 0) > ($3 | 0)) { - $6 = $3 - 2 | 0; - $11 = (($3 << 2) + $0 | 0) - 4 | 0; - $7 = $3; - while (1) { - $9 = HEAP32[($7 << 2) + $0 >> 2]; - if (($9 | 0) < HEAP32[$11 >> 2]) { - $4 = $6; - $5 = $4; - label$12 : { - if (($3 | 0) < 2) { - break label$12; - } - while (1) { - $8 = $4 << 2; - $5 = HEAP32[$8 + $0 >> 2]; - if (($9 | 0) >= ($5 | 0)) { - $5 = $4; - break label$12; - } - $10 = $8 + 4 | 0; - HEAP32[$10 + $0 >> 2] = $5; - HEAP32[$1 + $10 >> 2] = HEAP32[$1 + $8 >> 2]; - $5 = -1; - $8 = ($4 | 0) > 0; - $4 = $4 - 1 | 0; - if ($8) { - continue; - } - break; - } - } - $4 = ($5 << 2) + 4 | 0; - HEAP32[$4 + $0 >> 2] = $9; - HEAP32[$1 + $4 >> 2] = $7; - } - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15635, 15659, 51); - abort(); - } - celt_fatal(15671, 15659, 52); - abort(); - } - celt_fatal(15695, 15659, 53); - abort(); -} -function silk_stereo_quant_pred($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - $13 = 1; - while (1) { - $10 = ($4 << 2) + $0 | 0; - $7 = Math_imul($4, 3) + $1 | 0; - $11 = $7; - $3 = 2147483647; - $4 = 0; - label$2 : { - label$3 : { - while (1) { - $14 = $4 + 1 | 0; - $6 = HEAP16[($4 << 1) + 5744 >> 1]; - $5 = HEAP16[($14 << 1) + 5744 >> 1] - $6 | 0; - $15 = Math_imul($5 & 65535, 6554) >>> 16 | 0; - $16 = $5 >> 16; - $5 = Math_imul($16, 6554) + $15 | 0; - $12 = $5 + $6 | 0; - $2 = HEAP32[$10 >> 2] - $12 | 0; - $8 = $2; - $2 = $2 >> 31; - $2 = $2 ^ $2 + $8; - if (($2 | 0) >= ($3 | 0)) { - $4 = HEAPU8[$7 | 0]; - break label$2; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 0; - $9 = Math_imul($5, 3) + $6 | 0; - $3 = HEAP32[$10 >> 2] - $9 | 0; - $8 = $3; - $3 = $3 >> 31; - $3 = $3 ^ $3 + $8; - if (($2 | 0) <= ($3 | 0)) { - $9 = $12; - break label$2; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 1; - $17 = Math_imul($5, 5) + $6 | 0; - $2 = HEAP32[$10 >> 2] - $17 | 0; - $8 = $2; - $2 = $2 >> 31; - $2 = $2 ^ $2 + $8; - if (($2 | 0) >= ($3 | 0)) { - break label$2; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 2; - $9 = Math_imul($5, 7) + $6 | 0; - $3 = HEAP32[$10 >> 2] - $9 | 0; - $8 = $3; - $3 = $3 >> 31; - $12 = $3 ^ $3 + $8; - if (($12 | 0) >= ($2 | 0)) { - break label$3; - } - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 3; - $5 = HEAP32[$10 >> 2] - (Math_imul($5, 9) + $6 | 0) | 0; - $2 = $5; - $5 = $5 >> 31; - $3 = $5 ^ $5 + $2; - if (($12 | 0) <= ($3 | 0)) { - break label$2; - } - $9 = (Math_imul($16, 58986) + Math_imul($15, 9) | 0) + $6 | 0; - HEAP8[$7 | 0] = $4; - HEAP8[$11 + 1 | 0] = 4; - $4 = $14; - if (($4 | 0) != 15) { - continue; - } - break; - } - $4 = 14; - break label$2; - } - $9 = $17; - } - $6 = ($4 << 24 >> 24) / 3 | 0; - HEAP8[$7 + 2 | 0] = $6; - HEAP8[$7 | 0] = Math_imul($6, -3) + $4; - HEAP32[$10 >> 2] = $9; - $4 = 1; - $6 = $13; - $13 = 0; - if ($6) { - continue; - } - break; - } - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - HEAP32[$0 + 4 >> 2]; -} -function quant_energy_finalise($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0), $17 = 0, $18 = 0, $19 = 0; - $17 = ($9 | 0) > 1 ? $9 : 1; - $18 = ($1 | 0) >= ($2 | 0); - label$1 : { - if ($18 | ($7 | 0) < ($9 | 0)) { - break label$1; - } - $11 = $1; - while (1) { - $10 = $11 << 2; - $19 = $10 + $5 | 0; - if (!(HEAP32[$19 >> 2] > 7 | HEAP32[$6 + $10 >> 2])) { - $12 = HEAP32[$0 + 8 >> 2]; - $10 = 0; - while (1) { - $13 = HEAPF32[(Math_imul($10, $12) + $11 << 2) + $4 >> 2] < Math_fround(0); - ec_enc_bits($8, $13 ^ 1, 1); - $12 = HEAP32[$0 + 8 >> 2]; - $14 = Math_imul($12, $10) + $11 << 2; - $15 = $14 + $3 | 0; - $16 = Math_fround(Math_fround(($13 ? Math_fround(-.5) : Math_fround(.5)) * Math_fround(1 << 13 - HEAP32[$19 >> 2])) * Math_fround(6103515625e-14)); - HEAPF32[$15 >> 2] = HEAPF32[$15 >> 2] + $16; - $13 = $4 + $14 | 0; - HEAPF32[$13 >> 2] = HEAPF32[$13 >> 2] - $16; - $10 = $10 + 1 | 0; - if (($17 | 0) != ($10 | 0)) { - continue; - } - break; - } - $7 = $7 - $17 | 0; - } - $11 = $11 + 1 | 0; - if (($11 | 0) >= ($2 | 0)) { - break label$1; - } - if (($7 | 0) >= ($9 | 0)) { - continue; - } - break; - } - } - label$5 : { - if (($7 | 0) < ($9 | 0) | $18) { - break label$5; - } - while (1) { - $10 = $1 << 2; - $15 = $10 + $5 | 0; - if (!(HEAP32[$15 >> 2] > 7 | HEAP32[$6 + $10 >> 2] != 1)) { - $11 = HEAP32[$0 + 8 >> 2]; - $10 = 0; - while (1) { - $12 = HEAPF32[(Math_imul($10, $11) + $1 << 2) + $4 >> 2] < Math_fround(0); - ec_enc_bits($8, $12 ^ 1, 1); - $11 = HEAP32[$0 + 8 >> 2]; - $13 = Math_imul($11, $10) + $1 << 2; - $14 = $13 + $3 | 0; - $16 = Math_fround(Math_fround(($12 ? Math_fround(-.5) : Math_fround(.5)) * Math_fround(1 << 13 - HEAP32[$15 >> 2])) * Math_fround(6103515625e-14)); - HEAPF32[$14 >> 2] = HEAPF32[$14 >> 2] + $16; - $12 = $4 + $13 | 0; - HEAPF32[$12 >> 2] = HEAPF32[$12 >> 2] - $16; - $10 = $10 + 1 | 0; - if (($17 | 0) != ($10 | 0)) { - continue; - } - break; - } - $7 = $7 - $17 | 0; - } - $1 = $1 + 1 | 0; - if (($2 | 0) <= ($1 | 0)) { - break label$5; - } - if (($7 | 0) >= ($9 | 0)) { - continue; - } - break; - } - } -} - - - -function silk_resampler_private_IIR_FIR($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; - $6 = __stack_pointer; - $11 = $6; - $4 = HEAP32[$0 + 268 >> 2]; - $7 = $6 - (($4 << 2) + 31 & -16) | 0; - __stack_pointer = $7; - $6 = HEAP32[$0 + 36 >> 2]; - $5 = HEAP32[$0 + 32 >> 2]; - HEAP32[$7 + 8 >> 2] = $5; - HEAP32[$7 + 12 >> 2] = $6; - $5 = HEAP32[$0 + 28 >> 2]; - $6 = HEAP32[$0 + 24 >> 2]; - HEAP32[$7 >> 2] = $6; - HEAP32[$7 + 4 >> 2] = $5; - $12 = $7 + 16 | 0; - $13 = HEAP32[$0 + 272 >> 2]; - while (1) { - $8 = ($3 | 0) < ($4 | 0) ? $3 : $4; - silk_resampler_private_up2_HQ($0, $12, $2, $8); - $6 = 0; - $9 = $8 << 17; - if (($9 | 0) >= 1) { - while (1) { - $10 = Math_imul($6 & 65535, 12) >>> 16 | 0; - $5 = $10 << 3; - $4 = ($6 >> 16 << 1) + $7 | 0; - $14 = ((Math_imul(HEAP16[$5 + 6306 >> 1], HEAP16[$4 + 2 >> 1]) + Math_imul(HEAP16[$5 + 6304 >> 1], HEAP16[$4 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6308 >> 1], HEAP16[$4 + 4 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6310 >> 1], HEAP16[$4 + 6 >> 1]) | 0; - $5 = 11 - $10 << 3; - $4 = ((($14 + Math_imul(HEAP16[$5 + 6310 >> 1], HEAP16[$4 + 8 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6308 >> 1], HEAP16[$4 + 10 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6306 >> 1], HEAP16[$4 + 12 >> 1]) | 0) + Math_imul(HEAP16[$5 + 6304 >> 1], HEAP16[$4 + 14 >> 1]) | 0; - $5 = ($4 >> 14) + 1 >> 1; - HEAP16[$1 >> 1] = ($4 | 0) > 1073725439 ? 32767 : ($5 | 0) > -32768 ? $5 : -32768; - $1 = $1 + 2 | 0; - $6 = $6 + $13 | 0; - if (($9 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - $3 = $3 - $8 | 0; - if (($3 | 0) >= 1) { - $4 = ($8 << 2) + $7 | 0; - $6 = HEAP32[$4 + 4 >> 2]; - $5 = HEAP32[$4 >> 2]; - HEAP32[$7 >> 2] = $5; - HEAP32[$7 + 4 >> 2] = $6; - $5 = HEAP32[$4 + 12 >> 2]; - $6 = HEAP32[$4 + 8 >> 2]; - HEAP32[$7 + 8 >> 2] = $6; - HEAP32[$7 + 12 >> 2] = $5; - $2 = ($8 << 1) + $2 | 0; - $4 = HEAP32[$0 + 268 >> 2]; - continue; - } - break; - } - $4 = ($8 << 2) + $7 | 0; - $6 = HEAP32[$4 + 4 >> 2]; - $5 = HEAP32[$4 >> 2]; - HEAP32[$0 + 24 >> 2] = $5; - HEAP32[$0 + 28 >> 2] = $6; - $5 = HEAP32[$4 + 12 >> 2]; - $6 = HEAP32[$4 + 8 >> 2]; - HEAP32[$0 + 32 >> 2] = $6; - HEAP32[$0 + 36 >> 2] = $5; - __stack_pointer = $11; -} -function silk_shell_encoder($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - $2 = HEAP32[$1 + 4 >> 2] + HEAP32[$1 >> 2] | 0; - $9 = HEAP32[$1 + 12 >> 2] + HEAP32[$1 + 8 >> 2] | 0; - $3 = $2 + $9 | 0; - $4 = HEAP32[$1 + 20 >> 2] + HEAP32[$1 + 16 >> 2] | 0; - $10 = HEAP32[$1 + 28 >> 2] + HEAP32[$1 + 24 >> 2] | 0; - $11 = $4 + $10 | 0; - $5 = $3 + $11 | 0; - $6 = HEAP32[$1 + 36 >> 2] + HEAP32[$1 + 32 >> 2] | 0; - $12 = HEAP32[$1 + 44 >> 2] + HEAP32[$1 + 40 >> 2] | 0; - $7 = $6 + $12 | 0; - $8 = HEAP32[$1 + 52 >> 2] + HEAP32[$1 + 48 >> 2] | 0; - $13 = HEAP32[$1 + 60 >> 2] + HEAP32[$1 + 56 >> 2] | 0; - $14 = $8 + $13 | 0; - $15 = $7 + $14 | 0; - $16 = $5 + $15 | 0; - if (($16 | 0) >= 1) { - ec_enc_icdf($0, $5, HEAPU8[$16 + 9200 | 0] + 9040 | 0, 8); - } - if (($5 | 0) >= 1) { - ec_enc_icdf($0, $3, HEAPU8[$5 + 9200 | 0] + 8880 | 0, 8); - } - if (($3 | 0) >= 1) { - ec_enc_icdf($0, $2, HEAPU8[$3 + 9200 | 0] + 8720 | 0, 8); - } - if (($2 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 >> 2], HEAPU8[$2 + 9200 | 0] + 8560 | 0, 8); - } - if (($9 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 8 >> 2], HEAPU8[$9 + 9200 | 0] + 8560 | 0, 8); - } - if (($11 | 0) >= 1) { - ec_enc_icdf($0, $4, HEAPU8[$11 + 9200 | 0] + 8720 | 0, 8); - } - if (($4 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 16 >> 2], HEAPU8[$4 + 9200 | 0] + 8560 | 0, 8); - } - if (($10 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 24 >> 2], HEAPU8[$10 + 9200 | 0] + 8560 | 0, 8); - } - if (($15 | 0) >= 1) { - ec_enc_icdf($0, $7, HEAPU8[$15 + 9200 | 0] + 8880 | 0, 8); - } - if (($7 | 0) >= 1) { - ec_enc_icdf($0, $6, HEAPU8[$7 + 9200 | 0] + 8720 | 0, 8); - } - if (($6 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 32 >> 2], HEAPU8[$6 + 9200 | 0] + 8560 | 0, 8); - } - if (($12 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 40 >> 2], HEAPU8[$12 + 9200 | 0] + 8560 | 0, 8); - } - if (($14 | 0) >= 1) { - ec_enc_icdf($0, $8, HEAPU8[$14 + 9200 | 0] + 8720 | 0, 8); - } - if (($8 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 48 >> 2], HEAPU8[$8 + 9200 | 0] + 8560 | 0, 8); - } - if (($13 | 0) >= 1) { - ec_enc_icdf($0, HEAP32[$1 + 56 >> 2], HEAPU8[$13 + 9200 | 0] + 8560 | 0, 8); - } -} -function silk_process_NLSFs($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $5 = __stack_pointer - 96 | 0; - __stack_pointer = $5; - label$1 : { - label$2 : { - if (!(HEAPU8[$0 + 4767 | 0] != 4 ? HEAP32[$0 + 4632 >> 2] != 1 : 0)) { - $4 = HEAP16[$0 + 4532 >> 1]; - $4 = (Math_imul($4, -5) + (Math_imul($4, 59246) >> 16) | 0) + 3146 | 0; - $6 = $4 + (HEAP32[$0 + 4580 >> 2] == 2 ? $4 >> 1 : 0) | 0; - if (($6 | 0) <= 0) { - break label$2; - } - silk_NLSF_VQ_weights_laroia($5 + 32 | 0, $2, HEAP32[$0 + 4640 >> 2]); - label$5 : { - if (HEAP32[$0 + 4632 >> 2] != 1) { - break label$5; - } - $4 = HEAP8[$0 + 4767 | 0]; - if (($4 | 0) > 3) { - break label$5; - } - silk_interpolate($5 - -64 | 0, $3, $2, $4, HEAP32[$0 + 4640 >> 2]); - silk_NLSF_VQ_weights_laroia($5, $5 - -64 | 0, HEAP32[$0 + 4640 >> 2]); - $10 = 1; - $7 = HEAP32[$0 + 4640 >> 2]; - if (($7 | 0) < 1) { - break label$5; - } - $4 = HEAP8[$0 + 4767 | 0]; - $11 = Math_imul($4, $4) << 27 >> 16; - $4 = 0; - while (1) { - $8 = $4 << 1; - $9 = $8 + ($5 + 32 | 0) | 0; - HEAP16[$9 >> 1] = (HEAP16[$9 >> 1] >>> 1) + (Math_imul(HEAP16[$5 + $8 >> 1], $11) >>> 16); - $4 = $4 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - silk_NLSF_encode($0 + 4744 | 0, $2, HEAP32[$0 + 4692 >> 2], $5 + 32 | 0, $6, HEAP32[$0 + 4660 >> 2], HEAP8[$0 + 4765 | 0]); - $4 = $1 + 32 | 0; - silk_NLSF2A($4, $2, HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 5092 >> 2]); - label$7 : { - if ($10) { - silk_interpolate($5 - -64 | 0, $3, $2, HEAP8[$0 + 4767 | 0], HEAP32[$0 + 4640 >> 2]); - silk_NLSF2A($1, $5 - -64 | 0, HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 5092 >> 2]); - break label$7; - } - $0 = HEAP32[$0 + 4640 >> 2]; - if (($0 | 0) >= 17) { - break label$1; - } - memcpy($1, $4, $0 << 1); - } - __stack_pointer = $5 + 96 | 0; - return; - } - celt_fatal(15848, 15951, 51); - abort(); - } - celt_fatal(15972, 15951, 63); - abort(); - } - celt_fatal(16006, 15951, 104); - abort(); -} -function encode_multiframe_packet($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $9 = __stack_pointer - 304 | 0; - $12 = $9; - __stack_pointer = $9; - $14 = $2 - 1 | 0; - $10 = ($2 | 0) == 2 ? 3 : ($14 << 1) + 2 | 0; - if (!(HEAP32[$0 + 148 >> 2] | HEAP32[$0 + 164 >> 2] == -1)) { - $11 = (Math_imul(HEAP32[$0 + 160 >> 2], 3) | 0) / ((Math_imul(HEAP32[$0 + 144 >> 2], 24) | 0) / (Math_imul($2, $3) | 0) | 0) | 0; - $5 = ($5 | 0) > ($11 | 0) ? $11 : $5; - } - $10 = ($5 - $10 | 0) / ($2 | 0) | 0; - $10 = ($10 | 0) < 1276 ? $10 + 1 | 0 : 1276; - $15 = $9 - (Math_imul($10, $2) + 15 & -16) | 0; - __stack_pointer = $15; - opus_repacketizer_init($12); - $18 = HEAP32[$0 + 136 >> 2]; - HEAP32[$0 + 136 >> 2] = HEAP32[$0 + 14224 >> 2]; - $19 = HEAP32[$0 + 128 >> 2]; - HEAP32[$0 + 128 >> 2] = HEAP32[$0 + 14240 >> 2]; - $20 = HEAP32[$0 + 120 >> 2]; - $9 = HEAP32[$0 + 14192 >> 2]; - HEAP32[$0 + 120 >> 2] = $9; - $16 = HEAP32[$0 + 68 >> 2]; - label$2 : { - if ($16) { - HEAP32[$0 + 120 >> 2] = 1; - break label$2; - } - HEAP32[$0 + 14232 >> 2] = $9; - } - label$4 : { - if (($2 | 0) >= 1) { - $9 = 0; - while (1) { - HEAP32[$0 + 68 >> 2] = 0; - HEAP32[$0 + 18132 >> 2] = ($9 | 0) < ($14 | 0); - if (!(!$6 | ($9 | 0) != ($14 | 0))) { - HEAP32[$0 + 136 >> 2] = 1002; - } - $13 = -3; - $11 = Math_imul($9, $10) + $15 | 0; - $17 = opus_encode_native($0, (Math_imul(HEAP32[$0 + 112 >> 2], Math_imul($3, $9)) << 2) + $1 | 0, $3, $11, $10, $7, 0, 0, 0, 0, 0, 0, $8); - if (($17 | 0) < 0) { - break label$4; - } - if ((opus_repacketizer_cat($12, $11, $17) | 0) < 0) { - break label$4; - } - $9 = $9 + 1 | 0; - if (($9 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $13 = opus_repacketizer_out_range_impl($12, 0, $2, $4, $5, 0, !HEAP32[$0 + 148 >> 2]); - if (($13 | 0) < 0) { - $13 = -3; - break label$4; - } - HEAP32[$0 + 128 >> 2] = $19; - HEAP32[$0 + 136 >> 2] = $18; - HEAP32[$0 + 120 >> 2] = $20; - HEAP32[$0 + 68 >> 2] = $16; - } - __stack_pointer = $12 + 304 | 0; - return $13; -} -function log10($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; - wasm2js_scratch_store_f64(+$0); - $2 = wasm2js_scratch_load_i32(1) | 0; - $3 = wasm2js_scratch_load_i32(0) | 0; - $5 = $2; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($2 | 0) > 0 ? 1 : ($2 | 0) >= 0) { - $1 = $5; - if ($1 >>> 0 > 1048575) { - break label$4; - } - } - $2 = $5; - $1 = $2 & 2147483647; - if (!($1 | $3)) { - return -1 / ($0 * $0); - } - $1 = $5; - if (($1 | 0) > -1) { - break label$3; - } - return ($0 - $0) / 0; - } - if ($1 >>> 0 > 2146435071) { - break label$1; - } - $2 = 1072693248; - $9 = -1023; - if (($1 | 0) != 1072693248) { - $2 = $1; - break label$2; - } - if ($3) { - break label$2; - } - return 0; - } - wasm2js_scratch_store_f64(+($0 * 0x40000000000000)); - $2 = wasm2js_scratch_load_i32(1) | 0; - $3 = wasm2js_scratch_load_i32(0) | 0; - $9 = -1077; - } - $1 = $2 + 614242 | 0; - $10 = +(($1 >>> 20 | 0) + $9 | 0); - $4 = $10 * .30102999566361177; - $1 = ($1 & 1048575) + 1072079006 | 0; - $2 = 0; - $1 = $2 | $1; - wasm2js_scratch_store_i32(0, $3 | 0); - wasm2js_scratch_store_i32(1, $1 | 0); - $0 = +wasm2js_scratch_load_f64() + -1; - $7 = $0 * ($0 * .5); - wasm2js_scratch_store_f64(+($0 - $7)); - $1 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - wasm2js_scratch_store_i32(0, 0); - wasm2js_scratch_store_i32(1, $1 | 0); - $8 = +wasm2js_scratch_load_f64(); - $6 = $8 * .4342944818781689; - $11 = $4 + $6; - $12 = $6 + ($4 - $11); - $13 = $0 - $8 - $7; - $0 = $0 / ($0 + 2); - $6 = $0; - $4 = $0 * $0; - $0 = $4 * $4; - $0 = $13 + $6 * ($7 + ($0 * ($0 * ($0 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $4 * ($0 * ($0 * ($0 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))); - $0 = $11 + ($12 + ($0 * .4342944818781689 + ($10 * 3.694239077158931e-13 + ($0 + $8) * 2.5082946711645275e-11))); - } - return $0; -} -function silk_LPC_fit($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $7 = $3 - $2 | 0; - $10 = $7 - 1 | 0; - $11 = ($4 | 0) < 1; - label$1 : { - label$2 : { - while (1) { - $3 = 0; - $2 = 0; - if (!$11) { - while (1) { - $6 = HEAP32[($3 << 2) + $1 >> 2]; - $8 = $6; - $6 = $6 >> 31; - $6 = $6 ^ $6 + $8; - $8 = $6; - $6 = ($2 | 0) < ($6 | 0); - $2 = $6 ? $8 : $2; - $5 = $6 ? $3 : $5; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $3 = ($7 | 0) == 1 ? ($2 & 1) + ($2 >> 1) | 0 : ($2 >> $10) + 1 >> 1; - if (($3 | 0) >= 32768) { - $3 = ($3 | 0) < 163838 ? $3 : 163838; - silk_bwexpander_32($1, $4, 65470 - ((($3 << 14) - 536854528 | 0) / (Math_imul($5 + 1 | 0, $3) >> 2) | 0) | 0); - $9 = $9 + 1 | 0; - if (($9 | 0) != 10) { - continue; - } - break label$2; - } - break; - } - if (($9 | 0) == 10) { - break label$2; - } - $3 = 0; - if (($4 | 0) <= 0) { - break label$1; - } - $5 = ($7 | 0) != 1; - while (1) { - $2 = HEAP32[($3 << 2) + $1 >> 2]; - $2 = $5 ? ($2 >> $10) + 1 >> 1 : ($2 & 1) + ($2 >> 1) | 0; - HEAP16[($3 << 1) + $0 >> 1] = $2; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($4 | 0) < 1) { - break label$1; - } - $3 = 0; - $9 = ($7 | 0) != 1; - while (1) { - $6 = ($3 << 2) + $1 | 0; - $5 = HEAP32[$6 >> 2]; - $8 = ($3 << 1) + $0 | 0; - label$13 : { - if (!$9) { - $5 = ($5 & 1) + ($5 >> 1) | 0; - $2 = 32767; - if (($5 | 0) > 32767) { - break label$13; - } - $2 = ($5 | 0) > -32768 ? $5 : -32768; - break label$13; - } - $5 = $5 >> $10; - $2 = 32767; - if (($5 | 0) > 65534) { - break label$13; - } - $2 = $5 + 1 >> 1; - $2 = ($2 | 0) > -32768 ? $2 : -32768; - } - HEAP16[$8 >> 1] = $2; - HEAP32[$6 >> 2] = $2 << 16 >> 16 << $7; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function silk_control_audio_bandwidth($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $2 = HEAP32[$0 + 4576 >> 2]; - if (!$2) { - $2 = HEAP32[$0 + 32 >> 2]; - } - $3 = $2 << 16; - if (!$3) { - $2 = HEAP32[$0 + 4572 >> 2]; - $0 = HEAP32[$0 + 4556 >> 2]; - return ((($0 | 0) > ($2 | 0) ? $2 : $0) | 0) / 1e3 | 0; - } - $3 = Math_imul($3 >> 16, 1e3); - $4 = HEAP32[$0 + 4556 >> 2]; - $5 = HEAP32[$0 + 4564 >> 2]; - if (!(HEAP32[$0 + 4568 >> 2] <= ($3 | 0) ? !(($3 | 0) > ($4 | 0) | ($5 | 0) < ($3 | 0)) : 0)) { - $2 = ($4 | 0) < ($5 | 0) ? $4 : $5; - $0 = HEAP32[$0 + 4568 >> 2]; - return ((($0 | 0) < ($2 | 0) ? $2 : $0) | 0) / 1e3 | 0; - } - $4 = HEAP32[$0 + 24 >> 2]; - if (($4 | 0) >= 256) { - HEAP32[$0 + 28 >> 2] = 0; - } - label$7 : { - label$8 : { - if (HEAP32[$1 + 64 >> 2] ? 0 : !HEAP32[$0 + 4536 >> 2]) { - break label$8; - } - $5 = HEAP32[$0 + 4572 >> 2]; - if (($5 | 0) < ($3 | 0)) { - label$11 : { - label$12 : { - if (HEAP32[$0 + 28 >> 2]) { - if (HEAP32[$1 + 64 >> 2]) { - break label$12; - } - if (($4 | 0) > 0) { - break label$11; - } - break label$7; - } - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 24 >> 2] = 256; - if (!HEAP32[$1 + 64 >> 2]) { - break label$11; - } - } - HEAP32[$0 + 28 >> 2] = 0; - return ($2 | 0) == 16 ? 12 : 8; - } - HEAP32[$0 + 28 >> 2] = -2; - return $2; - } - if (($3 | 0) < ($5 | 0)) { - if (HEAP32[$1 + 64 >> 2]) { - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 28 >> 2] = 1; - return ($2 | 0) == 8 ? 12 : 16; - } - if (!HEAP32[$0 + 28 >> 2]) { - break label$7; - } - HEAP32[$0 + 28 >> 2] = 1; - return $2; - } - if (HEAP32[$0 + 28 >> 2] > -1) { - break label$8; - } - HEAP32[$0 + 28 >> 2] = 1; - } - return $2; - } - HEAP32[$1 + 88 >> 2] = 1; - $0 = HEAP32[$1 + 56 >> 2]; - HEAP32[$1 + 56 >> 2] = $0 - ((Math_imul($0, 5) | 0) / (HEAP32[$1 + 24 >> 2] + 5 | 0) | 0); - return $2; -} -function silk_A2NLSF_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - $4 = $3 << 2; - HEAP32[$4 + $1 >> 2] = 65536; - HEAP32[$2 + $4 >> 2] = 65536; - $4 = 0; - label$1 : { - if (($3 | 0) <= 0) { - break label$1; - } - while (1) { - $5 = $4 << 2; - $6 = ($3 + $4 << 2) + $0 | 0; - $7 = (($4 ^ -1) + $3 << 2) + $0 | 0; - HEAP32[$5 + $1 >> 2] = 0 - (HEAP32[$6 >> 2] + HEAP32[$7 >> 2] | 0); - HEAP32[$2 + $5 >> 2] = HEAP32[$6 >> 2] - HEAP32[$7 >> 2]; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - if (($3 | 0) <= 0) { - break label$1; - } - $4 = $3; - while (1) { - $0 = $4 - 1 | 0; - $5 = $0 << 2; - $6 = $5 + $1 | 0; - $7 = $6; - $8 = HEAP32[$6 >> 2]; - $6 = $4 << 2; - HEAP32[$7 >> 2] = $8 - HEAP32[$6 + $1 >> 2]; - $5 = $2 + $5 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] + HEAP32[$2 + $6 >> 2]; - $5 = ($4 | 0) > 1; - $4 = $0; - if ($5) { - continue; - } - break; - } - $7 = 2; - if (($3 | 0) < 2) { - break label$1; - } - while (1) { - $4 = $3; - if (($7 | 0) < ($4 | 0)) { - while (1) { - $0 = ($4 << 2) + $1 | 0; - $5 = $0 - 8 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - HEAP32[$0 >> 2]; - $4 = $4 - 1 | 0; - if (($7 | 0) < ($4 | 0)) { - continue; - } - break; - } - } - $6 = 2; - $4 = ($7 << 2) + $1 | 0; - $0 = $4 - 8 | 0; - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - (HEAP32[$4 >> 2] << 1); - $4 = ($3 | 0) != ($7 | 0); - $7 = $7 + 1 | 0; - if ($4) { - continue; - } - break; - } - while (1) { - $4 = $3; - if (($6 | 0) < ($4 | 0)) { - while (1) { - $0 = ($4 << 2) + $2 | 0; - $5 = $0 - 8 | 0; - HEAP32[$5 >> 2] = HEAP32[$5 >> 2] - HEAP32[$0 >> 2]; - $4 = $4 - 1 | 0; - if (($6 | 0) < ($4 | 0)) { - continue; - } - break; - } - } - $4 = ($6 << 2) + $2 | 0; - $0 = $4 - 8 | 0; - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] - (HEAP32[$4 >> 2] << 1); - $4 = ($3 | 0) != ($6 | 0); - $6 = $6 + 1 | 0; - if ($4) { - continue; - } - break; - } - } -} -function resampler_basic_direct_double($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - $1 = $1 << 2; - $16 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $9 = HEAP32[$16 >> 2]; - $17 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $6 = HEAP32[$17 >> 2]; - $18 = HEAP32[$3 >> 2]; - label$1 : { - if (($6 | 0) >= ($18 | 0)) { - break label$1; - } - $13 = HEAP32[$0 + 12 >> 2]; - $20 = HEAP32[$0 + 40 >> 2]; - $21 = HEAP32[$0 + 36 >> 2]; - $22 = HEAP32[$0 + 92 >> 2]; - $23 = HEAP32[$0 + 76 >> 2]; - $3 = HEAP32[$5 >> 2]; - $19 = ($3 | 0) > 0 ? $3 : 0; - $14 = HEAP32[$0 + 24 >> 2]; - $24 = ($14 | 0) < 1; - while (1) { - if (($7 | 0) == ($19 | 0)) { - $7 = $19; - break label$1; - } - $15 = 0; - label$4 : { - if ($24) { - $10 = 0; - $11 = 0; - $12 = 0; - break label$4; - } - $3 = ($6 << 2) + $2 | 0; - $1 = (Math_imul($9, $14) << 2) + $23 | 0; - $5 = 0; - $12 = 0; - $11 = 0; - $10 = 0; - while (1) { - $0 = $5 << 2; - $10 = $10 + +Math_fround(HEAPF32[$1 + $0 >> 2] * HEAPF32[$0 + $3 >> 2]); - $8 = $0 | 12; - $15 = $15 + +Math_fround(HEAPF32[$8 + $1 >> 2] * HEAPF32[$3 + $8 >> 2]); - $8 = $0 | 8; - $12 = $12 + +Math_fround(HEAPF32[$8 + $1 >> 2] * HEAPF32[$3 + $8 >> 2]); - $0 = $0 | 4; - $11 = $11 + +Math_fround(HEAPF32[$1 + $0 >> 2] * HEAPF32[$0 + $3 >> 2]); - $5 = $5 + 4 | 0; - if (($14 | 0) > ($5 | 0)) { - continue; - } - break; - } - } - HEAPF32[(Math_imul($7, $22) << 2) + $4 >> 2] = $10 + $11 + $12 + $15; - $0 = $9 + $20 | 0; - $9 = $0 - ($0 >>> 0 < $13 >>> 0 ? 0 : $13) | 0; - $7 = $7 + 1 | 0; - $6 = ($6 + $21 | 0) + ($0 >>> 0 >= $13 >>> 0) | 0; - if (($18 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - HEAP32[$17 >> 2] = $6; - HEAP32[$16 >> 2] = $9; - return $7 | 0; -} -function silk_find_LPC_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0; - $4 = __stack_pointer - 1696 | 0; - __stack_pointer = $4; - HEAP8[$0 + 4767 | 0] = 4; - $6 = HEAP32[$0 + 4640 >> 2]; - $7 = $6 + HEAP32[$0 + 4588 >> 2] | 0; - $8 = silk_burg_modified_FLP($4 + 1632 | 0, $2, $3, $7, HEAP32[$0 + 4580 >> 2], $6); - label$1 : { - if (HEAP32[$0 + 4664 >> 2] | !HEAP32[$0 + 4632 >> 2] | HEAP32[$0 + 4580 >> 2] != 4) { - break label$1; - } - $5 = 3; - $3 = silk_burg_modified_FLP($4 + 1536 | 0, ($7 << 3) + $2 | 0, $3, $7, 2, HEAP32[$0 + 4640 >> 2]); - silk_A2NLSF_FLP($1, $4 + 1536 | 0, HEAP32[$0 + 4640 >> 2]); - $10 = $0 + 4500 | 0; - $11 = $7 << 1; - $8 = Math_fround($8 - $3); - $9 = Math_fround(3.4028234663852886e+38); - while (1) { - $6 = $5; - silk_interpolate($4 + 1600 | 0, $10, $1, $6, HEAP32[$0 + 4640 >> 2]); - silk_NLSF2A_FLP($4 + 1536 | 0, $4 + 1600 | 0, HEAP32[$0 + 4640 >> 2], HEAP32[$0 + 5092 >> 2]); - silk_LPC_analysis_filter_FLP($4, $4 + 1536 | 0, $2, $11, HEAP32[$0 + 4640 >> 2]); - $5 = HEAP32[$0 + 4640 >> 2]; - $12 = silk_energy_FLP(($5 << 2) + $4 | 0, $7 - $5 | 0); - $5 = HEAP32[$0 + 4640 >> 2]; - $3 = Math_fround($12 + silk_energy_FLP((($5 << 2) + $4 | 0) + ($7 << 2) | 0, $7 - $5 | 0)); - label$3 : { - if (!($8 > $3 ^ 1)) { - HEAP8[$0 + 4767 | 0] = $6; - $8 = $3; - break label$3; - } - if ($3 > $9) { - break label$1; - } - } - $5 = $6 - 1 | 0; - $9 = $3; - if ($6) { - continue; - } - break; - } - } - label$5 : { - if (HEAPU8[$0 + 4767 | 0] == 4) { - silk_A2NLSF_FLP($1, $4 + 1632 | 0, HEAP32[$0 + 4640 >> 2]); - if (HEAPU8[$0 + 4767 | 0] == 4) { - break label$5; - } - } - if (HEAP32[$0 + 4580 >> 2] == 4 ? !(HEAP32[$0 + 4664 >> 2] | !HEAP32[$0 + 4632 >> 2]) : 0) { - break label$5; - } - celt_fatal(16554, 16719, 103); - abort(); - } - __stack_pointer = $4 + 1696 | 0; -} -function ec_enc_icdf($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $4 = HEAP32[$0 + 28 >> 2]; - $3 = $4 >>> $3 | 0; - $5 = $0; - label$1 : { - if (($1 | 0) >= 1) { - $1 = $1 + $2 | 0; - $2 = $1 - 1 | 0; - HEAP32[$0 + 32 >> 2] = (HEAP32[$0 + 32 >> 2] + $4 | 0) - Math_imul(HEAPU8[$2 | 0], $3); - $3 = Math_imul(HEAPU8[$2 | 0] - HEAPU8[$1 | 0] | 0, $3); - break label$1; - } - $3 = $4 - Math_imul(HEAPU8[$1 + $2 | 0], $3) | 0; - } - HEAP32[$5 + 28 >> 2] = $3; - if ($3 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $3 = $1 >>> 31 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - if (($2 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $3 - 1 | 0; - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $4; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $3 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $3 = $3 << 8; - HEAP32[$0 + 28 >> 2] = $3; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($3 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function exp($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - wasm2js_scratch_store_f64(+$0); - $1 = wasm2js_scratch_load_i32(1) | 0; - $4 = wasm2js_scratch_load_i32(0) | 0; - $5 = $1 >>> 31 | 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - $3 = $0; - label$5 : { - label$6 : { - $6 = $1; - $1 = $6 & 2147483647; - label$7 : { - if ($1 >>> 0 >= 1082532651) { - $4 = __DOUBLE_BITS($0); - $6 = $4; - $1 = i64toi32_i32$HIGH_BITS; - $4 = $1 & 2147483647; - $1 = $6; - if (($4 | 0) == 2146435072 & ($1 | 0) != 0 | $4 >>> 0 > 2146435072) { - return $0; - } - if (!($0 > 709.782712893384 ^ 1)) { - return $0 * 8.98846567431158e+307; - } - if (!($0 < -745.1332191019411) | $0 < -708.3964185322641 ^ 1) { - break label$7; - } - break label$2; - } - if ($1 >>> 0 < 1071001155) { - break label$4; - } - if ($1 >>> 0 < 1072734898) { - break label$6; - } - } - $2 = $0 * 1.4426950408889634 + HEAPF64[($5 << 3) + 10928 >> 3]; - if (Math_abs($2) < 2147483648) { - $1 = ~~$2; - break label$5; - } - $1 = -2147483648; - break label$5; - } - $1 = ($5 ^ 1) - $5 | 0; - } - $2 = +($1 | 0); - $0 = $3 + $2 * -.6931471803691238; - $7 = $2 * 1.9082149292705877e-10; - $3 = $0 - $7; - break label$3; - } - if ($1 >>> 0 <= 1043333120) { - break label$1; - } - $1 = 0; - $3 = $0; - } - $2 = $3 * $3; - $2 = $3 - $2 * ($2 * ($2 * ($2 * ($2 * 4.1381367970572385e-8 + -16533902205465252e-22) + 6613756321437934e-20) + -.0027777777777015593) + .16666666666666602); - $2 = $0 + ($3 * $2 / (2 - $2) - $7) + 1; - if (!$1) { - break label$2; - } - $2 = scalbn($2, $1); - } - return $2; - } - return $0 + 1; -} -function memmove($0, $1, $2) { - var $3 = 0; - label$1 : { - if (($0 | 0) == ($1 | 0)) { - break label$1; - } - if (($1 - $0 | 0) - $2 >>> 0 <= 0 - ($2 << 1) >>> 0) { - return memcpy($0, $1, $2); - } - $3 = ($0 ^ $1) & 3; - label$3 : { - label$4 : { - if ($0 >>> 0 < $1 >>> 0) { - if ($3) { - $3 = $0; - break label$3; - } - if (!($0 & 3)) { - $3 = $0; - break label$4; - } - $3 = $0; - while (1) { - if (!$2) { - break label$1; - } - HEAP8[$3 | 0] = HEAPU8[$1 | 0]; - $1 = $1 + 1 | 0; - $2 = $2 - 1 | 0; - $3 = $3 + 1 | 0; - if ($3 & 3) { - continue; - } - break; - } - break label$4; - } - label$9 : { - if ($3) { - break label$9; - } - if ($0 + $2 & 3) { - while (1) { - if (!$2) { - break label$1; - } - $2 = $2 - 1 | 0; - $3 = $2 + $0 | 0; - HEAP8[$3 | 0] = HEAPU8[$1 + $2 | 0]; - if ($3 & 3) { - continue; - } - break; - } - } - if ($2 >>> 0 <= 3) { - break label$9; - } - while (1) { - $2 = $2 - 4 | 0; - HEAP32[$2 + $0 >> 2] = HEAP32[$1 + $2 >> 2]; - if ($2 >>> 0 > 3) { - continue; - } - break; - } - } - if (!$2) { - break label$1; - } - while (1) { - $2 = $2 - 1 | 0; - HEAP8[$2 + $0 | 0] = HEAPU8[$1 + $2 | 0]; - if ($2) { - continue; - } - break; - } - break label$1; - } - if ($2 >>> 0 <= 3) { - break label$3; - } - while (1) { - HEAP32[$3 >> 2] = HEAP32[$1 >> 2]; - $1 = $1 + 4 | 0; - $3 = $3 + 4 | 0; - $2 = $2 - 4 | 0; - if ($2 >>> 0 > 3) { - continue; - } - break; - } - } - if (!$2) { - break label$1; - } - while (1) { - HEAP8[$3 | 0] = HEAPU8[$1 | 0]; - $3 = $3 + 1 | 0; - $1 = $1 + 1 | 0; - $2 = $2 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - return $0; -} -function silk_resampler_private_up2_HQ($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - if (($3 | 0) >= 1) { - $9 = HEAP32[$0 + 20 >> 2]; - $7 = HEAP32[$0 + 16 >> 2]; - $4 = HEAP32[$0 + 12 >> 2]; - $6 = HEAP32[$0 + 8 >> 2]; - $8 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 >> 2]; - while (1) { - $13 = HEAP16[($12 << 1) + $2 >> 1] << 10; - $10 = $13 - $5 | 0; - $10 = (Math_imul($10 & 65535, 1746) >>> 16 | 0) + Math_imul($10 >> 16, 1746) | 0; - $14 = $10 + $5 | 0; - $5 = $14 - $8 | 0; - $15 = (Math_imul($5 & 65535, 14986) >>> 16 | 0) + Math_imul($5 >> 16, 14986) | 0; - $5 = $15 + $8 | 0; - $8 = $5 - $6 | 0; - $11 = $12 << 2; - $5 = (Math_imul($8 >> 16, -26453) + (Math_imul($8 & 65535, -26453) >> 16) | 0) + $5 | 0; - $6 = ($5 >> 9) + 1 >> 1; - HEAP16[$11 + $1 >> 1] = ($5 | 0) > 33553919 ? 32767 : ($6 | 0) > -32768 ? $6 : -32768; - $18 = ($11 | 2) + $1 | 0; - $6 = $13 - $4 | 0; - $11 = (Math_imul($6 & 65535, 6854) >>> 16 | 0) + Math_imul($6 >> 16, 6854) | 0; - $16 = $11 + $4 | 0; - $4 = $16 - $7 | 0; - $17 = (Math_imul($4 & 65535, 25769) >>> 16 | 0) + Math_imul($4 >> 16, 25769) | 0; - $4 = $17 + $7 | 0; - $7 = $4 - $9 | 0; - $4 = (Math_imul($7 >> 16, -9994) + (Math_imul($7 & 65535, -9994) >> 16) | 0) + $4 | 0; - $9 = ($4 >> 9) + 1 >> 1; - HEAP16[$18 >> 1] = ($4 | 0) > 33553919 ? 32767 : ($9 | 0) > -32768 ? $9 : -32768; - $9 = $4 + $7 | 0; - $6 = $5 + $8 | 0; - $7 = $16 + $17 | 0; - $8 = $14 + $15 | 0; - $4 = $13 + $11 | 0; - $5 = $13 + $10 | 0; - $12 = $12 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 20 >> 2] = $9; - HEAP32[$0 + 16 >> 2] = $7; - HEAP32[$0 + 12 >> 2] = $4; - HEAP32[$0 + 8 >> 2] = $6; - HEAP32[$0 + 4 >> 2] = $8; - HEAP32[$0 >> 2] = $5; - } -} -function ec_encode_bin($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $4 = -1 << $3; - $5 = HEAP32[$0 + 28 >> 2]; - $3 = $5 >>> $3 | 0; - $6 = $0; - label$1 : { - if ($1) { - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] + (Math_imul($1 + $4 | 0, $3) + $5 | 0); - $3 = Math_imul($2 - $1 | 0, $3); - break label$1; - } - $3 = Math_imul($2 + $4 | 0, $3) + $5 | 0; - } - HEAP32[$6 + 28 >> 2] = $3; - if ($3 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $3 = $1 >>> 31 | 0; - $2 = HEAP32[$0 + 40 >> 2]; - if (($2 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $3 - 1 | 0; - while (1) { - $3 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $4; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $3 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $3 = $3 << 8; - HEAP32[$0 + 28 >> 2] = $3; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($3 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function ec_encode($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $5 = HEAP32[$0 + 28 >> 2]; - $4 = ($5 >>> 0) / ($3 >>> 0) | 0; - $6 = $0; - label$1 : { - if ($1) { - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] + (Math_imul($1 - $3 | 0, $4) + $5 | 0); - $3 = Math_imul($2 - $1 | 0, $4); - break label$1; - } - $3 = Math_imul($2 - $3 | 0, $4) + $5 | 0; - } - HEAP32[$6 + 28 >> 2] = $3; - if ($3 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $3 = $1 >>> 31 | 0; - $4 = HEAP32[$0 + 40 >> 2]; - if (($4 | 0) >= 0) { - $1 = -1; - $2 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $2 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $2 + 1; - HEAP8[HEAP32[$0 >> 2] + $2 | 0] = $3 + $4; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $2 = $3 - 1 | 0; - while (1) { - $3 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2; - $3 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $3 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $3 = $3 << 8; - HEAP32[$0 + 28 >> 2] = $3; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($3 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function silk_setup_resamplers($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $2 = __stack_pointer - 304 | 0; - $8 = $2; - __stack_pointer = $2; - $3 = HEAP32[$0 + 4576 >> 2]; - label$1 : { - if (($3 | 0) == ($1 | 0)) { - $5 = 0; - if (HEAP32[$0 + 4560 >> 2] == HEAP32[$0 + 4556 >> 2]) { - break label$1; - } - } - if (!$3) { - $5 = silk_resampler_init($0 + 5776 | 0, HEAP32[$0 + 4556 >> 2], Math_imul($1, 1e3), 1); - break label$1; - } - $9 = Math_imul(HEAP32[$0 + 4580 >> 2], 10) + 5 | 0; - $6 = Math_imul($9, $3); - $5 = Math_imul($1, $9); - $7 = $2 - (((($5 | 0) < ($6 | 0) ? $6 : $5) << 1) + 15 & -16) | 0; - $10 = $7; - __stack_pointer = $7; - if (($6 | 0) >= 1) { - $2 = $6; - while (1) { - $3 = $2 - 1 | 0; - $11 = ($3 << 1) + $7 | 0; - $4 = lrintf(HEAPF32[(($3 << 2) + $0 | 0) + 7180 >> 2]); - $4 = ($4 | 0) > -32768 ? $4 : -32768; - HEAP16[$11 >> 1] = ($4 | 0) < 32767 ? $4 : 32767; - $4 = ($2 | 0) > 1; - $2 = $3; - if ($4) { - continue; - } - break; - } - } - $3 = silk_resampler_init($8, Math_imul(HEAP16[$0 + 4576 >> 1], 1e3), HEAP32[$0 + 4556 >> 2], 0); - $4 = Math_imul(HEAP32[$0 + 4556 >> 2] / 1e3 | 0, $9); - $2 = $10 - (($4 << 1) + 15 & -16) | 0; - __stack_pointer = $2; - $6 = silk_resampler($8, $2, $7, $6) + $3 | 0; - $3 = $0 + 5776 | 0; - $1 = $6 + silk_resampler_init($3, HEAP32[$0 + 4556 >> 2], Math_imul($1 << 16 >> 16, 1e3), 1) | 0; - $4 = silk_resampler($3, $7, $2, $4); - if (($5 | 0) >= 1) { - while (1) { - $2 = $5 - 1 | 0; - HEAPF32[(($2 << 2) + $0 | 0) + 7180 >> 2] = HEAP16[($2 << 1) + $7 >> 1]; - $3 = ($5 | 0) > 1; - $5 = $2; - if ($3) { - continue; - } - break; - } - } - $5 = $1 + $4 | 0; - } - HEAP32[$0 + 4560 >> 2] = HEAP32[$0 + 4556 >> 2]; - __stack_pointer = $8 + 304 | 0; - return $5; -} -function compute_mdcts($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = Math_fround(0); - $10 = HEAP32[$0 + 44 >> 2]; - $12 = HEAP32[$0 + 4 >> 2]; - if ($1) { - $15 = HEAP32[$0 + 36 >> 2]; - } else { - $10 = $10 << $6; - $1 = 1; - $15 = HEAP32[$0 + 36 >> 2] - $6 | 0; - } - $16 = ($5 | 0) > 1 ? $5 : 1; - $17 = $0 - -64 | 0; - $9 = Math_imul($1, $10); - $18 = $12 + $9 | 0; - while (1) { - if (($1 | 0) >= 1) { - $11 = Math_imul($9, $13); - $14 = (Math_imul($13, $18) << 2) + $2 | 0; - $6 = 0; - while (1) { - clt_mdct_forward_c($17, (Math_imul($6, $10) << 2) + $14 | 0, ($6 + $11 << 2) + $3 | 0, HEAP32[$0 + 60 >> 2], $12, $15, $1, $8); - $6 = $6 + 1 | 0; - if (($6 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $13 = $13 + 1 | 0; - if (($16 | 0) != ($13 | 0)) { - continue; - } - break; - } - if (!(($4 | 0) != 1 | ($5 | 0) != 2 | ($9 | 0) < 1)) { - $6 = 0; - while (1) { - $1 = ($6 << 2) + $3 | 0; - HEAPF32[$1 >> 2] = Math_fround(HEAPF32[$1 >> 2] * Math_fround(.5)) + Math_fround(HEAPF32[($6 + $9 << 2) + $3 >> 2] * Math_fround(.5)); - $6 = $6 + 1 | 0; - if (($9 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - if (($7 | 0) != 1) { - $10 = ($4 | 0) > 1 ? $4 : 1; - $11 = ($9 | 0) / ($7 | 0) | 0; - $12 = $9 - $11 << 2; - $19 = Math_fround($7 | 0); - $0 = 0; - while (1) { - $14 = Math_imul($0, $9); - $6 = 0; - if (($11 | 0) >= 1) { - while (1) { - $1 = ($6 + $14 << 2) + $3 | 0; - HEAPF32[$1 >> 2] = HEAPF32[$1 >> 2] * $19; - $6 = $6 + 1 | 0; - if (($11 | 0) != ($6 | 0)) { - continue; - } - break; - } - } - memset(($11 + $14 << 2) + $3 | 0, 0, $12); - $0 = $0 + 1 | 0; - if (($10 | 0) != ($0 | 0)) { - continue; - } - break; - } - } -} -function celt_preemphasis($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = Math_fround(0), $9 = Math_fround(0), $10 = 0, $11 = Math_fround(0), $12 = Math_fround(0); - $9 = HEAPF32[$6 >> 2]; - $11 = HEAPF32[$5 >> 2]; - label$1 : { - if (!(($4 | 0) != 1 | $7 | HEAPF32[$5 + 4 >> 2] != Math_fround(0))) { - if (($2 | 0) < 1) { - break label$1; - } - $5 = 0; - while (1) { - $8 = Math_fround(HEAPF32[(Math_imul($3, $5) << 2) + $0 >> 2] * Math_fround(32768)); - HEAPF32[($5 << 2) + $1 >> 2] = $8 - $9; - $9 = Math_fround($11 * $8); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - $10 = ($2 | 0) / ($4 | 0) | 0; - if (($4 | 0) != 1) { - memset($1, 0, $2 << 2); - } - label$5 : { - if (($10 | 0) < 1) { - break label$5; - } - $5 = 0; - while (1) { - HEAPF32[(Math_imul($4, $5) << 2) + $1 >> 2] = HEAPF32[(Math_imul($3, $5) << 2) + $0 >> 2] * Math_fround(32768); - $5 = $5 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - if (!$7 | ($10 | 0) < 1) { - break label$5; - } - $5 = 0; - while (1) { - $0 = (Math_imul($4, $5) << 2) + $1 | 0; - $7 = $0; - $8 = HEAPF32[$0 >> 2]; - $0 = $8 > Math_fround(65536); - $3 = ($0 ? Math_fround(65536) : $8) < Math_fround(-65536); - $12 = $3 ? Math_fround(-65536) : Math_fround(65536); - HEAPF32[$7 >> 2] = $0 ? $12 : $3 ? $12 : $8; - $5 = $5 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - if (($2 | 0) < 1) { - break label$1; - } - $5 = 0; - while (1) { - $0 = ($5 << 2) + $1 | 0; - $8 = HEAPF32[$0 >> 2]; - HEAPF32[$0 >> 2] = $8 - $9; - $9 = Math_fround($11 * $8); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - HEAPF32[$6 >> 2] = $9; -} -function silk_LTP_analysis_filter_FLP($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = Math_fround(0), $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = Math_fround(0); - $9 = __stack_pointer - 32 | 0; - if (($6 | 0) >= 1) { - $14 = $5 + $7 | 0; - $15 = ($14 | 0) < 1; - while (1) { - $7 = $13 << 2; - $16 = HEAPF32[$7 + $4 >> 2]; - $11 = HEAP32[$3 + $7 >> 2]; - $7 = Math_imul($13, 20) + $2 | 0; - HEAP32[$9 + 16 >> 2] = HEAP32[$7 + 16 >> 2]; - $12 = HEAP32[$7 + 4 >> 2]; - $10 = HEAP32[$7 >> 2]; - HEAP32[$9 >> 2] = $10; - HEAP32[$9 + 4 >> 2] = $12; - $10 = HEAP32[$7 + 12 >> 2]; - $12 = HEAP32[$7 + 8 >> 2]; - HEAP32[$9 + 8 >> 2] = $12; - HEAP32[$9 + 12 >> 2] = $10; - if (!$15) { - $7 = $1 - ($11 << 2) | 0; - $12 = 0; - while (1) { - $10 = $12 << 2; - $11 = $10 + $0 | 0; - $10 = $1 + $10 | 0; - $8 = HEAPF32[$10 >> 2]; - $10 = HEAP32[$10 >> 2]; - HEAP32[$11 >> 2] = $10; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 >> 2] * HEAPF32[$7 + 8 >> 2])); - HEAPF32[$11 >> 2] = $8; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 + 4 >> 2] * HEAPF32[$7 + 4 >> 2])); - HEAPF32[$11 >> 2] = $8; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 + 8 >> 2] * HEAPF32[$7 >> 2])); - HEAPF32[$11 >> 2] = $8; - $8 = Math_fround($8 - Math_fround(HEAPF32[$9 + 12 >> 2] * HEAPF32[$7 - 4 >> 2])); - HEAPF32[$11 >> 2] = $8; - HEAPF32[$11 >> 2] = $16 * Math_fround($8 - Math_fround(HEAPF32[$9 + 16 >> 2] * HEAPF32[$7 - 8 >> 2])); - $7 = $7 + 4 | 0; - $12 = $12 + 1 | 0; - if (($14 | 0) != ($12 | 0)) { - continue; - } - break; - } - } - $1 = ($5 << 2) + $1 | 0; - $0 = ($14 << 2) + $0 | 0; - $13 = $13 + 1 | 0; - if (($13 | 0) != ($6 | 0)) { - continue; - } - break; - } - } -} -function __stdio_write($0, $1, $2) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $3 = __stack_pointer - 32 | 0; - __stack_pointer = $3; - $4 = HEAP32[$0 + 28 >> 2]; - HEAP32[$3 + 16 >> 2] = $4; - $5 = HEAP32[$0 + 20 >> 2]; - HEAP32[$3 + 28 >> 2] = $2; - HEAP32[$3 + 24 >> 2] = $1; - $1 = $5 - $4 | 0; - HEAP32[$3 + 20 >> 2] = $1; - $8 = $1 + $2 | 0; - $9 = 2; - $1 = $3 + 16 | 0; - label$1 : { - label$2 : { - label$3 : { - if (!__wasi_syscall_ret(__wasi_fd_write(HEAP32[$0 + 60 >> 2], $3 + 16 | 0, 2, $3 + 12 | 0) | 0)) { - while (1) { - $4 = HEAP32[$3 + 12 >> 2]; - if (($8 | 0) == ($4 | 0)) { - break label$3; - } - if (($4 | 0) <= -1) { - break label$2; - } - $6 = HEAP32[$1 + 4 >> 2]; - $5 = $6 >>> 0 < $4 >>> 0; - $7 = ($5 << 3) + $1 | 0; - $6 = $4 - ($5 ? $6 : 0) | 0; - HEAP32[$7 >> 2] = $6 + HEAP32[$7 >> 2]; - $7 = ($5 ? 12 : 4) + $1 | 0; - HEAP32[$7 >> 2] = HEAP32[$7 >> 2] - $6; - $8 = $8 - $4 | 0; - $1 = $5 ? $1 + 8 | 0 : $1; - $9 = $9 - $5 | 0; - if (!__wasi_syscall_ret(__wasi_fd_write(HEAP32[$0 + 60 >> 2], $1 | 0, $9 | 0, $3 + 12 | 0) | 0)) { - continue; - } - break; - } - } - if (($8 | 0) != -1) { - break label$2; - } - } - $1 = HEAP32[$0 + 44 >> 2]; - HEAP32[$0 + 28 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = $1; - HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 48 >> 2] + $1; - $0 = $2; - break label$1; - } - HEAP32[$0 + 28 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | 32; - $0 = 0; - if (($9 | 0) == 2) { - break label$1; - } - $0 = $2 - HEAP32[$1 + 4 >> 2] | 0; - } - __stack_pointer = $3 + 32 | 0; - $4 = $0; - return $4 | 0; -} -function ec_enc_bit_logp($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = HEAP32[$0 + 28 >> 2]; - $2 = $3 >>> $2 | 0; - $3 = $3 - $2 | 0; - label$1 : { - if (!$1) { - $2 = $3; - break label$1; - } - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] + $3; - } - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $1 = HEAP32[$0 + 32 >> 2]; - while (1) { - $5 = $1 >>> 23 | 0; - label$5 : { - if (($5 | 0) != 255) { - $2 = $1 >>> 31 | 0; - $3 = HEAP32[$0 + 40 >> 2]; - if (($3 | 0) >= 0) { - $1 = -1; - $4 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $4 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $4 + 1; - HEAP8[HEAP32[$0 >> 2] + $4 | 0] = $2 + $3; - $1 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $1; - } - $1 = HEAP32[$0 + 36 >> 2]; - if ($1) { - $4 = $2 - 1 | 0; - while (1) { - $2 = -1; - $3 = HEAP32[$0 + 24 >> 2]; - if (HEAPU32[$0 + 4 >> 2] > $3 + HEAP32[$0 + 8 >> 2] >>> 0) { - HEAP32[$0 + 24 >> 2] = $3 + 1; - HEAP8[HEAP32[$0 >> 2] + $3 | 0] = $4; - $2 = 0; - $1 = HEAP32[$0 + 36 >> 2]; - } - $1 = $1 - 1 | 0; - HEAP32[$0 + 36 >> 2] = $1; - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $2; - if ($1) { - continue; - } - break; - } - } - HEAP32[$0 + 40 >> 2] = $5 & 255; - $2 = HEAP32[$0 + 28 >> 2]; - $1 = HEAP32[$0 + 32 >> 2]; - break label$5; - } - HEAP32[$0 + 36 >> 2] = HEAP32[$0 + 36 >> 2] + 1; - } - $2 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $2; - $1 = $1 << 8 & 2147483392; - HEAP32[$0 + 32 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + 8; - if ($2 >>> 0 < 8388609) { - continue; - } - break; - } - } -} -function silk_gains_quant($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - if (($4 | 0) >= 1) { - while (1) { - $10 = ($9 << 2) + $1 | 0; - silk_lin2log(HEAP32[$10 >> 2]); - $6 = $0 + $9 | 0; - $7 = Math_imul((silk_lin2log(HEAP32[$10 >> 2]) << 16) - 136970240 >> 16, 2251); - $5 = $7 >>> 16 | 0; - HEAP8[$6 | 0] = $5; - if (HEAP8[$2 | 0] > $7 << 8 >> 24) { - $5 = $5 + 1 | 0; - HEAP8[$6 | 0] = $5; - } - $5 = $5 << 24 >> 24 > 0 ? $5 : 0; - $7 = $5 << 24 >> 24 < 63 ? $5 : 63; - HEAP8[$6 | 0] = $7; - $5 = HEAP8[$2 | 0]; - label$4 : { - if (!($3 | $9)) { - $8 = $5 - 4 | 0; - $7 = $7 & 255; - $5 = ($5 | 0) > 67 ? 63 : ($7 | 0) < ($8 | 0) ? $8 : $7; - HEAP8[$6 | 0] = $5; - HEAP8[$2 | 0] = $5; - break label$4; - } - $5 = $7 - $5 | 0; - HEAP8[$6 | 0] = $5; - $7 = HEAP8[$2 | 0] + 8 | 0; - $8 = $5 << 24 >> 24; - if (($7 | 0) < ($8 | 0)) { - $5 = (($8 - $7 | 0) + 1 >>> 1 | 0) + $7 | 0; - HEAP8[$6 | 0] = $5; - } - $5 = $5 << 24 >> 24 > -4 ? $5 : -4; - $5 = $5 << 24 >> 24 < 36 ? $5 : 36; - HEAP8[$6 | 0] = $5; - $11 = $2; - $8 = $5 << 24 >> 24; - label$7 : { - if (($8 | 0) > ($7 | 0)) { - $5 = HEAPU8[$2 | 0] + (($8 << 1) - $7 | 0) | 0; - HEAP8[$2 | 0] = $5; - $5 = $5 << 24 >> 24 < 63 ? $5 : 63; - break label$7; - } - $5 = HEAPU8[$2 | 0] + $5 | 0; - } - HEAP8[$11 | 0] = $5; - HEAP8[$6 | 0] = HEAPU8[$6 | 0] + 4; - $5 = HEAPU8[$2 | 0]; - } - $6 = $5 << 24 >> 24; - $6 = (Math_imul($6, 7281) >> 16) + Math_imul($6, 29) | 0; - HEAP32[$10 >> 2] = silk_log2lin((($6 | 0) < 1877 ? $6 : 1877) + 2090 | 0); - $9 = $9 + 1 | 0; - if (($9 | 0) != ($4 | 0)) { - continue; - } - break; - } - } -} -function silk_warped_autocorrelation_FLP($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - $5 = __stack_pointer - 416 | 0; - __stack_pointer = $5; - memset($5 + 208 | 0, 0, 200); - $5 = memset($5, 0, 200); - if (!($4 & 1)) { - if (($3 | 0) >= 1) { - $6 = $4 << 3; - $11 = $6 + $5 | 0; - $18 = ($5 + 208 | 0) + $6 | 0; - $12 = +$2; - $19 = ($4 | 0) < 1; - while (1) { - $8 = +HEAPF32[($9 << 2) + $1 >> 2]; - $6 = 0; - if (!$19) { - while (1) { - $7 = $6 << 3; - $13 = $7 | 8; - $14 = $13 + ($5 + 208 | 0) | 0; - $15 = HEAPF64[$14 >> 3]; - HEAPF64[($5 + 208 | 0) + $7 >> 3] = $8; - $7 = $5 + $7 | 0; - $16 = HEAPF64[$5 + 208 >> 3]; - HEAPF64[$7 >> 3] = HEAPF64[$7 >> 3] + $8 * $16; - $6 = $6 + 2 | 0; - $17 = HEAPF64[($5 + 208 | 0) + ($6 << 3) >> 3]; - $8 = $10 + ($15 - $8) * $12; - HEAPF64[$14 >> 3] = $8; - $7 = $5 + $13 | 0; - HEAPF64[$7 >> 3] = $16 * $8 + HEAPF64[$7 >> 3]; - $8 = $15 + ($17 - $8) * $12; - $10 = $17; - if (($4 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - HEAPF64[$18 >> 3] = $8; - $10 = HEAPF64[$5 + 208 >> 3]; - HEAPF64[$11 >> 3] = HEAPF64[$11 >> 3] + $8 * $10; - $9 = $9 + 1 | 0; - if (($9 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $6 = 0; - if (($4 | 0) >= 0) { - while (1) { - HEAPF32[($6 << 2) + $0 >> 2] = HEAPF64[($6 << 3) + $5 >> 3]; - $7 = ($4 | 0) != ($6 | 0); - $6 = $6 + 1 | 0; - if ($7) { - continue; - } - break; - } - } - __stack_pointer = $5 + 416 | 0; - return; - } - celt_fatal(10944, 10981, 49); - abort(); -} -function pop_arg($0, $1, $2, $3) { - label$1 : { - if ($1 >>> 0 > 20) { - break label$1; - } - label$2 : { - switch ($1 - 9 | 0) { - case 0: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; - return; - case 1: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $1 = HEAP32[$1 >> 2]; - $2 = $1 >> 31; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = $2; - return; - case 2: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $2 = HEAP32[$1 >> 2]; - HEAP32[$0 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = 0; - return; - case 3: - $1 = HEAP32[$2 >> 2] + 7 & -8; - HEAP32[$2 >> 2] = $1 + 8; - $2 = HEAP32[$1 + 4 >> 2]; - $1 = HEAP32[$1 >> 2]; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = $2; - return; - case 4: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $2 = HEAP16[$1 >> 1]; - $1 = $2 >> 31; - HEAP32[$0 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = $1; - return; - case 5: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $1 = HEAPU16[$1 >> 1]; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = 0; - return; - case 6: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $2 = HEAP8[$1 | 0]; - $1 = $2 >> 31; - HEAP32[$0 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = $1; - return; - case 7: - $1 = HEAP32[$2 >> 2]; - HEAP32[$2 >> 2] = $1 + 4; - $1 = HEAPU8[$1 | 0]; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = 0; - return; - case 8: - $1 = HEAP32[$2 >> 2] + 7 & -8; - HEAP32[$2 >> 2] = $1 + 8; - HEAPF64[$0 >> 3] = HEAPF64[$1 >> 3]; - return; - case 9: - break label$2; - default: - break label$1; - } - } - FUNCTION_TABLE[$3 | 0]($0, $2); - } -} -function speex_resampler_init_frac($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0; - label$1 : { - label$2 : { - if (!(!$2 | (!$0 | !$1))) { - if ($5 >>> 0 < 11) { - break label$2; - } - } - if (!$6) { - break label$1; - } - HEAP32[$6 >> 2] = 3; - return 0; - } - $7 = dlcalloc(96, 1); - if (!$7) { - $7 = 0; - if (!$6) { - break label$1; - } - HEAP32[$6 >> 2] = 1; - return 0; - } - HEAP32[$7 >> 2] = 0; - HEAP32[$7 + 4 >> 2] = 0; - HEAP32[$7 + 44 >> 2] = 1065353216; - HEAP32[$7 + 16 >> 2] = -1; - HEAP32[$7 + 88 >> 2] = 1; - HEAP32[$7 + 92 >> 2] = 1; - HEAP32[$7 + 20 >> 2] = $0; - HEAP32[$7 + 32 >> 2] = 160; - HEAP32[$7 + 8 >> 2] = 0; - HEAP32[$7 + 12 >> 2] = 0; - $0 = $0 << 2; - $8 = dlcalloc($0, 1); - HEAP32[$7 + 60 >> 2] = $8; - label$5 : { - if (!$8) { - break label$5; - } - $8 = dlcalloc($0, 1); - HEAP32[$7 + 68 >> 2] = $8; - if (!$8) { - break label$5; - } - $0 = dlcalloc($0, 1); - HEAP32[$7 + 64 >> 2] = $0; - if (!$0) { - break label$5; - } - HEAP32[$7 + 16 >> 2] = $5; - speex_resampler_set_rate_frac($7, $1, $2, $3, $4); - $0 = update_filter($7); - label$6 : { - if (!$0) { - HEAP32[$7 + 52 >> 2] = 1; - break label$6; - } - dlfree(HEAP32[$7 + 72 >> 2]); - dlfree(HEAP32[$7 + 76 >> 2]); - dlfree(HEAP32[$7 + 60 >> 2]); - dlfree(HEAP32[$7 + 68 >> 2]); - dlfree(HEAP32[$7 + 64 >> 2]); - dlfree($7); - $7 = 0; - } - if (!$6) { - break label$1; - } - HEAP32[$6 >> 2] = $0; - return $7; - } - if ($6) { - HEAP32[$6 >> 2] = 1; - } - dlfree(HEAP32[$7 + 76 >> 2]); - dlfree(HEAP32[$7 + 60 >> 2]); - dlfree(HEAP32[$7 + 68 >> 2]); - dlfree(HEAP32[$7 + 64 >> 2]); - dlfree($7); - $7 = 0; - } - return $7; -} -function speex_resampler_set_rate_frac($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $6 = 3; - label$1 : { - if (!$1 | !$2) { - break label$1; - } - if (!(HEAP32[$0 >> 2] != ($3 | 0) | HEAP32[$0 + 4 >> 2] != ($4 | 0) | HEAP32[$0 + 8 >> 2] != ($1 | 0))) { - $6 = 0; - if (HEAP32[$0 + 12 >> 2] == ($2 | 0)) { - break label$1; - } - } - HEAP32[$0 + 8 >> 2] = $1; - HEAP32[$0 + 4 >> 2] = $4; - HEAP32[$0 >> 2] = $3; - $7 = HEAP32[$0 + 12 >> 2]; - HEAP32[$0 + 12 >> 2] = $2; - $5 = $1; - $3 = $2; - while (1) { - $4 = $3; - $3 = ($5 >>> 0) % ($3 >>> 0) | 0; - $5 = $4; - if ($3) { - continue; - } - break; - } - $3 = ($2 >>> 0) / ($4 >>> 0) | 0; - HEAP32[$0 + 12 >> 2] = $3; - HEAP32[$0 + 8 >> 2] = ($1 >>> 0) / ($4 >>> 0); - label$4 : { - if (!$7 | !HEAP32[$0 + 20 >> 2]) { - break label$4; - } - $9 = HEAP32[$0 + 64 >> 2]; - $4 = 0; - while (1) { - $6 = 5; - $2 = 4294967295 / ($3 >>> 0) | 0; - $1 = ($4 << 2) + $9 | 0; - $5 = HEAP32[$1 >> 2]; - $8 = $5; - $5 = ($5 >>> 0) / ($7 >>> 0) | 0; - $8 = $8 - Math_imul($7, $5) | 0; - if ($2 >>> 0 < $8 >>> 0 | $2 >>> 0 < $5 >>> 0) { - break label$1; - } - $5 = Math_imul($3, $5); - $3 = (Math_imul($3, $8) >>> 0) / ($7 >>> 0) | 0; - if ($5 >>> 0 > ($3 ^ -1) >>> 0) { - break label$1; - } - $3 = $3 + $5 | 0; - HEAP32[$1 >> 2] = $3; - $5 = HEAP32[$0 + 12 >> 2]; - if ($5 >>> 0 <= $3 >>> 0) { - HEAP32[$1 >> 2] = $5 - 1; - } - $4 = $4 + 1 | 0; - if ($4 >>> 0 >= HEAPU32[$0 + 20 >> 2]) { - break label$4; - } - $3 = HEAP32[$0 + 12 >> 2]; - continue; - } - } - if (!HEAP32[$0 + 52 >> 2]) { - return 0; - } - $6 = update_filter($0); - } - return $6; -} -function log($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - wasm2js_scratch_store_f64(+$0); - $2 = wasm2js_scratch_load_i32(1) | 0; - $4 = wasm2js_scratch_load_i32(0) | 0; - $5 = $2; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($2 | 0) > 0 ? 1 : ($2 | 0) >= 0) { - $1 = $5; - if ($1 >>> 0 > 1048575) { - break label$4; - } - } - $2 = $5; - $1 = $2 & 2147483647; - if (!($1 | $4)) { - return -1 / ($0 * $0); - } - $1 = $5; - if (($1 | 0) > -1) { - break label$3; - } - return ($0 - $0) / 0; - } - if ($1 >>> 0 > 2146435071) { - break label$1; - } - $2 = 1072693248; - $6 = -1023; - if (($1 | 0) != 1072693248) { - $2 = $1; - break label$2; - } - if ($4) { - break label$2; - } - return 0; - } - wasm2js_scratch_store_f64(+($0 * 0x40000000000000)); - $2 = wasm2js_scratch_load_i32(1) | 0; - $4 = wasm2js_scratch_load_i32(0) | 0; - $6 = -1077; - } - $1 = $2 + 614242 | 0; - $3 = +(($1 >>> 20 | 0) + $6 | 0); - $8 = $3 * .6931471803691238; - $1 = ($1 & 1048575) + 1072079006 | 0; - $2 = 0; - $1 = $2 | $1; - wasm2js_scratch_store_i32(0, $4 | 0); - wasm2js_scratch_store_i32(1, $1 | 0); - $0 = +wasm2js_scratch_load_f64() + -1; - $9 = $0; - $10 = $3 * 1.9082149292705877e-10; - $3 = $0 / ($0 + 2); - $11 = $3; - $7 = $0 * ($0 * .5); - $3 = $3 * $3; - $0 = $3 * $3; - $0 = $8 + ($9 + ($10 + $11 * ($7 + ($0 * ($0 * ($0 * .15313837699209373 + .22222198432149784) + .3999999999940942) + $3 * ($0 * ($0 * ($0 * .14798198605116586 + .1818357216161805) + .2857142874366239) + .6666666666666735))) - $7)); - } - return $0; -} -function memset($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if (!$2) { - break label$1; - } - $3 = $0 + $2 | 0; - HEAP8[$3 - 1 | 0] = $1; - HEAP8[$0 | 0] = $1; - if ($2 >>> 0 < 3) { - break label$1; - } - HEAP8[$3 - 2 | 0] = $1; - HEAP8[$0 + 1 | 0] = $1; - HEAP8[$3 - 3 | 0] = $1; - HEAP8[$0 + 2 | 0] = $1; - if ($2 >>> 0 < 7) { - break label$1; - } - HEAP8[$3 - 4 | 0] = $1; - HEAP8[$0 + 3 | 0] = $1; - if ($2 >>> 0 < 9) { - break label$1; - } - $4 = 0 - $0 & 3; - $3 = $4 + $0 | 0; - $1 = Math_imul($1 & 255, 16843009); - HEAP32[$3 >> 2] = $1; - $4 = $2 - $4 & -4; - $2 = $4 + $3 | 0; - HEAP32[$2 - 4 >> 2] = $1; - if ($4 >>> 0 < 9) { - break label$1; - } - HEAP32[$3 + 8 >> 2] = $1; - HEAP32[$3 + 4 >> 2] = $1; - HEAP32[$2 - 8 >> 2] = $1; - HEAP32[$2 - 12 >> 2] = $1; - if ($4 >>> 0 < 25) { - break label$1; - } - HEAP32[$3 + 24 >> 2] = $1; - HEAP32[$3 + 20 >> 2] = $1; - HEAP32[$3 + 16 >> 2] = $1; - HEAP32[$3 + 12 >> 2] = $1; - HEAP32[$2 - 16 >> 2] = $1; - HEAP32[$2 - 20 >> 2] = $1; - HEAP32[$2 - 24 >> 2] = $1; - HEAP32[$2 - 28 >> 2] = $1; - $6 = $3 & 4 | 24; - $2 = $4 - $6 | 0; - if ($2 >>> 0 < 32) { - break label$1; - } - $5 = __wasm_i64_mul($1, 0, 1, 1); - $4 = i64toi32_i32$HIGH_BITS; - $7 = $4; - $1 = $3 + $6 | 0; - while (1) { - HEAP32[$1 + 24 >> 2] = $5; - $4 = $7; - HEAP32[$1 + 28 >> 2] = $4; - HEAP32[$1 + 16 >> 2] = $5; - HEAP32[$1 + 20 >> 2] = $4; - HEAP32[$1 + 8 >> 2] = $5; - HEAP32[$1 + 12 >> 2] = $4; - HEAP32[$1 >> 2] = $5; - HEAP32[$1 + 4 >> 2] = $4; - $1 = $1 + 32 | 0; - $2 = $2 - 32 | 0; - if ($2 >>> 0 > 31) { - continue; - } - break; - } - } - return $0; -} -function silk_LPC_analysis_filter($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - label$1 : { - label$2 : { - if (($4 | 0) > 5) { - if ($4 & 1) { - break label$2; - } - if (($3 | 0) < ($4 | 0)) { - break label$1; - } - if (($3 | 0) > ($4 | 0)) { - $12 = ($4 | 0) < 7; - $5 = $4; - while (1) { - $11 = $5 << 1; - $7 = $11 + $1 | 0; - $8 = $7 - 2 | 0; - $9 = ((((Math_imul(HEAP16[$2 + 2 >> 1], HEAP16[$7 - 4 >> 1]) + Math_imul(HEAP16[$2 >> 1], HEAP16[$8 >> 1]) | 0) + Math_imul(HEAP16[$2 + 4 >> 1], HEAP16[$7 - 6 >> 1]) | 0) + Math_imul(HEAP16[$2 + 6 >> 1], HEAP16[$7 - 8 >> 1]) | 0) + Math_imul(HEAP16[$2 + 8 >> 1], HEAP16[$7 - 10 >> 1]) | 0) + Math_imul(HEAP16[$2 + 10 >> 1], HEAP16[$7 - 12 >> 1]) | 0; - $6 = 6; - if (!$12) { - while (1) { - $10 = $6 << 1; - $9 = (Math_imul(HEAP16[$10 + $2 >> 1], HEAP16[$8 - $10 >> 1]) + $9 | 0) + Math_imul(HEAP16[($10 | 2) + $2 >> 1], HEAP16[(($6 ^ -1) << 1) + $8 >> 1]) | 0; - $6 = $6 + 2 | 0; - if (($6 | 0) < ($4 | 0)) { - continue; - } - break; - } - } - $6 = ((HEAP16[$7 >> 1] << 12) - $9 >> 11) + 1 >> 1; - $6 = ($6 | 0) > -32768 ? $6 : -32768; - HEAP16[$0 + $11 >> 1] = ($6 | 0) < 32767 ? $6 : 32767; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - memset($0, 0, $4 << 1); - return; - } - celt_fatal(16065, 16090, 67); - abort(); - } - celt_fatal(16117, 16090, 68); - abort(); - } - celt_fatal(16148, 16090, 69); - abort(); -} -function silk_corrMatrix_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = Math_fround(0); - $10 = $2 - 1 | 0; - $8 = ($10 << 2) + $0 | 0; - $6 = silk_energy_FLP($8, $1); - HEAPF32[$3 >> 2] = $6; - label$1 : { - if (($2 | 0) < 2) { - break label$1; - } - $4 = 1; - while (1) { - $5 = HEAPF32[$8 - ($4 << 2) >> 2]; - $12 = Math_fround($5 * $5); - $5 = HEAPF32[($1 - $4 << 2) + $8 >> 2]; - $6 = $6 + +Math_fround($12 - Math_fround($5 * $5)); - HEAPF32[(Math_imul($2, $4) + $4 << 2) + $3 >> 2] = $6; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - if (($2 | 0) < 2) { - break label$1; - } - $0 = (($2 << 2) + $0 | 0) - 8 | 0; - $7 = 1; - while (1) { - $4 = (Math_imul($2, $7) << 2) + $3 | 0; - $6 = silk_inner_product_FLP($8, $0, $1); - $5 = Math_fround($6); - HEAPF32[$4 >> 2] = $5; - HEAPF32[($7 << 2) + $3 >> 2] = $5; - $4 = 1; - if (($2 - $7 | 0) >= 2) { - while (1) { - $11 = $4 + $7 | 0; - $9 = $4 << 2; - $5 = Math_fround(HEAPF32[$8 - $9 >> 2] * HEAPF32[$0 - $9 >> 2]); - $9 = $1 - $4 << 2; - $6 = $6 + +Math_fround($5 - Math_fround(HEAPF32[$9 + $8 >> 2] * HEAPF32[$0 + $9 >> 2])); - $5 = Math_fround($6); - HEAPF32[(Math_imul($11, $2) + $4 << 2) + $3 >> 2] = $5; - HEAPF32[(Math_imul($2, $4) + $11 << 2) + $3 >> 2] = $5; - $4 = $4 + 1 | 0; - if (($10 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $10 = $10 - 1 | 0; - $0 = $0 - 4 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function quant_fine_energy($0, $1, $2, $3, $4, $5, $6, $7) { - var $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = Math_fround(0), $19 = Math_fround(0); - if (($1 | 0) < ($2 | 0)) { - $16 = ($7 | 0) > 1 ? $7 : 1; - while (1) { - $14 = ($1 << 2) + $5 | 0; - $9 = HEAP32[$14 >> 2]; - if (($9 | 0) >= 1) { - $12 = 65536 << $9 >> 16; - $17 = $12 - 1 | 0; - $18 = Math_fround($12 | 0); - $8 = HEAP32[$0 + 8 >> 2]; - $7 = 0; - while (1) { - $13 = $6; - $10 = Math_fround(Math_floor(Math_fround(Math_fround(HEAPF32[(Math_imul($7, $8) + $1 << 2) + $4 >> 2] + Math_fround(.5)) * $18))); - label$5 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $8 = ~~$10; - break label$5; - } - $8 = -2147483648; - } - $8 = ($8 | 0) < ($12 | 0) ? $8 : $17; - $11 = ($8 | 0) > 0 ? $8 : 0; - ec_enc_bits($13, $11, $9); - $8 = HEAP32[$0 + 8 >> 2]; - $15 = Math_imul($8, $7) + $1 << 2; - $9 = $15 + $3 | 0; - $13 = $9; - $19 = HEAPF32[$9 >> 2]; - $9 = HEAP32[$14 >> 2]; - $10 = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($11 | 0) + Math_fround(.5)) * Math_fround(1 << 14 - $9)) * Math_fround(6103515625e-14)) + Math_fround(-.5)); - HEAPF32[$13 >> 2] = $19 + $10; - $11 = $4 + $15 | 0; - HEAPF32[$11 >> 2] = HEAPF32[$11 >> 2] - $10; - $7 = $7 + 1 | 0; - if (($16 | 0) != ($7 | 0)) { - continue; - } - break; - } - } - $1 = $1 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } -} -function silk_HP_variable_cutoff($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - if (HEAPU8[$0 + 4541 | 0] == 2) { - $1 = silk_lin2log((Math_imul(HEAP32[$0 + 4576 >> 2], 65536e3) | 0) / HEAP32[$0 + 4544 >> 2] | 0); - $2 = HEAP32[$0 + 4696 >> 2]; - $3 = silk_lin2log(3932160); - $6 = silk_lin2log(3932160); - $4 = 0 - ($2 << 2) | 0; - $5 = HEAP32[$0 + 8 >> 2]; - $2 = $2 << 16 >> 16; - $2 = (Math_imul($2, $4 & 65532) >> 16) + Math_imul($4 >> 16, $2) | 0; - $1 = ((($1 - ($5 >> 8) | 0) + Math_imul($2 >> 16, $1 - $3 << 16 >> 16) | 0) + (Math_imul($2 & 65535, $1 - $6 << 16 >> 16) >> 16) | 0) - 2048 | 0; - $1 = ($1 | 0) < 0 ? Math_imul($1, 3) : $1; - $1 = ($1 | 0) > -51 ? $1 : -51; - $1 = Math_imul(HEAP16[$0 + 4532 >> 1], ($1 | 0) < 51 ? $1 : 51); - HEAP32[$0 + 8 >> 2] = Math_imul($1 >> 16, 6554) + $5 + (Math_imul($1 & 65535, 6554) >>> 16); - $1 = silk_lin2log(60); - $2 = silk_lin2log(100); - $3 = HEAP32[$0 + 8 >> 2]; - $4 = $0; - label$2 : { - label$3 : { - if ($1 << 8 > $2 << 8) { - if (silk_lin2log(60) << 8 < ($3 | 0)) { - $1 = silk_lin2log(60) << 8; - break label$2; - } - if (HEAP32[$0 + 8 >> 2] >= silk_lin2log(100) << 8) { - break label$3; - } - $1 = silk_lin2log(100) << 8; - break label$2; - } - if (silk_lin2log(100) << 8 < ($3 | 0)) { - $1 = silk_lin2log(100) << 8; - break label$2; - } - if (HEAP32[$0 + 8 >> 2] >= silk_lin2log(60) << 8) { - break label$3; - } - $1 = silk_lin2log(60) << 8; - break label$2; - } - $1 = HEAP32[$0 + 8 >> 2]; - } - HEAP32[$4 + 8 >> 2] = $1; - } -} -function silk_A2NLSF_eval_poly($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $4 = $1 << 4; - $3 = HEAP32[($2 << 2) + $0 >> 2]; - if (($2 | 0) != 8) { - if (($2 | 0) >= 1) { - $1 = $1 << 20 >> 16; - $5 = ($4 >> 15) + 1 >> 1; - while (1) { - $4 = $2 - 1 | 0; - $3 = HEAP32[($4 << 2) + $0 >> 2] + ((Math_imul($3 >> 16, $1) + Math_imul($3, $5) | 0) + (Math_imul($3 & 65535, $1) >> 16) | 0) | 0; - $6 = ($2 | 0) > 1; - $2 = $4; - if ($6) { - continue; - } - break; - } - } - return $3; - } - $2 = $1 << 20 >> 16; - $1 = ($4 >> 15) + 1 >> 1; - $3 = HEAP32[$0 + 28 >> 2] + ((Math_imul($2, $3 >> 16) + Math_imul($3, $1) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0) | 0; - $3 = ((HEAP32[$0 + 24 >> 2] + Math_imul($1, $3) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 20 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 16 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 12 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 8 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - $3 = ((HEAP32[$0 + 4 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; - return ((HEAP32[$0 >> 2] + Math_imul($3, $1) | 0) + Math_imul($3 >> 16, $2) | 0) + (Math_imul($3 & 65535, $2) >> 16) | 0; -} -function resampler_basic_direct_single($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; - $1 = $1 << 2; - $11 = $1 + HEAP32[$0 + 64 >> 2] | 0; - $8 = HEAP32[$11 >> 2]; - $12 = HEAP32[$0 + 60 >> 2] + $1 | 0; - $6 = HEAP32[$12 >> 2]; - $13 = HEAP32[$3 >> 2]; - label$1 : { - if (($6 | 0) >= ($13 | 0)) { - break label$1; - } - $9 = HEAP32[$0 + 12 >> 2]; - $15 = HEAP32[$0 + 40 >> 2]; - $16 = HEAP32[$0 + 36 >> 2]; - $17 = HEAP32[$0 + 92 >> 2]; - $18 = HEAP32[$0 + 76 >> 2]; - $3 = HEAP32[$5 >> 2]; - $14 = ($3 | 0) > 0 ? $3 : 0; - $1 = HEAP32[$0 + 24 >> 2]; - $19 = ($1 | 0) < 1; - while (1) { - if (($7 | 0) == ($14 | 0)) { - $7 = $14; - break label$1; - } - $10 = Math_fround(0); - if (!$19) { - $5 = ($6 << 2) + $2 | 0; - $20 = (Math_imul($1, $8) << 2) + $18 | 0; - $0 = 0; - while (1) { - $3 = $0 << 2; - $10 = Math_fround($10 + Math_fround(HEAPF32[$20 + $3 >> 2] * HEAPF32[$3 + $5 >> 2])); - $0 = $0 + 1 | 0; - if (($1 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - HEAPF32[(Math_imul($7, $17) << 2) + $4 >> 2] = $10; - $0 = $8 + $15 | 0; - $8 = $0 - ($0 >>> 0 < $9 >>> 0 ? 0 : $9) | 0; - $7 = $7 + 1 | 0; - $6 = ($6 + $16 | 0) + ($0 >>> 0 >= $9 >>> 0) | 0; - if (($13 | 0) > ($6 | 0)) { - continue; - } - break; - } - } - HEAP32[$12 >> 2] = $6; - HEAP32[$11 >> 2] = $8; - return $7 | 0; -} -function silk_schur_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $6 = __stack_pointer - 400 | 0; - __stack_pointer = $6; - if ($2 >>> 0 <= 24) { - while (1) { - $4 = ($3 << 4) + $6 | 0; - $5 = +HEAPF32[($3 << 2) + $1 >> 2]; - HEAPF64[$4 >> 3] = $5; - HEAPF64[$4 + 8 >> 3] = $5; - $4 = ($2 | 0) != ($3 | 0); - $3 = $3 + 1 | 0; - if ($4) { - continue; - } - break; - } - if ($2) { - $1 = 0; - $9 = $2; - while (1) { - $3 = $1; - $1 = $3 + 1 | 0; - $4 = ($1 << 4) + $6 | 0; - $7 = HEAPF64[$6 + 8 >> 3]; - $5 = -HEAPF64[$4 >> 3] / ($7 > 9.999999717180685e-10 ? $7 : 9.999999717180685e-10); - HEAPF32[($3 << 2) + $0 >> 2] = $5; - label$5 : { - if (($2 | 0) <= ($3 | 0)) { - break label$5; - } - $8 = HEAPF64[$4 >> 3]; - HEAPF64[$4 >> 3] = $8 + $5 * $7; - HEAPF64[$6 + 8 >> 3] = $7 + $5 * $8; - $3 = 1; - if (($9 | 0) == 1) { - break label$5; - } - while (1) { - $4 = ($1 + $3 << 4) + $6 | 0; - $10 = $4; - $7 = HEAPF64[$4 >> 3]; - $4 = ($3 << 4) + $6 | 0; - $8 = HEAPF64[$4 + 8 >> 3]; - HEAPF64[$10 >> 3] = $7 + $5 * $8; - HEAPF64[$4 + 8 >> 3] = $8 + $5 * $7; - $3 = $3 + 1 | 0; - if (($9 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $9 = $9 - 1 | 0; - if (($1 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $6 + 400 | 0; - $5 = HEAPF64[$6 + 8 >> 3]; - return Math_fround($5); - } - celt_fatal(9497, 9557, 44); - abort(); -} -function gain_fade($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = Math_fround(0), $10 = 0, $11 = 0; - $10 = 48e3 / ($8 | 0) | 0; - $11 = ($4 | 0) / ($10 | 0) | 0; - label$1 : { - if (($6 | 0) != 1) { - $4 = 0; - if (($11 | 0) <= 0) { - break label$1; - } - while (1) { - $8 = $4 << 3; - $9 = HEAPF32[(Math_imul($4, $10) << 2) + $7 >> 2]; - $9 = Math_fround($9 * $9); - $9 = Math_fround(Math_fround($9 * $3) + Math_fround(Math_fround(Math_fround(1) - $9) * $2)); - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * $9; - $8 = $8 | 4; - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * $9; - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($11 | 0) < 1) { - break label$1; - } - $4 = 0; - while (1) { - $8 = $4 << 2; - $9 = HEAPF32[(Math_imul($4, $10) << 2) + $7 >> 2]; - $9 = Math_fround($9 * $9); - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * Math_fround(Math_fround($9 * $3) + Math_fround(Math_fround(Math_fround(1) - $9) * $2)); - $4 = $4 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $10 = ($6 | 0) > 1 ? $6 : 1; - $7 = 0; - while (1) { - $4 = $11; - if (($5 | 0) > ($4 | 0)) { - while (1) { - $8 = Math_imul($4, $6) + $7 << 2; - HEAPF32[$8 + $1 >> 2] = HEAPF32[$0 + $8 >> 2] * $3; - $4 = $4 + 1 | 0; - if (($5 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - if (($10 | 0) != ($7 | 0)) { - continue; - } - break; - } -} -function _celt_lpc($0, $1, $2) { - var $3 = Math_fround(0), $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0; - $5 = HEAPF32[$1 >> 2]; - $0 = memset($0, 0, $2 << 2); - label$1 : { - if (HEAPF32[$1 >> 2] == Math_fround(0)) { - break label$1; - } - $11 = ($2 | 0) > 0 ? $2 : 0; - $7 = 1; - while (1) { - if (($4 | 0) == ($11 | 0)) { - break label$1; - } - $2 = 0; - $3 = Math_fround(0); - if ($4) { - while (1) { - $3 = Math_fround($3 + Math_fround(HEAPF32[($2 << 2) + $0 >> 2] * HEAPF32[($4 - $2 << 2) + $1 >> 2])); - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $8 = $4 + 1 | 0; - $3 = Math_fround(Math_fround(-Math_fround($3 + HEAPF32[($8 << 2) + $1 >> 2])) / $5); - HEAPF32[($4 << 2) + $0 >> 2] = $3; - if ($4) { - $12 = $7 >>> 1 | 0; - $2 = 0; - while (1) { - $6 = ($2 << 2) + $0 | 0; - $13 = $6; - $9 = HEAPF32[$6 >> 2]; - $6 = (($2 ^ -1) + $4 << 2) + $0 | 0; - $10 = HEAPF32[$6 >> 2]; - HEAPF32[$13 >> 2] = $9 + Math_fround($3 * $10); - HEAPF32[$6 >> 2] = $10 + Math_fround($3 * $9); - $2 = $2 + 1 | 0; - if (($12 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - $4 = $8; - $5 = Math_fround($5 - Math_fround($5 * Math_fround($3 * $3))); - if ($5 < Math_fround(HEAPF32[$1 >> 2] * Math_fround(.0010000000474974513)) ^ 1) { - continue; - } - break; - } - } -} -function silk_resampler($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - label$1 : { - $4 = HEAP32[$0 + 284 >> 2]; - if (($4 | 0) <= ($3 | 0)) { - $6 = HEAP32[$0 + 292 >> 2]; - if (($6 | 0) > ($4 | 0)) { - break label$1; - } - $5 = $0 + 168 | 0; - $4 = $4 - $6 << 1; - memcpy($5 + ($6 << 1) | 0, $2, $4); - label$3 : { - label$4 : { - switch (HEAP32[$0 + 264 >> 2] - 1 | 0) { - case 0: - silk_resampler_private_up2_HQ_wrapper($0, $1, $5, HEAP32[$0 + 284 >> 2]); - silk_resampler_private_up2_HQ_wrapper($0, (HEAP32[$0 + 288 >> 2] << 1) + $1 | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] | 0); - break label$3; - case 1: - silk_resampler_private_IIR_FIR($0, $1, $5, HEAP32[$0 + 284 >> 2]); - silk_resampler_private_IIR_FIR($0, (HEAP32[$0 + 288 >> 2] << 1) + $1 | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] | 0); - break label$3; - case 2: - silk_resampler_private_down_FIR($0, $1, $5, HEAP32[$0 + 284 >> 2]); - silk_resampler_private_down_FIR($0, (HEAP32[$0 + 288 >> 2] << 1) + $1 | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] | 0); - break label$3; - default: - break label$4; - } - } - memcpy(memcpy($1, $5, HEAP32[$0 + 284 >> 2] << 1) + (HEAP32[$0 + 288 >> 2] << 1) | 0, $2 + $4 | 0, $3 - HEAP32[$0 + 284 >> 2] << 1); - } - $0 = HEAP32[$0 + 292 >> 2]; - memcpy($5, ($3 - $0 << 1) + $2 | 0, $0 << 1); - return 0; - } - celt_fatal(6521, 6474, 184); - abort(); - } - celt_fatal(6561, 6474, 186); - abort(); -} -function silk_quant_LTP_gains_FLP($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - var $10 = 0, $11 = 0, $12 = 0, $13 = 0; - $11 = __stack_pointer - 528 | 0; - __stack_pointer = $11; - $13 = Math_imul($8, 25); - if (($13 | 0) > 0) { - while (1) { - $12 = $10 << 2; - HEAP32[$12 + ($11 + 80 | 0) >> 2] = lrintf(Math_fround(HEAPF32[$5 + $12 >> 2] * Math_fround(131072))); - $10 = $10 + 1 | 0; - if (($13 | 0) != ($10 | 0)) { - continue; - } - break; - } - } - label$3 : { - if (($8 | 0) >= 1) { - $10 = Math_imul($8, 5); - $5 = ($10 | 0) > 1 ? $10 : 1; - $10 = 0; - while (1) { - $12 = $10 << 2; - HEAP32[$12 + $11 >> 2] = lrintf(Math_fround(HEAPF32[$6 + $12 >> 2] * Math_fround(131072))); - $10 = $10 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - silk_quant_LTP_gains($11 + 480 | 0, $1, $2, $3, $11 + 524 | 0, $11 + 80 | 0, $11, $7, $8, $9); - if (($8 | 0) < 1) { - break label$3; - } - $10 = Math_imul($8, 5); - $12 = ($10 | 0) > 1 ? $10 : 1; - $10 = 0; - while (1) { - HEAPF32[($10 << 2) + $0 >> 2] = Math_fround(HEAP16[($11 + 480 | 0) + ($10 << 1) >> 1]) * Math_fround(6103515625e-14); - $10 = $10 + 1 | 0; - if (($12 | 0) != ($10 | 0)) { - continue; - } - break; - } - break label$3; - } - silk_quant_LTP_gains($11 + 480 | 0, $1, $2, $3, $11 + 524 | 0, $11 + 80 | 0, $11, $7, $8, $9); - } - HEAPF32[$4 >> 2] = Math_fround(HEAP32[$11 + 524 >> 2]) * Math_fround(.0078125); - __stack_pointer = $11 + 528 | 0; -} -function __vfprintf_internal($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0; - $5 = __stack_pointer - 208 | 0; - __stack_pointer = $5; - HEAP32[$5 + 204 >> 2] = $2; - $2 = 0; - memset($5 + 160 | 0, 0, 40); - HEAP32[$5 + 200 >> 2] = HEAP32[$5 + 204 >> 2]; - label$1 : { - if ((printf_core(0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4) | 0) < 0) { - $1 = -1; - break label$1; - } - if (HEAP32[$0 + 76 >> 2] >= 0) { - $2 = __lockfile($0); - } - $6 = HEAP32[$0 >> 2]; - if (HEAP8[$0 + 74 | 0] <= 0) { - HEAP32[$0 >> 2] = $6 & -33; - } - $6 = $6 & 32; - label$5 : { - if (HEAP32[$0 + 48 >> 2]) { - $4 = printf_core($0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4); - break label$5; - } - HEAP32[$0 + 48 >> 2] = 80; - HEAP32[$0 + 16 >> 2] = $5 + 80; - HEAP32[$0 + 28 >> 2] = $5; - HEAP32[$0 + 20 >> 2] = $5; - $7 = HEAP32[$0 + 44 >> 2]; - HEAP32[$0 + 44 >> 2] = $5; - $1 = printf_core($0, $1, $5 + 200 | 0, $5 + 80 | 0, $5 + 160 | 0, $3, $4); - $4 = $1; - if (!$7) { - break label$5; - } - FUNCTION_TABLE[HEAP32[$0 + 36 >> 2]]($0, 0, 0) | 0; - HEAP32[$0 + 48 >> 2] = 0; - HEAP32[$0 + 44 >> 2] = $7; - HEAP32[$0 + 28 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 0; - $3 = HEAP32[$0 + 20 >> 2]; - HEAP32[$0 + 20 >> 2] = 0; - $4 = $3 ? $1 : -1; - } - $3 = HEAP32[$0 >> 2]; - HEAP32[$0 >> 2] = $6 | $3; - $1 = $4; - $1 = $3 & 32 ? -1 : $1; - if (!$2) { - break label$1; - } - __unlockfile($0); - } - __stack_pointer = $5 + 208 | 0; - return $1; -} -function _celt_autocorr($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0, $11 = 0; - $7 = __stack_pointer; - $11 = $7; - $7 = $7 - (($5 << 2) + 15 & -16) | 0; - __stack_pointer = $7; - label$1 : { - if (($5 | 0) > 0) { - if (($3 | 0) <= -1) { - break label$1; - } - if ($3) { - $10 = memcpy($7, $0, $5 << 2); - $7 = 0; - while (1) { - $8 = $7 << 2; - $9 = HEAPF32[$8 + $2 >> 2]; - HEAPF32[$8 + $10 >> 2] = HEAPF32[$0 + $8 >> 2] * $9; - $8 = ($7 ^ -1) + $5 << 2; - HEAPF32[$10 + $8 >> 2] = $9 * HEAPF32[$0 + $8 >> 2]; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($3 | 0)) { - continue; - } - break; - } - $0 = $10; - } - $2 = $5 - $4 | 0; - celt_pitch_xcorr_c($0, $0, $1, $2, $4 + 1 | 0, $6); - $8 = 0; - if (($4 | 0) >= 0) { - while (1) { - $9 = Math_fround(0); - $7 = $8 + $2 | 0; - if (($7 | 0) < ($5 | 0)) { - while (1) { - $9 = Math_fround($9 + Math_fround(HEAPF32[($7 << 2) + $0 >> 2] * HEAPF32[($7 - $8 << 2) + $0 >> 2])); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } - $7 = ($8 << 2) + $1 | 0; - HEAPF32[$7 >> 2] = $9 + HEAPF32[$7 >> 2]; - $7 = ($4 | 0) != ($8 | 0); - $8 = $8 + 1 | 0; - if ($7) { - continue; - } - break; - } - } - __stack_pointer = $11; - return 0; - } - celt_fatal(9687, 9671, 228); - abort(); - } - celt_fatal(9709, 9671, 229); - abort(); -} -function silk_biquad_alt_stride1($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - if (($5 | 0) >= 1) { - $7 = 0 - HEAP32[$2 + 4 >> 2] | 0; - $11 = $7 & 16383; - $2 = 0 - HEAP32[$2 >> 2] | 0; - $12 = $2 & 16383; - $13 = $7 << 2 >> 16; - $14 = $2 << 2 >> 16; - $6 = HEAP32[$3 + 4 >> 2]; - $8 = HEAP32[$3 >> 2]; - while (1) { - $15 = $10 << 1; - $2 = HEAP16[$15 + $0 >> 1]; - $7 = HEAP32[$1 >> 2]; - $7 = (Math_imul($2, $7 >> 16) + $8 | 0) + (Math_imul($7 & 65535, $2) >> 16) << 2; - $8 = $7 >> 16; - $9 = Math_imul($14, $8) + $6 | 0; - $6 = $7 & 65532; - $16 = ($9 + (Math_imul($14, $6) >> 16) | 0) + ((Math_imul($8, $12) + (Math_imul($6, $12) >>> 16 | 0) >> 13) + 1 >> 1) | 0; - HEAP32[$3 >> 2] = $16; - $9 = HEAP32[$1 + 4 >> 2]; - $6 = (Math_imul($8, $13) + (Math_imul($6, $13) >> 16) | 0) + ((Math_imul($8, $11) + (Math_imul($6, $11) >>> 16 | 0) >> 13) + 1 >> 1) | 0; - HEAP32[$3 + 4 >> 2] = $6; - $8 = (Math_imul($9 >> 16, $2) + (Math_imul($9 & 65535, $2) >> 16) | 0) + $16 | 0; - HEAP32[$3 >> 2] = $8; - $9 = HEAP32[$1 + 8 >> 2]; - $6 = ((Math_imul($9 & 65535, $2) >> 16) + Math_imul($9 >> 16, $2) | 0) + $6 | 0; - HEAP32[$3 + 4 >> 2] = $6; - $2 = $7 + 16383 >> 14; - HEAP16[$4 + $15 >> 1] = ($7 | 0) > 536854528 ? 32767 : ($2 | 0) > -32768 ? $2 : -32768; - $10 = $10 + 1 | 0; - if (($10 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function downmix_float($0, $1, $2, $3, $4, $5, $6) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - $6 = $6 | 0; - var $7 = 0, $8 = 0; - label$1 : { - label$2 : { - if (($2 | 0) >= 1) { - while (1) { - HEAPF32[($7 << 2) + $1 >> 2] = HEAPF32[(Math_imul($3 + $7 | 0, $6) + $4 << 2) + $0 >> 2] * Math_fround(32768); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - if (($5 | 0) <= -1) { - break label$2; - } - if (($2 | 0) < 1) { - break label$1; - } - $7 = 0; - while (1) { - $4 = ($7 << 2) + $1 | 0; - HEAPF32[$4 >> 2] = HEAPF32[$4 >> 2] + Math_fround(HEAPF32[(Math_imul($3 + $7 | 0, $6) + $5 << 2) + $0 >> 2] * Math_fround(32768)); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($5 | 0) > -1) { - break label$1; - } - } - if (($5 | 0) != -2 | ($6 | 0) < 2) { - break label$1; - } - $5 = 1; - $8 = ($2 | 0) < 1; - while (1) { - $7 = 0; - if (!$8) { - while (1) { - $4 = ($7 << 2) + $1 | 0; - HEAPF32[$4 >> 2] = HEAPF32[$4 >> 2] + Math_fround(HEAPF32[(Math_imul($3 + $7 | 0, $6) + $5 << 2) + $0 >> 2] * Math_fround(32768)); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $5 = $5 + 1 | 0; - if (($6 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function alg_quant($0, $1, $2, $3, $4, $5, $6, $7, $8) { - var $9 = 0, $10 = 0, $11 = Math_fround(0); - $8 = __stack_pointer; - $10 = $8; - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) <= 1) { - break label$1; - } - $8 = $8 - (($1 << 2) + 27 & -16) | 0; - __stack_pointer = $8; - exp_rotation($0, $1, 1, $4, $2, $3); - $11 = op_pvq_search_c($0, $8, $2, $1, $5); - encode_pulses($8, $1, $2, $5); - if ($7) { - $6 = Math_fround(Math_fround(Math_fround(1) / Math_fround(Math_sqrt($11))) * $6); - $5 = 0; - while (1) { - $7 = $5 << 2; - HEAPF32[$7 + $0 >> 2] = $6 * Math_fround(HEAP32[$7 + $8 >> 2]); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - exp_rotation($0, $1, -1, $4, $2, $3); - } - $3 = 1; - if (($4 | 0) >= 2) { - $9 = ($1 >>> 0) / ($4 >>> 0) | 0; - $0 = ($9 | 0) > 1 ? $9 : 1; - $3 = 0; - $2 = 0; - while (1) { - $1 = Math_imul($2, $9); - $5 = 0; - $7 = 0; - while (1) { - $7 = HEAP32[($1 + $5 << 2) + $8 >> 2] | $7; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($0 | 0)) { - continue; - } - break; - } - $3 = (($7 | 0) != 0) << $2 | $3; - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $10; - return $3; - } - celt_fatal(41540, 41599, 338); - abort(); - } - celt_fatal(41609, 41599, 339); - abort(); -} -function silk_NLSF_VQ_weights_laroia($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - label$1 : { - if (($2 | 0) > 0) { - $3 = 1; - if ($2 & 1) { - break label$1; - } - $5 = HEAP16[$1 >> 1]; - $4 = HEAP16[$1 + 2 >> 1] - $5 | 0; - $4 = 131072 / ((($4 | 0) > 1 ? $4 : 1) >>> 0) | 0; - $5 = $4 + (131072 / ((($5 | 0) > 1 ? $5 : 1) >>> 0) | 0) | 0; - HEAP16[$0 >> 1] = $5 >>> 0 < 32767 ? $5 : 32767; - $6 = $2 - 1 | 0; - if (($2 | 0) >= 3) { - while (1) { - $2 = $3 << 1; - $8 = $2 + $0 | 0; - $5 = $2 + 2 | 0; - $7 = $5 + $1 | 0; - $2 = HEAP16[$7 >> 1] - HEAP16[$1 + $2 >> 1] | 0; - $2 = 131072 / ((($2 | 0) > 1 ? $2 : 1) >>> 0) | 0; - $4 = $4 + $2 | 0; - HEAP16[$8 >> 1] = $4 >>> 0 < 32767 ? $4 : 32767; - $3 = $3 + 2 | 0; - $4 = HEAP16[($3 << 1) + $1 >> 1] - HEAP16[$7 >> 1] | 0; - $4 = 131072 / ((($4 | 0) > 1 ? $4 : 1) >>> 0) | 0; - $2 = $4 + $2 | 0; - HEAP16[$0 + $5 >> 1] = $2 >>> 0 < 32767 ? $2 : 32767; - if (($3 | 0) < ($6 | 0)) { - continue; - } - break; - } - } - $3 = $6 << 1; - $0 = $3 + $0 | 0; - $3 = 32768 - HEAP16[$1 + $3 >> 1] | 0; - $3 = (131072 / ((($3 | 0) > 1 ? $3 : 1) >>> 0) | 0) + $4 | 0; - HEAP16[$0 >> 1] = $3 >>> 0 < 32767 ? $3 : 32767; - return; - } - celt_fatal(15465, 15489, 51); - abort(); - } - celt_fatal(15519, 15489, 52); - abort(); -} -function silk_NLSF_decode($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $6 = __stack_pointer - 80 | 0; - __stack_pointer = $6; - silk_NLSF_unpack($6 + 32 | 0, $6 - -64 | 0, $2, HEAP8[$1 | 0]); - $4 = HEAPU16[$2 + 2 >> 1]; - $7 = $4 << 16 >> 16; - $9 = ($7 | 0) < 1; - if (!$9) { - $8 = HEAP16[$2 + 4 >> 1]; - while (1) { - $5 = HEAP8[$1 + $4 | 0]; - $3 = $5 << 10; - $5 = ($5 | 0) > 0 ? $3 - 102 | 0 : ($3 | 102) & $5 >> 31; - $3 = $4 - 1 | 0; - $10 = (Math_imul($5 >> 16, $8) + (Math_imul(HEAPU8[$3 + ($6 - -64 | 0) | 0], $10 << 16 >> 16) >> 8) | 0) + (Math_imul($5 & 65534, $8) >> 16) | 0; - HEAP16[($3 << 1) + $6 >> 1] = $10; - $5 = ($4 | 0) > 1; - $4 = $3; - if ($5) { - continue; - } - break; - } - } - if (!$9) { - $4 = Math_imul(HEAP8[$1 | 0], $7); - $5 = $4 + HEAP32[$2 + 8 >> 2] | 0; - $8 = HEAP32[$2 + 12 >> 2] + ($4 << 1) | 0; - $4 = 0; - while (1) { - $3 = $4 << 1; - $1 = $3 + $0 | 0; - $3 = ((HEAP16[$3 + $6 >> 1] << 14) / HEAP16[$3 + $8 >> 1] | 0) + (HEAPU8[$4 + $5 | 0] << 7) | 0; - $3 = ($3 | 0) > 0 ? $3 : 0; - HEAP16[$1 >> 1] = ($3 | 0) < 32767 ? $3 : 32767; - $4 = $4 + 1 | 0; - $7 = HEAP16[$2 + 2 >> 1]; - if (($4 | 0) < ($7 | 0)) { - continue; - } - break; - } - } - silk_NLSF_stabilize($0, HEAP32[$2 + 36 >> 2], $7); - __stack_pointer = $6 + 80 | 0; -} -function ec_enc_uint($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if ($2 >>> 0 > 1) { - $3 = $2 - 1 | 0; - if ($3 >>> 0 >= 256) { - $4 = 24 - Math_clz32($3) | 0; - $2 = $1 >>> $4 | 0; - ec_encode($0, $2, $2 + 1 | 0, ($3 >>> $4 | 0) + 1 | 0); - if (!$4) { - break label$1; - } - $7 = (-1 << $4 ^ -1) & $1; - $1 = HEAP32[$0 + 12 >> 2]; - $2 = HEAP32[$0 + 16 >> 2]; - $3 = $4 + $2 | 0; - label$4 : { - if ($3 >>> 0 < 33) { - $5 = $2; - break label$4; - } - while (1) { - $3 = -1; - $6 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 + 8 >> 2]; - if ($6 >>> 0 > $5 + HEAP32[$0 + 24 >> 2] >>> 0) { - $3 = $5 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $3; - HEAP8[HEAP32[$0 >> 2] + ($6 - $3 | 0) | 0] = $1; - $3 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - $1 = $1 >>> 8 | 0; - $3 = ($2 | 0) > 15; - $5 = $2 - 8 | 0; - $2 = $5; - if ($3) { - continue; - } - break; - } - $3 = $4 + $5 | 0; - } - HEAP32[$0 + 16 >> 2] = $3; - HEAP32[$0 + 12 >> 2] = $7 << $5 | $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $4; - return; - } - ec_encode($0, $1, $1 + 1 | 0, $2); - return; - } - celt_fatal(6995, 7019, 180); - abort(); - } - celt_fatal(7033, 7019, 198); - abort(); -} -function opus_encoder_create($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $4 = 0, $5 = 0; - $5 = __stack_pointer - 16 | 0; - __stack_pointer = $5; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($0 | 0) <= 15999) { - if (($0 | 0) == 8e3 | ($0 | 0) == 12e3) { - break label$4; - } - break label$3; - } - if (($0 | 0) == 16e3 | ($0 | 0) == 48e3) { - break label$4; - } - if (($0 | 0) != 24e3) { - break label$3; - } - } - if ($1 - 1 >>> 0 > 1) { - break label$3; - } - $4 = $2 - 2048 | 0; - if ($4 >>> 0 > 3) { - break label$3; - } - if (($4 | 0) != 2) { - break label$2; - } - } - $4 = 0; - if (!$3) { - break label$1; - } - HEAP32[$3 >> 2] = -1; - break label$1; - } - $4 = 0; - if (!silk_Get_Encoder_Size($5 + 12 | 0)) { - HEAP32[$5 + 12 >> 2] = HEAP32[$5 + 12 >> 2] + 3 & -4; - $4 = (celt_encoder_get_size($1) + HEAP32[$5 + 12 >> 2] | 0) + 18140 | 0; - } - $4 = dlmalloc($4); - if (!$4) { - $4 = 0; - if (!$3) { - break label$1; - } - HEAP32[$3 >> 2] = -7; - break label$1; - } - $0 = opus_encoder_init($4, $0, $1, $2); - if ($3) { - HEAP32[$3 >> 2] = $0; - } - if (!$0) { - break label$1; - } - dlfree($4); - $4 = 0; - } - __stack_pointer = $5 + 16 | 0; - return $4 | 0; -} -function deinterleave_hadamard($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $5 = __stack_pointer; - $9 = $5; - $8 = Math_imul($1, $2); - $5 = $5 - (($8 << 2) + 15 & -16) | 0; - __stack_pointer = $5; - if (($2 | 0) > 0) { - label$2 : { - if (!$3) { - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul($1, $4); - $3 = 0; - while (1) { - HEAP32[($3 + $7 << 2) + $5 >> 2] = HEAP32[(Math_imul($2, $3) + $4 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$2; - } - $10 = ($2 << 2) + 41976 | 0; - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul(HEAP32[($4 << 2) + $10 >> 2], $1); - $3 = 0; - while (1) { - HEAP32[($3 + $7 << 2) + $5 >> 2] = HEAP32[(Math_imul($2, $3) + $4 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - memcpy($0, $5, $8 << 2); - __stack_pointer = $9; - return; - } - celt_fatal(41952, 41800, 591); - abort(); -} -function ec_laplace_encode($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - label$1 : { - label$2 : { - $7 = HEAP32[$1 >> 2]; - if ($7) { - $5 = 1; - $4 = Math_imul(16384 - $3 | 0, 32736 - $2 | 0) >>> 15 | 0; - $6 = $7 >> 31; - $8 = $6 ^ $6 + $7; - label$5 : { - if (!$4 | ($8 | 0) < 2) { - break label$5; - } - while (1) { - $9 = $4 << 1; - $4 = Math_imul($9, $3) >>> 15 | 0; - $2 = ($2 + $9 | 0) + 2 | 0; - $5 = $5 + 1 | 0; - if (($8 | 0) <= ($5 | 0)) { - break label$5; - } - if ($4) { - continue; - } - break; - } - } - label$7 : { - if (!$4) { - $3 = $5 + $6 | 0; - $4 = $8 - $5 | 0; - $5 = (($7 >>> 31 | 32768) - $2 >> 1) - 1 | 0; - $4 = ($4 | 0) < ($5 | 0) ? $4 : $5; - HEAP32[$1 >> 2] = $3 + $4 ^ $6; - $4 = ($2 + $6 | 0) + ($4 << 1 | 1) | 0; - $2 = ($4 | 0) != 32768; - break label$7; - } - $5 = $4 + 1 | 0; - $4 = ($5 & ($6 ^ -1)) + $2 | 0; - $2 = $5; - } - if ($2 + $4 >>> 0 >= 32769) { - break label$2; - } - if (!$2) { - break label$1; - } - } - ec_encode_bin($0, $4, $2 + $4 | 0, 15); - return; - } - celt_fatal(32848, 32879, 88); - abort(); - } - celt_fatal(32894, 32879, 89); - abort(); -} -function alg_unquant($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $7 = __stack_pointer; - $10 = $7; - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) <= 1) { - break label$1; - } - $8 = $7 - (($1 << 2) + 15 & -16) | 0; - __stack_pointer = $8; - $6 = Math_fround(Math_fround(Math_fround(1) / Math_fround(Math_sqrt(decode_pulses($8, $1, $2, $5)))) * $6); - $5 = 0; - while (1) { - $7 = $5 << 2; - HEAPF32[$7 + $0 >> 2] = $6 * Math_fround(HEAP32[$7 + $8 >> 2]); - $5 = $5 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - exp_rotation($0, $1, -1, $4, $2, $3); - $3 = 1; - if (($4 | 0) >= 2) { - $9 = ($1 >>> 0) / ($4 >>> 0) | 0; - $0 = ($9 | 0) > 1 ? $9 : 1; - $3 = 0; - $2 = 0; - while (1) { - $1 = Math_imul($2, $9); - $5 = 0; - $7 = 0; - while (1) { - $7 = HEAP32[($1 + $5 << 2) + $8 >> 2] | $7; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($0 | 0)) { - continue; - } - break; - } - $3 = (($7 | 0) != 0) << $2 | $3; - $2 = $2 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $10; - return $3; - } - celt_fatal(41673, 41599, 371); - abort(); - } - celt_fatal(41734, 41599, 372); - abort(); -} -function interleave_hadamard($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $5 = __stack_pointer; - $9 = $5; - $8 = Math_imul($1, $2); - $5 = $5 - (($8 << 2) + 15 & -16) | 0; - __stack_pointer = $5; - label$1 : { - if (!$3) { - if (($2 | 0) < 1) { - break label$1; - } - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul($1, $4); - $3 = 0; - while (1) { - HEAP32[(Math_imul($2, $3) + $4 << 2) + $5 >> 2] = HEAP32[($3 + $7 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - break label$1; - } - if (($2 | 0) < 1) { - break label$1; - } - $10 = ($2 << 2) + 41976 | 0; - $6 = ($1 | 0) < 1; - while (1) { - if (!$6) { - $7 = Math_imul(HEAP32[($4 << 2) + $10 >> 2], $1); - $3 = 0; - while (1) { - HEAP32[(Math_imul($2, $3) + $4 << 2) + $5 >> 2] = HEAP32[($3 + $7 << 2) + $0 >> 2]; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - memcpy($0, $5, $8 << 2); - __stack_pointer = $9; -} -function encode_pulses($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - label$1 : { - if (($2 | 0) > 0) { - if (($1 | 0) <= 1) { - break label$1; - } - $8 = $1 - 1 | 0; - $4 = HEAP32[($8 << 2) + $0 >> 2]; - $5 = $4 >> 31; - $5 = $5 ^ $4 + $5; - $7 = $4 >>> 31 | 0; - while (1) { - $9 = $8 - 1 | 0; - $4 = $1 - $9 | 0; - $7 = HEAP32[HEAP32[((($4 | 0) < ($5 | 0) ? $4 : $5) << 2) + 36320 >> 2] + ((($4 | 0) > ($5 | 0) ? $4 : $5) << 2) >> 2] + $7 | 0; - $6 = HEAP32[($9 << 2) + $0 >> 2]; - $10 = $6 >> 31; - $5 = ($10 ^ $6 + $10) + $5 | 0; - if (($6 | 0) <= -1) { - $6 = $5 + 1 | 0; - $7 = HEAP32[HEAP32[((($4 | 0) > ($5 | 0) ? $6 : $4) << 2) + 36320 >> 2] + ((($4 | 0) > ($6 | 0) ? $4 : $6) << 2) >> 2] + $7 | 0; - } - $4 = ($8 | 0) > 1; - $8 = $9; - if ($4) { - continue; - } - break; - } - $5 = $2 + 1 | 0; - $4 = ($1 | 0) > ($2 | 0); - ec_enc_uint($3, $7, HEAP32[HEAP32[(($4 ? $5 : $1) << 2) + 36320 >> 2] + ((($1 | 0) > ($5 | 0) ? $1 : $5) << 2) >> 2] + HEAP32[HEAP32[((($1 | 0) < ($2 | 0) ? $1 : $2) << 2) + 36320 >> 2] + (($4 ? $1 : $2) << 2) >> 2] | 0); - return; - } - celt_fatal(36272, 36295, 459); - abort(); - } - celt_fatal(36380, 36295, 444); - abort(); -} -function silk_apply_sine_window_FLP($0, $1, $2, $3) { - var $4 = Math_fround(0), $5 = Math_fround(0), $6 = 0, $7 = Math_fround(0), $8 = 0; - label$1 : { - if ($2 - 1 >>> 0 < 2) { - if ($3 & 3) { - break label$1; - } - if (($3 | 0) >= 1) { - $4 = Math_fround(Math_fround(3.1415927410125732) / Math_fround($3 + 1 | 0)); - $7 = Math_fround(Math_fround(2) - Math_fround($4 * $4)); - $2 = ($2 | 0) < 2; - $4 = $2 ? $4 : Math_fround($7 * Math_fround(.5)); - $5 = $2 ? Math_fround(0) : Math_fround(1); - while (1) { - $2 = $8 << 2; - HEAPF32[$2 + $0 >> 2] = Math_fround($5 + $4) * Math_fround(HEAPF32[$1 + $2 >> 2] * Math_fround(.5)); - $6 = $2 | 4; - HEAPF32[$6 + $0 >> 2] = $4 * HEAPF32[$1 + $6 >> 2]; - $6 = $2 | 8; - $5 = Math_fround(Math_fround($7 * $4) - $5); - HEAPF32[$6 + $0 >> 2] = Math_fround($4 + $5) * Math_fround(HEAPF32[$1 + $6 >> 2] * Math_fround(.5)); - $2 = $2 | 12; - HEAPF32[$2 + $0 >> 2] = $5 * HEAPF32[$1 + $2 >> 2]; - $4 = Math_fround(Math_fround($7 * $5) - $4); - $8 = $8 + 4 | 0; - if (($8 | 0) < ($3 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(9375, 9424, 48); - abort(); - } - celt_fatal(9459, 9424, 51); - abort(); -} -function silk_sum_sqr_shift($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $9 = $3 - 1 | 0; - $10 = Math_clz32($3); - $7 = 31 - $10 | 0; - label$1 : { - if (($3 | 0) < 2) { - $5 = $3; - break label$1; - } - $5 = $3; - while (1) { - $6 = $4 << 1; - $8 = HEAP16[($6 | 2) + $2 >> 1]; - $6 = HEAP16[$2 + $6 >> 1]; - $5 = (Math_imul($8, $8) + Math_imul($6, $6) >>> $7 | 0) + $5 | 0; - $4 = $4 + 2 | 0; - if (($9 | 0) > ($4 | 0)) { - continue; - } - break; - } - $4 = $3 & -2; - } - $6 = 0; - if (($3 | 0) > ($4 | 0)) { - $4 = HEAP16[($4 << 1) + $2 >> 1]; - $5 = (Math_imul($4, $4) >>> $7 | 0) + $5 | 0; - } - $4 = 34 - (Math_clz32($5) + $10 | 0) | 0; - $7 = ($4 | 0) > 0 ? $4 : 0; - if (($3 | 0) < 2) { - $4 = 0; - } else { - $4 = 0; - while (1) { - $5 = $4 << 1; - $8 = HEAP16[($5 | 2) + $2 >> 1]; - $5 = HEAP16[$2 + $5 >> 1]; - $6 = (Math_imul($8, $8) + Math_imul($5, $5) >>> $7 | 0) + $6 | 0; - $4 = $4 + 2 | 0; - if (($9 | 0) > ($4 | 0)) { - continue; - } - break; - } - $4 = $3 & -2; - } - if (($4 | 0) < ($3 | 0)) { - $2 = HEAP16[($4 << 1) + $2 >> 1]; - $6 = (Math_imul($2, $2) >>> $7 | 0) + $6 | 0; - } - HEAP32[$1 >> 2] = $7; - HEAP32[$0 >> 2] = $6; -} -function sinc($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = Math_fround(0), $9 = 0, $10 = Math_fround(0), $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - $4 = +$1; - $6 = Math_abs($4); - if ($6 < 1e-6) { - return $0; - } - $7 = +($2 | 0); - if (!($7 * .5 < $6)) { - $1 = Math_fround($0 * $1); - $2 = HEAP32[$3 >> 2]; - $8 = Math_fround(Math_fround(Math_abs(Math_fround(($4 + $4) / $7))) * Math_fround(HEAP32[$3 + 4 >> 2])); - $10 = Math_fround(Math_floor($8)); - label$3 : { - if (Math_fround(Math_abs($10)) < Math_fround(2147483648)) { - $3 = ~~$10; - break label$3; - } - $3 = -2147483648; - } - $2 = $2 + ($3 << 3) | 0; - $6 = HEAPF64[$2 + 8 >> 3]; - $7 = HEAPF64[$2 >> 3]; - $13 = HEAPF64[$2 + 16 >> 3]; - $9 = HEAPF64[$2 + 24 >> 3]; - $4 = +$1 * 3.141592653589793; - $14 = sin($4) * +$0 / $4; - $1 = Math_fround($8 - Math_fround($3 | 0)); - $0 = Math_fround($1 * $1); - $5 = +Math_fround($1 * $0); - $11 = $5 * .1666666667; - $4 = +$1; - $12 = $11 - $4 * .1666666667; - $15 = $9 * $12; - $9 = +$0 * .5; - $5 = $9 + $4 - $5 * .5; - $4 = $9 + $4 * -.3333333333 - $11; - $8 = Math_fround($14 * ($15 + ($13 * $5 + ($7 * $4 + $6 * (1 - $12 - $5 - $4))))); - } - return $8; -} -function compute_band_energies($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0, $11 = 0, $12 = 0, $13 = Math_fround(0), $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - $14 = ($4 | 0) > 1 ? $4 : 1; - $15 = HEAP32[$0 + 44 >> 2] << $5; - $10 = HEAP32[$0 + 32 >> 2]; - while (1) { - if (($3 | 0) >= 1) { - $16 = Math_imul($7, $15); - $17 = Math_imul(HEAP32[$0 + 8 >> 2], $7); - $8 = HEAPU16[$10 >> 1]; - $6 = 0; - while (1) { - $4 = $8 << 16; - $9 = Math_fround(0); - $11 = $6 + 1 | 0; - $8 = HEAP16[($11 << 1) + $10 >> 1]; - $4 = $4 >> 16; - $12 = $8 - $4 << $5; - if (($12 | 0) >= 1) { - $18 = (($4 << $5) + $16 << 2) + $1 | 0; - $4 = 0; - while (1) { - $13 = HEAPF32[($4 << 2) + $18 >> 2]; - $9 = Math_fround($9 + Math_fround($13 * $13)); - $4 = $4 + 1 | 0; - if (($12 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - HEAPF32[($6 + $17 << 2) + $2 >> 2] = Math_sqrt(Math_fround($9 + Math_fround(1.0000000272452012e-27))); - $6 = $11; - if (($6 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - $7 = $7 + 1 | 0; - if (($14 | 0) != ($7 | 0)) { - continue; - } - break; - } -} -function opus_encode_float($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $9 = -1; - $5 = HEAP32[$0 + 144 >> 2]; - $7 = ($5 | 0) / 400 | 0; - label$1 : { - if (($7 | 0) > ($2 | 0)) { - break label$1; - } - $6 = $2; - $8 = HEAP32[$0 + 156 >> 2]; - if (($8 | 0) != 5e3) { - $6 = $8 - 5001 | 0; - if ($6 >>> 0 > 8) { - break label$1; - } - $6 = ($8 | 0) <= 5005 ? $7 << $6 : (Math_imul($8 - 5003 | 0, $5) | 0) / 50 | 0; - if (($6 | 0) > ($2 | 0)) { - break label$1; - } - } - label$5 : { - if ((Math_imul($6, 100) | 0) == ($5 | 0) | (Math_imul($6, 400) | 0) == ($5 | 0) | (Math_imul($6, 200) | 0) == ($5 | 0)) { - break label$5; - } - $7 = Math_imul($6, 50); - if (($7 | 0) == (Math_imul($5, 6) | 0) | (Math_imul($5, 5) | 0) == ($7 | 0) | ($5 << 2 == ($7 | 0) | (Math_imul($5, 3) | 0) == ($7 | 0))) { - break label$5; - } - if (($5 | 0) == ($7 | 0)) { - break label$5; - } - if ((Math_imul($6, 25) | 0) != ($5 | 0)) { - break label$1; - } - } - $9 = $6; - } - return opus_encode_native($0, $1, $9, $3, $4, 24, $1, $2, 0, -2, HEAP32[$0 + 112 >> 2], 4, 1) | 0; -} -function silk_InitEncoder($0, $1, $2) { - var $3 = 0; - label$1 : { - $0 = memset($0, 0, 20216); - if (silk_init_encoder($0, $1)) { - break label$1; - } - if (silk_init_encoder($0 + 10064 | 0, $1)) { - break label$1; - } - HEAP32[$0 + 20192 >> 2] = 1; - HEAP32[$0 + 20196 >> 2] = 1; - HEAP32[$2 >> 2] = 1; - HEAP32[$2 + 4 >> 2] = 1; - HEAP32[$2 + 8 >> 2] = HEAP32[$0 + 4556 >> 2]; - HEAP32[$2 + 12 >> 2] = HEAP32[$0 + 4564 >> 2]; - HEAP32[$2 + 16 >> 2] = HEAP32[$0 + 4568 >> 2]; - HEAP32[$2 + 20 >> 2] = HEAP32[$0 + 4572 >> 2]; - HEAP32[$2 + 24 >> 2] = HEAP32[$0 + 4612 >> 2]; - HEAP32[$2 + 28 >> 2] = HEAP32[$0 + 4608 >> 2]; - HEAP32[$2 + 32 >> 2] = HEAP32[$0 + 4616 >> 2]; - HEAP32[$2 + 36 >> 2] = HEAP32[$0 + 4624 >> 2]; - HEAP32[$2 + 40 >> 2] = HEAP32[$0 + 6088 >> 2]; - HEAP32[$2 + 48 >> 2] = HEAP32[$0 + 6076 >> 2]; - HEAP32[$2 + 52 >> 2] = HEAP32[$0 + 4676 >> 2]; - $3 = HEAP32[$0 + 4576 >> 2]; - HEAP32[$2 + 72 >> 2] = Math_imul($3 << 16 >> 16, 1e3); - HEAP32[$2 + 76 >> 2] = HEAP32[$0 + 4536 >> 2]; - $1 = 0; - $1 = ($3 | 0) == 16 ? !HEAP32[$0 + 28 >> 2] : $1; - HEAP32[$2 + 80 >> 2] = $1; - return 0; - } - celt_fatal(17487, 17507, 85); - abort(); -} -function silk_NLSF_VQ($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0; - if (!($5 & 1)) { - if (($4 | 0) >= 1) { - $12 = ($5 | 0) < 2; - while (1) { - $10 = $5; - $6 = 0; - $7 = 0; - if (!$12) { - while (1) { - $8 = $10 - 1 | 0; - $9 = $8 << 1; - $8 = Math_imul(HEAPU16[$9 + $1 >> 1] - (HEAPU8[$2 + $8 | 0] << 7) << 16 >> 16, HEAP16[$3 + $9 >> 1]); - $6 = $8 - ($6 >> 1) | 0; - $9 = $6; - $6 = $6 >> 31; - $13 = ($6 ^ $6 + $9) + $7 | 0; - $6 = $10 - 2 | 0; - $7 = $6 << 1; - $9 = Math_imul(HEAPU16[$7 + $1 >> 1] - (HEAPU8[$2 + $6 | 0] << 7) << 16 >> 16, HEAP16[$3 + $7 >> 1]); - $7 = $9 - ($8 >> 1) | 0; - $8 = $7; - $7 = $7 >> 31; - $7 = ($7 ^ $7 + $8) + $13 | 0; - $8 = ($10 | 0) > 3; - $10 = $6; - $6 = $9; - if ($8) { - continue; - } - break; - } - } - HEAP32[($11 << 2) + $0 >> 2] = $7; - $2 = $2 + $5 | 0; - $3 = ($5 << 1) + $3 | 0; - $11 = $11 + 1 | 0; - if (($11 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15720, 15761, 49); - abort(); -} -function exp2($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - label$1 : { - wasm2js_scratch_store_f64(+$0); - $1 = wasm2js_scratch_load_i32(1) | 0; - $5 = wasm2js_scratch_load_i32(0) | 0; - $3 = $1; - $1 = $1 & 2147483647; - label$2 : { - if ($1 >>> 0 >= 1083174912) { - if (!(($3 | 0) < 0 | $1 >>> 0 < 1083179008)) { - return $0 * 8.98846567431158e+307; - } - if ($1 >>> 0 >= 2146435072) { - return -1 / $0; - } - if ($0 <= -1075 ^ 1) { - break label$1; - } - $1 = $3; - $2 = 0; - if (($1 | 0) < -1 ? 1 : ($1 | 0) <= -1) { - break label$2; - } - break label$1; - } - if ($1 >>> 0 > 1016070143) { - break label$1; - } - $2 = $0 + 1; - } - return $2; - } - $2 = $0 + 26388279066624; - wasm2js_scratch_store_f64(+$2); - wasm2js_scratch_load_i32(1) | 0; - $1 = (wasm2js_scratch_load_i32(0) | 0) + 128 | 0; - $3 = $1 << 4 & 4080; - $4 = HEAPF64[$3 + 11024 >> 3]; - $0 = $0 - ($2 + -26388279066624) - HEAPF64[($3 | 8) + 11024 >> 3]; - return scalbn($4 + $4 * $0 * ($0 * ($0 * ($0 * ($0 * .0013333559164630223 + .009618129842126066) + .0555041086648214) + .2402265069591) + .6931471805599453), ($1 & -256) / 256 | 0); -} -function normalise_bands($0, $1, $2, $3, $4, $5, $6) { - var $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = Math_fround(0); - $13 = ($5 | 0) > 1 ? $5 : 1; - $14 = Math_imul(HEAP32[$0 + 44 >> 2], $6); - $11 = HEAP32[$0 + 32 >> 2]; - while (1) { - if (($4 | 0) >= 1) { - $15 = Math_imul($8, $14); - $16 = Math_imul(HEAP32[$0 + 8 >> 2], $8); - $10 = HEAP16[$11 >> 1]; - $9 = 0; - while (1) { - $5 = Math_imul($6, $10); - $7 = $9; - $9 = $7 + 1 | 0; - $10 = HEAP16[($9 << 1) + $11 >> 1]; - $12 = Math_imul($10, $6); - if (($5 | 0) < ($12 | 0)) { - $17 = Math_fround(Math_fround(1) / Math_fround(HEAPF32[($7 + $16 << 2) + $3 >> 2] + Math_fround(1.0000000272452012e-27))); - while (1) { - $7 = $5 + $15 << 2; - HEAPF32[$7 + $2 >> 2] = $17 * HEAPF32[$1 + $7 >> 2]; - $5 = $5 + 1 | 0; - if (($12 | 0) > ($5 | 0)) { - continue; - } - break; - } - } - if (($4 | 0) != ($9 | 0)) { - continue; - } - break; - } - } - $8 = $8 + 1 | 0; - if (($13 | 0) != ($8 | 0)) { - continue; - } - break; - } -} -function silk_ana_filt_bank_1($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - if (($4 | 0) >= 2) { - $4 = $4 >> 1; - $12 = ($4 | 0) > 1 ? $4 : 1; - $5 = HEAP32[$1 + 4 >> 2]; - $6 = HEAP32[$1 >> 2]; - $4 = 0; - while (1) { - $7 = $4 << 2; - $9 = HEAP16[($7 | 2) + $0 >> 1] << 10; - $8 = $9 - $5 | 0; - $8 = (Math_imul($8 & 65535, 10788) >>> 16 | 0) + Math_imul($8 >> 16, 10788) | 0; - $10 = $8 + $5 | 0; - $5 = HEAP16[$0 + $7 >> 1] << 10; - $6 = $5 - $6 | 0; - $11 = $4 << 1; - $7 = (Math_imul($6 >> 16, -24290) + (Math_imul($6 & 65535, -24290) >> 16) | 0) + $5 | 0; - $5 = $10 + $7 | 0; - HEAP16[$11 + $2 >> 1] = ($5 | 0) > 67107839 ? 32767 : ($5 | 0) < -67109888 ? -32768 : ($5 >>> 10 | 0) + 1 >>> 1 | 0; - $5 = $10 - $7 | 0; - HEAP16[$3 + $11 >> 1] = ($5 | 0) > 67107839 ? 32767 : ($5 | 0) < -67109888 ? -32768 : ($5 >>> 10 | 0) + 1 >>> 1 | 0; - $5 = $8 + $9 | 0; - $6 = $6 + $7 | 0; - $4 = $4 + 1 | 0; - if (($12 | 0) != ($4 | 0)) { - continue; - } - break; - } - HEAP32[$1 + 4 >> 2] = $5; - HEAP32[$1 >> 2] = $6; - } -} -function memchr($0, $1, $2) { - var $3 = 0, $4 = 0; - $3 = ($2 | 0) != 0; - label$1 : { - label$2 : { - label$3 : { - if (!$2 | !($0 & 3)) { - break label$3; - } - $4 = $1 & 255; - while (1) { - if (HEAPU8[$0 | 0] == ($4 | 0)) { - break label$2; - } - $0 = $0 + 1 | 0; - $2 = $2 - 1 | 0; - $3 = ($2 | 0) != 0; - if (!$2) { - break label$3; - } - if ($0 & 3) { - continue; - } - break; - } - } - if (!$3) { - break label$1; - } - } - label$5 : { - if (HEAPU8[$0 | 0] == ($1 & 255) | $2 >>> 0 < 4) { - break label$5; - } - $4 = Math_imul($1 & 255, 16843009); - while (1) { - $3 = HEAP32[$0 >> 2] ^ $4; - if (($3 ^ -1) & $3 - 16843009 & -2139062144) { - break label$5; - } - $0 = $0 + 4 | 0; - $2 = $2 - 4 | 0; - if ($2 >>> 0 > 3) { - continue; - } - break; - } - } - if (!$2) { - break label$1; - } - $3 = $1 & 255; - while (1) { - if (HEAPU8[$0 | 0] == ($3 | 0)) { - return $0; - } - $0 = $0 + 1 | 0; - $2 = $2 - 1 | 0; - if ($2) { - continue; - } - break; - } - } - return 0; -} -function resampler_basic_zero($0, $1, $2, $3, $4, $5) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $5 = $5 | 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0; - $2 = $1 << 2; - $7 = $2 + HEAP32[$0 + 64 >> 2] | 0; - $6 = HEAP32[$7 >> 2]; - $1 = 0; - $8 = HEAP32[$0 + 60 >> 2] + $2 | 0; - $2 = HEAP32[$8 >> 2]; - $9 = HEAP32[$3 >> 2]; - label$1 : { - if (($2 | 0) >= ($9 | 0)) { - break label$1; - } - $3 = HEAP32[$0 + 12 >> 2]; - $10 = HEAP32[$0 + 40 >> 2]; - $11 = HEAP32[$0 + 36 >> 2]; - $12 = HEAP32[$0 + 92 >> 2]; - $1 = HEAP32[$5 >> 2]; - $5 = ($1 | 0) > 0 ? $1 : 0; - $1 = 0; - while (1) { - if (($1 | 0) == ($5 | 0)) { - $1 = $5; - break label$1; - } - HEAP32[(Math_imul($1, $12) << 2) + $4 >> 2] = 0; - $0 = $6 + $10 | 0; - $6 = $0 - ($0 >>> 0 < $3 >>> 0 ? 0 : $3) | 0; - $1 = $1 + 1 | 0; - $2 = ($2 + $11 | 0) + ($0 >>> 0 >= $3 >>> 0) | 0; - if (($9 | 0) > ($2 | 0)) { - continue; - } - break; - } - } - HEAP32[$8 >> 2] = $2; - HEAP32[$7 >> 2] = $6; - return $1 | 0; -} -function ec_dec_bit_logp($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $2 = HEAP32[$0 + 28 >> 2]; - $1 = $2 >>> $1 | 0; - $3 = HEAP32[$0 + 32 >> 2]; - $6 = $1 >>> 0 > $3 >>> 0; - if (!$6) { - $3 = $3 - $1 | 0; - HEAP32[$0 + 32 >> 2] = $3; - } - $2 = $6 ? $1 : $2 - $1 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $4 = HEAP32[$0 + 24 >> 2]; - $8 = HEAP32[$0 + 40 >> 2]; - $7 = HEAP32[$0 + 20 >> 2]; - $10 = HEAP32[$0 + 4 >> 2]; - while (1) { - $9 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $9; - $7 = $7 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $7; - $1 = 0; - if ($4 >>> 0 < $10 >>> 0) { - $5 = $4 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $5; - $1 = HEAPU8[HEAP32[$0 >> 2] + $4 | 0]; - $4 = $5; - } - HEAP32[$0 + 40 >> 2] = $1; - $3 = ($3 << 8 & 2147483392 | ($8 << 8 | $1) >>> 1 & 255) ^ 255; - HEAP32[$0 + 32 >> 2] = $3; - $5 = $2 >>> 0 < 32769; - $8 = $1; - $2 = $9; - if ($5) { - continue; - } - break; - } - } - return $6; -} -function ec_dec_update($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $4 = HEAP32[$0 + 36 >> 2]; - $3 = Math_imul($4, $3 - $2 | 0); - $5 = HEAP32[$0 + 32 >> 2] - $3 | 0; - HEAP32[$0 + 32 >> 2] = $5; - $2 = $1 ? Math_imul($2 - $1 | 0, $4) : HEAP32[$0 + 28 >> 2] - $3 | 0; - HEAP32[$0 + 28 >> 2] = $2; - if ($2 >>> 0 <= 8388608) { - $3 = HEAP32[$0 + 24 >> 2]; - $4 = HEAP32[$0 + 40 >> 2]; - $7 = HEAP32[$0 + 20 >> 2]; - $9 = HEAP32[$0 + 4 >> 2]; - while (1) { - $8 = $2 << 8; - HEAP32[$0 + 28 >> 2] = $8; - $7 = $7 + 8 | 0; - HEAP32[$0 + 20 >> 2] = $7; - $1 = 0; - if ($3 >>> 0 < $9 >>> 0) { - $6 = $3 + 1 | 0; - HEAP32[$0 + 24 >> 2] = $6; - $1 = HEAPU8[HEAP32[$0 >> 2] + $3 | 0]; - $3 = $6; - } - HEAP32[$0 + 40 >> 2] = $1; - $5 = ($5 << 8 & 2147483392 | ($4 << 8 | $1) >>> 1 & 255) ^ 255; - HEAP32[$0 + 32 >> 2] = $5; - $6 = $2 >>> 0 < 32769; - $4 = $1; - $2 = $8; - if ($6) { - continue; - } - break; - } - } -} -function wcrtomb($0, $1, $2) { - $2 = 1; - label$1 : { - if ($0) { - if ($1 >>> 0 <= 127) { - break label$1; - } - label$3 : { - if (!HEAP32[HEAP32[__pthread_self() + 172 >> 2] >> 2]) { - if (($1 & -128) == 57216) { - break label$1; - } - break label$3; - } - if ($1 >>> 0 <= 2047) { - HEAP8[$0 + 1 | 0] = $1 & 63 | 128; - HEAP8[$0 | 0] = $1 >>> 6 | 192; - return 2; - } - if (!(($1 & -8192) != 57344 ? $1 >>> 0 >= 55296 : 0)) { - HEAP8[$0 + 2 | 0] = $1 & 63 | 128; - HEAP8[$0 | 0] = $1 >>> 12 | 224; - HEAP8[$0 + 1 | 0] = $1 >>> 6 & 63 | 128; - return 3; - } - if ($1 - 65536 >>> 0 <= 1048575) { - HEAP8[$0 + 3 | 0] = $1 & 63 | 128; - HEAP8[$0 | 0] = $1 >>> 18 | 240; - HEAP8[$0 + 2 | 0] = $1 >>> 6 & 63 | 128; - HEAP8[$0 + 1 | 0] = $1 >>> 12 & 63 | 128; - return 4; - } - } - HEAP32[__errno_location() >> 2] = 25; - $2 = -1; - } - return $2; - } - HEAP8[$0 | 0] = $1; - return 1; -} -function opus_repacketizer_cat_impl($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $5 = __stack_pointer - 16 | 0; - __stack_pointer = $5; - $4 = -4; - label$1 : { - if (($2 | 0) < 1) { - break label$1; - } - label$2 : { - if (!HEAP32[$0 + 4 >> 2]) { - HEAP8[$0 | 0] = HEAPU8[$1 | 0]; - HEAP32[$0 + 296 >> 2] = opus_packet_get_samples_per_frame($1, 8e3); - break label$2; - } - if ((HEAPU8[$1 | 0] ^ HEAPU8[$0 | 0]) >>> 0 > 3) { - break label$1; - } - } - $6 = opus_packet_get_nb_frames($1, $2); - if (($6 | 0) < 1) { - break label$1; - } - $7 = HEAP32[$0 + 4 >> 2]; - if ((Math_imul(HEAP32[$0 + 296 >> 2], $7 + $6 | 0) | 0) > 960) { - break label$1; - } - $4 = opus_packet_parse_impl($1, $2, $3, $5 + 15 | 0, (($7 << 2) + $0 | 0) + 8 | 0, (($7 << 1) + $0 | 0) + 200 | 0, 0, 0); - if (($4 | 0) < 1) { - break label$1; - } - HEAP32[$0 + 4 >> 2] = HEAP32[$0 + 4 >> 2] + $6; - $4 = 0; - } - __stack_pointer = $5 + 16 | 0; - return $4; -} -function cos($0) { - var $1 = 0, $2 = 0, $3 = 0; - $1 = __stack_pointer - 16 | 0; - __stack_pointer = $1; - wasm2js_scratch_store_f64(+$0); - $3 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - $3 = $3 & 2147483647; - label$1 : { - if ($3 >>> 0 <= 1072243195) { - $2 = 1; - if ($3 >>> 0 < 1044816030) { - break label$1; - } - $2 = __cos($0, 0); - break label$1; - } - $2 = $0 - $0; - if ($3 >>> 0 >= 2146435072) { - break label$1; - } - label$3 : { - switch (__rem_pio2($0, $1) & 3) { - case 0: - $2 = __cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - break label$1; - case 1: - $2 = -__sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - break label$1; - case 2: - $2 = -__cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - break label$1; - default: - break label$3; - } - } - $2 = __sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - } - __stack_pointer = $1 + 16 | 0; - return $2; -} -function silk_resampler_down2($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - if (($3 | 0) >= 2) { - $3 = $3 >> 1; - $10 = ($3 | 0) > 1 ? $3 : 1; - $4 = HEAP32[$0 + 4 >> 2]; - $5 = HEAP32[$0 >> 2]; - $3 = 0; - while (1) { - $6 = $3 << 2; - $7 = HEAP16[$6 + $2 >> 1] << 10; - $5 = $7 - $5 | 0; - $7 = (Math_imul($5 >> 16, -25727) + (Math_imul($5 & 65535, -25727) >> 16) | 0) + $7 | 0; - $8 = $7 + $4 | 0; - $6 = HEAP16[($6 | 2) + $2 >> 1] << 10; - $4 = $6 - $4 | 0; - $4 = (Math_imul($4 & 65535, 9872) >>> 16 | 0) + Math_imul($4 >> 16, 9872) | 0; - $8 = $8 + $4 | 0; - $9 = ($8 >> 10) + 1 >> 1; - HEAP16[($3 << 1) + $1 >> 1] = ($8 | 0) > 67107839 ? 32767 : ($9 | 0) > -32768 ? $9 : -32768; - $4 = $4 + $6 | 0; - $5 = $5 + $7 | 0; - $3 = $3 + 1 | 0; - if (($10 | 0) != ($3 | 0)) { - continue; - } - break; - } - HEAP32[$0 + 4 >> 2] = $4; - HEAP32[$0 >> 2] = $5; - } -} -function celt_encoder_init($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $5 = -1; - $4 = opus_custom_mode_create(48e3, 960, 0); - label$1 : { - if ($2 >>> 0 > 2) { - break label$1; - } - $5 = -7; - if (!$0 | !$4) { - break label$1; - } - $5 = 0; - $0 = memset($0, 0, Math_imul(((HEAP32[$4 + 4 >> 2] << 2) + (HEAP32[$4 + 8 >> 2] << 4) | 0) + 4096 | 0, $2) + 244 | 0); - HEAP32[$0 + 28 >> 2] = 1; - HEAP32[$0 + 32 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = $2; - HEAP32[$0 + 4 >> 2] = $2; - HEAP32[$0 >> 2] = $4; - $2 = HEAP32[$4 + 12 >> 2]; - HEAP32[$0 + 24 >> 2] = 5; - HEAP32[$0 + 60 >> 2] = 24; - HEAP32[$0 + 12 >> 2] = 0; - HEAP32[$0 + 16 >> 2] = 1; - HEAP32[$0 + 40 >> 2] = -1; - HEAP32[$0 + 44 >> 2] = 0; - HEAP32[$0 + 72 >> 2] = $3; - HEAP32[$0 + 48 >> 2] = 1; - HEAP32[$0 + 52 >> 2] = 1; - HEAP32[$0 + 36 >> 2] = $2; - opus_custom_encoder_ctl($0, 4028, 0); - HEAP32[$0 + 28 >> 2] = resampling_factor($1); - } - return $5; -} -function __fwritex($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = HEAP32[$2 + 16 >> 2]; - label$1 : { - if (!$3) { - if (__towrite($2)) { - break label$1; - } - $3 = HEAP32[$2 + 16 >> 2]; - } - $5 = HEAP32[$2 + 20 >> 2]; - if ($3 - $5 >>> 0 < $1 >>> 0) { - return FUNCTION_TABLE[HEAP32[$2 + 36 >> 2]]($2, $0, $1) | 0; - } - label$5 : { - if (HEAP8[$2 + 75 | 0] < 0) { - $3 = 0; - break label$5; - } - $4 = $1; - while (1) { - $3 = $4; - if (!$3) { - $3 = 0; - break label$5; - } - $4 = $3 - 1 | 0; - if (HEAPU8[$4 + $0 | 0] != 10) { - continue; - } - break; - } - $4 = FUNCTION_TABLE[HEAP32[$2 + 36 >> 2]]($2, $0, $3) | 0; - if ($4 >>> 0 < $3 >>> 0) { - break label$1; - } - $0 = $0 + $3 | 0; - $1 = $1 - $3 | 0; - $5 = HEAP32[$2 + 20 >> 2]; - } - memcpy($5, $0, $1); - HEAP32[$2 + 20 >> 2] = HEAP32[$2 + 20 >> 2] + $1; - $4 = $1 + $3 | 0; - } - return $4; -} -function sin($0) { - var $1 = 0, $2 = 0; - $1 = __stack_pointer - 16 | 0; - __stack_pointer = $1; - wasm2js_scratch_store_f64(+$0); - $2 = wasm2js_scratch_load_i32(1) | 0; - wasm2js_scratch_load_i32(0) | 0; - $2 = $2 & 2147483647; - label$1 : { - if ($2 >>> 0 <= 1072243195) { - if ($2 >>> 0 < 1045430272) { - break label$1; - } - $0 = __sin($0, 0, 0); - break label$1; - } - if ($2 >>> 0 >= 2146435072) { - $0 = $0 - $0; - break label$1; - } - label$4 : { - switch (__rem_pio2($0, $1) & 3) { - case 0: - $0 = __sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - break label$1; - case 1: - $0 = __cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - break label$1; - case 2: - $0 = -__sin(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3], 1); - break label$1; - default: - break label$4; - } - } - $0 = -__cos(HEAPF64[$1 >> 3], HEAPF64[$1 + 8 >> 3]); - } - __stack_pointer = $1 + 16 | 0; - return $0; -} -function ec_enc_bits($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - if ($2) { - $6 = HEAP32[$0 + 12 >> 2]; - $5 = HEAP32[$0 + 16 >> 2]; - $3 = $5 + $2 | 0; - label$2 : { - if ($3 >>> 0 < 33) { - $4 = $5; - break label$2; - } - while (1) { - $3 = -1; - $7 = HEAP32[$0 + 4 >> 2]; - $4 = HEAP32[$0 + 8 >> 2]; - if ($7 >>> 0 > $4 + HEAP32[$0 + 24 >> 2] >>> 0) { - $3 = $4 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $3; - HEAP8[HEAP32[$0 >> 2] + ($7 - $3 | 0) | 0] = $6; - $3 = 0; - } - HEAP32[$0 + 44 >> 2] = HEAP32[$0 + 44 >> 2] | $3; - $6 = $6 >>> 8 | 0; - $3 = ($5 | 0) > 15; - $4 = $5 - 8 | 0; - $5 = $4; - if ($3) { - continue; - } - break; - } - $3 = $2 + $4 | 0; - } - HEAP32[$0 + 16 >> 2] = $3; - HEAP32[$0 + 12 >> 2] = $1 << $4 | $6; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $2; - return; - } - celt_fatal(7033, 7019, 198); - abort(); -} -function speex_resampler_process_interleaved_float($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; - $7 = HEAP32[$0 + 92 >> 2]; - $8 = HEAP32[$2 >> 2]; - $9 = HEAP32[$4 >> 2]; - $5 = HEAP32[$0 + 20 >> 2]; - HEAP32[$0 + 92 >> 2] = $5; - $10 = HEAP32[$0 + 88 >> 2]; - HEAP32[$0 + 88 >> 2] = $5; - if ($5) { - $5 = 0; - while (1) { - HEAP32[$4 >> 2] = $9; - HEAP32[$2 >> 2] = $8; - label$3 : { - if ($1) { - $6 = $5 << 2; - speex_resampler_process_float($0, $5, $6 + $1 | 0, $2, $3 + $6 | 0, $4); - break label$3; - } - speex_resampler_process_float($0, $5, 0, $2, ($5 << 2) + $3 | 0, $4); - } - $5 = $5 + 1 | 0; - if ($5 >>> 0 < HEAPU32[$0 + 20 >> 2]) { - continue; - } - break; - } - } - HEAP32[$0 + 92 >> 2] = $7; - HEAP32[$0 + 88 >> 2] = $10; - return HEAP32[$0 + 84 >> 2] == 9 | 0; -} -function silk_VAD_Init($0) { - var $1 = 0; - $1 = $0; - HEAP32[$1 >> 2] = 0; - HEAP32[$1 + 4 >> 2] = 0; - HEAP32[$1 + 56 >> 2] = 0; - HEAP32[$1 + 60 >> 2] = 5e3; - HEAP32[$1 + 32 >> 2] = 0; - HEAP32[$1 + 36 >> 2] = 0; - HEAP32[$1 + 24 >> 2] = 0; - HEAP32[$1 + 28 >> 2] = 0; - HEAP32[$1 + 16 >> 2] = 0; - HEAP32[$1 + 20 >> 2] = 0; - HEAP32[$1 + 8 >> 2] = 0; - HEAP32[$1 + 12 >> 2] = 0; - HEAP32[$1 + 96 >> 2] = 25; - HEAP32[$1 + 100 >> 2] = 16; - HEAP32[$1 + 80 >> 2] = 858993; - HEAP32[$1 + 84 >> 2] = 1342177; - $1 = $1 - -64 | 0; - HEAP32[$1 >> 2] = 2500; - HEAP32[$1 + 4 >> 2] = 1600; - $1 = $0; - HEAP32[$1 + 104 >> 2] = 12; - HEAP32[$1 + 108 >> 2] = 15; - HEAP32[$1 + 88 >> 2] = 1789569; - HEAP32[$1 + 92 >> 2] = 50; - HEAP32[$1 + 72 >> 2] = 1200; - HEAP32[$1 + 76 >> 2] = 429496; - HEAP32[$1 + 40 >> 2] = 25600; - HEAP32[$1 + 44 >> 2] = 25600; - HEAP32[$1 + 48 >> 2] = 25600; - HEAP32[$1 + 52 >> 2] = 25600; - return 0; -} -function silk_residual_energy_FLP($0, $1, $2, $3, $4, $5, $6) { - var $7 = Math_fround(0), $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $8 = __stack_pointer - 768 | 0; - __stack_pointer = $8; - $9 = $4 + $6 | 0; - $10 = $9 << 1; - silk_LPC_analysis_filter_FLP($8, $2, $1, $10, $6); - $7 = HEAPF32[$3 >> 2]; - $11 = ($6 << 2) + $8 | 0; - HEAPF32[$0 >> 2] = silk_energy_FLP($11, $4) * +Math_fround($7 * $7); - $7 = HEAPF32[$3 + 4 >> 2]; - $9 = ($9 << 2) + $11 | 0; - HEAPF32[$0 + 4 >> 2] = silk_energy_FLP($9, $4) * +Math_fround($7 * $7); - if (($5 | 0) == 4) { - silk_LPC_analysis_filter_FLP($8, $2 - -64 | 0, ($10 << 2) + $1 | 0, $10, $6); - $7 = HEAPF32[$3 + 8 >> 2]; - HEAPF32[$0 + 8 >> 2] = silk_energy_FLP($11, $4) * +Math_fround($7 * $7); - $7 = HEAPF32[$3 + 12 >> 2]; - HEAPF32[$0 + 12 >> 2] = silk_energy_FLP($9, $4) * +Math_fround($7 * $7); - } - __stack_pointer = $8 + 768 | 0; -} -function silk_gains_dequant($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - if (($4 | 0) >= 1) { - while (1) { - $5 = HEAP8[$1 + $7 | 0]; - $9 = $2; - label$3 : { - if (!($3 | $7)) { - $6 = HEAP8[$2 | 0] - 16 | 0; - $5 = ($5 | 0) > ($6 | 0) ? $5 : $6; - break label$3; - } - $5 = $5 - 4 | 0; - $6 = HEAP8[$2 | 0]; - $8 = $6 + 8 | 0; - if (($5 | 0) > ($8 | 0)) { - $5 = (($5 << 1) - $8 | 0) + $6 | 0; - break label$3; - } - $5 = $5 + $6 | 0; - } - $5 = $5 << 24 >> 24 > 0 ? $5 : 0; - $5 = $5 << 24 >> 24 < 63 ? $5 : 63; - HEAP8[$9 | 0] = $5; - $5 = $5 & 255; - $5 = (Math_imul($5, 7281) >>> 16 | 0) + Math_imul($5, 29) | 0; - HEAP32[($7 << 2) + $0 >> 2] = silk_log2lin(($5 >>> 0 < 1877 ? $5 : 1877) + 2090 | 0); - $7 = $7 + 1 | 0; - if (($7 | 0) != ($4 | 0)) { - continue; - } - break; - } - } -} -function silk_k2a_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = Math_fround(0), $8 = 0, $9 = 0, $10 = Math_fround(0), $11 = Math_fround(0), $12 = 0, $13 = 0; - $6 = 1; - if (($2 | 0) >= 1) { - while (1) { - $8 = $5 << 2; - $7 = HEAPF32[$8 + $1 >> 2]; - $9 = $5 + 1 | 0; - if ($9 & 2147483646) { - $12 = $6 >>> 1 | 0; - $3 = 0; - while (1) { - $4 = ($3 << 2) + $0 | 0; - $13 = $4; - $10 = HEAPF32[$4 >> 2]; - $4 = (($3 ^ -1) + $5 << 2) + $0 | 0; - $11 = HEAPF32[$4 >> 2]; - HEAPF32[$13 >> 2] = $10 + Math_fround($7 * $11); - HEAPF32[$4 >> 2] = $11 + Math_fround($7 * $10); - $3 = $3 + 1 | 0; - if (($12 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - HEAPF32[$0 + $8 >> 2] = -$7; - $6 = $6 + 1 | 0; - $5 = $9; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function silk_encode_signs($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0; - $6 = __stack_pointer - 16 | 0; - __stack_pointer = $6; - HEAP8[$6 + 15 | 0] = 0; - if (($2 | 0) >= 8) { - $8 = Math_imul(($3 << 1) + $4 << 16 >> 16, 7) + 9232 | 0; - $2 = $2 + 8 >> 4; - $3 = ($2 | 0) > 1 ? $2 : 1; - while (1) { - $2 = HEAP32[($7 << 2) + $5 >> 2]; - if (($2 | 0) >= 1) { - $2 = $2 & 31; - HEAP8[$6 + 14 | 0] = HEAPU8[($2 >>> 0 < 6 ? $2 : 6) + $8 | 0]; - $2 = 0; - while (1) { - $4 = HEAPU8[$1 + $2 | 0]; - if ($4) { - ec_enc_icdf($0, ($4 << 24 >> 24 >>> 7 | 0) + 1 & 255, $6 + 14 | 0, 8); - } - $2 = $2 + 1 | 0; - if (($2 | 0) != 16) { - continue; - } - break; - } - } - $1 = $1 + 16 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $6 + 16 | 0; -} -function haar1($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = 0, $10 = 0; - if (($2 | 0) >= 1) { - $3 = $1 >> 1; - $7 = ($3 | 0) > 1 ? $3 : 1; - $8 = $2 << 1; - $3 = 0; - $9 = ($1 | 0) < 2; - while (1) { - $1 = 0; - if (!$9) { - while (1) { - $4 = (Math_imul($1, $8) + $3 << 2) + $0 | 0; - $10 = $4; - $5 = Math_fround(HEAPF32[$4 >> 2] * Math_fround(.7071067690849304)); - $4 = (Math_imul($1 << 1 | 1, $2) + $3 << 2) + $0 | 0; - $6 = Math_fround(HEAPF32[$4 >> 2] * Math_fround(.7071067690849304)); - HEAPF32[$10 >> 2] = $5 + $6; - HEAPF32[$4 >> 2] = $5 - $6; - $1 = $1 + 1 | 0; - if (($7 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $3 = $3 + 1 | 0; - if (($3 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function silk_find_LTP_FLP($0, $1, $2, $3, $4, $5) { - var $6 = Math_fround(0), $7 = 0, $8 = 0, $9 = Math_fround(0), $10 = 0; - if (($5 | 0) >= 1) { - $10 = $4 + 5 | 0; - while (1) { - $8 = ($2 - (HEAP32[($7 << 2) + $3 >> 2] << 2) | 0) - 8 | 0; - silk_corrMatrix_FLP($8, $4, 5, $0); - silk_corrVector_FLP($8, $2, $4, 5, $1); - $6 = Math_fround(silk_energy_FLP($2, $10)); - $9 = Math_fround(Math_fround(Math_fround(HEAPF32[$0 >> 2] + HEAPF32[$0 + 96 >> 2]) * Math_fround(.014999999664723873)) + Math_fround(1)); - $6 = Math_fround(Math_fround(1) / ($6 > $9 ? $6 : $9)); - silk_scale_vector_FLP($0, $6, 25); - silk_scale_vector_FLP($1, $6, 5); - $1 = $1 + 20 | 0; - $0 = $0 + 100 | 0; - $2 = ($4 << 2) + $2 | 0; - $7 = $7 + 1 | 0; - if (($7 | 0) != ($5 | 0)) { - continue; - } - break; - } - } -} -function silk_stereo_encode_pred($0, $1) { - var $2 = 0; - label$1 : { - label$2 : { - $2 = HEAP8[$1 + 5 | 0] + Math_imul(HEAP8[$1 + 2 | 0], 5) | 0; - if (($2 | 0) < 25) { - ec_enc_icdf($0, $2, 5776, 8); - $2 = HEAP8[$1 | 0]; - if (($2 | 0) >= 3) { - break label$2; - } - if (HEAP8[$1 + 1 | 0] >= 5) { - break label$1; - } - ec_enc_icdf($0, $2, 5854, 8); - ec_enc_icdf($0, HEAP8[$1 + 1 | 0], 5861, 8); - $2 = HEAP8[$1 + 3 | 0]; - if (($2 | 0) > 2) { - break label$2; - } - if (HEAP8[$1 + 4 | 0] > 4) { - break label$1; - } - ec_enc_icdf($0, $2, 5854, 8); - ec_enc_icdf($0, HEAP8[$1 + 4 | 0], 5861, 8); - return; - } - celt_fatal(7150, 7175, 44); - abort(); - } - celt_fatal(7201, 7175, 47); - abort(); - } - celt_fatal(7236, 7175, 48); - abort(); -} -function silk_encode_do_VAD_FLP($0, $1) { - var $2 = 0; - silk_VAD_GetSA_Q8_c($0, $0 + 5098 | 0); - $2 = HEAP32[$0 + 4532 >> 2]; - label$1 : { - label$2 : { - label$3 : { - if (!$1) { - if (($2 | 0) < 13) { - break label$3; - } - HEAP32[$0 + 4532 >> 2] = 12; - break label$3; - } - if (($2 | 0) > 12) { - break label$2; - } - } - $1 = 0; - HEAP8[$0 + 4765 | 0] = 0; - $2 = HEAP32[$0 + 6084 >> 2]; - HEAP32[$0 + 6084 >> 2] = $2 + 1; - if (($2 | 0) >= 10) { - if (($2 | 0) < 30) { - break label$1; - } - HEAP32[$0 + 6084 >> 2] = 10; - } - HEAP32[$0 + 6080 >> 2] = 0; - break label$1; - } - HEAP32[$0 + 6080 >> 2] = 0; - HEAP32[$0 + 6084 >> 2] = 0; - $1 = 1; - HEAP8[$0 + 4765 | 0] = 1; - } - HEAP8[(HEAP32[$0 + 5748 >> 2] + $0 | 0) + 4720 | 0] = $1; -} -function amp2Log2($0, $1, $2, $3, $4, $5) { - var $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $8 = ($5 | 0) > 1 ? $5 : 1; - while (1) { - if (($1 | 0) >= 1) { - $9 = Math_imul(HEAP32[$0 + 8 >> 2], $6); - $5 = 0; - while (1) { - $7 = $5 + $9 << 2; - HEAPF32[$7 + $4 >> 2] = Math_fround(log(+HEAPF32[$3 + $7 >> 2]) * 1.4426950408889634) - HEAPF32[($5 << 2) + 32928 >> 2]; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - if (($1 | 0) < ($2 | 0)) { - $7 = Math_imul(HEAP32[$0 + 8 >> 2], $6); - $5 = $1; - while (1) { - HEAP32[($5 + $7 << 2) + $4 >> 2] = -1050673152; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - $6 = $6 + 1 | 0; - if (($8 | 0) != ($6 | 0)) { - continue; - } - break; - } -} -function silk_process_NLSFs_FLP($0, $1, $2, $3) { - var $4 = 0; - $4 = __stack_pointer + -64 | 0; - __stack_pointer = $4; - silk_process_NLSFs($0, $4, $2, $3); - $2 = HEAP32[$0 + 4640 >> 2]; - label$1 : { - if (($2 | 0) < 1) { - break label$1; - } - $0 = 0; - while (1) { - HEAPF32[($0 << 2) + $1 >> 2] = Math_fround(HEAP16[($0 << 1) + $4 >> 1]) * Math_fround(.000244140625); - $0 = $0 + 1 | 0; - if (($2 | 0) != ($0 | 0)) { - continue; - } - break; - } - if (($2 | 0) < 1) { - break label$1; - } - $0 = 0; - while (1) { - HEAPF32[(($0 << 2) + $1 | 0) - -64 >> 2] = Math_fround(HEAP16[(($0 << 1) + $4 | 0) + 32 >> 1]) * Math_fround(.000244140625); - $0 = $0 + 1 | 0; - if (($2 | 0) != ($0 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $4 - -64 | 0; -} -function silk_inner_product_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - if (($2 | 0) > 3) { - $7 = $2 - 3 | 0; - while (1) { - $3 = $4 << 2; - $5 = $3 | 4; - $8 = +HEAPF32[$0 + $3 >> 2] * +HEAPF32[$1 + $3 >> 2] + +HEAPF32[$0 + $5 >> 2] * +HEAPF32[$1 + $5 >> 2]; - $5 = $3 | 8; - $3 = $3 | 12; - $6 = $6 + ($8 + +HEAPF32[$5 + $0 >> 2] * +HEAPF32[$1 + $5 >> 2] + +HEAPF32[$3 + $0 >> 2] * +HEAPF32[$1 + $3 >> 2]); - $4 = $4 + 4 | 0; - if (($7 | 0) > ($4 | 0)) { - continue; - } - break; - } - $4 = $2 & -4; - } - if (($2 | 0) > ($4 | 0)) { - while (1) { - $3 = $4 << 2; - $6 = $6 + +HEAPF32[$3 + $0 >> 2] * +HEAPF32[$1 + $3 >> 2]; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - return $6; -} -function silk_bwexpander_32($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - $4 = $2 >> 16; - $5 = $1 - 1 | 0; - if (($1 | 0) >= 2) { - $7 = $2 - 65536 | 0; - $1 = 0; - while (1) { - $3 = ($1 << 2) + $0 | 0; - $8 = $3; - $3 = HEAP32[$3 >> 2]; - $6 = $3 << 16 >> 16; - HEAP32[$8 >> 2] = ((Math_imul($6, $2 & 65535) >> 16) + Math_imul($4, $6) | 0) + Math_imul(($3 >> 15) + 1 >> 1, $2); - $2 = ((Math_imul($2, $7) >> 15) + 1 >> 1) + $2 | 0; - $4 = $2 >> 16; - $1 = $1 + 1 | 0; - if (($5 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $1 = ($5 << 2) + $0 | 0; - $0 = $1; - $1 = HEAP32[$1 >> 2]; - $3 = $1 << 16 >> 16; - HEAP32[$0 >> 2] = ((Math_imul($3, $2 & 65535) >> 16) + Math_imul($3, $4) | 0) + Math_imul(($1 >> 15) + 1 >> 1, $2); -} -function silk_NLSF_unpack($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - $4 = HEAP16[$2 + 2 >> 1]; - if (($4 | 0) >= 1) { - $5 = HEAP32[$2 + 24 >> 2] + ((Math_imul($4 & 65535, $3) | 0) / 2 | 0) | 0; - $3 = 0; - while (1) { - $4 = HEAPU8[$5 | 0]; - HEAP16[($3 << 1) + $0 >> 1] = Math_imul($4 >>> 1 & 7, 9); - HEAP8[$1 + $3 | 0] = HEAPU8[HEAP32[$2 + 20 >> 2] + (Math_imul(HEAP16[$2 + 2 >> 1] - 1 | 0, $4 & 1) + $3 | 0) | 0]; - $6 = $3 | 1; - HEAP16[($6 << 1) + $0 >> 1] = Math_imul($4 >>> 5 | 0, 9); - HEAP8[$1 + $6 | 0] = HEAPU8[HEAP32[$2 + 20 >> 2] + (Math_imul(HEAP16[$2 + 2 >> 1] - 1 | 0, $4 >>> 4 & 1) + $6 | 0) | 0]; - $5 = $5 + 1 | 0; - $3 = $3 + 2 | 0; - if (($3 | 0) < HEAP16[$2 + 2 >> 1]) { - continue; - } - break; - } - } -} -function silk_insertion_sort_increasing_all_values_int16($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = 1; - if (($1 | 0) >= 1) { - if (($1 | 0) != 1) { - while (1) { - $5 = HEAP16[($3 << 1) + $0 >> 1]; - $2 = $3; - label$4 : { - while (1) { - $6 = $2 - 1 | 0; - $4 = HEAP16[($6 << 1) + $0 >> 1]; - if (($5 | 0) >= ($4 | 0)) { - break label$4; - } - HEAP16[($2 << 1) + $0 >> 1] = $4; - $4 = ($2 | 0) > 1; - $2 = $6; - if ($4) { - continue; - } - break; - } - $2 = 0; - } - HEAP16[($2 << 1) + $0 >> 1] = $5; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15671, 15659, 144); - abort(); -} -function ec_dec_bits($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $4 = HEAP32[$0 + 12 >> 2]; - $2 = HEAP32[$0 + 16 >> 2]; - label$1 : { - if ($2 >>> 0 >= $1 >>> 0) { - $6 = $2; - break label$1; - } - $3 = HEAP32[$0 + 8 >> 2]; - $7 = HEAP32[$0 + 4 >> 2]; - while (1) { - $5 = 0; - if ($3 >>> 0 < $7 >>> 0) { - $3 = $3 + 1 | 0; - HEAP32[$0 + 8 >> 2] = $3; - $5 = HEAPU8[HEAP32[$0 >> 2] + ($7 - $3 | 0) | 0]; - } - $4 = $5 << $2 | $4; - $5 = ($2 | 0) < 17; - $6 = $2 + 8 | 0; - $2 = $6; - if ($5) { - continue; - } - break; - } - } - HEAP32[$0 + 16 >> 2] = $6 - $1; - HEAP32[$0 + 12 >> 2] = $4 >>> $1; - HEAP32[$0 + 20 >> 2] = HEAP32[$0 + 20 >> 2] + $1; - return (-1 << $1 ^ -1) & $4; -} -function silk_scale_vector_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $6 = $2 & 65532; - if ($6) { - while (1) { - $3 = $4 << 2; - $5 = $3 + $0 | 0; - HEAPF32[$5 >> 2] = HEAPF32[$5 >> 2] * $1; - $5 = ($3 | 4) + $0 | 0; - HEAPF32[$5 >> 2] = HEAPF32[$5 >> 2] * $1; - $5 = ($3 | 8) + $0 | 0; - HEAPF32[$5 >> 2] = HEAPF32[$5 >> 2] * $1; - $3 = ($3 | 12) + $0 | 0; - HEAPF32[$3 >> 2] = HEAPF32[$3 >> 2] * $1; - $4 = $4 + 4 | 0; - if ($6 >>> 0 > $4 >>> 0) { - continue; - } - break; - } - } - if (($2 | 0) > ($4 | 0)) { - while (1) { - $3 = ($4 << 2) + $0 | 0; - HEAPF32[$3 >> 2] = HEAPF32[$3 >> 2] * $1; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } -} -function silk_scale_copy_vector_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $7 = $3 & 65532; - if ($7) { - while (1) { - $4 = $5 << 2; - HEAPF32[$4 + $0 >> 2] = HEAPF32[$1 + $4 >> 2] * $2; - $6 = $4 | 4; - HEAPF32[$6 + $0 >> 2] = HEAPF32[$1 + $6 >> 2] * $2; - $6 = $4 | 8; - HEAPF32[$6 + $0 >> 2] = HEAPF32[$1 + $6 >> 2] * $2; - $4 = $4 | 12; - HEAPF32[$4 + $0 >> 2] = HEAPF32[$1 + $4 >> 2] * $2; - $5 = $5 + 4 | 0; - if ($7 >>> 0 > $5 >>> 0) { - continue; - } - break; - } - } - if (($3 | 0) > ($5 | 0)) { - while (1) { - $4 = $5 << 2; - HEAPF32[$4 + $0 >> 2] = HEAPF32[$1 + $4 >> 2] * $2; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function fmt_u($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0, $6 = 0; - label$1 : { - if ($1 >>> 0 < 1) { - $5 = $0; - $3 = $1; - $6 = $3; - break label$1; - } - while (1) { - $2 = $2 - 1 | 0; - $3 = $1; - $5 = __wasm_i64_udiv($0, $3, 10, 0); - $3 = i64toi32_i32$HIGH_BITS; - $6 = $3; - $4 = __wasm_i64_mul($5, $3, 10, 0); - $3 = $1; - HEAP8[$2 | 0] = $0 - $4 | 48; - $4 = $3 >>> 0 > 9; - $0 = $5; - $3 = $6; - $1 = $3; - if ($4) { - continue; - } - break; - } - } - $4 = $5; - if ($4) { - while (1) { - $2 = $2 - 1 | 0; - $0 = ($4 >>> 0) / 10 | 0; - HEAP8[$2 | 0] = $4 - Math_imul($0, 10) | 48; - $1 = $4 >>> 0 > 9; - $4 = $0; - if ($1) { - continue; - } - break; - } - } - return $2; -} -function silk_energy_FLP($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - if (($1 | 0) > 3) { - $7 = $1 - 3 | 0; - while (1) { - $5 = $3 << 2; - $2 = +HEAPF32[$5 + $0 >> 2]; - $4 = $2 * $2; - $2 = +HEAPF32[($5 | 4) + $0 >> 2]; - $4 = $4 + $2 * $2; - $2 = +HEAPF32[($5 | 8) + $0 >> 2]; - $4 = $4 + $2 * $2; - $2 = +HEAPF32[($5 | 12) + $0 >> 2]; - $6 = $6 + ($4 + $2 * $2); - $3 = $3 + 4 | 0; - if (($7 | 0) > ($3 | 0)) { - continue; - } - break; - } - $3 = $1 & -4; - } - if (($1 | 0) > ($3 | 0)) { - while (1) { - $2 = +HEAPF32[($3 << 2) + $0 >> 2]; - $6 = $6 + $2 * $2; - $3 = $3 + 1 | 0; - if (($3 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - return $6; -} -function renormalise_vector($0, $1, $2, $3) { - var $4 = 0, $5 = Math_fround(0), $6 = Math_fround(0); - label$1 : { - if (($1 | 0) < 1) { - break label$1; - } - while (1) { - $6 = HEAPF32[($4 << 2) + $0 >> 2]; - $5 = Math_fround($5 + Math_fround($6 * $6)); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - if (($1 | 0) < 1) { - break label$1; - } - $5 = Math_fround(Math_fround(Math_fround(1) / Math_fround(Math_sqrt(Math_fround($5 + Math_fround(1.0000000036274937e-15))))) * $2); - $4 = 0; - while (1) { - HEAPF32[$0 >> 2] = $5 * HEAPF32[$0 >> 2]; - $0 = $0 + 4 | 0; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - } -} -function hysteresis_decision($0, $1, $2, $3, $4) { - var $5 = 0; - label$1 : { - if (($3 | 0) < 1) { - break label$1; - } - while (1) { - if (HEAPF32[($5 << 2) + $1 >> 2] > $0) { - break label$1; - } - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - $5 = $3; - } - label$3 : { - label$4 : { - if (($4 | 0) < ($5 | 0)) { - $3 = $4 << 2; - if (Math_fround(HEAPF32[$3 + $1 >> 2] + HEAPF32[$2 + $3 >> 2]) > $0) { - break label$4; - } - } - if (($4 | 0) <= ($5 | 0)) { - break label$3; - } - $3 = ($4 << 2) - 4 | 0; - if (Math_fround(HEAPF32[$3 + $1 >> 2] - HEAPF32[$2 + $3 >> 2]) < $0 ^ 1) { - break label$3; - } - } - $5 = $4; - } - return $5; -} -function silk_LTP_scale_ctrl_FLP($0, $1, $2) { - var $3 = 0, $4 = Math_fround(0), $5 = 0; - $5 = $0 + 4769 | 0; - $3 = 0; - label$1 : { - if ($2) { - break label$1; - } - $3 = 2; - $4 = Math_fround(Math_fround(HEAPF32[$1 + 708 >> 2] * Math_fround(HEAP32[$0 + 5744 >> 2] + HEAP32[$0 + 4616 >> 2] | 0)) * Math_fround(.10000000149011612)); - if ($4 > Math_fround(2)) { - break label$1; - } - $3 = 0; - if ($4 < Math_fround(0)) { - break label$1; - } - $3 = ~~$4; - if (Math_fround(Math_abs($4)) < Math_fround(2147483648)) { - break label$1; - } - $3 = -2147483648; - } - HEAP8[$5 | 0] = $3; - HEAPF32[$1 + 224 >> 2] = Math_fround(HEAP16[($3 << 1) + 5848 >> 1]) * Math_fround(6103515625e-14); -} -function scalbn($0, $1) { - label$1 : { - if (($1 | 0) >= 1024) { - $0 = $0 * 8.98846567431158e+307; - if (($1 | 0) < 2047) { - $1 = $1 - 1023 | 0; - break label$1; - } - $0 = $0 * 8.98846567431158e+307; - $1 = (($1 | 0) < 3069 ? $1 : 3069) - 2046 | 0; - break label$1; - } - if (($1 | 0) > -1023) { - break label$1; - } - $0 = $0 * 2.2250738585072014e-308; - if (($1 | 0) > -2045) { - $1 = $1 + 1022 | 0; - break label$1; - } - $0 = $0 * 2.2250738585072014e-308; - $1 = (($1 | 0) > -3066 ? $1 : -3066) + 2044 | 0; - } - $1 = $1 + 1023 << 20; - wasm2js_scratch_store_i32(0, 0); - wasm2js_scratch_store_i32(1, $1 | 0); - return $0 * +wasm2js_scratch_load_f64(); -} -function silk_resampler_private_AR2($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - if (($4 | 0) >= 1) { - $5 = HEAP32[$0 >> 2]; - $6 = HEAP16[$3 + 2 >> 1]; - $7 = HEAP16[$3 >> 1]; - $3 = 0; - while (1) { - $5 = (HEAP16[($3 << 1) + $2 >> 1] << 8) + $5 | 0; - HEAP32[($3 << 2) + $1 >> 2] = $5; - $9 = HEAP32[$0 + 4 >> 2]; - $5 = $5 << 2; - $8 = $5 & 65532; - $5 = $5 >> 16; - HEAP32[$0 + 4 >> 2] = (Math_imul($8, $6) >> 16) + Math_imul($6, $5); - $5 = (Math_imul($5, $7) + $9 | 0) + (Math_imul($7, $8) >> 16) | 0; - HEAP32[$0 >> 2] = $5; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function silk_control_SNR($0, $1) { - var $2 = 0, $3 = 0, $4 = 0; - HEAP32[$0 + 4608 >> 2] = $1; - $2 = HEAP32[$0 + 4576 >> 2]; - $1 = HEAP32[$0 + 4580 >> 2] == 2 ? ((($2 | 0) / -16 | 0) + $1 | 0) - 2e3 | 0 : $1; - $4 = 17024; - $3 = 106; - label$2 : { - label$3 : { - switch ($2 - 8 | 0) { - case 4: - $4 = 17136; - $3 = 154; - break label$2; - case 0: - break label$2; - default: - break label$3; - } - } - $4 = 17296; - $3 = 190; - } - $2 = 0; - $1 = (($1 + 200 | 0) / 400 | 0) - 10 | 0; - $1 = ($1 | 0) < ($3 | 0) ? $1 : $3; - if (($1 | 0) >= 1) { - $2 = Math_imul(HEAPU8[$1 + $4 | 0], 21); - } - HEAP32[$0 + 4716 >> 2] = $2; - return 0; -} -function opus_fft_c($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = Math_fround(0), $6 = 0, $7 = 0, $8 = 0, $9 = Math_fround(0); - if (($1 | 0) != ($2 | 0)) { - $4 = HEAP32[$0 >> 2]; - if (($4 | 0) >= 1) { - $5 = HEAPF32[$0 + 4 >> 2]; - $8 = HEAP32[$0 + 44 >> 2]; - while (1) { - $6 = ($3 << 3) + $1 | 0; - $9 = HEAPF32[$6 >> 2]; - $7 = (HEAP16[($3 << 1) + $8 >> 1] << 3) + $2 | 0; - HEAPF32[$7 + 4 >> 2] = $5 * HEAPF32[$6 + 4 >> 2]; - HEAPF32[$7 >> 2] = $5 * $9; - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - opus_fft_impl($0, $2); - return; - } - celt_fatal(42376, 42433, 580); - abort(); -} -function ec_enc_patch_initial_bits($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - if ($2 >>> 0 < 9) { - $3 = 8 - $2 | 0; - $4 = (-1 << $2 ^ -1) << $3; - if (HEAP32[$0 + 24 >> 2]) { - $2 = HEAP32[$0 >> 2]; - HEAP8[$2 | 0] = HEAPU8[$2 | 0] & ($4 ^ -1) | $1 << $3; - return; - } - $5 = HEAP32[$0 + 40 >> 2]; - if (($5 | 0) >= 0) { - HEAP32[$0 + 40 >> 2] = ($4 ^ -1) & $5 | $1 << $3; - return; - } - if (HEAPU32[$0 + 28 >> 2] <= -2147483648 >>> $2 >>> 0) { - HEAP32[$0 + 32 >> 2] = HEAP32[$0 + 32 >> 2] & ($4 << 23 ^ -1) | $1 << 31 - $2; - return; - } - HEAP32[$0 + 44 >> 2] = -1; - return; - } - celt_fatal(7059, 7019, 217); - abort(); -} -function init_caps($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $4 = HEAP32[$0 + 8 >> 2]; - if (($4 | 0) >= 1) { - $9 = (($2 << 1) + $3 | 0) - 1 | 0; - $10 = HEAP32[$0 + 104 >> 2]; - $7 = HEAP32[$0 + 32 >> 2]; - $6 = HEAPU16[$7 >> 1]; - while (1) { - $11 = $6 << 16; - $8 = $5 + 1 | 0; - $6 = HEAP16[($8 << 1) + $7 >> 1]; - HEAP32[($5 << 2) + $1 >> 2] = Math_imul(HEAPU8[(Math_imul($4, $9) + $5 | 0) + $10 | 0] - -64 | 0, Math_imul($6 - ($11 >> 16) << $2, $3)) >> 2; - $5 = $8; - $4 = HEAP32[$0 + 8 >> 2]; - if (($5 | 0) < ($4 | 0)) { - continue; - } - break; - } - } -} -function opus_packet_pad($0, $1, $2) { - var $3 = 0, $4 = 0; - $3 = __stack_pointer - 304 | 0; - __stack_pointer = $3; - $4 = -1; - label$1 : { - if (($1 | 0) < 1) { - break label$1; - } - $4 = 0; - if (($1 | 0) == ($2 | 0)) { - break label$1; - } - $4 = -1; - if (($1 | 0) > ($2 | 0)) { - break label$1; - } - HEAP32[$3 + 4 >> 2] = 0; - $4 = opus_repacketizer_cat_impl($3, memmove(($0 + $2 | 0) - $1 | 0, $0, $1), $1, 0); - if ($4) { - break label$1; - } - $1 = opus_repacketizer_out_range_impl($3, 0, HEAP32[$3 + 4 >> 2], $0, $2, 0, 1); - $4 = $1 & $1 >> 31; - } - __stack_pointer = $3 + 304 | 0; - return $4; -} -function resampling_factor($0) { - var $1 = 0; - label$1 : { - label$2 : { - label$3 : { - label$4 : { - if (($0 | 0) <= 15999) { - if (($0 | 0) == 8e3) { - break label$4; - } - if (($0 | 0) != 12e3) { - break label$3; - } - return 4; - } - if (($0 | 0) == 16e3) { - break label$2; - } - $1 = 1; - if (($0 | 0) == 48e3) { - break label$1; - } - if (($0 | 0) != 24e3) { - break label$3; - } - return 2; - } - return 6; - } - celt_fatal(1659, 1679, 84); - abort(); - } - $1 = 3; - } - return $1; -} -function silk_interpolate($0, $1, $2, $3, $4) { - var $5 = 0, $6 = 0, $7 = 0; - label$1 : { - if (($3 | 0) > -1) { - if (($3 | 0) > 4) { - break label$1; - } - if (($4 | 0) > 0) { - while (1) { - $6 = $5 << 1; - $7 = HEAPU16[$6 + $1 >> 1]; - HEAP16[$0 + $6 >> 1] = (Math_imul(HEAPU16[$2 + $6 >> 1] - $7 << 16 >> 16, $3) >>> 2 | 0) + $7; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($4 | 0)) { - continue; - } - break; - } - } - return; - } - celt_fatal(15552, 15584, 45); - abort(); - } - celt_fatal(15603, 15584, 46); - abort(); -} -function opus_custom_mode_create($0, $1, $2) { - var $3 = 0; - label$1 : { - label$2 : { - $3 = ($0 | 0) != 48e3; - if ((($1 | 0) == 960 ? !$3 : 0) | (($1 & 2147483647) == 480 ? !$3 : 0)) { - break label$2; - } - $0 = ($0 | 0) != 48e3; - if ((($1 & 1073741823) == 240 ? !$0 : 0) | (($1 & 536870911) == 120 ? !$0 : 0)) { - break label$2; - } - $1 = 0; - if (!$2) { - break label$1; - } - HEAP32[$2 >> 2] = -1; - break label$1; - } - $1 = 17996; - if (!$2) { - break label$1; - } - HEAP32[$2 >> 2] = 0; - return 17996; - } - return $1; -} -function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $4 = $2 >>> 16 | 0; - $5 = $0 >>> 16 | 0; - $3 = (Math_imul($4, $5) + Math_imul($1, $2) | 0) + Math_imul($3, $0) | 0; - $2 = $2 & 65535; - $0 = $0 & 65535; - $1 = Math_imul($2, $0); - $2 = ($1 >>> 16 | 0) + Math_imul($2, $5) | 0; - $3 = $3 + ($2 >>> 16 | 0) | 0; - $2 = Math_imul($0, $4) + ($2 & 65535) | 0; - i64toi32_i32$HIGH_BITS = $3 + ($2 >>> 16 | 0) | 0; - return $1 & 65535 | $2 << 16; -} -function is_digital_silence($0, $1, $2, $3) { - var $4 = Math_fround(0), $5 = Math_fround(0), $6 = Math_fround(0); - $1 = Math_imul($1, $2); - if (($1 | 0) >= 1) { - $2 = 0; - while (1) { - $4 = HEAPF32[($2 << 2) + $0 >> 2]; - $6 = $4 > $6 ? $6 : $4; - $5 = $4 < $5 ? $5 : $4; - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $4 = Math_fround(-$6); - return Math_fround(Math_fround(1) / Math_fround(1 << $3)) >= ($4 < $5 ? $5 : $4); -} -function dlrealloc($0, $1) { - var $2 = 0, $3 = 0; - if (!$0) { - return dlmalloc($1); - } - if ($1 >>> 0 >= 4294967232) { - HEAP32[__errno_location() >> 2] = 48; - return 0; - } - $2 = try_realloc_chunk($0 - 8 | 0, $1 >>> 0 < 11 ? 16 : $1 + 11 & -8); - if ($2) { - return $2 + 8 | 0; - } - $2 = dlmalloc($1); - if (!$2) { - return 0; - } - $3 = HEAP32[$0 - 4 >> 2]; - $3 = ($3 & 3 ? -4 : -8) + ($3 & -8) | 0; - memcpy($2, $0, $1 >>> 0 > $3 >>> 0 ? $3 : $1); - dlfree($0); - return $2; -} -function silk_bwexpander_FLP($0, $1, $2) { - var $3 = Math_fround(0), $4 = 0, $5 = 0; - $4 = $1 - 1 | 0; - label$1 : { - if (($1 | 0) < 2) { - $3 = $2; - break label$1; - } - $1 = 0; - $3 = $2; - while (1) { - $5 = ($1 << 2) + $0 | 0; - HEAPF32[$5 >> 2] = $3 * HEAPF32[$5 >> 2]; - $3 = Math_fround($3 * $2); - $1 = $1 + 1 | 0; - if (($4 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - $1 = ($4 << 2) + $0 | 0; - HEAPF32[$1 >> 2] = $3 * HEAPF32[$1 >> 2]; -} -function silk_log2lin($0) { - var $1 = 0, $2 = 0, $3 = 0; - $1 = 0; - label$1 : { - if (($0 | 0) < 0) { - break label$1; - } - $1 = 2147483647; - if (($0 | 0) > 3966) { - break label$1; - } - $1 = $0 & 127; - $2 = $0 >>> 7 | 0; - $3 = 1 << $2; - $0 = ($0 | 0) <= 2047 ? (Math_imul(Math_imul(128 - $1 | 0, $1), -174) >> 16) + $1 << $2 >> 7 : Math_imul((Math_imul(Math_imul(128 - $1 | 0, $1), -174) >> 16) + $1 | 0, $3 >>> 7 | 0); - $1 = $3 + $0 | 0; - } - return $1; -} -function silk_sigm_Q15($0) { - var $1 = 0; - label$1 : { - if (($0 | 0) <= -1) { - $1 = 0; - if (($0 | 0) < -191) { - break label$1; - } - $0 = 0 - $0 | 0; - $1 = $0 >>> 3 & 536870908; - return HEAP32[$1 + 1024 >> 2] - Math_imul(HEAP16[$1 + 1056 >> 1], $0 & 31) | 0; - } - $1 = 32767; - if (($0 | 0) > 191) { - break label$1; - } - $1 = $0 >>> 3 & 536870908; - $1 = Math_imul(HEAP16[$1 + 1056 >> 1], $0 & 31) + HEAP32[$1 + 1088 >> 2] | 0; - } - return $1; -} -function pad($0, $1, $2, $3, $4) { - var $5 = 0; - $5 = __stack_pointer - 256 | 0; - __stack_pointer = $5; - if (!($4 & 73728 | ($2 | 0) <= ($3 | 0))) { - $2 = $2 - $3 | 0; - $3 = $2 >>> 0 < 256; - memset($5, $1 & 255, $3 ? $2 : 256); - if (!$3) { - while (1) { - out($0, $5, 256); - $2 = $2 - 256 | 0; - if ($2 >>> 0 > 255) { - continue; - } - break; - } - } - out($0, $5, $2); - } - __stack_pointer = $5 + 256 | 0; -} -function __stdio_seek($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $4 = 0; - $4 = __stack_pointer - 16 | 0; - __stack_pointer = $4; - $0 = __wasi_syscall_ret(legalfunc$__wasi_fd_seek(HEAP32[$0 + 60 >> 2], $1, $2, $3 & 255, $4 + 8 | 0)); - __stack_pointer = $4 + 16 | 0; - $2 = HEAP32[$4 + 12 >> 2]; - i64toi32_i32$HIGH_BITS = $0 ? -1 : $2; - $1 = HEAP32[$4 + 8 >> 2]; - return ($0 ? -1 : $1) | 0; -} -function silk_A2NLSF_FLP($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = __stack_pointer + -64 | 0; - __stack_pointer = $3; - if (($2 | 0) >= 1) { - while (1) { - $5 = $4 << 2; - HEAP32[$5 + $3 >> 2] = lrintf(Math_fround(HEAPF32[$1 + $5 >> 2] * Math_fround(65536))); - $4 = $4 + 1 | 0; - if (($4 | 0) != ($2 | 0)) { - continue; - } - break; - } - } - silk_A2NLSF($0, $3, $2); - __stack_pointer = $3 - -64 | 0; -} -function silk_NLSF2A_FLP($0, $1, $2, $3) { - var $4 = 0; - $4 = __stack_pointer - 32 | 0; - __stack_pointer = $4; - silk_NLSF2A($4, $1, $2, $3); - if (($2 | 0) >= 1) { - $1 = 0; - while (1) { - HEAPF32[($1 << 2) + $0 >> 2] = Math_fround(HEAP16[($1 << 1) + $4 >> 1]) * Math_fround(.000244140625); - $1 = $1 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - __stack_pointer = $4 + 32 | 0; -} -function sbrk($0) { - var $1 = 0, $2 = 0; - $1 = HEAP32[13136]; - $2 = $0 + 3 & -4; - $0 = $1 + $2 | 0; - label$1 : { - if ($0 >>> 0 <= $1 >>> 0 ? ($2 | 0) >= 1 : 0) { - break label$1; - } - if (__wasm_memory_size() << 16 >>> 0 < $0 >>> 0) { - if (!(emscripten_resize_heap($0 | 0) | 0)) { - break label$1; - } - } - HEAP32[13136] = $0; - return $1; - } - HEAP32[__errno_location() >> 2] = 48; - return -1; -} -function __wasm_nearest_f32($0) { - var $1 = Math_fround(0), $2 = Math_fround(0); - $1 = Math_fround(Math_floor($0)); - $2 = Math_fround($0 - $1); - if (!($2 < Math_fround(.5))) { - $0 = Math_fround(Math_ceil($0)); - if ($2 > Math_fround(.5)) { - return $0; - } - $2 = Math_fround($1 * Math_fround(.5)); - $1 = Math_fround($2 - Math_fround(Math_floor($2))) == Math_fround(0) ? $1 : $0; - } - return $1; -} -function __sin($0, $1, $2) { - var $3 = 0, $4 = 0, $5 = 0; - $3 = $0 * $0; - $5 = $3 * ($3 * $3) * ($3 * 1.58969099521155e-10 + -2.5050760253406863e-8) + ($3 * ($3 * 27557313707070068e-22 + -.0001984126982985795) + .00833333333332249); - $4 = $3 * $0; - if (!$2) { - return $4 * ($3 * $5 + -.16666666666666632) + $0; - } - return $0 - ($3 * ($1 * .5 - $4 * $5) - $1 + $4 * .16666666666666632); -} -function opus_packet_get_nb_frames($0, $1) { - var $2 = 0; - $2 = 1; - if (($1 | 0) < 1) { - return -1; - } - label$2 : { - label$3 : { - switch ((HEAPU8[$0 | 0] & 3) - 1 | 0) { - case 0: - case 1: - return 2; - case 2: - break label$3; - default: - break label$2; - } - } - $2 = -4; - if (($1 | 0) < 2) { - break label$2; - } - $2 = HEAPU8[$0 + 1 | 0] & 63; - } - return $2; -} -function dlcalloc($0, $1) { - var $2 = 0, $3 = 0, $4 = 0; - $2 = 0; - label$2 : { - if (!$0) { - break label$2; - } - $3 = __wasm_i64_mul($0, 0, $1, 0); - $4 = i64toi32_i32$HIGH_BITS; - $2 = $3; - if (($0 | $1) >>> 0 < 65536) { - break label$2; - } - $2 = $4 ? -1 : $3; - } - $3 = $2; - $0 = dlmalloc($3); - if (!(!$0 | !(HEAPU8[$0 - 4 | 0] & 3))) { - memset($0, 0, $3); - } - return $0; -} -function __towrite($0) { - var $1 = 0; - $1 = HEAPU8[$0 + 74 | 0]; - HEAP8[$0 + 74 | 0] = $1 | $1 - 1; - $1 = HEAP32[$0 >> 2]; - if ($1 & 8) { - HEAP32[$0 >> 2] = $1 | 32; - return -1; - } - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - $1 = HEAP32[$0 + 44 >> 2]; - HEAP32[$0 + 28 >> 2] = $1; - HEAP32[$0 + 20 >> 2] = $1; - HEAP32[$0 + 16 >> 2] = HEAP32[$0 + 48 >> 2] + $1; - return 0; -} -function silk_lin2log($0) { - var $1 = 0, $2 = 0; - $1 = Math_clz32($0); - $2 = 24 - $1 | 0; - label$1 : { - if (!$2) { - break label$1; - } - if ($0 >>> 0 <= 127) { - $0 = $0 << 0 - $2 | $0 >>> 56 - $1; - break label$1; - } - $0 = $0 << $1 + 8 | $0 >>> $2; - } - $0 = $0 & 127; - return ($0 - ($1 << 7) + (Math_imul(Math_imul(128 - $0 | 0, $0), 179) >>> 16) | 0) + 3968 | 0; -} -function isqrt32($0) { - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $2 = 31 - Math_clz32($0) >> 1; - $3 = 1 << $2; - while (1) { - $1 = ($4 << 1) + $3 << $2; - $5 = $1; - $1 = $0 >>> 0 < $1 >>> 0; - $0 = $0 - ($1 ? 0 : $5) | 0; - $4 = ($1 ? 0 : $3) + $4 | 0; - $1 = ($2 | 0) > 0; - $3 = $3 >>> 1 | 0; - $2 = $2 - 1 | 0; - if ($1) { - continue; - } - break; - } - return $4; -} -function ec_enc_init($0, $1, $2) { - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 28 >> 2] = -2147483648; - HEAP32[$0 + 16 >> 2] = 0; - HEAP32[$0 + 20 >> 2] = 33; - HEAP32[$0 + 8 >> 2] = 0; - HEAP32[$0 + 12 >> 2] = 0; - HEAP32[$0 >> 2] = $1; - HEAP32[$0 + 32 >> 2] = 0; - HEAP32[$0 + 36 >> 2] = 0; - HEAP32[$0 + 40 >> 2] = -1; - HEAP32[$0 + 44 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = $2; -} -function opus_packet_get_samples_per_frame($0, $1) { - $0 = HEAPU8[$0 | 0]; - if ($0 & 128) { - return ($1 << ($0 >>> 3 & 3)) / 400 | 0; - } - if (($0 & 96) == 96) { - if ($0 & 8) { - return ($1 | 0) / 50 | 0; - } - return ($1 | 0) / 100 | 0; - } - $0 = $0 >>> 3 & 3; - if (($0 | 0) == 3) { - return (Math_imul($1, 60) | 0) / 1e3 | 0; - } - return ($1 << $0) / 100 | 0; -} -function __cos($0, $1) { - var $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $2 = $0 * $0; - $3 = $2 * .5; - $4 = 1 - $3; - $5 = 1 - $4 - $3; - $3 = $2 * $2; - return $4 + ($5 + ($2 * ($2 * ($2 * ($2 * 2480158728947673e-20 + -.001388888888887411) + .0416666666666666) + $3 * $3 * ($2 * ($2 * -1.1359647557788195e-11 + 2.087572321298175e-9) + -2.7557314351390663e-7)) - $0 * $1)); -} -function silk_autocorrelation_FLP($0, $1, $2, $3) { - var $4 = 0, $5 = 0; - $4 = ($2 | 0) < ($3 | 0) ? $2 : $3; - if (($4 | 0) >= 1) { - $3 = 0; - while (1) { - $5 = $3 << 2; - HEAPF32[$5 + $0 >> 2] = silk_inner_product_FLP($1, $1 + $5 | 0, $2 - $3 | 0); - $3 = $3 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function silk_inner_prod_aligned_scale($0, $1, $2, $3) { - var $4 = 0, $5 = 0, $6 = 0; - if (($3 | 0) >= 1) { - while (1) { - $5 = $4 << 1; - $6 = (Math_imul(HEAP16[$5 + $1 >> 1], HEAP16[$0 + $5 >> 1]) >> $2) + $6 | 0; - $4 = $4 + 1 | 0; - if (($4 | 0) != ($3 | 0)) { - continue; - } - break; - } - } - return $6; -} -function silk_corrVector_FLP($0, $1, $2, $3, $4) { - var $5 = 0; - if (($3 | 0) >= 1) { - $0 = (($3 << 2) + $0 | 0) - 4 | 0; - while (1) { - HEAPF32[($5 << 2) + $4 >> 2] = silk_inner_product_FLP($0, $1, $2); - $0 = $0 - 4 | 0; - $5 = $5 + 1 | 0; - if (($5 | 0) != ($3 | 0)) { - continue; - } - break; - } - } -} -function getint($0) { - var $1 = 0, $2 = 0, $3 = 0; - if (isdigit(HEAP8[HEAP32[$0 >> 2]])) { - while (1) { - $1 = HEAP32[$0 >> 2]; - $3 = HEAP8[$1 | 0]; - HEAP32[$0 >> 2] = $1 + 1; - $2 = (Math_imul($2, 10) + $3 | 0) - 48 | 0; - if (isdigit(HEAP8[$1 + 1 | 0])) { - continue; - } - break; - } - } - return $2; -} -function ec_tell_frac($0) { - var $1 = 0, $2 = 0, $3 = 0; - $2 = HEAP32[$0 + 20 >> 2] << 3; - $0 = HEAP32[$0 + 28 >> 2]; - $1 = Math_clz32($0); - $0 = $0 >>> 16 - $1 | 0; - $3 = $0; - $0 = ($0 >>> 12 | 0) - 8 | 0; - return ((($2 + ($1 << 3) | 0) - ($3 >>> 0 > HEAPU32[($0 << 2) + 32816 >> 2]) | 0) - $0 | 0) - 256 | 0; -} -function ec_enc_shrink($0, $1) { - var $2 = 0, $3 = 0; - $2 = HEAP32[$0 + 8 >> 2]; - if ($2 + HEAP32[$0 + 24 >> 2] >>> 0 > $1 >>> 0) { - celt_fatal(7097, 7019, 238); - abort(); - } - $3 = HEAP32[$0 >> 2]; - memmove(($3 + $1 | 0) - $2 | 0, (HEAP32[$0 + 4 >> 2] + $3 | 0) - $2 | 0, $2); - HEAP32[$0 + 4 >> 2] = $1; -} -function silk_init_encoder($0, $1) { - $0 = memset($0, 0, 10064); - HEAP32[$0 + 5092 >> 2] = $1; - $1 = silk_lin2log(3932160); - HEAP32[$0 + 4664 >> 2] = 1; - $1 = ($1 << 8) - 524288 | 0; - HEAP32[$0 + 12 >> 2] = $1; - HEAP32[$0 + 8 >> 2] = $1; - return silk_VAD_Init($0 + 36 | 0); -} -function ec_decode($0, $1) { - var $2 = 0; - $2 = HEAPU32[$0 + 28 >> 2] / ($1 >>> 0) | 0; - HEAP32[$0 + 36 >> 2] = $2; - $0 = HEAPU32[$0 + 32 >> 2] / ($2 >>> 0) | 0; - $2 = ($0 ^ -1) + $1 | 0; - $0 = $0 + 1 | 0; - $1 = $0 - $1 | 0; - return $2 + ($0 >>> 0 < $1 >>> 0 ? 0 : $1) | 0; -} -function fmt_x($0, $1, $2, $3) { - if ($0 | $1) { - while (1) { - $2 = $2 - 1 | 0; - HEAP8[$2 | 0] = HEAPU8[($0 & 15) + 1600 | 0] | $3; - $0 = ($1 & 15) << 28 | $0 >>> 4; - $1 = $1 >>> 4 | 0; - if ($0 | $1) { - continue; - } - break; - } - } - return $2; -} -function fmt_o($0, $1, $2) { - if ($0 | $1) { - while (1) { - $2 = $2 - 1 | 0; - HEAP8[$2 | 0] = $0 & 7 | 48; - $0 = ($1 & 7) << 29 | $0 >>> 3; - $1 = $1 >>> 3 | 0; - if ($0 | $1) { - continue; - } - break; - } - } - return $2; -} -function silk_gains_ID($0, $1) { - var $2 = 0, $3 = 0; - if (($1 | 0) >= 1) { - while (1) { - $3 = HEAP8[$0 + $2 | 0] + ($3 << 8) | 0; - $2 = $2 + 1 | 0; - if (($2 | 0) != ($1 | 0)) { - continue; - } - break; - } - } - return $3; -} -function celt_fatal($0, $1, $2) { - var $3 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 8 >> 2] = $0; - HEAP32[$3 + 4 >> 2] = $2; - HEAP32[$3 >> 2] = $1; - fiprintf(HEAP32[278], 1616, $3); - abort(); - abort(); -} -function legalstub$dynCall_jiji($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - $0 = dynCall_jiji($0, $1, $2, $3, $4); - $2 = i64toi32_i32$HIGH_BITS; - setTempRet0($2 | 0); - return $0 | 0; -} -function speex_resampler_destroy($0) { - $0 = $0 | 0; - dlfree(HEAP32[$0 + 72 >> 2]); - dlfree(HEAP32[$0 + 76 >> 2]); - dlfree(HEAP32[$0 + 60 >> 2]); - dlfree(HEAP32[$0 + 68 >> 2]); - dlfree(HEAP32[$0 + 64 >> 2]); - dlfree($0); -} -function __DOUBLE_BITS($0) { - var $1 = 0, $2 = 0; - wasm2js_scratch_store_f64(+$0); - $1 = wasm2js_scratch_load_i32(1) | 0; - $2 = wasm2js_scratch_load_i32(0) | 0; - i64toi32_i32$HIGH_BITS = $1; - return $2; -} -function celt_encoder_get_size($0) { - var $1 = 0; - $1 = opus_custom_mode_create(48e3, 960, 0); - return Math_imul(((HEAP32[$1 + 4 >> 2] << 2) + (HEAP32[$1 + 8 >> 2] << 4) | 0) + 4096 | 0, $0) + 244 | 0; -} -function fiprintf($0, $1, $2) { - var $3 = 0; - $3 = __stack_pointer - 16 | 0; - __stack_pointer = $3; - HEAP32[$3 + 12 >> 2] = $2; - $2 = vfiprintf($0, $1, $2); - __stack_pointer = $3 + 16 | 0; - return $2; -} -function encode_size($0, $1) { - var $2 = 0; - if (($0 | 0) <= 251) { - HEAP8[$1 | 0] = $0; - return 1; - } - $2 = $0 | -4; - HEAP8[$1 | 0] = $2; - HEAP8[$1 + 1 | 0] = $0 - ($2 & 255) >>> 2; - return 2; -} -function speex_resampler_init($0, $1, $2, $3, $4) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $4 = $4 | 0; - return speex_resampler_init_frac($0, $1, $2, $1, $2, $3, $4) | 0; -} -function __wasm_i64_udiv($0, $1, $2, $3) { - $3 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0, $1, $2, $3); - return $3; -} -function __wasm_rotl_i32($0, $1) { - var $2 = 0; - $2 = $1 & 31; - $1 = 0 - $1 & 31; - return (-1 >>> $2 & $0) << $2 | (-1 << $1 & $0) >>> $1; -} -function lrintf($0) { - $0 = rintf($0); - if (Math_fround(Math_abs($0)) < Math_fround(2147483648)) { - return ~~$0; - } - return -2147483648; -} -function legalfunc$__wasi_fd_seek($0, $1, $2, $3, $4) { - return legalimport$__wasi_fd_seek($0 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0) | 0; -} -function __wasm_i64_mul($0, $1, $2, $3) { - $3 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3); - return $3; -} -function tonality_analysis_init($0, $1) { - HEAP32[$0 + 8 >> 2] = $1; - HEAP32[$0 >> 2] = 0; - memset($0 + 12 | 0, 0, 13992); -} -function stackAlloc($0) { - $0 = $0 | 0; - $0 = __stack_pointer - $0 & -16; - __stack_pointer = $0; - return $0 | 0; -} -function silk_resampler_private_up2_HQ_wrapper($0, $1, $2, $3) { - silk_resampler_private_up2_HQ($0, $1, $2, $3); -} -function __wasi_syscall_ret($0) { - if (!$0) { - return 0; - } - HEAP32[__errno_location() >> 2] = $0; - return -1; -} -function dynCall_jiji($0, $1, $2, $3, $4) { - $3 = FUNCTION_TABLE[$0 | 0]($1, $2, $3, $4) | 0; - return $3; -} -function __stdio_close($0) { - $0 = $0 | 0; - return __wasi_fd_close(dummy(HEAP32[$0 + 60 >> 2]) | 0) | 0; -} -function __wasm_ctz_i32($0) { - if ($0) { - return 31 - Math_clz32($0 - 1 ^ $0) | 0; - } - return 32; -} - - - -function opus_repacketizer_cat($0, $1, $2) { - return opus_repacketizer_cat_impl($0, $1, $2, 0); -} -function out($0, $1, $2) { - if (!(HEAPU8[$0 | 0] & 32)) { - __fwritex($1, $2, $0); - } -} -function wctomb($0, $1) { - if (!$0) { - return 0; - } - return wcrtomb($0, $1, 0); -} -function vfiprintf($0, $1, $2) { - return __vfprintf_internal($0, $1, $2, 0, 0); -} -function silk_stereo_encode_mid_only($0, $1) { - ec_enc_icdf($0, $1, 5801, 8); -} -function opus_repacketizer_init($0) { - HEAP32[$0 + 4 >> 2] = 0; - return $0; -} -function silk_Get_Encoder_Size($0) { - HEAP32[$0 >> 2] = 20216; - return 0; -} -function tonality_analysis_reset($0) { - memset($0 + 12 | 0, 0, 13992); -} -function stackRestore($0) { - $0 = $0 | 0; - __stack_pointer = $0; -} -function opus_encoder_destroy($0) { - $0 = $0 | 0; - dlfree($0); -} -function rintf($0) { - return __wasm_nearest_f32($0); -} -function stackSave() { - return __stack_pointer | 0; -} -function isdigit($0) { - return $0 - 48 >>> 0 < 10; -} -function floor($0) { - return Math_floor($0); -} -function __errno_location() { - return 52924; -} -function __pthread_self() { - return 52696; -} -function __lockfile($0) { - return 1; -} -function dummy($0) { - return $0; -} -function __wasm_call_ctors() {} -function __unlockfile($0) {} - -// EMSCRIPTEN_END_FUNCS - -; - bufferView = HEAPU8; - initActiveSegments(env); - var FUNCTION_TABLE = Table([null, __stdio_close, __stdio_write, __stdio_seek, downmix_float, resampler_basic_direct_double, resampler_basic_direct_single, resampler_basic_interpolate_double, resampler_basic_interpolate_single, resampler_basic_zero]); - function __wasm_memory_size() { - return buffer.byteLength / 65536 | 0; -} - - return { - "__wasm_call_ctors": __wasm_call_ctors, - "opus_encoder_create": opus_encoder_create, - "opus_encode_float": opus_encode_float, - "opus_encoder_ctl": opus_encoder_ctl, - "opus_encoder_destroy": opus_encoder_destroy, - "speex_resampler_init": speex_resampler_init, - "speex_resampler_destroy": speex_resampler_destroy, - "speex_resampler_process_interleaved_float": speex_resampler_process_interleaved_float, - "__errno_location": __errno_location, - "stackSave": stackSave, - "stackRestore": stackRestore, - "stackAlloc": stackAlloc, - "malloc": dlmalloc, - "free": dlfree, - "__indirect_function_table": FUNCTION_TABLE, - "dynCall_jiji": legalstub$dynCall_jiji -}; -} - - return asmFunc(asmLibraryArg); -} -// EMSCRIPTEN_END_ASM - - - - -)(asmLibraryArg); - }, - - instantiate: /** @suppress{checkTypes} */ function(binary, info) { - return { - then: function(ok) { - var module = new WebAssembly.Module(binary); - ok({ - 'instance': new WebAssembly.Instance(module) - }); - } - }; - }, - - RuntimeError: Error -}; - -// We don't need to actually download a wasm binary, mark it as present but empty. -wasmBinary = []; - -// end include: wasm2js.js -if (typeof WebAssembly !== 'object') { - abort('no native wasm support detected'); -} - -// include: runtime_safe_heap.js - - -// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. -// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) - -/** @param {number} ptr - @param {number} value - @param {string} type - @param {number|boolean=} noSafe */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>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); - } -} - -/** @param {number} ptr - @param {string} type - @param {number|boolean=} noSafe */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for getValue: ' + type); - } - return null; -} - -// end include: runtime_safe_heap.js -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); - return func; -} - -// C calling interface. -/** @param {string|null=} returnType - @param {Array=} argTypes - @param {Arguments|Array=} args - @param {Object=} opts */ -function ccall(ident, returnType, argTypes, args, opts) { - // For fast lookup of conversion functions - var toC = { - 'string': function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\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; - 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; -} - -/** @param {string=} returnType - @param {Array=} argTypes - @param {Object=} opts */ -function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = returnType !== 'string'; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments, opts); - } -} - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((Uint8Array|Array), number)} */ -function allocate(slab, allocator) { - var ret; - - if (allocator == ALLOC_STACK) { - ret = stackAlloc(slab.length); - } else { - ret = _malloc(slab.length); - } - - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */(slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; -} - -// include: runtime_strings.js - - -// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; - -/** - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ArrayToString(heap, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) - while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { - return UTF8Decoder.decode(heap.subarray(idx, endPtr)); - } else { - var str = ''; - // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heap[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heap[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heap[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } - return str; -} - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a -// copy of that string as a Javascript String object. -// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit -// this parameter to scan the string until the first \0 byte. If maxBytesToRead is -// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the -// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will -// not produce a string of exact length [ptr, ptr+maxBytesToRead[) -// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may -// throw JS JIT optimizations off, so it is worth to consider consistently using one -// style or the other. -/** - * @param {number} ptr - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; -} - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. -// This count should include the null terminator, -// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) ++len; - else if (u <= 0x7FF) len += 2; - else if (u <= 0xFFFF) len += 3; - else len += 4; - } - return len; -} - -// end include: runtime_strings.js -// include: runtime_strings_extra.js - - -// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAPU8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; - -function UTF16ToString(ptr, maxBytesToRead) { - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - var maxIdx = idx + maxBytesToRead / 2; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var str = ''; - - // If maxBytesToRead is not passed explicitly, it will be undefined, and the for-loop's condition - // will always evaluate to true. The loop is then terminated on the first null char. - for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) break; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - - return str; - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)] = codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - -function UTF32ToString(ptr, maxBytesToRead) { - var i = 0; - - var str = ''; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(i >= maxBytesToRead / 4)) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) break; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } - return str; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)] = codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - -// Allocate heap space for a JS string, and write it there. -// It is the responsibility of the caller to free() that memory. -function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Allocate stack space for a JS string, and write it there. -function allocateUTF8OnStack(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated - @param {boolean=} dontAddNull */ -function writeStringToMemory(string, buffer, dontAddNull) { - warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} - -function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer); -} - -/** @param {boolean=} dontAddNull */ -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)] = str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)] = 0; -} - -// end include: runtime_strings_extra.js -// Memory management - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - 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 TOTAL_STACK = 5242880; - -var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; - -// In non-standalone/normal mode, we create the memory here. -// include: runtime_init_memory.js - - -// Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined) - - if (Module['wasmMemory']) { - wasmMemory = Module['wasmMemory']; - } else - { - wasmMemory = new WebAssembly.Memory({ - 'initial': INITIAL_MEMORY / 65536 - , - 'maximum': INITIAL_MEMORY / 65536 - }); - } - -if (wasmMemory) { - buffer = wasmMemory.buffer; -} - -// If the user provides an incorrect length, just use that length instead rather than providing the user to -// specifically provide the memory length with Module['INITIAL_MEMORY']. -INITIAL_MEMORY = buffer.byteLength; -updateGlobalBufferAndViews(buffer); - -// end include: runtime_init_memory.js - -// include: runtime_init_table.js -// In regular non-RELOCATABLE mode the table is exported -// from the wasm module and this will be assigned once -// the exports are available. -var wasmTable; - -// end include: runtime_init_table.js -// include: runtime_stack_check.js - - -// end include: runtime_stack_check.js -// include: runtime_assertions.js - - -// end include: runtime_assertions.js -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the main() is called - -var runtimeInitialized = false; -var runtimeExited = false; - -__ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); - -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() { - runtimeInitialized = true; - - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - runtimeExited = true; -} - -function postRun() { - - 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 addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} - -function addOnExit(cb) { -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - -// include: runtime_math.js - - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc - -// end include: runtime_math.js -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - -} - -function removeRunDependency(id) { - runDependencies--; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - -/** @param {string|number=} what */ -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - what += ''; - err(what); - - ABORT = true; - EXITSTATUS = 1; - - what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// {{MEM_INITIALIZER}} - -// include: memoryprofiler.js - - -// end include: memoryprofiler.js -// include: URIUtils.js - - -function hasPrefix(str, prefix) { - return String.prototype.startsWith ? - str.startsWith(prefix) : - str.indexOf(prefix) === 0; -} - -// Prefix of data URIs emitted by SINGLE_FILE and related options. -var dataURIPrefix = 'data:application/octet-stream;base64,'; - -// Indicates whether filename is a base64 data URI. -function isDataURI(filename) { - return hasPrefix(filename, dataURIPrefix); -} - -var fileURIPrefix = "file://"; - -// Indicates whether filename is delivered via file protocol (as opposed to http/https) -function isFileURI(filename) { - return hasPrefix(filename, fileURIPrefix); -} - -// end include: URIUtils.js -var wasmBinaryFile = '<<< WASM_BINARY_FILE >>>'; -if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); -} - -function getBinary(file) { - try { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - var binary = tryParseAsDataURI(file); - if (binary) { - return binary; - } - if (readBinary) { - return readBinary(file); - } else { - throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; - } - } - catch (err) { - abort(err); - } -} - -function getBinaryPromise() { - // If we don't have the binary yet, try to to load it asynchronously. - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (typeof fetch === 'function' - && !isFileURI(wasmBinaryFile) - ) { - 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(wasmBinaryFile); - }); - } - else { - if (readAsync) { - // fetch is not available or url is file => try XHR (readAsync uses XHR internally) - return new Promise(function(resolve, reject) { - readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) - }); - } - } - } - - // Otherwise, getBinary should be able to get it synchronously - return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); -} - -function instantiateSync(file, info) { - var instance; - var module; - var binary; - try { - binary = getBinary(file); - module = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module, info); - } catch (e) { - var str = e.toString(); - err('failed to compile wasm module: ' + str); - if (str.indexOf('imported Memory') >= 0 || - str.indexOf('memory import') >= 0) { - err('Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).'); - } - throw e; - } - return [instance, module]; -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -function createWasm() { - // prepare imports - var info = { - 'env': asmLibraryArg, - 'wasi_snapshot_preview1': asmLibraryArg, - }; - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - var exports = instance.exports; - - Module['asm'] = exports; - - wasmTable = Module['asm']['__indirect_function_table']; - - removeRunDependency('wasm-instantiate'); - } - // we can't run yet (except in a pthread, where we have a custom sync instantiator) - addRunDependency('wasm-instantiate'); - - function receiveInstantiatedSource(output) { - // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. - 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); - }); - } - - // Prefer streaming instantiation if available. - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel - // to any other async startup actions they are performing. - if (Module['instantiateWasm']) { - try { - var exports = Module['instantiateWasm'](info, receiveInstance); - return exports; - } catch(e) { - err('Module.instantiateWasm callback failed with error: ' + e); - return false; - } - } - - var result = instantiateSync(wasmBinaryFile, info); - receiveInstance(result[0], result[1]); - return Module['asm']; // exports were assigned here -} - -// Globals used by JS i64 conversions (see makeSetValue) -var tempDouble; -var tempI64; - -// === Body === - -var ASM_CONSTS = { - -}; - - - - - - - function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(Module); // Pass the module as the first argument. - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } - } - - function demangle(func) { - 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 error = new Error(); - if (!error.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(); - } catch(e) { - error = e; - } - if (!error.stack) { - return '(no stack trace available)'; - } - } - return error.stack.toString(); - } - - function stackTrace() { - var js = jsStackTrace(); - if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); - return demangleAll(js); - } - - function _abort() { - abort(); - } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - - function _emscripten_get_heap_size() { - return HEAPU8.length; - } - - function abortOnCannotGrowMemory(requestedSize) { - abort('OOM'); - } - function _emscripten_resize_heap(requestedSize) { - abortOnCannotGrowMemory(requestedSize); - } - - var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream, curr) { - var buffer = SYSCALLS.buffers[stream]; - if (curr === 0 || curr === 10) { - (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); - buffer.length = 0; - } else { - buffer.push(curr); - } - },varargs:undefined,get:function() { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function(ptr) { - var ret = UTF8ToString(ptr); - return ret; - },get64:function(low, high) { - return low; - }}; - function _fd_close(fd) { - return 0; - } - - function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - } - - function flush_NO_FILESYSTEM() { - // flush anything remaining in the buffers during shutdown - if (typeof _fflush !== 'undefined') _fflush(0); - var buffers = SYSCALLS.buffers; - if (buffers[1].length) SYSCALLS.printChar(1, 10); - if (buffers[2].length) SYSCALLS.printChar(2, 10); - } - function _fd_write(fd, iov, iovcnt, pnum) { - // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 - var num = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - for (var j = 0; j < len; j++) { - SYSCALLS.printChar(fd, HEAPU8[ptr+j]); - } - num += len; - } - HEAP32[((pnum)>>2)] = num - return 0; - } - - function _setTempRet0($i) { - setTempRet0(($i) | 0); - } -var ASSERTIONS = false; - - - -/** @type {function(string, boolean=, number=)} */ -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; -} - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - if (ASSERTIONS) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - } - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} - - -// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 - -// This code was written by Tyler Akins and has been placed in the -// public domain. It would be nice if you left this header intact. -// Base64 code from Tyler Akins -- http://rumkin.com - -/** - * Decodes a base64 string. - * @param {string} input The string to decode. - */ -var decodeBase64 = typeof atob === 'function' ? atob : function (input) { - var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - - var output = ''; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - // remove all characters that are not A-Z, a-z, 0-9, +, /, or = - input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); - do { - enc1 = keyStr.indexOf(input.charAt(i++)); - enc2 = keyStr.indexOf(input.charAt(i++)); - enc3 = keyStr.indexOf(input.charAt(i++)); - enc4 = keyStr.indexOf(input.charAt(i++)); - - chr1 = (enc1 << 2) | (enc2 >> 4); - chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); - chr3 = ((enc3 & 3) << 6) | enc4; - - output = output + String.fromCharCode(chr1); - - if (enc3 !== 64) { - output = output + String.fromCharCode(chr2); - } - if (enc4 !== 64) { - output = output + String.fromCharCode(chr3); - } - } while (i < input.length); - return output; -}; - -// Converts a string of base64 into a byte array. -// Throws error on invalid input. -function intArrayFromBase64(s) { - if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { - var buf; - try { - // TODO: Update Node.js externs, Closure does not recognize the following Buffer.from() - /**@suppress{checkTypes}*/ - buf = Buffer.from(s, 'base64'); - } catch (_) { - buf = new Buffer(s, 'base64'); - } - return new Uint8Array(buf['buffer'], buf['byteOffset'], buf['byteLength']); - } - - try { - var decoded = decodeBase64(s); - var bytes = new Uint8Array(decoded.length); - for (var i = 0 ; i < decoded.length ; ++i) { - bytes[i] = decoded.charCodeAt(i); - } - return bytes; - } catch (_) { - throw new Error('Converting base64 string to bytes failed.'); - } -} - -// If filename is a base64 data URI, parses and returns data (Buffer on node, -// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. -function tryParseAsDataURI(filename) { - if (!isDataURI(filename)) { - return; - } - - return intArrayFromBase64(filename.slice(dataURIPrefix.length)); -} - - -var asmLibraryArg = { - "abort": _abort, - "emscripten_memcpy_big": _emscripten_memcpy_big, - "emscripten_resize_heap": _emscripten_resize_heap, - "fd_close": _fd_close, - "fd_seek": _fd_seek, - "fd_write": _fd_write, - "getTempRet0": getTempRet0, - "memory": wasmMemory, - "setTempRet0": setTempRet0 -}; -var asm = createWasm(); -/** @type {function(...*):?} */ -var ___wasm_call_ctors = Module["___wasm_call_ctors"] = asm["__wasm_call_ctors"] - -/** @type {function(...*):?} */ -var _opus_encoder_create = Module["_opus_encoder_create"] = asm["opus_encoder_create"] - -/** @type {function(...*):?} */ -var _opus_encode_float = Module["_opus_encode_float"] = asm["opus_encode_float"] - -/** @type {function(...*):?} */ -var _opus_encoder_ctl = Module["_opus_encoder_ctl"] = asm["opus_encoder_ctl"] - -/** @type {function(...*):?} */ -var _opus_encoder_destroy = Module["_opus_encoder_destroy"] = asm["opus_encoder_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_init = Module["_speex_resampler_init"] = asm["speex_resampler_init"] - -/** @type {function(...*):?} */ -var _speex_resampler_destroy = Module["_speex_resampler_destroy"] = asm["speex_resampler_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_process_interleaved_float = Module["_speex_resampler_process_interleaved_float"] = asm["speex_resampler_process_interleaved_float"] - -/** @type {function(...*):?} */ -var ___errno_location = Module["___errno_location"] = asm["__errno_location"] - -/** @type {function(...*):?} */ -var stackSave = Module["stackSave"] = asm["stackSave"] - -/** @type {function(...*):?} */ -var stackRestore = Module["stackRestore"] = asm["stackRestore"] - -/** @type {function(...*):?} */ -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"] - -/** @type {function(...*):?} */ -var _malloc = Module["_malloc"] = asm["malloc"] - -/** @type {function(...*):?} */ -var _free = Module["_free"] = asm["free"] - -/** @type {function(...*):?} */ -var dynCall_jiji = Module["dynCall_jiji"] = asm["dynCall_jiji"] - - - - - -// === Auto-generated postamble setup entry stuff === - - - -var calledRun; - -/** - * @constructor - * @this {ExitStatus} - */ -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -} - -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -}; - -/** @type {function(Array=)} */ -function run(args) { - args = args || arguments_; - - if (runDependencies > 0) { - return; - } - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - if (calledRun) return; - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else - { - doRun(); - } -} -Module['run'] = run; - -/** @param {boolean|number=} implicit */ -function exit(status, implicit) { - - // if this is just main exit-ing implicitly, and the status is 0, then we - // don't need to do anything here and can just leave. if the status is - // non-zero, though, then we need to report it. - // (we may have warned about this earlier, if a situation justifies doing so) - if (implicit && noExitRuntime && status === 0) { - return; - } - - if (noExitRuntime) { - } else { - - EXITSTATUS = status; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - - ABORT = true; - } - - 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()(); - } -} - -run(); - - - - - - -return Module; -}, 'OpusEncoderLib'));//END: UMD wrapper - diff --git a/static/libopus-encoder.min.js b/static/libopus-encoder.min.js deleted file mode 100644 index f7394ab..0000000 --- a/static/libopus-encoder.min.js +++ /dev/null @@ -1,27 +0,0 @@ -var Module=typeof Module!=="undefined"?Module:{};(function(root,factory,globalExport){var lib,env;if(typeof define==="function"&&define.amd){define(["require"],function(req){lib=factory(root,req);return lib})}else if(typeof module==="object"&&module.exports){env=typeof process!=="undefined"&&process&&process.env?process.env:root;lib=factory(env,module.require);module.exports=lib}else{lib=factory(root);root[globalExport]=lib}})(typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:this,function(global,require){null;var Module={};Module["isReady"]=false;Module["onready"]=null;Module["onRuntimeInitialized"]=function(){Module["isReady"]=true;if(Module["onready"])setTimeout(Module["onready"],0)};if(global&&global.OPUS_SCRIPT_LOCATION){Module["locateFile"]=function(fileName){var path=global.OPUS_SCRIPT_LOCATION||"";if(path[fileName])return path[fileName];path+=path&&!/\/$/.test(path)?"/":"";return path+fileName}}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_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};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(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){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{}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(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( -// EMSCRIPTEN_START_ASM -function instantiate(ue){function le(ve){ve.set=(function(we,xe){this[we]=xe});ve.get=(function(we){return this[we]});return ve}var a;var b=new ArrayBuffer(16);var c=new Int32Array(b);var d=new Float32Array(b);var e=new Float64Array(b);function me(ye){return c[ye]}function ne(ye,ze){c[ye]=ze}function oe(){return e[0]}function pe(ze){e[0]=ze}function qe(ze){d[2]=ze}function re(){return d[2]}function se(Ae){var f=Ae.a;var g=f.buffer;var h=new Int8Array(g);var i=new Int16Array(g);var j=new Int32Array(g);var k=new Uint8Array(g);var l=new Uint16Array(g);var m=new Uint32Array(g);var n=new Float32Array(g);var o=new Float64Array(g);var p=Math.imul;var q=Math.fround;var r=Math.abs;var s=Math.clz32;var t=Math.min;var u=Math.max;var v=Math.floor;var w=Math.ceil;var x=Math.trunc;var y=Math.sqrt;var z=Ae.abort;var A=NaN;var B=Infinity;var C=Ae.b;var D=Ae.c;var E=Ae.d;var F=Ae.e;var G=Ae.f;var H=Ae.g;var I=5296384;var J=0; -// EMSCRIPTEN_START_FUNCS -function ob(a,b,c,d,e,f,g,l,m,o,t,u){var w=0,x=0,y=q(0),A=0,B=q(0),C=q(0),D=0,E=0,F=0,G=q(0),H=0,J=0,K=0,N=0,R=0,S=0,V=0,W=0,X=0,Y=0,Z=q(0),_=0,$=0,aa=0,ba=0,ca=0,da=q(0),ea=0,ha=0,ja=0,ka=q(0),la=0,ma=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=q(0),va=q(0);x=I-624|0;I=x;j[x+616>>2]=0;j[a+18136>>2]=0;w=-1;a:{if((c|0)<1){break a}J=(e|0)<1276?e:1276;if((J|0)<1){break a}if((J|0)==1){w=-2;if(j[a+144>>2]==(p(c,10)|0)){break a}}E=j[a>>2]+a|0;ea=j[a+4>>2];aa=j[a+108>>2]!=2051?j[a+116>>2]:aa;w=j[a+168>>2];j[x+416>>2]=x+612;P(E,10015,x+416|0);j[x+544>>2]=0;X=(f|0)<(w|0)?f:w;b:{c:{d:{e:{f:{g:{if(j[a+44>>2]<7){break g}f=j[a+144>>2];if((f|0)<16e3){break g}ja=1;A=p(j[a+112>>2],c);if((A|0)>=1){w=0;while(1){B=n[(w<<2)+b>>2];C=B>C?C:B;y=y>B?y:B;w=w+1|0;if((A|0)!=(w|0)){continue}break}}$=j[a+7640>>2];V=j[a+7636>>2];Wc(a+188|0,j[x+612>>2],g,l,c,m,o,f,X,t,x+544|0);B=q(-C);qa=0;if(q(q(1)/q(1<=(y>B?y:B)){break b}if(n[x+580>>2]>q(.10000000149011612)^1){break c}C=q(n[a+18128>>2]*q(.9990000128746033));f=p(j[a+112>>2],c);if((f|0)<1){break f}w=0;y=q(0);while(1){B=y;y=n[(w<<2)+b>>2];y=q(B+q(y*y));w=w+1|0;if((f|0)!=(w|0)){continue}break}B=q(f|0);if(q(y/B)>2];y=q(C+q(y*y));w=w+1|0;if((f|0)!=(w|0)){continue}break}break e}$=-1;if(j[a+7648>>2]){ub(a+188|0)}V=-1;break c}y=q(0);B=q(f|0);if(q(q(0)/B)>2]=C}j[a+140>>2]=-1;ja=0;qa=1}j[a+18120>>2]=0;if(j[x+544>>2]){if(j[a+124>>2]==-1e3){f=a;h:{i:{g=j[a+14228>>2];if((g|0)!=1002){if(g){break i}g=x+564|0;break h}g=x+572|0;break h}g=x+568|0}sa=v(+q(q(q(1)-n[g>>2])*q(100))+.5);j:{if(r(sa)<2147483648){g=~~sa;break j}g=-2147483648}j[f+140>>2]=g}f=a;l=j[x+576>>2];g=1101;k:{if((l|0)<13){break k}g=1102;if((l|0)<15){break k}g=1103;if((l|0)<17){break k}g=(l|0)<19?1104:1105}j[f+18120>>2]=g}y=q(0);if(!(j[a+120>>2]==1|j[a+112>>2]!=2)){y=Oc(b,c,j[a+144>>2],a+14260|0)}f=c;if(!f){f=j[a+144>>2]/400|0}l:{m:{w=j[a+164>>2];if((w|0)!=-1e3){if((w|0)==-1){break m}g=j[a+144>>2];break l}g=j[a+144>>2];w=p(g,j[a+112>>2])+((p(g,60)|0)/(f|0)|0)|0;break l}g=j[a+144>>2];w=(p(J,g)<<3)/(f|0)|0}j[a+160>>2]=w;S=(g|0)/(c|0)|0;n:{o:{p:{Y=j[a+148>>2];q:{if(!Y){f=(p(g,12)|0)/(c|0)|0;l=(((f|0)/2|0)+((p(w,12)|0)/8|0)|0)/(f|0)|0;J=(l|0)<(J|0)?l:J;w=(p(J,f)<<3)/12|0;j[a+160>>2]=w;f=1;if((J|0)<2){break q}}r:{if((J|0)<3|(p(S,24)|0)>(w|0)){break r}ba=p(J,S);if((S|0)>49){break p}if((ba|0)<300){break r}if((w|0)>=2400){break o}}f=J}b=j[a+14240>>2];l=b?b:1101;g=0;m=j[a+14192>>2];w=0;b=j[a+14224>>2];A=(S|0)>100?1002:b?b:1e3;b=(S|0)==25&(A|0)!=1e3;c=b?50:S;s:{if((c|0)>16){break s}if(!((c|0)==10|(A|0)!=1e3?(e|0)!=1:0)){b=(c|0)<13;A=1e3;c=(c|0)==12?25:16;break s}g=50/(c|0)|0;b=3;c=50}if((c|0)<=399){while(1){w=w+1|0;c=c<<1;if((c|0)<400){continue}break}w=w<<3}t:{if((l|0)>=1104){c=1103;if((A|0)==1e3){break t}}if((l|0)==1102){c=1101;if((A|0)==1002){break t}}c=(l|0)<1105?(A|0)==1001?1104:l:l}e=d;u:{v:{switch(A-1e3|0){case 0:c=w-16|(c<<5)+96&224;break u;case 2:c=(((c|0)>1102?c:1102)<<5)- -64&96|w|128;break u;default:break v}}c=w+240|c<<4|96}h[e|0]=c|(((m|0)==2)<<2|b);if((b|0)==3){h[d+1|0]=g}w=b>>>0<2?1:2;if(j[a+148>>2]){break a}a=(f|0)>(w|0)?f:w;w=pb(d,w,a)?-3:a;break a}ta=ba<<3;m=j[a+40>>2];R=j[a+44>>2];D=j[a+112>>2];f=w;if((S|0)==50){break n}ca=1;f=p(p(D,-40)-20|0,S-50|0)+w|0;break n}ta=ba<<3;m=j[a+40>>2];R=j[a+44>>2];D=j[a+112>>2];f=w}l=R+90|0;t=(p(l,Y?f:f+((f|0)/-12|0)|0)|0)/100|0;N=p(m,12)+20|0;A=(p(t,m)|0)/(N|0)|0;o=127;w:{x:{switch(j[a+124>>2]-3001|0){case 1:o=0;break w;case 0:break w;default:break x}}f=j[a+140>>2];if((f|0)>=0){o=p(f,327)>>8;if(j[a+108>>2]!=2049){break w}o=(o|0)<115?o:115;break w}o=j[a+108>>2]==2048?115:48}f=j[a+120>>2];y:{z:{if((f|0)!=-1e3){if((D|0)!=2){break z}j[a+14192>>2]=f;D=f;break y}if((D|0)!=2){break z}D=((p(p(o,o),2e3)>>>14|0)+(j[a+14192>>2]==2?16e3:18e3)|0)<(t-A|0)?2:1}j[a+14192>>2]=D}_=!(j[x+544>>2]|ja)&j[a+184>>2]!=0;j[a+56>>2]=_;t=ca?p(p(D,-40)-20|0,S-50|0)+w|0:w;A=(p(Y?t:((t|0)/-12|0)+t|0,l)|0)/100|0;F=(p(A,m)|0)/(N|0)|0;K=j[a+108>>2];A:{if((K|0)==2051){t=1002;j[a+14224>>2]=1002;K=a+14224|0;F=((g|0)/100|0)>(c|0);break A}f=j[a+136>>2];B:{if((f|0)==-1e3){H=a;F=A-F|0;B=q(q(1)-y);C=q(q(y*q(1e4))+q(B*q(1e4)));C:{if(q(r(C))>14)|0;f=(K|0)==2048?f+8e3|0:f;W=f-4e3|0;A=f+4e3|0;t=f;f=j[a+14228>>2];f=(F|0)<(((f|0)==1002?W:(f|0)>0?A:t)|0)?1e3:1002;j[H+14224>>2]=f;if(!(!j[a+48>>2]|128-o>>4>=(m|0))){j[a+14224>>2]=1e3;f=1e3}t=(p(ca?9e3:6e3,c)|0)/(g<<3)|0;if((t|0)<=(J|0)?!(_&(o|0)>100):0){break B}f=(t|0)>(J|0)?1002:1e3}j[a+14224>>2]=f}K=a+14224|0;g=(g|0)/100|0;F=(g|0)>(c|0);if((c|0)>=(g|0)){t=f;break A}t=1002;if((f|0)==1002){t=f;break A}j[K>>2]=1002}if(j[a+176>>2]){j[K>>2]=1002;t=1002}A=0;E:{F:{G:{f=j[a+14228>>2];if((f|0)<1){break G}if(!((t|0)!=1002?(f|0)==1002:0)){if((t|0)!=1002){break G}g=1002;if((f|0)==1002){break F}}g=1002;ra=1;H:{if((t|0)!=1002){_=1;g=t;break H}_=0;t=0;if(F){break E}j[K>>2]=f;ra=0;A=1;g=f}t=1;break E}g=t}ra=1;_=0;t=0}F=t;I:{J:{if((D|0)!=1|j[a+14232>>2]!=2|(j[a+68>>2]|(f|0)==1002)){break J}if((g|0)==1002){break J}D=2;j[a+14192>>2]=2;j[a+68>>2]=1;break I}j[a+68>>2]=0}ea=a+ea|0;w=ca?p(p(D,-40)-20|0,S-50|0)+w|0:w;D=(p(Y?w:((w|0)/-12|0)+w|0,l)|0)/100|0;K:{L:{M:{N:{O:{P:{Q:{if((g&-2)==1e3){l=1;t=1002;Y=0;w=(R|0)<=1?(D<<2)/5|0:D;D=w-((p(m,w)|0)/(p(m,6)+10|0)|0)|0;m=D;if((g|0)!=1002){break Q}break P}t=1002;if((g|0)==1002){Y=0;l=1;if((R|0)>4){break P}D=(p(D,9)|0)/10|0;break P}m=D-((p(m,D)|0)/(N|0)|0)|0}D=m;Y=0;l=1;if((f|0)==1002){Ja(ea,j[a+180>>2],x+440|0);Y=1;g=j[a+14224>>2]}if((g|0)==1002){break P}l=0;if(j[a+84>>2]?0:!j[a+14252>>2]){break O}t=g}f=p(o,o);m=(p(f,2e3)>>14)+12e3|0;o=(p(f,2500)>>14)+11e3|0;R:{S:{f=j[a+14252>>2];if(!f){w=1105;g=1;if((m+(j[a+14244>>2]<1105?2e3:-2e3)|0)<=(D|0)){break M}if(f){break R}if(j[a+14244>>2]<1104){break S}o=o-1e3|0;break R}if((m|0)>(D|0)){break R}j[a+14240>>2]=1105;j[a+14244>>2]=1105;w=1105;break L}o=o+1e3|0}if((o|0)<=(D|0)){w=1104;g=1;break M}if(!f){w=1103;g=0;if(((j[a+14244>>2]<1103?9700:8300)|0)<=(D|0)){break M}w=9e3;if(f){break N}w=j[a+14244>>2]<1102?9700:8300;break N}w=9e3;if((D|0)<9e3){break N}j[a+14240>>2]=1103;j[a+14244>>2]=1103;w=1103;break L}w=j[a+14240>>2];break K}w=(w|0)>(D|0)?1101:1103;g=0}j[a+14240>>2]=w;j[a+14244>>2]=w;if(f|l|(j[a+88>>2]|g^1)){break L}w=1103;j[a+14240>>2]=1103}g=t}f=j[a+132>>2];if((f|0)<(w|0)){j[a+14240>>2]=f;w=f}m=j[a+128>>2];if((m|0)!=-1e3){j[a+14240>>2]=m;w=m}if(!((g|0)==1002|(ba|0)>1874)){w=(w|0)<1103?w:1103;j[a+14240>>2]=w}g=j[a+144>>2];T:{if((g|0)>24e3){f=w;break T}f=1104;U:{V:{W:{X:{if((w|0)<=1104){if((g|0)>=16001){f=w;break T}if((w|0)>1103){break X}if((g|0)<12001){break W}f=w;break T}j[a+14240>>2]=1104;if((g|0)>=16001){break T}}f=1103;j[a+14240>>2]=1103;if((g|0)>=12001){break T}break V}if((w|0)>1102){break V}if((g|0)>8e3){f=w;break T}f=w;if((w|0)!=1102){break T}break U}f=1102;j[a+14240>>2]=1102;if((g|0)>8e3){break T}}f=1101;j[a+14240>>2]=1101}t=j[a+18120>>2];if(!(!t|(m|0)!=-1e3)){w=a;m=t;R=j[a+14192>>2];Y:{Z:{if((p(R,18e3)|0)>=(D|0)){o=0;if(!l){break Z}l=1;g=1101;break Y}if((p(R,24e3)|0)<(D|0)){o=l;break Z}o=l;g=1102;if(!(l^1)){break Y}}l=o;g=(p(R,3e4)|0)<(D|0)?(p(R,44e3)|0)<(D|0)?1105:1104:1103}g=(g|0)<(t|0)?m:g;j[w+18120>>2]=g;f=(f|0)<(g|0)?f:g;j[a+14240>>2]=f}w=0;_:{if(!j[a+48>>2]|l){break _}g=j[a+40>>2];if(!g){break _}l=125-((g|0)<25?g:25)|0;m=j[a+52>>2];o=(m|0)==1;t=(g|0)<6;w=f;$:{while(1){R=w<<3;g=j[R+41868>>2];g=p(l,(j[R+41864>>2]-(o?g:0)|0)+(m?0:g)|0);g=(p(g&65535,655)>>>16|0)+p(g>>16,655)|0;if((g|0)<(D|0)|t){break $}if((w|0)>1101){w=w-1|0;j[a+14240>>2]=w;continue}break}j[a+14240>>2]=f;w=0;break _}w=(g|0)<(D|0)}j[a+52>>2]=w;j[x+400>>2]=X;P(E,4036,x+400|0);w=j[a+14224>>2];if(!((w|0)!=1002|j[a+14240>>2]!=1102)){j[a+14240>>2]=1103}aa:{ba:{ca:{da:{ea:{fa:{if(j[a+176>>2]){t=1101;j[a+14240>>2]=1101;break fa}t=j[a+14240>>2];if((w|0)!=1e3){break fa}if((t|0)>1103){break ea}}if(!((w|0)!=1001|(t|0)>1103)){j[K>>2]=1e3;w=1e3}l=j[a+144>>2];g=(l|0)/50|0;if((g|0)<(c|0)){break da}m=w;break ca}m=1001;j[a+14224>>2]=1001;l=j[a+144>>2];g=(l|0)/50|0;if((g|0)<(c|0)|((p(l,3)|0)/50|0)<(c|0)){break ba}break aa}m=1e3;if((w|0)!=1e3){break ba}}f=p(l,3);o=(f|0)/50|0;if((o|0)>=(c|0)){break aa}if((m|0)!=1e3){break ba}if(((l<<1)/25|0)==(c|0)){g=(l|0)/25|0;break ba}g=((f|0)/25|0)==(c|0)?o:g}c=(c|0)/(g|0)|0;if((V|0)!=-1){j[a+7640>>2]=$;j[a+7636>>2]=V}w=Lc(a,b,c,g,d,e,A,X,u);break a}if(j[a+14248>>2]){j[a+14248>>2]=0;Y=2;F=1;_=1}e=j[a+160>>2];V=0;ga:{if(!F){f=0;g=0;break ga}f=0;g=0;if((m|0)==1002){break ga}g=j[a+14192>>2];f=p(g,40)+20|0;m=(p(e+p(f,200-S|0)|0,3)|0)/3200|0;f=(f+((p((J<<3)-(f<<1)|0,240)|0)/((48e3/(S|0)|0)+240|0)|0)|0)/8|0;f=(f|0)>(m|0)?m:f;V=(f|0)>(g<<3|4)?(f|0)<257?f:257:0;f=(V|0)!=0;g=f}R=g;X=d+1|0;$=J-1|0;ab(x+440|0,X,$);ma=c+aa|0;g=x-((p(ma,j[a+112>>2])<<2)+15&-16)|0;I=g;oa=a+14280|0;m=j[a+112>>2];F=M(g,oa+(p(m,j[a+172>>2]-aa|0)<<2)|0,p(m,aa)<<2);A=(p(c,e)|0)/(l<<3)|0;m=a;ha:{if(j[a+14224>>2]==1002){l=Q(60)<<8;break ha}l=j[ea+8>>2]}e=j[a+14200>>2];l=l-e|0;e=p(l>>16,983)+e+(p(l&65535,983)>>>16)|0;j[m+14200>>2]=e;m=a+14208|0;w=na(e>>8);o=j[a+112>>2];l=F+(p(o,aa)<<2)|0;e=j[a+144>>2];ia:{if(j[a+108>>2]==2048){if((c|0)<1){break ia}e=(p(w<<16>>16,2471)|0)/((e|0)/1e3|0)|0;w=e<<16>>16;N=((p(w,e>>16)+(p(w,e&65535)>>16)|0)+p(e,(e>>15)+1>>1)|0)-8388608|0;H=N<<16>>16;w=p(e,-471)+268435456|0;e=w>>6;pa=e&65535;ha=p(H,pa)>>16;W=H;H=w>>22;da=q(q((ha+p(W,H)|0)+p(e,(N>>15)+1>>1)|0)*q(3.725290298461914e-9));W=p(e,(w>>21)+1>>1);e=e<<16>>16;ka=q(q((W+p(e,H)|0)+(p(e,pa)>>16)|0)*q(3.725290298461914e-9));ua=q(q(w|0)*q(3.725290298461914e-9));e=0;va=q(q(0-(w<<1)|0)*q(3.725290298461914e-9));y=n[a+14212>>2];C=n[a+14208>>2];while(1){Z=C;w=p(e,o)<<2;C=n[w+b>>2];B=q(ua*C);G=q(Z+B);B=q(q(B-q(ka*G))+q(1.0000000031710769e-30));n[a+14212>>2]=B;C=q(q(va*C)+q(y-q(da*G)));n[a+14208>>2]=C;n[l+w>>2]=G;y=B;e=e+1|0;if((e|0)!=(c|0)){continue}break}if((o|0)!=2){break ia}w=l+4|0;N=b+4|0;y=n[a+14220>>2];C=n[a+14216>>2];e=0;while(1){Z=C;H=e<<3;C=n[H+N>>2];B=q(ua*C);G=q(Z+B);B=q(q(B-q(ka*G))+q(1.0000000031710769e-30));n[a+14220>>2]=B;C=q(q(va*C)+q(y-q(da*G)));n[a+14216>>2]=C;n[w+H>>2]=G;y=B;e=e+1|0;if((e|0)!=(c|0)){continue}break}break ia}C=q(q(18.900001525878906)/q(e|0));G=q(q(1)-C);y=n[m>>2];if((o|0)!=2){e=0;if((c|0)>0){while(1){w=e<<2;B=n[w+b>>2];n[l+w>>2]=B-y;y=q(q(G*y)+q(q(C*B)+q(1.0000000031710769e-30)));e=e+1|0;if((e|0)!=(c|0)){continue}break}}n[m>>2]=y;break ia}B=n[a+14216>>2];if((c|0)>=1){e=0;while(1){w=e<<3;N=w|4;da=n[N+b>>2];ka=n[b+w>>2];n[l+w>>2]=ka-y;n[l+N>>2]=da-B;y=q(q(G*y)+q(q(C*ka)+q(1.0000000031710769e-30)));B=q(q(G*B)+q(q(C*da)+q(1.0000000031710769e-30)));e=e+1|0;if((e|0)!=(c|0)){continue}break}}n[a+14216>>2]=B;n[a+14208>>2]=y}ja:{if(!u){break ja}y=q(0);u=p(c,o);if((u|0)>=1){e=0;while(1){B=y;y=n[l+(e<<2)>>2];y=q(B+q(y*y));e=e+1|0;if((u|0)!=(e|0)){continue}break}}if(y==y?!(y>2]=0;j[m+12>>2]=0;j[m>>2]=0;j[m+4>>2]=0}C=q(1);ka:{if(j[K>>2]!=1002){e=1;m=g;N=g-((p(c,o)<<1)+15&-16)|0;I=N;da=n[x+580>>2];pa=j[x+544>>2];g=J-V|0;A=p((((g|0)<(A|0)?g:A)<<3)-8|0,S);la:{ma:{na:{W=a;oa:{pa:{qa:{o=j[K>>2];if((o|0)==1001){l=(j[a+52>>2]<<1)+(j[a+144>>2]==(p(c,50)|0)?2:1)|0;H=j[a+148>>2];u=j[a+14192>>2];g=(A|0)/(u|0)|0;if((g|0)<12e3){break qa}e=2;if((g|0)<16e3){break qa}e=3;if((g|0)<2e4){break qa}e=4;if((g|0)<24e3){break qa}e=5;if((g|0)<32e3){break qa}e=6;if((g|0)<64e3){break qa}e=j[(l<<2)+50840>>2]+((g-64e3|0)/2|0)|0;break pa}j[a+36>>2]=A;u=j[a+14256>>2];if(u){break oa}g=A;break la}w=p(e,20);la=w+50720|0;e=j[la>>2];ha=w+50700|0;w=j[ha>>2];l=l<<2;e=(p(j[l+ha>>2],e-g|0)+p(j[l+la>>2],g-w|0)|0)/(e-w|0)|0}e=H?e:e+100|0;e=p((t|0)==1104?e+300|0:e,u);g=(u|0)==2?(g|0)>11999?e-1e3|0:e:e;j[W+36>>2]=g;u=j[a+14256>>2];if(!u){break na}A=g}if(j[a+148>>2]){break ma}g=A;break la}C=q(q(1)-q(xa(+q(q(g-A|0)*q(.0009765625))*.6931471805599453)));break la}if(j[a+176>>2]){g=A;break la}B=q(8e3);l=13;ra:{sa:{ta:{la=j[a+14240>>2];switch(la-1101|0){case 0:break ra;case 1:break ta;default:break sa}}B=q(12e3);l=15;break ra}B=q(16e3);l=17}y=q(0);e=j[a+112>>2];if((e|0)>=1){g=0;while(1){ha=p(g,21);w=0;while(1){G=n[(w+ha<<2)+u>>2];H=Gq(-2);y=W?q(.5):q(-2);y=W?H?G:y:y;y=q(Z+(y>q(0)?q(y*q(.5)):y));w=w+1|0;if((w|0)!=(l|0)){continue}break}g=g+1|0;if((e|0)!=(g|0)){continue}break}}g=(0-(A<<1)|0)/3|0;y=q(B*q(q(q(y/q(l|0))*q(e|0))+q(.20000000298023224)));ua:{if(q(r(y))(g|0)?e:g;g=a;if((la&-2)==1104){e=(p(e,3)|0)/5|0}l=g;g=e+A|0;j[l+36>>2]=g}A=j[a+112>>2];j[a+8>>2]=A;H=j[a+14192>>2];j[a+12>>2]=H;l=j[a+144>>2];j[a+32>>2]=(p(c,1e3)|0)/(l|0);w=8e3;u=8e3;va:{wa:{switch(t-1101|0){default:u=12e3;w=16e3;if((t|0)==1103|(o|0)==1001){break va}L(50496,50583,1755);z();case 0:break va;case 1:break wa}}w=12e3;u=12e3}j[a+28>>2]=w;j[a+20>>2]=16e3;j[a+24>>2]=(o|0)==1001?16e3:8e3;xa:{if((o|0)!=1e3){break xa}e=ca?(ba<<4)/3|0:ta;if((e|0)>7999){break xa}j[a+20>>2]=12e3;j[a+28>>2]=u;if((e|0)>6999){break xa}j[a+28>>2]=8e3;j[a+20>>2]=8e3}ba=da>=q(.10000000149011612);w=$<<3;j[a- -64>>2]=w;e=j[a+148>>2];j[a+60>>2]=!e;ya:{za:{Aa:{Ba:{if(!(f^1|(V|0)<2)){f=(V<<3^-1)+w|0;j[a+64>>2]=f;if((o|0)!=1001){break ya}w=f-20|0;j[a+64>>2]=w;if(!e){break za}break Ba}if(!e){break Aa}if((o|0)!=1001){break ya}}g=1;o=(j[a+52>>2]<<1)+((l|0)==(p(c,50)|0)?2:1)|0;W=a;e=H;Ca:{Da:{f=((p(l,w)|0)/(c|0)|0)/(H|0)|0;if((f|0)<12e3){break Da}g=2;if((f|0)<16e3){break Da}g=3;if((f|0)<2e4){break Da}g=4;if((f|0)<24e3){break Da}g=5;if((f|0)<32e3){break Da}g=6;if((f|0)<64e3){break Da}g=j[(o<<2)+50840>>2]+((f-64e3|0)/2|0)|0;break Ca}u=p(g,20);w=u+50720|0;g=j[w>>2];ca=u+50700|0;u=j[ca>>2];o=o<<2;g=(p(j[o+ca>>2],g-f|0)+p(j[o+w>>2],f-u|0)|0)/(g-u|0)|0}e=p(e,(t|0)==1104?g+300|0:g);j[W+64>>2]=(p((H|0)==2?(f|0)>11999?e-1e3|0:e:e,c)|0)/(l|0);break ya}if((o|0)!=1001){break ya}}e=(p(c,g)|0)/(l|0)|0;j[a+64>>2]=(e|0)>(w|0)?w:e}e=a+8|0;f=pa?ba:-1;if(Y){w=0;j[x+432>>2]=0;g=(l|0)/400|0;o=p((j[a+172>>2]-g|0)-j[a+116>>2]|0,A)<<2;u=(o+a|0)+14280|0;H=u;u=j[x+612>>2];nb(H,H,q(0),q(1),j[u+4>>2],g,A,j[u+60>>2],l);O(oa,0,o);l=j[a+172>>2];o=p(l,j[a+112>>2]);if((o|0)>=1){while(1){g=N+(w<<1)|0;y=q(n[((w<<2)+a|0)+14280>>2]*q(32768));y=y>q(-32768)?y:q(-32768);y=je(y>1]=u;w=w+1|0;if((o|0)!=(w|0)){continue}break}}Eb(ea,e,N,l,0,x+432|0,Y,f);j[a+72>>2]=0;A=j[a+112>>2]}l=p(c,A);if((l|0)>=1){o=p(A,aa);w=0;while(1){g=N+(w<<1)|0;y=q(n[F+(o+w<<2)>>2]*q(32768));y=y>q(-32768)?y:q(-32768);y=je(y>1]=u;w=w+1|0;if((l|0)!=(w|0)){continue}break}}Ga:{if(Eb(ea,e,N,c,x+440|0,x+620|0,0,f)){m=-3}else{e=j[a+80>>2];Ha:{Ia:{f=j[a+14224>>2];if((f|0)==1e3){if((e|0)==8e3){t=1101;break Ha}if((e|0)==16e3){break Ia}if((e|0)!=12e3){break Ha}t=1102;break Ha}if((e|0)==16e3){break Ha}L(50602,50583,1863);z()}t=1103}Ja:{if(j[a+96>>2]){e=j[a+18132>>2];j[a+72>>2]=!e;if(!j[x+620>>2]){break Ja}if(e){break Ga}j[a+14248>>2]=1;_=0;f=j[a+14192>>2];e=p(f,40)+20|0;g=(p(j[a+160>>2]+p(e,200-S|0)|0,3)|0)/3200|0;e=(e+((p((J<<3)-(e<<1)|0,240)|0)/((48e3/(S|0)|0)+240|0)|0)|0)/8|0;e=(e|0)>(g|0)?g:e;V=(e|0)>(f<<3|4)?(e|0)<257?e:257:0;R=(V|0)!=0;break Ga}j[a+72>>2]=0;if(j[x+620>>2]){break Ga}}w=0;j[a+18136>>2]=0;b=j[a+14192>>2];a=j[a+144>>2]/(c|0)|0;if((a|0)<=399){while(1){w=w+1|0;a=a<<1;if((a|0)<400){continue}break}w=w<<3}Ka:{La:{switch(f-1e3|0){case 0:a=w-16|(t<<5)+96&224;break Ka;case 2:a=(((t|0)>1102?t:1102)<<5)- -64&96|w|128;break Ka;default:break La}}a=w+240|t<<4|96}h[d|0]=a|((b|0)==2)<<2;m=1}break ka}g=m}e=x;f=t-1101|0;if(f>>>0<=3){f=j[(f<<2)+50860>>2]}else{f=21}j[e+384>>2]=f;P(E,10012,x+384|0);j[x+368>>2]=j[a+14192>>2];P(E,10008,x+368|0);j[x+352>>2]=-1;P(E,4002,x+352|0);Ma:{if(j[a+14224>>2]==1e3){w=j[a+112>>2];o=g-(((p(w,j[a+144>>2])|0)/400<<2)+15&-16)|0;I=o;break Ma}j[x+336>>2]=0;P(E,4006,x+336|0);j[x+320>>2]=!j[a+76>>2]<<1;P(E,10002,x+320|0);f=j[a+148>>2];e=j[a+14224>>2];Na:{Oa:{Pa:{if((e|0)==1001){if(!f){w=j[a+112>>2];A=j[a+144>>2];f=(p(w,A)|0)/400|0;o=g-((f<<2)+15&-16)|0;I=o;e=1001;break Na}j[x+256>>2]=j[a+160>>2]-j[a+36>>2];P(E,4002,x+256|0);j[x+240>>2]=0;P(E,4020,x+240|0);break Pa}if(!f){break Oa}j[x+304>>2]=1;P(E,4006,x+304|0);j[x+288>>2]=j[a+152>>2];P(E,4020,x+288|0);j[x+272>>2]=j[a+160>>2];P(E,4002,x+272|0)}e=j[K>>2]}w=j[a+112>>2];A=j[a+144>>2];f=(p(w,A)|0)/400|0;o=g-((f<<2)+15&-16)|0;I=o;if((e|0)==1e3){break Ma}}g=e;e=j[a+14228>>2];if((g|0)==(e|0)|(e|0)<1){break Ma}M(o,((p(j[a+172>>2]+(((A|0)/-400|0)-aa|0)|0,w)<<2)+a|0)+14280|0,f<<2)}e=j[a+172>>2];f=p(e-ma|0,w);Qa:{if((f|0)>=1){e=a+14280|0;f=f<<2;U(oa,e+(p(c,w)<<2)|0,f);M(e+f|0,F,p(w,ma)<<2);break Qa}M(oa,F+(p(ma-e|0,w)<<2)|0,p(e,w)<<2)}y=n[a+14204>>2];if(!(y>2];nb(F,F,y,C,j[e+4>>2],c,j[a+112>>2],j[e+60>>2],j[a+144>>2])}n[a+14204>>2]=C;f=j[a+14224>>2];if(!(j[a+14192>>2]!=1?(f|0)==1001:0)){e=a;g=16384;Ra:{if((D|0)>32e3){break Ra}g=0;if((D|0)<16e3){break Ra}g=16384-((65536e3-(D<<11)|0)/(D-14e3|0)|0)|0}j[e+92>>2]=g}Sa:{if(j[a+14256>>2]|j[a+112>>2]!=2){break Sa}l=i[a+14196>>1];g=j[a+92>>2];if((g|0)>16383?(l|0)>=16384:0){break Sa}y=q(q(1)-q(q(g|0)*q(6103515625e-14)));w=0;m=j[x+612>>2];u=48e3/j[a+144>>2]|0;e=j[m+4>>2]/(u|0)|0;if((e|0)>0){C=q(q(1)-q(q(l|0)*q(6103515625e-14)));l=j[m+60>>2];while(1){m=w<<3;A=m+F|0;B=n[A>>2];Z=B;G=n[l+(p(u,w)<<2)>>2];G=q(G*G);m=F+(m|4)|0;B=n[m>>2];G=q(q(q(y*G)+q(C*q(q(1)-G)))*q(q(Z-B)*q(.5)));n[A>>2]=Z-G;n[m>>2]=B+G;w=w+1|0;if((e|0)!=(w|0)){continue}break}w=e}if((c|0)>(w|0)){while(1){e=w<<3;l=e+F|0;B=n[l>>2];Z=B;e=F+(e|4)|0;B=n[e>>2];C=q(y*q(q(Z-B)*q(.5)));n[l>>2]=Z-C;n[e>>2]=B+C;w=w+1|0;if((w|0)!=(c|0)){continue}break}}i[a+14196>>1]=g}Ta:{Ua:{if((f|0)==1002|(s(j[x+468>>2])+(j[x+460>>2]+((f|0)==1001?5:-15)|0)|0)>$<<3){break Ua}if((f|0)==1001){T(x+440|0,R,12)}if(!R){break Ua}g=1;T(x+440|0,_,1);e=j[x+460>>2]+s(j[x+468>>2])|0;l=e-21|0;f=e-32|0;e=j[K>>2];f=$-(((e|0)==1001?l:f)+7>>3)|0;f=(f|0)<(V|0)?f:V;f=(f|0)>2?f:2;f=(f|0)<257?f:257;l=0;if((e|0)!=1001){break Ta}ga(x+440|0,f-2|0,256);break Ta}g=0;j[a+14248>>2]=0;l=1;f=0}D=j[K>>2];Va:{if((D|0)==1e3){e=j[x+468>>2];m=j[x+460>>2];$a(x+440|0);w=(m+s(e)|0)-25>>3;A=w;break Va}w=$-f|0;fa(x+440|0,w);A=0}Wa:{if(!(j[K>>2]!=1e3|g)){e=_;u=0;break Wa}j[x+224>>2]=x+544;P(E,10022,x+224|0);if(j[K>>2]==1001){j[x+432>>2]=j[a+100>>2];j[x+436>>2]=j[a+104>>2];j[x+208>>2]=x+432;P(E,10028,x+208|0)}e=_;u=0;if(!(g&e)){break Wa}j[x+192>>2]=0;P(E,10010,x+192|0);j[x+176>>2]=0;P(E,4006,x+176|0);j[x+160>>2]=-1;P(E,4002,x+160|0);m=-3;if((ia(E,F,j[a+144>>2]/200|0,w+X|0,f,0)|0)<0){break ka}j[x+144>>2]=x+616;P(E,4031,x+144|0);P(E,4028,0);e=1;u=1}j[x+128>>2]=(D|0)==1002?0:17;P(E,10010,x+128|0);m=j[K>>2];Xa:{if((m|0)==1e3){break Xa}D=m;m=j[a+14228>>2];if(!((D|0)==(m|0)|(m|0)<1)){P(E,4028,0);ia(E,o,j[a+144>>2]/400|0,x+432|0,2,0);j[x+112>>2]=0;P(E,10002,x+112|0)}if(((j[x+460>>2]+s(j[x+468>>2])|0)-32|0)>w<<3){break Xa}if(!(!j[a+148>>2]|(!u|j[K>>2]!=1001))){j[x+96>>2]=j[a+160>>2]-j[a+36>>2];P(E,4002,x+96|0)}j[x+80>>2]=j[a+148>>2];P(E,4006,x+80|0);A=ia(E,F,c,0,w,x+440|0);m=-3;if((A|0)<0){break ka}if(!j[a+148>>2]|(!u|j[K>>2]!=1001)){break Xa}U(A+X|0,w+X|0,f);w=f+w|0}Ya:{if(!(e|l)){e=j[a+144>>2];P(E,4028,0);j[x+64>>2]=0;P(E,10010,x- -64|0);j[x+48>>2]=0;P(E,10002,x+48|0);j[x+32>>2]=0;P(E,4006,x+32|0);j[x+16>>2]=-1;P(E,4002,x+16|0);if(j[a+14224>>2]==1001){fa(x+440|0,A);w=A}l=(e|0)/200|0;m=c-l|0;e=(e|0)/400|0;ia(E,F+(p(j[a+112>>2],m-e|0)<<2)|0,e,x+432|0,2,0);if((ia(E,F+(p(m,j[a+112>>2])<<2)|0,l,w+X|0,f,0)|0)<0){break Ya}j[x>>2]=x+616;P(E,4031,x)}m=j[a+14192>>2];l=j[a+14224>>2];w=0;e=j[a+144>>2]/(c|0)|0;if((e|0)<=399){while(1){w=w+1|0;e=e<<1;if((e|0)<400){continue}break}w=w<<3}e=d;Za:{_a:{switch(l-1e3|0){case 0:l=w-16|(t<<5)+96&224;break Za;case 2:l=(((t|0)>1102?t:1102)<<5)- -64&96|w|128;break Za;default:break _a}}l=w+240|t<<4|96}h[e|0]=l|((m|0)==2)<<2;m=j[x+468>>2];j[a+18136>>2]=m^j[x+616>>2];j[a+14228>>2]=ra?j[K>>2]:1002;j[a+14252>>2]=0;j[a+14236>>2]=c;l=j[a+14192>>2];j[a+14232>>2]=l;$a:{if(!(!j[a+184>>2]|!(j[x+544>>2]|ja))){if(!(qa^1|n[x+580>>2]>2];y=q(0);e=p(j[a+112>>2],c);if((e|0)>=1){w=0;while(1){C=y;y=n[(w<<2)+b>>2];y=q(C+q(y*y));w=w+1|0;if((e|0)!=(w|0)){continue}break}}ja=B>=q(q(y/q(e|0))*q(316.2300109863281))}ab:{if(ja){b=j[a+18124>>2];j[a+18124>>2]=b+1;if((b|0)<10){break $a}if((b|0)<30){break ab}j[a+18124>>2]=10;break $a}j[a+18124>>2]=0;break $a}w=0;j[a+18136>>2]=0;b=j[a+14224>>2];a=j[a+144>>2]/(c|0)|0;if((a|0)<=399){while(1){w=w+1|0;a=a<<1;if((a|0)<400){continue}break}w=w<<3}bb:{cb:{switch(b-1e3|0){case 0:a=w-16|(t<<5)+96&224;break bb;case 2:a=(((t|0)>1102?t:1102)<<5)- -64&96|w|128;break bb;default:break cb}}a=w+240|t<<4|96}h[d|0]=a|((l|0)==2)<<2;m=1;break ka}j[a+18124>>2]=0}db:{if(((j[x+460>>2]+s(m)|0)-32|0)>$<<3){h[X|0]=0;j[a+18136>>2]=0;A=1;break db}if(j[K>>2]!=1e3|g|(A|0)<3){break db}while(1){if(k[d+A|0]){break db}b=(A|0)>3;A=A-1|0;if(b){continue}break}A=2}b=(f+A|0)+1|0;eb:{if(j[a+148>>2]){J=b;break eb}m=-3;if(pb(d,b,J)){break ka}}m=J;break ka}m=-3}w=m}I=x+624|0;return w}function ia(a,b,c,d,e,f){var g=q(0),m=q(0),o=0,w=q(0),x=q(0),y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,P=0,Q=0,R=0,S=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,ha=0,ia=0,ja=0,ka=0,la=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=q(0),Ba=0,Ca=0,Ea=0,Fa=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=q(0),Oa=0,Pa=0,Qa=q(0),Ra=q(0),Sa=q(0),Ta=0,Ua=q(0),Va=q(0);F=I-192|0;I=F;D=j[a+8>>2];Z=j[a+4>>2];j[F+28>>2]=15;j[F+24>>2]=0;j[F+20>>2]=0;j[F+16>>2]=0;j[F+4>>2]=0;E=j[a+36>>2];J=j[a+32>>2];H=j[a>>2];P=j[H+32>>2];ia=j[H+4>>2];_=j[H+8>>2];j[F+12>>2]=0;C=-1;a:{if(!b|(e|0)<2){break a}o=j[H+36>>2];if((o|0)<0){break a}ca=p(j[a+28>>2],c);c=j[H+44>>2];while(1){if(c<(G|0);G=G+1|0;if(y){continue}break a}break}b:{if(!f){va=1;o=1;B=0;break b}va=V(f);c=j[f+20>>2]+s(j[f+28>>2])|0;o=c-32|0;B=c-28>>3}c:{d:{if(!j[a+48>>2]){aa=ia+1024|0;Q=(e|0)<1275?e:1275;A=Q-B|0;c=j[a+40>>2];e:{if(j[a+44>>2]){if((c|0)==-1){break d}e=j[H>>2];ka=(p(c,ca)+(e>>4)|0)/(e>>3)|0;y=ka>>6;break e}if((c|0)==-1){break d}e=j[H>>2];e=((p(c,ca)+((o|0)>1?o:0)|0)+(e<<2)|0)/(e<<3)|0;e=(e|0)>(Q|0)?Q:e;Q=(e|0)>2?e:2;y=Q-B|0}C=c;break c}L(42472,42508,1547);z()}y=A}if(!f){ab(F+32|0,d,Q);f=F+32|0}e=a+244|0;d=p(Z,aa)<<2;wa=p(Z,_);oa=3-G|0;da=p(Q,400)>>oa;f:{if(!j[a+52>>2]|(ka|0)<1){break f}c=((o|0)==1)<<1;aa=(ka<<1)-j[a+208>>2]>>6;c=(c|0)>(aa|0)?c:aa;if((c|0)>=(A|0)){break f}Q=c+B|0;fa(f,Q);A=c}ba=d+e|0;pa=wa<<2;aa=(C|0)>(da|0);Ba=p(D,40);ua=400>>>G|0;R=j[H+12>>2];qa=ca+ia|0;$=F-((p(qa,Z)<<2)+15&-16)|0;S=$;I=$;x=n[a+224>>2];U=j[a+28>>2];d=(p(ca-ia|0,D)|0)/(U|0)|0;g:{h:{if((d|0)>=1){c=0;while(1){w=n[(c<<2)+b>>2];g=gw?m:w;c=c+1|0;if((d|0)!=(c|0)){continue}break}g=q(-g);if((g>2];g=gx?m:x;c=c+1|0;if((d|0)!=(c|0)){continue}break}break h}if(x>q(0)){break g}}g=q(-g);x=g>2];g=gw?m:w;c=c+1|0;if((C|0)!=(c|0)){continue}break}}c=K<<2;d=(E|0)>(R|0);K=Q<<3;g=q(-g);g=g>2]=g;g=g>2]));T(f,o,15);if(o^1){o=1;break j}Y=1;k:{if((ka|0)<1){o=K;break k}A=2;o=B+2|0;y=(o|0)>(Q|0)?Q:o;fa(f,y);Q=y;o=y<<3;K=o}j[f+20>>2]=(o-s(j[f+28>>2])|0)+32;xa=0}e=c+e|0;aa=1<1?Z:1;d=H+16|0;C=$+(ia<<2)|0;c=0;while(1){B=c<<2;cd(B+b|0,C+(p(c,qa)<<2)|0,ca,Z,j[a+28>>2],d,(a+B|0)+192|0,j[a+16>>2]!=0&g>q(65536));c=c+1|0;if((Ma|0)!=(c|0)){continue}break}c=0;if(!(j[a+20>>2]|(!(j[a+64>>2]!=0&(A|0)>3|(p(D,12)|0)<(A|0))|(J|Y)))){c=j[a+24>>2]>4}Ka=j[a+100>>2];sa=a+120|0;ya=bd(a,$,e,Z,ca,Ka,F+28|0,F+24|0,F+80|0,c,A,sa);Na=n[F+24>>2];l:{if(!(Na>q(.4000000059604645))){b=0;if(n[a+108>>2]>q(.4000000059604645)^1){break l}}if(j[sa>>2]){b=0;if(+n[a+124>>2]>.3^1){break l}}Ea=+j[F+28>>2];Fa=+j[a+104>>2];b=Ea>Fa*1.26|Ea(K|0)|J){break m}T(f,0,1);break m}T(f,1,1);b=j[F+28>>2];c=b+1|0;d=s(c);e=27-d|0;ga(f,e,6);W(f,c+(-16<>2]=b;W(f,j[F+80>>2],3);N(f,Ka,42528,2)}Ha=1;U=0;if(!(j[a+64>>2]|j[a+24>>2]<1)){c=0;U=ad($,qa,Z,F+12|0,F+16|0,!J|(y|0)>14?c:j[a+184>>2]!=2,F+4|0)}b=H;n:{o:{if(!(!G|((j[f+20>>2]+s(j[f+28>>2])|0)-29|0)>(K|0))){if(U){break o}Ha=0}o=S-((p(Z,ca)<<2)+15&-16)|0;I=o;c=(wa<<2)+15&-16;ea=o-c|0;d=ea;I=d;e=d-c|0;c=e;I=c;ha=p(D,_);Y=c-((ha<<2)+15&-16)|0;C=Y;I=C;Ja=1;U=0;ia=0;break n}o=S-((p(Z,ca)<<2)+15&-16)|0;I=o;c=(wa<<2)+15&-16;ea=o-c|0;d=ea;I=d;e=d-c|0;c=e;I=c;ha=p(D,_);Y=c-((ha<<2)+15&-16)|0;C=Y;I=C;p:{if(j[a+24>>2]<8){Ha=0;break p}Ha=0;Da(H,0,$,o,D,Z,G,j[a+28>>2]);Ga(H,o,ea,X,D,G);Ia(H,X,E,ea,Y,D);Ca=1;if((ha|0)<1){break p}g=q(q(G|0)*q(.5));c=0;while(1){d=(c<<2)+Y|0;n[d>>2]=g+n[d>>2];c=c+1|0;if((ha|0)!=(c|0)){continue}break}}ia=aa}Da(b,ia,$,o,D,Z,G,j[a+28>>2]);q:{r:{g=n[o>>2];if(g==g){if((D|0)==1){break r}g=n[(ca<<2)+o>>2];qa=0;if(g==g){break q}}L(42531,42508,1729);z()}qa=0;if((Z|0)!=2){break q}j[F+16>>2]=0;qa=1}Ga(H,o,ea,X,D,G);if(!(!j[a+64>>2]|(E|0)<3)){c=2;while(1){b=(c<<2)+ea|0;g=n[b>>2];m=q(n[ea>>2]*q(9999999747378752e-20));g=g>2]=g>q(1.0000000036274937e-15)?g:q(1.0000000036274937e-15);c=c+1|0;if((E|0)!=(c|0)){continue}break}}Ia(H,X,E,ea,e,D);b=C-((ha<<2)+15&-16)|0;za=b;I=b;Oa=E<<2;la=O(b,0,Oa);g=q(0);s:{t:{if(J){break t}na=j[a+236>>2];g=q(0);if(!na){break t}b=j[a+64>>2];if(b){break s}u:{v:{w:{if((D|0)<1){break w}b=j[a+92>>2];S=(b|0)>2?b:2;b=l[P>>1];B=0;d=0;m=q(0);g=q(0);while(1){Ta=p(B,_);C=b;c=0;while(1){x=n[na+(c+Ta<<2)>>2];ja=xq(-2);m=Pa?q(.25):q(-2);m=Pa?ja?x:m:m;x=m>q(0)?q(m*q(.5)):m;m=q(Aa+q(x*q((c<<1|1)-S|0)));ja=C<<16;c=c+1|0;C=i[P+(c<<1)>>1];ja=C-(ja>>16)|0;g=q(g+q(x*q(ja|0)));d=d+ja|0;if((c|0)!=(S|0)){continue}break}B=B+1|0;if((B|0)!=(D|0)){continue}break}c=0;if((d|0)<=0){break w}m=q(q(q(m*q(6))/q(p(S+1|0,p(S-1|0,p(D,S)))|0))*q(.5));m=m>1]/2<<16>>16;while(1){b=c;c=c+1|0;if((d|0)>i[P+(c<<1)>>1]){continue}break}x=m>q(-.03099999949336052)?m:q(-.03099999949336052);g=q(g+q(.20000000298023224));c=0;d=0;while(1){C=c<<2;w=n[C+na>>2];if((D|0)==2){m=n[na+(c+_<<2)>>2];w=mq(.25)^1)){n[C+la>>2]=m+q(-.25);d=d+1|0}c=c+1|0;if((S|0)!=(c|0)){continue}break}if((d|0)<3){break u}m=q(g+q(.25));g=q(0);if(!(m>q(0)^1)){break v}c=0;while(1){b=la+(c<<2)|0;n[b>>2]=u(q(n[b>>2]+q(-.25)),q(0));c=c+1|0;if((S|0)!=(c|0)){continue}break}g=m;break u}L(42604,42508,1770);z()}O(la,0,S<<2);x=q(0)}Ua=q(g+q(.20000000298023224));g=q(x*q(64))}Aa=g;b=j[a+64>>2];if(b){break s}m=q(0);if((E|0)>(J|0)){g=Ja?q(0):q(q(G|0)*q(.5));w=q(-10);c=J;while(1){x=q(w+q(-1));w=q(n[(c<<2)+e>>2]-g);w=w>2]-g);w=w>x?w:x}m=q(m+w);c=c+1|0;if((E|0)!=(c|0)){continue}break}}g=n[a+240>>2];Qa=q(t(q(u(q(q(m/q(E-J|0))-g),q(-1.5))),q(3)));n[a+240>>2]=g+q(Qa*q(.019999999552965164));b=0}if(!Ca){M(Y,e,ha<<2)}c=pa;pa=ba+pa|0;ja=c+pa|0;Ja=c+ja|0;c=ta?da:ra;ra=Ba+20|0;da=c-p(ra,ua-50|0)|0;x:{if(!G){break x}c=(j[f+20>>2]+s(j[f+28>>2])|0)-29|0;y:{if((K|0)<(c|0)|U){break y}U=0;if(b|J|j[a+24>>2]<5){break y}c=1;w=n[ba>>2];z:{A:{if((D|0)==1){n[F+80>>2]=w;if((E|0)<2){break z}while(1){g=q(w+q(-1));b=c<<2;m=n[b+ba>>2];w=g>m?g:m;n[b+(F+80|0)>>2]=w;c=c+1|0;if((E|0)!=(c|0)){continue}break}break A}g=n[(_<<2)+ba>>2];w=g>2]=w;if((E|0)<2){break z}while(1){g=q(w+q(-1));b=c<<2;m=n[b+ba>>2];x=n[(c+_<<2)+ba>>2];m=m>x?m:x;w=g>m?g:m;n[b+(F+80|0)>>2]=w;c=c+1|0;if((E|0)!=(c|0)){continue}break}}if((E|0)<2){break z}c=E-2|0;while(1){b=(F+80|0)+(c<<2)|0;g=n[b>>2];m=q(n[b+4>>2]+q(-1));n[b>>2]=g>m?g:m;b=(c|0)>0;c=c-1|0;if(b){continue}break}}b=(D|0)>1?D:1;C=E-1|0;d=0;B=(E|0)<4;w=q(0);while(1){if(!B){U=p(d,_);c=2;while(1){w=q(w+q(u(q(q(u(n[(c+U<<2)+e>>2],q(0)))-q(u(n[(F+80|0)+(c<<2)>>2],q(0)))),q(0))));c=c+1|0;if((C|0)!=(c|0)){continue}break}}d=d+1|0;if((b|0)!=(d|0)){continue}break}U=0;if(!(q(w/q(p(E-3|0,D)|0))>q(1)^1)){Da(H,aa,$,o,D,Z,G,j[a+28>>2]);Ga(H,o,ea,X,D,G);Ia(H,X,E,ea,e,D);if((ha|0)>=1){g=q(q(G|0)*q(.5));c=0;while(1){b=(c<<2)+Y|0;n[b>>2]=g+n[b>>2];c=c+1|0;if((ha|0)!=(c|0)){continue}break}}j[F+12>>2]=1045220557;U=1;ia=aa}c=(j[f+20>>2]+s(j[f+28>>2])|0)-29|0}if((c|0)>(K|0)){break x}T(f,U,3)}$=za-((p(D,ca)<<2)+15&-16)|0;b=$;I=b;ld(H,o,b,ea,X,D,aa);C=0;if(!((p(D,15)|0)>(y|0)|J|j[a+24>>2]<2)){C=!j[a+64>>2]}c=b;b=(_<<2)+15&-16;Z=c-b|0;c=Z;I=c;c=c-b|0;I=c;ta=c-b|0;d=ta;I=d;Va=_c(e,Y,_,J,E,D,Z,j[a+60>>2],j[H+56>>2],U,j[a+44>>2],j[a+52>>2],P,G,y,F+8|0,j[a+64>>2],la,sa,c,d);Y=d-b|0;d=Y;I=d;B:{if(C){b=20480/(y|0)|0;b=Zc(H,X,U,Y,(b|0)<78?80:b+2|0,$,ca,G,n[F+12>>2],j[F+16>>2],c);if((E|0)<=(R|0)){break B}c=(Y+(X<<2)|0)-4|0;while(1){j[Y+(R<<2)>>2]=j[c>>2];R=R+1|0;if((R|0)!=(E|0)){continue}break}break B}if(!(!J|!j[F+4>>2])){b=0;if((E|0)<1){break B}c=0;while(1){j[Y+(c<<2)>>2]=1;c=c+1|0;if((E|0)!=(c|0)){continue}break}break B}if(!(!J|(y|0)>14|j[a+184>>2]==2)){b=U;if((E|0)<1){break B}O(Y,0,Oa);break B}b=0;if((E|0)<1){break B}c=0;while(1){j[Y+(c<<2)>>2]=U;c=c+1|0;if((E|0)!=(c|0)){continue}break}}Ba=(D|0)>1?D:1;la=d-((ha<<2)+15&-16)|0;Ca=la;I=la;o=0;while(1){na=(E|0)<=(J|0);if(!na){C=p(o,_);c=J;while(1){d=c+C<<2;B=d+e|0;g=n[B>>2];if(!(q(r(q(g-n[d+ba>>2])))>2]=g+q(n[d+Ja>>2]*q(-.25))}c=c+1|0;if((E|0)!=(c|0)){continue}break}}o=o+1|0;if((Ba|0)!=(o|0)){continue}break}zd(H,J,E,X,e,ba,K,la,f,D,G,A,j[a+12>>2],a+84|0,j[a+24>>2]>3,j[a+56>>2],j[a+64>>2]);R=0;o=j[f+4>>2]<<3;C=(j[f+20>>2]+s(j[f+28>>2])|0)-32|0;d=U?2:4;S=(G|0)!=0&o>>>0>=C+(d|1)>>>0;B=0;C:{if(na){break C}c=Y+(J<<2)|0;za=o-S|0;D:{if(za>>>0>=d+C>>>0){T(f,j[c>>2],d);C=(j[f+20>>2]+s(j[f+28>>2])|0)-32|0;B=j[c>>2];break D}j[c>>2]=0;B=0}c=J+1|0;if((E|0)==(c|0)){break C}ua=U?4:5;o=B;while(1){d=Y+(c<<2)|0;E:{if(za>>>0>=C+ua>>>0){T(f,j[d>>2]^o,ua);o=j[d>>2];B=B|o;C=(j[f+20>>2]+s(j[f+28>>2])|0)-32|0;break E}j[d>>2]=o}c=c+1|0;if((E|0)!=(c|0)){continue}break}}F:{if(!S){break F}d=(G<<3)+1744|0;c=U<<2;if(k[d+(c+B|0)|0]==k[d+((c|2)+B|0)|0]){break F}T(f,b,1);R=b<<1}if(!na){b=(U<<2)+R|0;d=G<<3;c=J;while(1){o=Y+(c<<2)|0;j[o>>2]=h[(d+(b+j[o>>2]|0)|0)+1744|0];c=c+1|0;if((E|0)!=(c|0)){continue}break}}d=a+100|0;if(((j[f+20>>2]+s(j[f+28>>2])|0)-28|0)<=(K|0)){G:{if(j[a+64>>2]){c=2;j[a+80>>2]=2;j[a+100>>2]=0;break G}b=a;H:{I:{J:{if(J){if(!j[a+24>>2]){break I}if(U){break J}c=3;break H}c=j[a+24>>2];if(!((c|0)>2?!((p(D,10)|0)>(A|0)|ia):0)){if(!c){break I}break J}c=jd(H,$,a+88|0,j[a+80>>2],a+96|0,d,(ya|0)!=0,X,D,aa,ta);break H}c=2;break H}c=0}j[b+80>>2]=c}N(f,c,42630,5)}if(j[a+64>>2]){j[Z>>2]=(y|0)>26?8:(y|0)/3|0}aa=Ca-((_<<2)+15&-16)|0;ya=aa;I=aa;rc(H,aa,G,D);K=K<<3;d=0;C=V(f);if(!na){A=6;y=J;while(1){c=y;y=c+1|0;o=c<<2;B=o+Z|0;b=0;K:{if(((A<<3)+C|0)>=(K-d|0)){break K}L:{R=o+aa|0;if(j[R>>2]<=0){o=0;break L}c=p(i[P+(y<<1)>>1]-i[P+(c<<1)>>1]|0,D)<48?c:48;X=(c|0)>(o|0)?o:c;o=A;c=0;while(1){S=j[B>>2];T(f,(S|0)>(c|0),o);C=V(f);if((c|0)>=(S|0)){o=c;break L}b=b+X|0;d=d+X|0;if((C+8|0)<(K-d|0)){o=1;c=c+1|0;if(j[R>>2]<=(b|0)){break L}continue}break}A=(A|0)>2?A-1|0:2;break K}if(!o){break K}A=(A|0)>2?A-1|0:2}j[B>>2]=b;if((E|0)!=(y|0)){continue}break}}if((D|0)==2){if(G){b=j[H+32>>2];B=l[b>>1];g=q(1.0000000036274937e-15);o=0;x=q(1.0000000036274937e-15);while(1){c=B<<16>>16<>1];y=B<>2];w=n[$+(c+ca<<2)>>2];x=q(x+q(q(r(q(m+w)))+q(r(q(m-w)))));g=q(g+q(q(r(m))+q(r(w))));c=c+1|0;if((y|0)!=(c|0)){continue}break}}if((o|0)!=13){continue}break}b=i[b+26>>1]<>2]=q(q(x*q(.7071070075035095))*q(b+(G>>>0<2?5:13)|0))>q(g*q(b|0))}b=md(q((da|0)/1e3|0),j[a+232>>2]);b=(b|0)<(J|0)?J:b;j[a+232>>2]=(b|0)>(E|0)?E:b}o=5;if((C+48|0)<=(K-d|0)){y=f;M:{if(!(j[a+64>>2]?0:(J|0)<=0)){j[a+228>>2]=0;o=5;break M}C=j[a+232>>2];Ra=n[F+12>>2];g=q(4);N:{if((da|0)<64e3){break N}g=q(5);if((da|0)>79999){break N}g=q(q(q(da-64e3>>10)*q(.0625))+q(4))}if((D|0)==2){o=j[H+32>>2];A=l[o>>1];m=q(0);b=0;while(1){c=A<<16;w=q(0);b=b+1|0;A=i[o+(b<<1)>>1];c=c>>16;B=A-c<=1){c=c<>2]*n[X+R>>2]));c=c+1|0;if((B|0)!=(c|0)){continue}break}}m=q(m+w);if((b|0)!=8){continue}break}x=q(t(q(r(q(m*q(.125)))),q(1)));m=x;if((C|0)>=9){A=l[o+16>>1];b=8;m=x;while(1){c=A<<16;w=q(0);b=b+1|0;A=i[o+(b<<1)>>1];c=c>>16;B=A-c<=1){c=c<>2]*n[X+R>>2]));c=c+1|0;if((B|0)!=(c|0)){continue}break}}w=q(r(w));m=m>2]+q(.25));x=q(Fa*1.4426950408889634);w=q(x*q(.5));Sa=q(Ea*1.4426950408889634);w=q((w>Sa?w:Sa)*q(-.5));n[a+228>>2]=m=2){A=p(j[H+8>>2],B);c=0;while(1){w=q(w+q(n[(c+A<<2)+e>>2]*q(o+(c<<1)|0)));c=c+1|0;if((b|0)!=(c|0)){continue}break}}B=B+1|0;if((Ba|0)!=(B|0)){continue}break}x=g;g=q(q(q(w/q(p(b,D)|0))+q(1))/q(6));b=g>q(2);c=g>2]){x=g;g=q(n[a+128>>2]+q(.05000000074505806));g=q(g+g);b=g>q(2);c=g0?b:0}N(y,o,42820,7);C=V(f)}if((ka|0)>=1){c=j[H+36>>2];if(J){b=(p(D,-72)+ka|0)-32|0;b=(b|0)>0?b:0}else{b=ka-(ra<<3)|0}X=c-G|0;R=j[a+52>>2];b=R?(j[a+216>>2]>>X)+b|0:b;c=1275>>>oa|0;Q=(c|0)>(Q|0)?Q:c;ta=Q;P:{Q:{R:{if(!J){K=j[H+32>>2];c=j[a+92>>2];oa=j[H+8>>2];y=c?c:oa;A=i[K+(y<<1)>>1]<>2];P=j[a+64>>2];g=n[a+228>>2];B=j[a+232>>2];m=n[F+12>>2];va=j[F+8>>2];A=(D|0)==2?(i[K+(((B|0)<(y|0)?B:y)<<1)>>1]<>2];c=b;S:{if(!ra){break S}x=n[a+136>>2];c=b;if(+x<.4^1){break S}c=b;x=q(q(q(.4000000059604645)-x)*q(A<<3));T:{if(q(r(x))>1]<Aa?Aa:g;U:{if(q(r(g))>2]+q(-.15000000596046448));x=q(q(g*q(1.2000000476837158))*(x>2;P=e;g=q(Va*q(p(i[(K+(oa<<1)|0)-4>>1]<(e|0)?P:c;if(!(!R|B^1)){g=q(q(e-b|0)*q(.6700000166893005));_:{if(q(r(g))>2];c=(c+((b|0)<100?96>>>oa|0:0)|0)-((b|0)>100?144>>>oa|0:0)|0;g=n[F+12>>2];m=q(q(g+q(-.25))*q(400));$:{if(q(r(m))q(.699999988079071)?(b|0)>400?b:400:b;b=((d+C|0)+63>>6)+2|0;c=(d+va|0)+359>>6;b=(b|0)>(c|0)?b:c;break P}c=e- -2147483648|0}e=c;b=b<<1;e=(b|0)<(e|0)?b:e;b=((d+C|0)+63>>6)+2|0}e=e+C|0;c=e+32>>6;b=(b|0)>(c|0)?b:c;c=(b|0)>(Q|0)?ta:b;w=q(.0010000000474974513);b=j[a+220>>2];if((b|0)<=969){j[a+220>>2]=b+1;w=q(q(1)/q(b+21|0))}b=xa?c:2;aa:{if(!R){break aa}d=j[a+208>>2]+((xa?c<<6:128)-ka|0)|0;j[a+208>>2]=d;c=a;C=c;y=j[c+212>>2];g=q(w*q((((xa?e-ka|0:0)<>2]|0)-y|0));ba:{if(q(r(g))>2]=c;j[a+216>>2]=0-c;if((d|0)>-1){break aa}j[a+208>>2]=0;b=(xa?(d|0)/-64|0:0)+b|0}Q=(b|0)>(Q|0)?Q:b;fa(f,Q)}c=(_<<2)+15&-16;b=ya-c|0;I=b;e=b-c|0;d=e;I=d;c=d-c|0;oa=c;I=c;B=0;y=H;C=J;A=E;R=a+232|0;X=F+20|0;ua=Q<<6;K=ua+(V(f)^-1)|0;S=K;d=0;ca:{if(G>>>0<2){break ca}d=0;if(!U){break ca}B=(K|0)>=((G<<3)+16|0);d=B<<3}K=d;ka=S-K|0;ra=F+80|0;d=e;S=b;ta=c;ya=D;za=G;Ca=f;va=j[a+92>>2];if(j[sa>>2]){sa=j[a+152>>2];La=sa;P=13;da:{if((da|0)<(p(D,32e3)|0)){break da}P=16;if((da|0)<(p(D,48e3)|0)){break da}P=18;if((da|0)<(p(D,6e4)|0)){break da}P=(da|0)<(p(D,8e4)|0)?19:20}P=(P|0)<(sa|0)?La:P}else{P=E-1|0}y=gd(y,C,A,Z,aa,o,R,X,ka,ra,d,S,ta,ya,za,Ca,va,j[a+64>>2]?1:P);d=y;o=a;A=j[a+92>>2];if(A){d=A+1|0;A=A-1|0;A=(A|0)>(y|0)?A:y;d=(d|0)<(A|0)?d:A}j[o+92>>2]=d;xd(H,J,E,ba,la,b,f,D);o=0;d=oa-(ha+15&-16)|0;I=d;id(H,J,E,$,(D|0)==2?$+(ca<<2)|0:0,d,ea,e,ia,j[a+80>>2],j[F+20>>2],j[a+232>>2],Y,ua-K|0,j[F+80>>2],f,G,y,a+76|0,j[a+24>>2],j[a+72>>2],j[a+68>>2]);if(B){W(f,j[a+116>>2]<2,1)}wd(H,J,E,ba,la,b,c,(((Q<<3)-j[f+20>>2]|0)-s(j[f+28>>2])|0)+32|0,f,D);b=wa<<2;e=O(Ja,0,b);while(1){if(!na){y=p(o,_);c=J;while(1){A=c+y<<2;g=n[A+la>>2];d=g>q(.5);C=e+A|0;A=(d?q(.5):g)>2]=d?m:A?m:g;c=c+1|0;if((E|0)!=(c|0)){continue}break}}o=o+1|0;if((Ba|0)!=(o|0)){continue}break}if(!(!(xa^1)|(ha|0)<1)){c=0;while(1){j[(c<<2)+ba>>2]=-1042284544;c=c+1|0;if((ha|0)!=(c|0)){continue}break}}c=j[F+28>>2];j[a+112>>2]=Ka;n[a+108>>2]=Na;j[a+104>>2]=c;if(qa){c=_<<2;M(c+ba|0,ba,c)}ea:{if(U){c=0;if((wa|0)<=0){break ea}while(1){b=c<<2;d=b+pa|0;g=n[d>>2];m=n[b+ba>>2];n[d>>2]=g>2]=0;j[b+ja>>2]=-1042284544;j[b+pa>>2]=-1042284544;c=c+1|0;if((J|0)!=(c|0)){continue}break}}if((E|0)<(_|0)){o=p(e,_);c=E;while(1){b=c+o<<2;j[b+ba>>2]=0;j[b+ja>>2]=-1042284544;j[b+pa>>2]=-1042284544;c=c+1|0;if((_|0)!=(c|0)){continue}break}}e=e+1|0;if((Ma|0)!=(e|0)){continue}break}j[a+116>>2]=!U&(Ha^-1)?0:j[a+116>>2]+1|0;j[a+76>>2]=j[f+28>>2];$a(f);C=j[f+44>>2]?-3:Q}I=F+192|0;return C}function Wc(a,b,c,d,e,f,g,i,k,l,m){var o=q(0),s=0,w=q(0),x=q(0),z=0,A=q(0),B=q(0),C=q(0),D=q(0),E=q(0),F=0,G=0,H=q(0),J=0,K=q(0),L=0,N=0,O=q(0),P=q(0),Q=q(0),R=q(0),S=q(0),T=0,U=q(0),V=q(0),W=q(0),X=q(0),Y=q(0),Z=q(0),_=0,$=q(0),aa=q(0),ba=q(0),ca=q(0),da=q(0),ea=q(0),fa=q(0),ga=q(0),ha=q(0),ia=0,ja=0,ka=q(0),la=q(0),na=0,pa=0,qa=0,ra=q(0),sa=q(0),ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=q(0),Ba=q(0),Ca=q(0),Da=q(0),Ea=q(0),Fa=0,Ga=0,Ha=q(0),Ia=q(0);s=I-11360|0;I=s;if(c){z=(p(i,95)|0)/50|0;d=d&-2;va=(d|0)>(z|0)?z:d;ia=j[a+7440>>2];ja=va-ia|0;if((ja|0)>=1){wa=a+7464|0;Fa=a+3852|0;Ga=a+4812|0;xa=a+7592|0;na=a+2892|0;qa=(i|0)/50|0;o=q(q(.0005699999746866524)/q(1<<((k|0)>8?k:8)-8));ra=q(o*o);Ha=q(ra*q(3));while(1){if(!j[a+7460>>2]){j[a+7460>>2]=1;j[a+5772>>2]=240}z=(ja|0)>(qa|0)?qa:ja;pa=j[a+7436>>2];i=j[a+8>>2];a:{if((i|0)!=16e3){d=ia;if((i|0)!=48e3){break a}z=(z|0)/2|0;d=(ia|0)/2|0;break a}z=(p(z,3)|0)/2|0;d=(p(ia,3)|0)/2|0}G=j[b+72>>2];J=j[a+5772>>2];F=720-J|0;Z=q(tb(l,c,((J<<2)+a|0)+2892|0,xa,(z|0)<(F|0)?z:F,d,f,g,i)+n[a+7456>>2]);n[a+7456>>2]=Z;i=j[a+5772>>2]+z|0;b:{if((i|0)<=719){j[a+5772>>2]=i;break b}ta=pa+1|0;fa=q(q(1)/q(((pa|0)<100?ta:100)|0));F=j[a+7444>>2];j[a+7444>>2]=((F|0)>98?-99:1)+F;L=Nc(na,k);i=0;while(1){J=(s+5760|0)+(i<<3)|0;N=i<<2;o=n[N+48944>>2];N=N+na|0;n[J>>2]=o*n[N>>2];n[J+4>>2]=o*n[N+960>>2];J=479-i|0;N=(s+5760|0)+(J<<3)|0;n[N>>2]=o*n[(J<<2)+na>>2];n[N+4>>2]=o*n[(719-i<<2)+na>>2];i=i+1|0;if((i|0)!=240){continue}break}M(na,Ga,960);i=j[a+5772>>2];z=i+z|0;o=tb(l,c,Fa,xa,z-720|0,(d-i|0)+720|0,f,g,j[a+8>>2]);j[a+5772>>2]=z-480;n[a+7456>>2]=o;N=(F<<6)+a|0;J=N+7604|0;if(L){d=j[a+7444>>2];d=(((d|0)<2?98:-2)+d<<6)+a|0;i=d+7660|0;z=j[i+4>>2];j[J+56>>2]=j[i>>2];j[J+60>>2]=z;i=d+7652|0;z=j[i+4>>2];j[J+48>>2]=j[i>>2];j[J+52>>2]=z;i=d+7644|0;z=j[i+4>>2];j[J+40>>2]=j[i>>2];j[J+44>>2]=z;i=d+7636|0;z=j[i+4>>2];j[J+32>>2]=j[i>>2];j[J+36>>2]=z;i=d+7628|0;z=j[i+4>>2];j[J+24>>2]=j[i>>2];j[J+28>>2]=z;i=d+7620|0;z=j[i+4>>2];j[J+16>>2]=j[i>>2];j[J+20>>2]=z;i=d+7612|0;z=j[i+4>>2];j[J+8>>2]=j[i>>2];j[J+12>>2]=z;d=d+7604|0;i=j[d+4>>2];j[J>>2]=j[d>>2];j[J+4>>2]=i;break b}fd(G,s+5760|0,s+1920|0);i=1;K=n[s+1920>>2];if(K!=K){j[J>>2]=0;break b}while(1){d=((0-i<<3)+s|0)+5760|0;o=n[d>>2];z=(s+1920|0)+(i<<3)|0;x=n[z>>2];D=q(o-x);A=n[z+4>>2];P=n[d+4>>2];E=q(A+P);w=q(0);F=i<<2;z=F+a|0;L=z;O=q(x+o);o=q(O*O);A=q(A-P);x=q(A*A);C=q(0);c:{if(q(o+x)>2]);o=q(O-n[z+972>>2]);x=q(D*D);A=q(E*E);d:{if(q(x+A)A^1)){w=q((D>2]=q(r(w))+q(r(o));d=z+1932|0;D=n[d>>2];o=q(o*o);o=q(o*o);n[F+(s+1e4|0)>>2]=q(q(1)/q(q(o*q(62341.81640625))+q(1)))+q(-.014999999664723873);w=q(w*w);n[F+(s+960|0)>>2]=q(q(1)/q(q(q(q(q(D+q(w*w))+q(o+o))*q(.25))*q(62341.81640625))+q(1)))+q(-.014999999664723873);n[L+12>>2]=x;n[z+972>>2]=A;n[d>>2]=o;i=i+1|0;if((i|0)!=240){continue}break}i=2;o=n[s+10008>>2];while(1){d=i<<2;z=d+(s+960|0)|0;x=n[z>>2];A=n[(d+s|0)+9996>>2];i=i+1|0;w=n[(s+1e4|0)+(i<<2)>>2];A=w>2]=(o>2]=0;_=j[a+7436>>2];if(!_){j[a+7008>>2]=1343554297;j[a+7012>>2]=1343554297;j[a+7080>>2]=-803929351;j[a+7084>>2]=-803929351;j[a+7088>>2]=-803929351;j[a+7092>>2]=-803929351;j[a+7016>>2]=1343554297;j[a+7020>>2]=1343554297;j[a+7096>>2]=-803929351;j[a+7100>>2]=-803929351;j[a+7024>>2]=1343554297;j[a+7028>>2]=1343554297;j[a+7104>>2]=-803929351;j[a+7108>>2]=-803929351;j[a+7032>>2]=1343554297;j[a+7036>>2]=1343554297;j[a+7112>>2]=-803929351;j[a+7116>>2]=-803929351;j[a+7040>>2]=1343554297;j[a+7044>>2]=1343554297;j[a+7048>>2]=1343554297;j[a+7052>>2]=1343554297;j[a+7120>>2]=-803929351;j[a+7124>>2]=-803929351;j[a+7056>>2]=1343554297;j[a+7060>>2]=1343554297;j[a+7136>>2]=-803929351;j[a+7140>>2]=-803929351;j[a+7128>>2]=-803929351;j[a+7132>>2]=-803929351;j[a+7064>>2]=1343554297;j[a+7068>>2]=1343554297;j[a+7072>>2]=1343554297;j[a+7144>>2]=-803929351;j[a+7148>>2]=-803929351;j[a+7076>>2]=1343554297}o=q(K+K);w=q(o*o);o=n[s+1924>>2];o=q(o+o);w=q(w+q(o*o));o=n[s+1928>>2];x=q(o*o);o=n[s+5752>>2];x=q(x+q(o*o));o=n[s+1932>>2];x=q(x+q(o*o));o=n[s+5756>>2];w=q(w+q(x+q(o*o)));o=n[s+1936>>2];x=q(o*o);o=n[s+5744>>2];x=q(x+q(o*o));o=n[s+1940>>2];x=q(x+q(o*o));o=n[s+5748>>2];w=q(w+q(x+q(o*o)));o=n[s+1944>>2];x=q(o*o);o=n[s+5736>>2];x=q(x+q(o*o));o=n[s+1948>>2];x=q(x+q(o*o));o=n[s+5740>>2];D=q(q(ma(+q(q(w+q(x+q(o*o)))+q(1.000000013351432e-10))))*q(.7213475108146667));n[s+9888>>2]=D;K=q(0);d=0;i=4;$=q(0);O=q(0);P=q(0);ga=q(0);ha=q(0);Q=q(0);while(1){A=q(0);H=q(0);E=q(0);F=d+1|0;L=F<<2;z=j[L+49904>>2];if((z|0)>(i|0)){while(1){G=(s+1920|0)+(i<<3)|0;o=n[G>>2];w=q(o*o);T=((0-i<<3)+s|0)+5760|0;o=n[T>>2];w=q(w+q(o*o));o=n[G+4>>2];w=q(w+q(o*o));o=n[T+4>>2];o=q(w+q(o*o));E=q(E+o);G=i<<2;H=q(H+q(o*q(u(n[G+(s+960|0)>>2],q(0)))));A=q(A+q(q(o+o)*q(q(.5)-n[s+G>>2])));i=i+1|0;if((z|0)!=(i|0)){continue}break}}if(!(E==E?!(E>2]=0;break b}G=d<<2;i=G+(p(j[a+7432>>2],72)+a|0)|0;n[i+5856>>2]=E;V=q(E+q(1.000000013351432e-10));o=q(ma(+V));n[L+(s+9888|0)>>2]=o*q(.7213475108146667);n[G+(s+11200|0)>>2]=o;n[i+6432>>2]=o;g:{if(_){i=a+G|0;x=n[i+7008>>2];w=n[i+7080>>2];break g}i=a+G|0;n[i+7080>>2]=o;n[i+7008>>2]=o;x=o;w=o}i=a+G|0;L=i+7008|0;T=i+7080|0;h:{if(+w>+x+7.5^1){break h}if(!(q(w-o)>q(o-x)^1)){w=q(w+q(-.009999999776482582));n[T>>2]=w;break h}x=q(x+q(.009999999776482582));n[L>>2]=x}R=q(E+q(1.0000000036274937e-15));i:{if(!(o>w^1)){n[T>>2]=o;w=q(o+q(-15));x=w>x?w:x;n[L>>2]=x;w=o;break i}if(o>2]=o;x=q(o+q(15));w=w>x?x:w;n[T>>2]=w;x=o}E=q(H/R);L=i+5776|0;H=n[i+5856>>2];S=n[i+5928>>2];W=n[i+6e3>>2];X=n[i+6072>>2];Y=n[i+6144>>2];aa=n[i+6216>>2];ba=n[i+6288>>2];U=n[i+6360>>2];H=q(t(q(q(q(q(q(q(q(q(q(q(y(H))+q(0))+q(y(S)))+q(y(W)))+q(y(X)))+q(y(Y)))+q(y(aa)))+q(y(ba)))+q(y(U)))/q(y(+q(q(q(q(q(q(q(q(q(H+q(0))+S)+W)+X)+Y)+aa)+ba)+U)*q(8))+1e-15))),q(.9900000095367432)));H=q(H*H);H=q(H*H);S=q(n[L>>2]*H);E=E>S?E:S;n[G+(s+11280|0)>>2]=E;K=q(K+E);K=d>>>0>=9?q(K-n[(s+G|0)+11244>>2]):K;Q=q(Q+q(y(V)));O=q(O+q(A/R));ga=q(ga+H);ha=q(ha+q(q(o-x)/q(q(w-x)+q(9999999747378752e-21))));n[L>>2]=E;o=q(q(q(q(d-18|0)*q(.029999999329447746))+q(1))*K);$=o<$?$:o;P=q(P+q(E*q(d-8|0)));i=z;d=F;if((d|0)!=18){continue}break}n[s+9808>>2]=D;E=q(D+q(-2.5));n[s+9728>>2]=E;d=1;z=4;A=D;while(1){F=d<<2;i=j[F+49904>>2];o=q(i-z|0);x=q(q(o+o)*q(.25));o=q(A+x);w=n[F+(s+9888|0)>>2];A=o>2]=A;o=q(E-x);w=q(w+q(-2.5));E=o>w?o:w;n[F+(s+9728|0)>>2]=E;z=i;d=d+1|0;if((d|0)!=19){continue}break}d=16;z=192;o=n[s+9796>>2];E=n[s+9876>>2];while(1){i=d;F=i<<2;G=F+(s+9808|0)|0;d=z;z=j[F+49904>>2];w=q(d-z|0);w=q(q(w+w)*q(.25));x=q(E+w);A=n[G>>2];E=x>2]=E;o=q(o-w);F=F+(s+9728|0)|0;w=n[F>>2];o=o>w?o:w;n[F>>2]=o;d=i-1|0;if(i){continue}break}i=0;while(1){E=q(0);z=(i+N|0)+7648|0;d=i<<2;ya=v(+q(q(q(u(q(n[d+(s+9728|0)>>2]-D),q(0)))+q(u(q(D-q(n[d+(s+9808|0)>>2]+q(2.5))),q(0))))*q(64))+.5);j:{if(r(ya)<2147483648){d=~~ya;break j}d=-2147483648}h[z|0]=(d|0)<255?d:255;z=0;i=i+1|0;if((i|0)!=19){D=n[(s+9888|0)+(i<<2)>>2];continue}break}while(1){d=p(z,72)+a|0;w=n[d+6500>>2];x=n[d+6496>>2];A=n[d+6448>>2];D=n[d+6444>>2];K=n[d+6440>>2];H=n[d+6436>>2];R=n[d+6432>>2];V=n[d+6492>>2];S=n[d+6488>>2];W=n[d+6484>>2];X=n[d+6480>>2];Y=n[d+6476>>2];aa=n[d+6472>>2];ba=n[d+6468>>2];U=n[d+6464>>2];ca=n[d+6460>>2];da=n[d+6456>>2];ea=n[d+6452>>2];o=q(999999986991104);d=0;while(1){i=p(d,72)+a|0;B=q(R-n[i+6432>>2]);C=q(q(B*B)+q(0));B=q(H-n[i+6436>>2]);C=q(C+q(B*B));B=q(K-n[i+6440>>2]);C=q(C+q(B*B));B=q(D-n[i+6444>>2]);C=q(C+q(B*B));B=q(A-n[i+6448>>2]);C=q(C+q(B*B));B=q(ea-n[i+6452>>2]);C=q(C+q(B*B));B=q(da-n[i+6456>>2]);C=q(C+q(B*B));B=q(ca-n[i+6460>>2]);C=q(C+q(B*B));B=q(U-n[i+6464>>2]);C=q(C+q(B*B));B=q(ba-n[i+6468>>2]);C=q(C+q(B*B));B=q(aa-n[i+6472>>2]);C=q(C+q(B*B));B=q(Y-n[i+6476>>2]);C=q(C+q(B*B));B=q(X-n[i+6480>>2]);C=q(C+q(B*B));B=q(W-n[i+6484>>2]);C=q(C+q(B*B));B=q(S-n[i+6488>>2]);C=q(C+q(B*B));B=q(V-n[i+6492>>2]);C=q(C+q(B*B));B=q(x-n[i+6496>>2]);C=q(C+q(B*B));B=q(w-n[i+6500>>2]);B=q(C+q(B*B));o=(d|0)==(z|0)?o:o>2];d=0;z=4;L=0;w=q(0);H=q(0);A=q(0);while(1){o=q(0);i=z;F=d+1|0;G=j[(F<<2)+49904>>2];if((i|0)<(G|0)){while(1){D=o;_=(s+1920|0)+(i<<3)|0;o=n[_>>2];C=q(o*o);za=((0-i<<3)+s|0)+5760|0;o=n[za>>2];C=q(C+q(o*o));o=n[_+4>>2];C=q(C+q(o*o));o=n[za+4>>2];o=q(D+q(C+q(o*o)));i=i+1|0;if((G|0)!=(i|0)){continue}break}}i=d<<2;_=(i+a|0)+7152|0;D=q(K*n[_>>2]);D=o>2]=D;w=oD?o:D)?F:L}z=d>>>0<11;H=z?q(H+o):H;A=z?A:q(A+o);j[i+(s+10960|0)>>2]=q(x*((d|0)<(T|0)?q(.009999999776482582):q(.05000000074505806)))>o;x=q(x*q(.05000000074505806));x=o>2]==48e3){w=q(K*n[a+7224>>2]);o=q(Z*q(.00027777778450399637));w=o>2]=w;d=(T|0)==20;D=d?q(10):q(30);L=(o>q(q(ra*D)*q(160))^1?!(q(q(ra*q(D*q(3)))*q(160))<(o>w?o:w)):0)?L:20;j[s+11032>>2]=o>2]=A>H?q(H/A):q(1);k:{if((L|0)==20){L=j[s+11032>>2]?18:20;break k}d=L-1|0;if(d>>>0>17){break k}L=j[(s+10960|0)+(d<<2)>>2]?d:L}Ia=q(y(x));A=q(n[a+7424>>2]+q(-.003000000026077032));x=q(q(oa(+Q))*q(20));A=x>2]=A;D=o;o=q(q(q(1)-o)*n[a+7428>>2]);n[a+7428>>2]=x>2];d=0;o=n[s+11204>>2];x=n[s+11200>>2];A=n[s+11260>>2];D=n[s+11256>>2];E=n[s+11252>>2];K=n[s+11248>>2];H=n[s+11244>>2];Q=n[s+11240>>2];R=n[s+11236>>2];Z=n[s+11232>>2];fa=n[s+11228>>2];V=n[s+11224>>2];S=n[s+11220>>2];W=n[s+11216>>2];X=n[s+11212>>2];Y=n[s+11208>>2];while(1){i=d<<6;n[(s+11168|0)+(d<<2)>>2]=q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(x*n[i+49984>>2])+q(0))+q(o*n[(i|4)+49984>>2]))+q(Y*n[(i|8)+49984>>2]))+q(X*n[(i|12)+49984>>2]))+q(W*n[(i|16)+49984>>2]))+q(S*n[(i|20)+49984>>2]))+q(V*n[(i|24)+49984>>2]))+q(fa*n[(i|28)+49984>>2]))+q(Z*n[(i|32)+49984>>2]))+q(R*n[(i|36)+49984>>2]))+q(Q*n[(i|40)+49984>>2]))+q(H*n[(i|44)+49984>>2]))+q(K*n[(i|48)+49984>>2]))+q(E*n[(i|52)+49984>>2]))+q(D*n[(i|56)+49984>>2]))+q(A*n[(i|60)+49984>>2]);d=d+1|0;if((d|0)!=8){continue}break}z=0;while(1){d=z<<4;o=q(0);i=0;while(1){G=(i<<2)+a|0;o=q(o+q(q(n[(d+i<<2)+49984>>2]*q(.5))*q(n[G+7080>>2]+n[G+7008>>2])));i=i+1|0;if((i|0)!=16){continue}break}n[(s+9968|0)+(z<<2)>>2]=o;z=z+1|0;if((z|0)!=8){continue}break}H=q(O/q(18));n[ua>>2]=H+q(q(q(1)-H)*((F|0)<10?q(.5):q(ha/q(18))));o=q($/q(9));x=q(n[a+5848>>2]*q(.800000011920929));o=o>x?o:x;n[a+5848>>2]=o;i=N+7612|0;n[i>>2]=P*q(.015625);z=(F|0)<9999?F+1|0:1e4;j[a+7436>>2]=z;j[a+7432>>2]=(j[a+7432>>2]+1|0)%8;G=N+7608|0;n[G>>2]=o;$=n[a+7260>>2];ha=n[a+7228>>2];R=n[a+7292>>2];K=q(ha+R);x=n[s+11168>>2];B=n[a+7324>>2];U=q(x+B);ca=n[a+7356>>2];O=q(q(q($*q(.6969299912452698))+q(q(K*q(.49195000529289246))-q(U*q(.12298999726772308))))-q(ca*q(1.4349000453948975)));n[s+11056>>2]=O;Z=n[a+7264>>2];fa=n[a+7232>>2];V=n[a+7296>>2];da=q(fa+V);A=n[s+11172>>2];ea=n[a+7328>>2];ka=q(A+ea);la=n[a+7360>>2];P=q(q(q(Z*q(.6969299912452698))+q(q(da*q(.49195000529289246))-q(ka*q(.12298999726772308))))-q(la*q(1.4349000453948975)));n[s+11060>>2]=P;S=n[a+7268>>2];W=n[a+7236>>2];X=n[a+7300>>2];sa=q(W+X);D=n[s+11176>>2];Aa=n[a+7332>>2];Ba=q(D+Aa);Ca=n[a+7364>>2];Q=q(q(q(S*q(.6969299912452698))+q(q(sa*q(.49195000529289246))-q(Ba*q(.12298999726772308))))-q(Ca*q(1.4349000453948975)));n[s+11064>>2]=Q;Da=n[a+7272>>2];Y=n[a+7240>>2];aa=n[a+7304>>2];E=n[s+11180>>2];Ea=n[a+7336>>2];o=n[a+7368>>2];ba=q(q(q(Da*q(.6969299912452698))+q(q(q(Y+aa)*q(.49195000529289246))-q(q(E+Ea)*q(.12298999726772308))))-q(o*q(1.4349000453948975)));n[s+11068>>2]=ba;C=o;o=q(q(1)-w);n[a+7368>>2]=q(w*E)+q(C*o);n[a+7364>>2]=q(w*D)+q(o*Ca);n[a+7360>>2]=q(w*A)+q(o*la);n[a+7356>>2]=q(w*x)+q(o*ca);n[s+11096>>2]=q(q(Ba*q(.5345199704170227))-q(sa*q(.26725998520851135)))-q(S*q(.5345199704170227));n[s+11092>>2]=q(q(ka*q(.5345199704170227))-q(da*q(.26725998520851135)))-q(Z*q(.5345199704170227));U=q(q(q(U*q(.5345199704170227))-q(K*q(.26725998520851135)))-q($*q(.5345199704170227)));n[s+11088>>2]=U;ca=q(q(q(E-Ea)*q(.6324599981307983))+q(q(Y-aa)*q(.31622999906539917)));n[s+11084>>2]=ca;da=q(q(q(D-Aa)*q(.6324599981307983))+q(q(W-X)*q(.31622999906539917)));n[s+11080>>2]=da;ea=q(q(q(A-ea)*q(.6324599981307983))+q(q(fa-V)*q(.31622999906539917)));n[s+11076>>2]=ea;B=q(q(q(x-B)*q(.6324599981307983))+q(q(ha-R)*q(.31622999906539917)));n[s+11072>>2]=B;d=(F|0)<3?20:L;sa=q(ga/q(18));K=n[a+7388>>2];l:{if((z|0)<=5){o=n[a+7420>>2];O=n[a+7412>>2];P=n[a+7408>>2];ga=n[a+7404>>2];Q=n[a+7400>>2];ka=n[a+7396>>2];la=n[a+7392>>2];break l}K=q(q(O*q(w*O))+q(o*K));n[a+7388>>2]=K;la=q(q(P*q(w*P))+q(o*n[a+7392>>2]));n[a+7392>>2]=la;ka=q(q(Q*q(w*Q))+q(o*n[a+7396>>2]));n[a+7396>>2]=ka;Q=q(q(ba*q(w*ba))+q(o*n[a+7400>>2]));n[a+7400>>2]=Q;ga=q(q(B*q(w*B))+q(o*n[a+7404>>2]));n[a+7404>>2]=ga;P=q(q(ea*q(w*ea))+q(o*n[a+7408>>2]));n[a+7408>>2]=P;O=q(q(da*q(w*da))+q(o*n[a+7412>>2]));n[a+7412>>2]=O;n[a+7416>>2]=q(ca*q(w*ca))+q(o*n[a+7416>>2]);o=q(q(U*q(w*U))+q(o*n[a+7420>>2]));n[a+7420>>2]=o}n[s+11056>>2]=x-n[s+9968>>2];n[s+11060>>2]=A-n[s+9972>>2];n[s+11064>>2]=D-n[s+9976>>2];n[s+11068>>2]=E-n[s+9980>>2];n[a+7260>>2]=ha;n[a+7328>>2]=V;n[a+7228>>2]=x;n[a+7296>>2]=Z;n[a+7264>>2]=fa;n[a+7332>>2]=X;n[a+7232>>2]=A;n[a+7300>>2]=S;n[a+7268>>2]=W;n[a+7336>>2]=aa;n[a+7236>>2]=D;n[a+7304>>2]=Da;n[a+7272>>2]=Y;n[a+7240>>2]=E;n[a+7324>>2]=R;n[a+7292>>2]=$;z=j[a+7308>>2];j[a+7308>>2]=j[a+7276>>2];j[a+7340>>2]=z;j[a+7276>>2]=j[a+7244>>2];j[a+7244>>2]=j[s+11184>>2];j[a+7344>>2]=j[a+7312>>2];j[a+7312>>2]=j[a+7280>>2];j[a+7280>>2]=j[a+7248>>2];j[a+7248>>2]=j[s+11188>>2];j[a+7348>>2]=j[a+7316>>2];j[a+7316>>2]=j[a+7284>>2];j[a+7284>>2]=j[a+7252>>2];j[a+7252>>2]=j[s+11192>>2];j[a+7352>>2]=j[a+7320>>2];j[a+7320>>2]=j[a+7288>>2];j[a+7288>>2]=j[a+7256>>2];j[a+7256>>2]=j[s+11196>>2];n[s+11132>>2]=q(y(o))+q(-1.9187949895858765);n[s+11124>>2]=q(y(O))+q(-1.260756015777588);n[s+11120>>2]=q(y(P))+q(-2.1633129119873047);n[s+11116>>2]=q(y(ga))+q(-3.7732150554656982);n[s+11112>>2]=q(y(Q))+q(-1.599784016609192);n[s+11108>>2]=q(y(ka))+q(-1.7706340551376343);n[s+11104>>2]=q(y(la))+q(-3.475287914276123);n[s+11100>>2]=q(y(K))+q(-5.6849470138549805);n[s+11128>>2]=Ia+q(-.7799999713897705);n[s+11136>>2]=n[G>>2]+q(-.15472300350666046);o=n[ua>>2];n[s+11144>>2]=sa+q(-.7437170147895813);n[s+11140>>2]=o+q(-.7246429920196533);n[s+11148>>2]=n[i>>2]+q(.06921599805355072);n[s+11152>>2]=n[a+7428>>2]+q(-.06792999804019928);vb(43872,s+9600|0,s+11056|0);Yc(wa,s+9600|0);vb(48096,s+11048|0,wa);j[N+7640>>2]=j[s+11052>>2];i=j[s+11048>>2];j[N+7636>>2]=d;j[N+7624>>2]=i;j[a+5852>>2]=d;n[N+7616>>2]=H;j[J>>2]=1}ia=ia+qa|0;ja=ja-qa|0;if((ja|0)>0){continue}break}}j[a+7440>>2]=va-e}Xc(a,m,e);I=s+11360|0}function ha(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;p=I-16|0;I=p;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(a>>>0<=244){f=j[13232];i=a>>>0<11?16:a+11&-8;c=i>>>3|0;b=f>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;e=j[b+52976>>2];a=e+8|0;c=j[e+8>>2];b=b+52968|0;m:{if((c|0)==(b|0)){j[13232]=ke(-2,d)&f;break m}j[c+12>>2]=b;j[b+8>>2]=c}b=d<<3;j[e+4>>2]=b|3;b=b+e|0;j[b+4>>2]=j[b+4>>2]|1;break a}n=j[13234];if(n>>>0>=i>>>0){break l}if(b){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=j[a+52976>>2];b=j[g+8>>2];a=a+52968|0;n:{if((b|0)==(a|0)){f=ke(-2,c)&f;j[13232]=f;break n}j[b+12>>2]=a;j[a+8>>2]=b}a=g+8|0;j[g+4>>2]=i|3;d=g+i|0;b=c<<3;e=b-i|0;j[d+4>>2]=e|1;j[b+g>>2]=e;if(n){b=n>>>3|0;c=(b<<3)+52968|0;g=j[13237];b=1<>2]}j[c+8>>2]=g;j[b+12>>2]=g;j[g+12>>2]=c;j[g+8>>2]=b}j[13237]=d;j[13234]=e;break a}h=j[13233];if(!h){break l}b=(h&0-h)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=j[((c|a)+(b>>>a|0)<<2)+53232>>2];e=(j[b+4>>2]&-8)-i|0;c=b;while(1){p:{a=j[c+16>>2];if(!a){a=j[c+20>>2];if(!a){break p}}c=(j[a+4>>2]&-8)-i|0;d=c>>>0>>0;e=d?c:e;b=d?a:b;c=a;continue}break}l=b+i|0;if(l>>>0<=b>>>0){break k}o=j[b+24>>2];d=j[b+12>>2];if((d|0)!=(b|0)){a=j[b+8>>2];j[a+12>>2]=d;j[d+8>>2]=a;break b}c=b+20|0;a=j[c>>2];if(!a){a=j[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;d=a;c=a+20|0;a=j[c>>2];if(a){continue}c=d+16|0;a=j[d+16>>2];if(a){continue}break}j[g>>2]=0;break b}i=-1;if(a>>>0>4294967231){break l}a=a+11|0;i=a&-8;l=j[13233];if(!l){break l}f=31;e=0-i|0;if(i>>>0<=16777215){a=a>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;f=(a<<1|i>>>a+21&1)+28|0}c=j[(f<<2)+53232>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=i<<((f|0)==31?0:25-(f>>>1|0)|0);while(1){t:{g=(j[c+4>>2]&-8)-i|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=j[c+20>>2];c=j[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=j[((c|a)+(b>>>a|0)<<2)+53232>>2]}if(!a){break q}}while(1){b=(j[a+4>>2]&-8)-i|0;c=b>>>0>>0;e=c?b:e;d=c?a:d;b=j[a+16>>2];if(b){a=b}else{a=j[a+20>>2]}if(a){continue}break}}if(!d|j[13234]-i>>>0<=e>>>0){break l}h=d+i|0;if(h>>>0<=d>>>0){break k}f=j[d+24>>2];b=j[d+12>>2];if((d|0)!=(b|0)){a=j[d+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break c}c=d+20|0;a=j[c>>2];if(!a){a=j[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=j[c>>2];if(a){continue}c=b+16|0;a=j[b+16>>2];if(a){continue}break}j[g>>2]=0;break c}c=j[13234];if(c>>>0>=i>>>0){d=j[13237];b=c-i|0;u:{if(b>>>0>=16){j[13234]=b;a=d+i|0;j[13237]=a;j[a+4>>2]=b|1;j[c+d>>2]=b;j[d+4>>2]=i|3;break u}j[13237]=0;j[13234]=0;j[d+4>>2]=c|3;a=c+d|0;j[a+4>>2]=j[a+4>>2]|1}a=d+8|0;break a}h=j[13235];if(h>>>0>i>>>0){b=h-i|0;j[13235]=b;c=j[13238];a=c+i|0;j[13238]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}a=0;l=i+47|0;b=l;if(j[13350]){c=j[13352]}else{j[13353]=-1;j[13354]=-1;j[13351]=4096;j[13352]=4096;j[13350]=p+12&-16^1431655768;j[13355]=0;j[13343]=0;c=4096}g=b+c|0;e=0-c|0;c=g&e;if(c>>>0<=i>>>0){break a}d=j[13342];if(d){b=j[13340];f=b+c|0;if(d>>>0>>0|b>>>0>=f>>>0){break a}}if(k[53372]&4){break f}v:{w:{d=j[13238];if(d){a=53376;while(1){b=j[a>>2];if(d>>>0>2]>>>0?b>>>0<=d>>>0:0){break w}a=j[a+8>>2];if(a){continue}break}}b=$(0);if((b|0)==-1){break g}f=c;d=j[13351];a=d-1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=i>>>0|f>>>0>2147483646){break g}d=j[13342];if(d){a=j[13340];e=a+f|0;if(d>>>0>>0|a>>>0>=e>>>0){break g}}a=$(f);if((b|0)!=(a|0)){break v}break e}f=e&g-h;if(f>>>0>2147483646){break g}b=$(f);if((b|0)==(j[a>>2]+j[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|i+48>>>0<=f>>>0)){b=j[13352];b=b+(l-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if(($(b)|0)!=-1){f=b+f|0;b=a;break e}$(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}z()}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}j[13343]=j[13343]|4}if(c>>>0>2147483646){break d}b=$(c);a=$(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=i+40>>>0){break d}}a=j[13340]+f|0;j[13340]=a;if(a>>>0>m[13341]){j[13341]=a}x:{y:{z:{g=j[13238];if(g){a=53376;while(1){d=j[a>>2];c=j[a+4>>2];if((d+c|0)==(b|0)){break z}a=j[a+8>>2];if(a){continue}break}break y}a=j[13236];if(!(a>>>0<=b>>>0?a:0)){j[13236]=b}a=0;j[13345]=f;j[13344]=b;j[13240]=-1;j[13241]=j[13350];j[13347]=0;while(1){d=a<<3;c=d+52968|0;j[d+52976>>2]=c;j[d+52980>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[13235]=c;a=a+b|0;j[13238]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[13239]=j[13354];break x}if(j[a+12>>2]&8|(b>>>0<=g>>>0|d>>>0>g>>>0)){break y}j[a+4>>2]=c+f;a=g+8&7?-8-g&7:0;c=a+g|0;j[13238]=c;b=j[13235]+f|0;a=b-a|0;j[13235]=a;j[c+4>>2]=a|1;j[(b+g|0)+4>>2]=40;j[13239]=j[13354];break x}d=j[13236];if(d>>>0>b>>>0){j[13236]=b;d=0}c=b+f|0;a=53376;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=j[a>>2]){a=j[a+8>>2];if(a){continue}break F}break}if(!(k[a+12|0]&8)){break E}}a=53376;while(1){c=j[a>>2];if(c>>>0<=g>>>0){e=c+j[a+4>>2]|0;if(e>>>0>g>>>0){break D}}a=j[a+8>>2];continue}}j[a>>2]=b;j[a+4>>2]=j[a+4>>2]+f;l=(b+8&7?-8-b&7:0)+b|0;j[l+4>>2]=i|3;f=c+(c+8&7?-8-c&7:0)|0;c=(f-l|0)-i|0;h=i+l|0;if((f|0)==(g|0)){j[13238]=h;a=j[13235]+c|0;j[13235]=a;j[h+4>>2]=a|1;break B}if(j[13237]==(f|0)){j[13237]=h;a=j[13234]+c|0;j[13234]=a;j[h+4>>2]=a|1;j[a+h>>2]=a;break B}a=j[f+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=j[f+8>>2];a=a>>>3|0;b=j[f+12>>2];if((b|0)==(d|0)){j[13232]=j[13232]&ke(-2,a);break G}j[d+12>>2]=b;j[b+8>>2]=d;break G}i=j[f+24>>2];b=j[f+12>>2];H:{if((f|0)!=(b|0)){a=j[f+8>>2];j[a+12>>2]=b;j[b+8>>2]=a;break H}I:{a=f+20|0;e=j[a>>2];if(e){break I}a=f+16|0;e=j[a>>2];if(e){break I}b=0;break H}while(1){d=a;b=e;a=b+20|0;e=j[a>>2];if(e){continue}a=b+16|0;e=j[b+16>>2];if(e){continue}break}j[d>>2]=0}if(!i){break G}d=j[f+28>>2];a=(d<<2)+53232|0;J:{if(j[a>>2]==(f|0)){j[a>>2]=b;if(b){break J}j[13233]=j[13233]&ke(-2,d);break G}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break G}}j[b+24>>2]=i;a=j[f+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[f+20>>2];if(!a){break G}j[b+20>>2]=a;j[a+24>>2]=b}f=f+g|0;c=c+g|0}j[f+4>>2]=j[f+4>>2]&-2;j[h+4>>2]=c|1;j[c+h>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;e=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(d|e))|0;a=(a<<1|c>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;e=(a<<2)+53232|0;d=j[13233];b=1<>2]=h;j[h+24>>2]=e;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[e>>2];while(1){d=b;if((j[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;e=d+(b&4)|0;b=j[e+16>>2];if(b){continue}break}j[e+16>>2]=h;j[h+24>>2]=d}j[h+12>>2]=h;j[h+8>>2]=h;break B}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;j[13235]=c;a=a+b|0;j[13238]=a;j[a+4>>2]=c|1;j[(b+d|0)+4>>2]=40;j[13239]=j[13354];a=(e+(e-39&7?39-e&7:0)|0)-47|0;c=a>>>0>>0?g:a;j[c+4>>2]=27;a=j[13347];j[c+16>>2]=j[13346];j[c+20>>2]=a;a=j[13345];j[c+8>>2]=j[13344];j[c+12>>2]=a;j[13346]=c+8;j[13345]=f;j[13344]=b;j[13347]=0;a=c+24|0;while(1){j[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(g|0)){break x}j[c+4>>2]=j[c+4>>2]&-2;e=c-g|0;j[g+4>>2]=e|1;j[c>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=g;j[a+12>>2]=g;j[g+12>>2]=b;j[g+8>>2]=a;break x}a=31;j[g+16>>2]=0;j[g+20>>2]=0;if(e>>>0<=16777215){a=e>>>8|0;d=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|d))|0;a=(a<<1|e>>>a+21&1)+28|0}j[g+28>>2]=a;d=(a<<2)+53232|0;c=j[13233];b=1<>2]=g;j[g+24>>2]=d;break N}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=j[d>>2];while(1){c=b;if((e|0)==(j[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=j[d+16>>2];if(b){continue}break}j[d+16>>2]=g;j[g+24>>2]=c}j[g+12>>2]=g;j[g+8>>2]=g;break x}a=j[d+8>>2];j[a+12>>2]=h;j[d+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=d;j[h+8>>2]=a}a=l+8|0;break a}a=j[c+8>>2];j[a+12>>2]=g;j[c+8>>2]=g;j[g+24>>2]=0;j[g+12>>2]=c;j[g+8>>2]=a}a=j[13235];if(a>>>0<=i>>>0){break d}b=a-i|0;j[13235]=b;c=j[13238];a=c+i|0;j[13238]=a;j[a+4>>2]=b|1;j[c+4>>2]=i|3;a=c+8|0;break a}j[13231]=48;a=0;break a}O:{if(!f){break O}c=j[d+28>>2];a=(c<<2)+53232|0;P:{if(j[a>>2]==(d|0)){j[a>>2]=b;if(b){break P}l=ke(-2,c)&l;j[13233]=l;break O}j[f+(j[f+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break O}}j[b+24>>2]=f;a=j[d+16>>2];if(a){j[b+16>>2]=a;j[a+24>>2]=b}a=j[d+20>>2];if(!a){break O}j[b+20>>2]=a;j[a+24>>2]=b}Q:{if(e>>>0<=15){a=e+i|0;j[d+4>>2]=a|3;a=a+d|0;j[a+4>>2]=j[a+4>>2]|1;break Q}j[d+4>>2]=i|3;j[h+4>>2]=e|1;j[e+h>>2]=e;if(e>>>0<=255){a=e>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=h;j[a+12>>2]=h;j[h+12>>2]=b;j[h+8>>2]=a;break Q}a=31;if(e>>>0<=16777215){a=e>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;a=(a<<1|e>>>a+21&1)+28|0}j[h+28>>2]=a;j[h+16>>2]=0;j[h+20>>2]=0;c=(a<<2)+53232|0;S:{b=1<>2]=h;j[h+24>>2]=c;break T}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);i=j[c>>2];while(1){b=i;if((j[b+4>>2]&-8)==(e|0)){break S}c=a>>>29|0;a=a<<1;c=b+(c&4)|0;i=j[c+16>>2];if(i){continue}break}j[c+16>>2]=h;j[h+24>>2]=b}j[h+12>>2]=h;j[h+8>>2]=h;break Q}a=j[b+8>>2];j[a+12>>2]=h;j[b+8>>2]=h;j[h+24>>2]=0;j[h+12>>2]=b;j[h+8>>2]=a}a=d+8|0;break a}U:{if(!o){break U}c=j[b+28>>2];a=(c<<2)+53232|0;V:{if(j[a>>2]==(b|0)){j[a>>2]=d;if(d){break V}j[13233]=ke(-2,c)&h;break U}j[(j[o+16>>2]==(b|0)?16:20)+o>>2]=d;if(!d){break U}}j[d+24>>2]=o;a=j[b+16>>2];if(a){j[d+16>>2]=a;j[a+24>>2]=d}a=j[b+20>>2];if(!a){break U}j[d+20>>2]=a;j[a+24>>2]=d}W:{if(e>>>0<=15){a=e+i|0;j[b+4>>2]=a|3;a=a+b|0;j[a+4>>2]=j[a+4>>2]|1;break W}j[b+4>>2]=i|3;j[l+4>>2]=e|1;j[e+l>>2]=e;if(n){a=n>>>3|0;c=(a<<3)+52968|0;d=j[13237];a=1<>2]}j[c+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=c;j[d+8>>2]=a}j[13237]=l;j[13234]=e}a=b+8|0}I=p+16|0;return a|0}function Vb(a,b,c,d,e,f,g,k,m,o,s){var t=0,u=0,v=0,w=0,x=0,y=0,A=q(0),B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=q(0),K=0,M=0,N=0,P=0,Q=0,R=q(0),T=0,U=q(0),V=0,W=0,X=q(0),Y=q(0),Z=0,_=q(0),$=q(0);u=I-11552|0;I=u;a:{b:{c:{d:{e:{f:{g:{h:{if(!(!(1<>>0>16)){if((o|0)<=-1){break h}if((o|0)>=3){break g}E=p(s,5);K=E+20|0;v=K<<3;w=p(m,K);i:{if((m|0)==16){if((w|0)>=1){t=w;while(1){y=t-1|0;D=(u+2720|0)+(y<<1)|0;A=je(n[(y<<2)+a>>2]);j:{if(q(r(A))-32768?F:-32768;i[D>>1]=(x|0)<32767?x:32767;x=(t|0)>1;t=y;if(x){continue}break}}j[u+8544>>2]=0;j[u+8548>>2]=0;Pa(u+8544|0,u+8896|0,u+2720|0,w);if((E|0)<-19){break i}t=v;while(1){w=t-1|0;n[(u+10176|0)+(w<<2)>>2]=i[(u+8896|0)+(w<<1)>>1];y=(t|0)>1;t=w;if(y){continue}break}break i}if((m|0)==12){if((w|0)>=1){t=w;while(1){y=t-1|0;D=(u+2720|0)+(y<<1)|0;A=je(n[(y<<2)+a>>2]);k:{if(q(r(A))-32768?F:-32768;i[D>>1]=(x|0)<32767?x:32767;x=(t|0)>1;t=y;if(x){continue}break}}t=u+8560|0;j[t>>2]=0;j[t+4>>2]=0;j[u+8552>>2]=0;j[u+8556>>2]=0;j[u+8544>>2]=0;j[u+8548>>2]=0;bc(u+8544|0,u+8896|0,u+2720|0,w);if((E|0)<-19){break i}t=v;while(1){w=t-1|0;n[(u+10176|0)+(w<<2)>>2]=i[(u+8896|0)+(w<<1)>>1];y=(t|0)>1;t=w;if(y){continue}break}break i}if((m|0)!=8){break f}if((E|0)<-19){break i}t=v;while(1){w=t-1|0;F=(u+8896|0)+(w<<1)|0;A=je(n[(w<<2)+a>>2]);l:{if(q(r(A))-32768?x:-32768;i[F>>1]=(y|0)<32767?y:32767;y=(t|0)>1;t=w;if(y){continue}break}}w=K<<2;j[u+8544>>2]=0;j[u+8548>>2]=0;Pa(u+8544|0,u+8576|0,u+8896|0,v);m:{if((E|0)<-19){break m}t=w;while(1){v=t-1|0;n[(u+9536|0)+(v<<2)>>2]=i[(u+8576|0)+(v<<1)>>1];y=(t|0)>1;t=v;if(y){continue}break}if((E|0)<-19){break m}t=w;while(1){R=n[((t<<2)+u|0)+9528>>2];v=t-1|0;y=(u+9536|0)+(v<<2)|0;A=n[y>>2];n:{if(q(r(A))q(32767)){break o}A=q(-32768);if(R>2]=x|0;y=(t|0)>2;t=v;if(y){continue}break}}O(u+6160|0,0,p(s,596));if((s|0)>=2){t=s>>1;x=(t|0)>1?t:1;K=(u+9536|0)+(w<<2)|0;t=u+9856|0;while(1){y=t+160|0;if(y>>>0>K>>>0){break e}v=t-32|0;if(v>>>0>>0){break d}if(K>>>0>>0){break c}pa(t,t-288|0,u+5888|0,40,65);A=n[u+6144>>2];M=S(t,40)+S(v,40)+16e4;C=+A;n[u+6192>>2]=n[u+6192>>2]+q((C+C)/M);t=9;while(1){w=(u+6160|0)+(t<<2)|0;F=w;R=n[w>>2];C=+n[((0-t<<2)+u|0)+6176>>2];Q=C+C;w=v-4|0;C=+n[w>>2];Z=C*C;C=+n[v+156>>2];M=M+(Z-C*C);n[F>>2]=R+q(Q/M);v=w;t=t+1|0;if((t|0)!=73){continue}break}t=y;B=B+1|0;if((x|0)!=(B|0)){continue}break}}y=m<<1;V=p(m,5);F=p(m,18);K=F-1|0;w=s<<2;t=72;while(1){v=(u+6160|0)+(t<<2)|0;A=n[v>>2];n[v>>2]=A+q(q(A*q(t|0))*q(-.000244140625));v=t>>>0>8;t=t-1|0;if(v){continue}break}v=(o<<1)+4|0;Wb(u+6192|0,u+5744|0,v);q:{A=n[u+6192>>2];r:{if(!(A1?v:1;t=0;while(1){w=t<<2;if(g>2]^1){v=t;break s}w=w+(u+5744|0)|0;j[w>>2]=(j[w>>2]<<1)+16;t=t+1|0;if((x|0)!=(t|0)){continue}break}}t=0;if((v|0)<=0){break b}O(u+5462|0,0,274);while(1){i[(u+5440|0)+(j[(u+5744|0)+(t<<2)>>2]<<1)>>1]=1;t=t+1|0;if((v|0)!=(t|0)){continue}break}t=146;x=l[u+5730>>1];while(1){v=x;w=(u+5440|0)+(t<<1)|0;x=l[w-4>>1];i[w>>1]=l[w>>1]+(v+x|0);v=16;w=t>>>0>16;t=t-1|0;if(w){continue}break}while(1){t=v+1|0;if(i[(u+5440|0)+(t<<1)>>1]>=1){j[(u+5744|0)+(P<<2)>>2]=v;P=P+1|0}v=t;if((t|0)!=144){continue}break}v=146;x=l[u+5728>>1];B=l[u+5730>>1];while(1){w=x;t=(u+5440|0)+(v<<1)|0;x=l[t-6>>1];i[t>>1]=l[t>>1]+((w+B|0)+x|0);t=16;E=v>>>0>16;B=w;v=v-1|0;if(E){continue}break}while(1){if(i[(u+5440|0)+(t<<1)>>1]>=1){i[(u+5440|0)+(G<<1)>>1]=t-2;G=G+1|0}t=t+1|0;if((t|0)!=147){continue}break}B=0;O(u+6160|0,0,2384);if((s|0)>=1){v=(m|0)==8?a+640|0:u+10816|0;E=(G|0)<1;while(1){C=S(v,40);if(!E){C=C+1;t=0;while(1){J=q(0);x=i[(u+5440|0)+(t<<1)>>1]<<2;w=v-x|0;Q=da(w,v,40);if(!(Q>0^1)){J=q((Q+Q)/(C+S(w,40)))}n[x+((u+6160|0)+p(B,596)|0)>>2]=J;t=t+1|0;if((G|0)!=(t|0)){continue}break}}v=v+160|0;B=B+1|0;if((B|0)!=(s|0)){continue}break}}if((f|0)<1){R=q(0)}else{f=(m|0)==12?(f<<1)/3|0:f>>>((m|0)==16)|0;R=q(oa(+q(f|0))*3.32192809488736)}if((P|0)>=1){E=0;t=(s|0)==4;D=t?(m|0)==8?(o|0)>0?11:3:3:3;W=t?10048:10007;N=t?11:3;X=q(s|0);_=q(X*k);Y=q(X*q(.20000000298023224));H=-1;k=q(-1e3);g=q(0);B=(s|0)<1;x=(f|0)<1;f=0;while(1){T=j[(u+5744|0)+(E<<2)>>2];v=0;while(1){w=(u+5840|0)+(v<<2)|0;j[w>>2]=0;J=q(0);t=0;if(!B){while(1){J=q(n[((u+6160|0)+p(t,596)|0)+(T+h[W+(p(t,N)+v|0)|0]<<2)>>2]+J);t=t+1|0;if((t|0)!=(s|0)){continue}break}n[w>>2]=J}v=v+1|0;if((D|0)!=(v|0)){continue}break}J=q(-1e3);t=0;v=0;while(1){A=n[(u+5840|0)+(t<<2)>>2];w=A>J;J=w?A:J;v=w?t:v;t=t+1|0;if((D|0)!=(t|0)){continue}break}U=q(oa(+q(T|0))*3.32192809488736);A=q(J-q(Y*U));$=J;if(!x){U=q(U-R);U=q(U*U);A=q(A-q(q(U*q(Y*n[e>>2]))/q(U+q(.5))))}t=k_;g=t?$:g;k=t?A:k;H=t?T:H;f=t?v:f;E=E+1|0;if((P|0)!=(E|0)){continue}break}if((H|0)!=-1){break q}}j[b>>2]=0;j[b+4>>2]=0;j[b+8>>2]=0;j[b+12>>2]=0}j[e>>2]=0;i[c>>1]=0;h[d|0]=0;t=1;break a}n[e>>2]=g/X;w=c;t:{if((m|0)<=8){t=0;if((s|0)>0){while(1){a=h[W+(p(t,N)+f|0)|0]+H|0;a=(a|0)>16?a:16;j[(t<<2)+b>>2]=(a|0)<144?a:144;t=t+1|0;if((t|0)!=(s|0)){continue}break}}a=H-16|0;break t}u:{if((m|0)==12){e=p(H<<16>>16,3);f=(e>>1)+(e&1)|0;break u}f=H<<1}v:{if((y|0)>=(F|0)){e=y;if((f|0)>(y|0)){break v}e=(f|0)<(K|0)?K:f;break v}e=K;if((f|0)>=(F|0)){break v}e=(f|0)<(y|0)?y:f}E=e;x=10016;H=10040;G=12;e=12;w:{switch(s-2|0){default:L(10770,10329,518);z();case 2:H=(o<<3)+10240|0;G=h[o+10264|0];x=10096;e=34;break;case 0:break w}}f=E+2|0;W=(f|0)<(K|0)?f:K;f=E-2|0;P=(f|0)>(y|0)?f:y;N=0-P<<2;K=p(m,80)+a|0;f=K;B=0;while(1){a=B<<1;D=h[(a|1)+H|0];a=h[a+H|0];t=1-a|0;pa(f,(f+N|0)-(D<<2)|0,u+2720|0,V,t+D|0);m=(a|0)>(D|0);if(!m){m=t+(m?a:D)|0;t=0;v=a;while(1){j[(u+11456|0)+(t<<2)>>2]=j[(u+2720|0)+(D-v<<2)>>2];v=v+1|0;t=t+1|0;if((m|0)!=(t|0)){continue}break}}if((G|0)>=1){v=p(e,B);m=(u+11456|0)+(0-a<<2)|0;t=0;while(1){D=m+(h[(t+v|0)+x|0]<<2)|0;a=j[D+4>>2];T=(p(B,680)+u|0)+p(t,20)|0;j[T>>2]=j[D>>2];j[T+4>>2]=a;j[T+16>>2]=j[D+16>>2];a=j[D+12>>2];j[T+8>>2]=j[D+8>>2];j[T+12>>2]=a;t=t+1|0;if((G|0)!=(t|0)){continue}break}}f=(V<<2)+f|0;B=B+1|0;if((B|0)!=(s|0)){continue}break}x=10016;H=10040;G=12;a=12;x:{switch(s-2|0){default:L(10770,10329,584);z();case 2:H=(o<<3)+10240|0;G=h[o+10264|0];x=10096;a=34;break;case 0:break x}}f=K;B=0;while(1){e=B<<1;N=h[e+H|0];v=f-(N+P<<2)|0;M=S(v,V)+.001;n[u+11456>>2]=M;e=h[(e|1)+H|0];if((e|0)>(N|0)){t=1;m=(e-N|0)+1|0;while(1){C=+n[v+(V-t<<2)>>2];Q=M-C*C;e=t<<2;C=+n[v-e>>2];M=Q+C*C;n[e+(u+11456|0)>>2]=M;t=t+1|0;if((m|0)!=(t|0)){continue}break}}if((G|0)>=1){v=p(a,B);m=(u+11456|0)+(0-N<<2)|0;t=0;while(1){N=m+(h[(t+v|0)+x|0]<<2)|0;e=j[N+4>>2];D=((u+2720|0)+p(B,680)|0)+p(t,20)|0;j[D>>2]=j[N>>2];j[D+4>>2]=e;j[D+16>>2]=j[N+16>>2];e=j[N+12>>2];j[D+8>>2]=j[N+8>>2];j[D+12>>2]=e;t=t+1|0;if((G|0)!=(t|0)){continue}break}}f=(V<<2)+f|0;B=B+1|0;if((B|0)!=(s|0)){continue}break}y:{if((s|0)!=4){H=10016;x=12;m=12;break y}x=h[o+10264|0];H=10096;m=34}C=S(K,p(s,V));f=0;if((P|0)<=(W|0)){g=q(q(.05000000074505806)/q(E|0));C=C+1;A=q(-1e3);v=(s|0)<1;B=0;while(1){G=0;if((x|0)>0){while(1){J=q(0);z:{if(v){break z}M=0;t=0;Q=C;while(1){a=B<<2;e=p(G,20);o=p(t,680);Q=Q+ +n[a+(e+(o+(u+2720|0)|0)|0)>>2];M=M+ +n[a+(e+(o+u|0)|0)>>2];t=t+1|0;if((t|0)!=(s|0)){continue}break}if(M>0^1){break z}J=q(q(q(1)-q(g*q(G|0)))*q((M+M)/Q))}if(!(A=1){t=0;while(1){e=(t<<2)+b|0;o=h[(p(m,t)+f|0)+H|0]+E|0;j[e>>2]=o;v=e;A:{if((y|0)>(F|0)){e=y;if((o|0)>(y|0)){break A}e=(o|0)<(F|0)?F:o;break A}a=F;e=a;if((a|0)<(o|0)){break A}e=(o|0)<(y|0)?y:o}j[v>>2]=e;t=t+1|0;if((t|0)!=(s|0)){continue}break}}a=E-y|0}i[w>>1]=a;h[d|0]=f;t=0;if(i[c>>1]>-1){break a}L(10737,10329,474);z()}L(10267,10329,112);z()}L(10366,10329,115);z()}L(10418,10329,116);z()}L(10470,10329,151);z()}L(10500,10329,173);z()}L(10580,10329,178);z()}L(10622,10329,179);z()}L(10701,10329,241);z()}I=u+11552|0;return t}function Qd(a,b,c,d,e,f,g,l,m,n,o,q,r,t,u){var v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;v=I;ha=v;j[b+4340>>2]=h[c+34|0];O=j[b+4328>>2];aa=k[c+31|0];H=h[c+29|0];E=h[c+30|0];y=j[a+4592>>2];v=j[a+4584>>2];P=y+v|0;T=ha-((P<<2)+15&-16)|0;w=T;I=w;ba=w-((P<<1)+15&-16)|0;w=ba;I=w;x=j[a+4588>>2];ca=w-((x<<2)+15&-16)|0;I=ca;j[b+4332>>2]=y;j[b+4336>>2]=y;a:{b:{c:{w=j[a+4580>>2];if((w|0)>=1){M=t<<16>>16;E=i[((H<<1&-4)+(E<<1)|0)+5840>>1];da=E+944|0;ia=p(M,da<<16>>16);ja=E-944|0;va=p(0-(ja<<16)>>16,M);ka=(aa|0)==4;wa=ka?3:1;xa=E-80|0;aa=b+3900|0;v=t>>>1|0;ya=512-v|0;ea=v-512|0;la=u<<16>>16;fa=(y<<1)+b|0;P=p(E,M);za=(t|0)<2049;D=b+3840|0;ma=D;while(1){K=F<<2;Z=j[K+m>>2];j[b+4348>>2]=0;t=1;C=((F>>>1|ka)<<5)+f|0;d:{if((H&255)!=2){break d}H=2;O=j[(F<<2)+r>>2];if(F&wa){break d}v=j[a+4592>>2];u=j[a+4640>>2];t=(v-O|0)-u|0;if((t|0)<=2){break c}t=t-2|0;Mb((t<<1)+ba|0,(t+p(x,F)<<1)+b|0,C,v-t|0,u);j[b+4348>>2]=1;j[b+4332>>2]=j[a+4592>>2];H=k[c+29|0];t=0}V=q+K|0;u=j[V>>2];Q=(u|0)>1?u:1;B=s(Q);A=Q<>16;w=536870911/(y|0)|0;v=w<<16;G=v>>16;x=(w>>15)+1>>1;w=0-(p(y,G)+(p(G,A&65535)>>16)<<3)|0;A=((v+p(x,w)|0)+p(G,w>>16)|0)+(p(G,w&65528)>>16)|0;v=15-B|0;G=j[r+K>>2];e:{if(Q>>>0<=131071){y=0-v|0;w=2147483647>>>y|0;v=-2147483648>>y;v=((w|0)<(A|0)?w:(v|0)>(A|0)?v:A)<>v}R=j[a+4588>>2];if((R|0)>=1){w=(v>>4)+1|0;A=w<<15>>16;w=(w>>16)+1>>1;x=0;while(1){y=i[(x<<1)+d>>1];j[(x<<2)+ca>>2]=(p(A,y>>16)+p(w,y)|0)+(p(A,y&65535)>>16);x=x+1|0;if((R|0)!=(x|0)){continue}break}}f:{if(t){break f}v=F?v:p(v>>16,la)+(p(v&65535,la)>>16)<<2;y=j[b+4332>>2];x=(y-G|0)-2|0;if((x|0)>=(y|0)){break f}w=v&65535;v=v>>16;while(1){t=i[(x<<1)+ba>>1];j[(x<<2)+T>>2]=(p(t,w)>>16)+p(t,v);x=x+1|0;if((y|0)!=(x|0)){continue}break}}t=j[b+4344>>2];if((t|0)!=(u|0)){v=t;t=t>>31;w=s(v+t^t);y=v<>31;v=s(t+u^t);t=u<>16)<<16>>16;y=(p(A,y&65535)>>16)+p(A,y>>16)|0;t=ie(y,y>>31,t,t>>31);t=x-(((J&536870911)<<3|t>>>29)&-8)|0;y=(p(t>>16,A)+y|0)+(p(A,t&65535)>>16)|0;t=w-v|0;u=t+13|0;t=t+29|0;g:{if((t|0)<=15){v=0-u|0;u=2147483647>>>v|0;t=-2147483648>>v;t=((u|0)<(y|0)?u:(t|0)>(y|0)?t:y)<>u:0}u=j[a+4592>>2];if((u|0)>=1){y=t&65535;w=t>>16;x=j[b+4336>>2]-u|0;while(1){v=((x<<2)+b|0)+1280|0;u=j[v>>2];A=u<<16>>16;j[v>>2]=(p(w,A)+(p(y,A)>>16)|0)+p(t,(u>>15)+1>>1);x=x+1|0;if((x|0)>2]){continue}break}}h:{if(j[b+4348>>2]|(H&255)!=2){break h}B=j[b+4332>>2];x=(B-G|0)-2|0;if((x|0)>=(B|0)){break h}y=t&65535;w=t>>16;while(1){v=(x<<2)+T|0;u=j[v>>2];A=u<<16>>16;j[v>>2]=(p(w,A)+(p(y,A)>>16)|0)+p(t,(u>>15)+1>>1);x=x+1|0;if((B|0)!=(x|0)){continue}break}}v=j[b+4320>>2];u=v<<16>>16;B=t&65535;A=t>>16;j[b+4320>>2]=((p(u,B)>>16)+p(A,u)|0)+p(t,(v>>15)+1>>1);v=j[b+4324>>2];u=v<<16>>16;j[b+4324>>2]=((p(u,B)>>16)+p(u,A)|0)+p(t,(v>>15)+1>>1);x=0;w=0;while(1){v=((w<<2)+b|0)+3840|0;u=j[v>>2];y=u<<16>>16;j[v>>2]=(p(y,A)+(p(y,B)>>16)|0)+p(t,(u>>15)+1>>1);w=w+1|0;if((w|0)!=16){continue}break}while(1){v=((x<<2)+b|0)+4224|0;u=j[v>>2];w=u<<16>>16;j[v>>2]=(p(w,A)+(p(w,B)>>16)|0)+p(t,(u>>15)+1>>1);x=x+1|0;if((x|0)!=24){continue}break}j[b+4344>>2]=j[V>>2];R=j[a+4588>>2];u=j[V>>2]}if((R|0)>=1){W=p(F,10)+g|0;S=0;na=(H&255)!=2;Aa=na|(O|0)>0;v=Z>>2;oa=(v|Z<<15)>>16;t=j[o+K>>2];pa=t>>16;X=j[a+4636>>2];Ba=X>>1;Ca=X&1;qa=j[a+4640>>2];Da=qa>>1;ra=u<<10>>16;sa=v<<16>>16;ta=t<<16>>16;H=(u>>21)+1>>1;_=p(F,48)+l|0;t=X-1|0;Z=_+(t<<1)|0;V=((t<<2)+b|0)+4224|0;Y=((j[b+4336>>2]-O<<2)+b|0)+1284|0;N=((j[b+4332>>2]-O<<2)+T|0)+8|0;ua=i[n+K>>1];x=j[b+4340>>2];u=aa;while(1){j[b+4340>>2]=p(x,196314165)+907633515;t=i[C>>1];v=j[u>>2];w=(p(t,v>>16)+Da|0)+(p(t,v&65535)>>16)|0;t=i[C+2>>1];v=j[u-4>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+4>>1];v=j[u-8>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+6>>1];v=j[u-12>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+8>>1];v=j[u-16>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+10>>1];v=j[u-20>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+12>>1];v=j[u-24>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+14>>1];v=j[u-28>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+16>>1];v=j[u-32>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+18>>1];v=j[u-36>>2];$=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;if((qa|0)==16){t=i[C+20>>1];v=j[u-40>>2];w=(p(t,v>>16)+$|0)+(p(t,v&65535)>>16)|0;t=i[C+22>>1];v=j[u-44>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+24>>1];v=j[u-48>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+26>>1];v=j[u-52>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+28>>1];v=j[u-56>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[C+30>>1];v=j[u-60>>2];$=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0}ga=0;if(!na){t=i[W>>1];v=j[N>>2];w=p(t,v>>16)+(p(t,v&65535)>>16)|0;t=i[W+2>>1];v=j[N-4>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[W+4>>1];v=j[N-8>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[W+6>>1];v=j[N-12>>2];w=(w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0;t=i[W+8>>1];v=j[N-16>>2];ga=((w+p(t,v>>16)|0)+(p(t,v&65535)>>16)|0)+2|0;N=N+4|0}if(Ca){break b}w=j[b+4224>>2];v=j[b+4324>>2];j[b+4224>>2]=v;t=i[_>>1];v=(p(t,v>>16)+Ba|0)+(p(t,v&65535)>>16)|0;x=2;if((X|0)>=3){while(1){y=b+4224|0;A=x-1|0;t=y+(A<<2)|0;B=j[t>>2];j[t>>2]=w;y=y+(x<<2)|0;t=j[y>>2];A=i[(A<<1)+_>>1];j[y>>2]=B;w=(p(A,w>>16)+v|0)+(p(A,w&65535)>>16)|0;v=i[(x<<1)+_>>1];v=(w+p(v,B>>16)|0)+(p(v,B&65535)>>16)|0;w=t;x=x+2|0;if((X|0)>(x|0)){continue}break}}j[V>>2]=w;if(!Aa){break a}t=j[b+4320>>2];A=t&65535;y=t>>16;t=i[Z>>1];Q=((p(A,ua)>>16)+p(y,ua)|0)+((p(t,w>>16)+v|0)+(p(t,w&65535)>>16)<<1)|0;t=j[((j[b+4336>>2]<<2)+b|0)+1276>>2];G=((p(y,pa)+(p(A,pa)>>16)|0)+p(t>>16,ta)|0)+(p(t&65535,ta)>>16)|0;t=(($<<2)-Q|0)-G|0;i:{if((O|0)>=1){w=(t<<1)+ga|0;v=j[Y-4>>2];t=j[Y-8>>2]+j[Y>>2]|0;x=w-(((p(v>>16,oa)+p(t>>16,sa)|0)+(p(t&65535,sa)>>16)|0)+(p(v&65535,oa)>>16)<<1)>>2;Y=Y+4|0;break i}x=t>>1}j:{k:{l:{m:{B=(S<<2)+ca|0;t=j[B>>2]-(x+1>>1)|0;t=j[b+4340>>2]<0?0-t|0:t;t=(t|0)>-31744?t:-31744;K=(t|0)<30720?t:30720;x=K-E|0;t=x;n:{if(za){break n}t=x-ea|0;if((x|0)>(ea|0)){break n}if((x|0)>=(ya|0)){break m}t=x+ea|0}A=t;if((A|0)>=1024){w=(A&-1024)+xa|0;v=p(w<<16>>16,M);y=w+1024|0;t=p(y<<16>>16,M);break j}w=E;y=da;v=P;t=ia;switch((A>>10)+1|0){case 1:break j;case 0:break l;default:break k}}w=E;y=da;v=P;t=ia;if((x|0)>=0){break j}}w=ja;y=E;v=va;t=P;break j}w=E+(A&-1024|80)|0;v=p(0-(w<<16)>>16,M);y=w+1024|0;t=p(0-(y<<16)>>16,M)}A=e+S|0;x=t;t=K-y<<16>>16;x=x+p(t,t)|0;t=K-w<<16>>16;t=(x|0)<(p(t,t)+v|0)?y:w;h[A|0]=(t>>>9|0)+1>>>1;t=t<<4;v=(ga<<1)+(j[b+4340>>2]<0?0-t|0:t)|0;w=v+($<<4)|0;t=(p(w>>16,ra)+p(w,H)|0)+(p(w&65534,ra)>>16)|0;i[(S<<1)+fa>>1]=(t|0)>8388479?32767:(t|0)<-8388736?-32768:(t>>>7|0)+1>>>1|0;j[u+4>>2]=w;t=w-(j[B>>2]<<4)|0;j[b+4324>>2]=t;t=t-(Q<<2)|0;j[b+4320>>2]=t;j[((j[b+4336>>2]<<2)+b|0)+1280>>2]=t-(G<<2);t=j[b+4332>>2];j[(t<<2)+T>>2]=v<<1;j[b+4332>>2]=t+1;j[b+4336>>2]=j[b+4336>>2]+1;x=j[b+4340>>2]+h[A|0]|0;j[b+4340>>2]=x;u=u+4|0;S=S+1|0;if((S|0)!=(R|0)){continue}break}}v=(R<<2)+b|0;u=v+3896|0;t=j[u+4>>2];j[ma+56>>2]=j[u>>2];j[ma+60>>2]=t;u=v+3888|0;t=j[u+4>>2];j[D+48>>2]=j[u>>2];j[D+52>>2]=t;u=v+3880|0;t=j[u+4>>2];j[D+40>>2]=j[u>>2];j[D+44>>2]=t;u=v+3872|0;t=j[u+4>>2];j[D+32>>2]=j[u>>2];j[D+36>>2]=t;u=v+3864|0;t=j[u+4>>2];j[D+24>>2]=j[u>>2];j[D+28>>2]=t;u=v+3856|0;t=j[u+4>>2];j[D+16>>2]=j[u>>2];j[D+20>>2]=t;u=v+3848|0;t=j[u+4>>2];j[D+8>>2]=j[u>>2];j[D+12>>2]=t;u=v+3840|0;t=j[u+4>>2];j[D>>2]=j[u>>2];j[D+4>>2]=t;w=j[a+4580>>2];F=F+1|0;if((w|0)>(F|0)){x=j[a+4588>>2];e=x+e|0;t=x<<1;d=t+d|0;fa=t+fa|0;H=k[c+29|0];continue}break}y=j[a+4592>>2];v=j[a+4584>>2]}j[b+4328>>2]=j[((w<<2)+r|0)-4>>2];b=U(b,(v<<1)+b|0,y<<1)+1280|0;U(b,b+(j[a+4584>>2]<<2)|0,j[a+4592>>2]<<2);I=ha;return}L(16318,16350,146);z()}L(16361,16350,250);z()}L(16408,16350,258);z()}function Eb(a,b,c,d,e,f,g,m){var n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;x=I-32|0;y=x;I=x;if(j[b+68>>2]){j[a+14728>>2]=1;j[a+4664>>2]=1}j[a+5748>>2]=0;j[a+15812>>2]=0;if(!oc(b)){V=a+10064|0;j[b+88>>2]=0;a:{if(j[b+4>>2]<=j[a+20196>>2]){break a}v=wa(V,j[a+5092>>2]);j[a+20144>>2]=1;j[a+20148>>2]=0;j[a+20136>>2]=0;j[a+20140>>2]=0;j[a+20128>>2]=0;j[a+20152>>2]=1;j[a+20156>>2]=16384;if(j[a+20192>>2]!=2){break a}M(a+15840|0,a+5776|0,300);n=j[a+4>>2];j[a+10064>>2]=j[a>>2];j[a+10068>>2]=n}D=j[b+24>>2];b:{if((D|0)!=j[a+4612>>2]){o=j[b+4>>2];n=1;break b}o=j[b+4>>2];n=(o|0)!=j[a+20196>>2]}q=j[b>>2];j[a+20196>>2]=o;j[a+20192>>2]=q;t=p(d,100);q=j[b+8>>2];u=(t|0)/(q|0)|0;c:{d:{e:{f:{if(g){if((u|0)!=1){break c}if((g|0)==2){q=j[a+28>>2];j[y+24>>2]=j[a+24>>2];j[y+28>>2]=q;q=j[a+20>>2];j[y+16>>2]=j[a+16>>2];j[y+20>>2]=q;A=j[a+4576>>2]}g:{if((o|0)>0){t=(g|0)!=2;break g}j[b+24>>2]=10;W=j[b+36>>2];j[b+36>>2]=0;break f}h:{while(1){q=p(r,10064)+a|0;K=wa(q,j[q+5092>>2]);if(!t){o=j[y+20>>2];j[q+16>>2]=j[y+16>>2];j[q+20>>2]=o;o=j[y+28>>2];j[q+24>>2]=j[y+24>>2];j[q+28>>2]=o;j[q+32>>2]=A}if(!K){o=j[b+4>>2];r=r+1|0;if((o|0)<=(r|0)){break h}continue}break}L(17522,17507,222);z()}D=j[b+24>>2];j[b+24>>2]=10;W=j[b+36>>2];v=0;j[b+36>>2]=0;if((o|0)<1){break f}while(1){q=p(v,10064)+a|0;j[q+4680>>2]=1;j[q+4668>>2]=0;v=v+1|0;if((v|0)!=(o|0)){continue}break}v=0;break f}if((t|0)!=(p(q,u)|0)|(d|0)<0){break d}q=p(q,D);D=0;if((q|0)<(p(d,1e3)|0)){break e}}i:{j:{k:{l:{if((o|0)<1){break l}w=n^-1;n=0;while(1){o=0;r=p(n,10064)+a|0;v=mc(r,b,j[a+20208>>2],n,(n|0)==1?j[a+4576>>2]:0);if(v){break j}if(!(w&!j[r+4664>>2]|j[a+5744>>2]<1)){while(1){j[(r+(o<<2)|0)+4724>>2]=0;o=o+1|0;if((o|0)>2]){continue}break}}j[r+6080>>2]=j[r+6076>>2];n=n+1|0;q=j[b+4>>2];if((n|0)<(q|0)){continue}break}v=0;if((q|0)!=1){break l}o=j[a+4576>>2];break k}o=j[a+4576>>2];if((o|0)!=j[a+14640>>2]){break i}}H=(u|0)>1?u>>1:1;$=H<<1;aa=H-1|0;ba=a+10212|0;K=a+17232|0;X=a+14784|0;ca=a+15164|0;da=a+5100|0;ea=a+20128|0;E=a+20180|0;fa=a+14788|0;P=a+20162|0;Q=a+15160|0;R=a+15840|0;F=a+5096|0;J=a+5776|0;Y=p(u,10);S=p(Y,o);B=x-(((p(S,j[a+4556>>2])|0)/(p(o,1e3)|0)<<1)+15&-16)|0;I=B;m:{while(1){n=j[a+5740>>2];q=j[a+4584>>2]-n|0;q=(q|0)<(S|0)?q:S;x=(p(q,j[a+4556>>2])|0)/(p(j[a+4576>>2],1e3)|0)|0;n:{o:{p:{q:{r:{s:{t:{switch(j[b>>2]-1|0){case 1:u:{switch(j[b+4>>2]-1|0){case 1:t=j[a+5748>>2];o=0;r=(x|0)<1;if(!r){while(1){i[(o<<1)+B>>1]=l[(o<<2)+c>>1];o=o+1|0;if((x|0)!=(o|0)){continue}break}}if(!(j[a+20200>>2]!=1|t)){M(R,J,300)}n=Z(J,((n<<1)+F|0)+4|0,B,x);j[a+5740>>2]=q+j[a+5740>>2];q=j[a+15804>>2];t=j[a+14648>>2]-q|0;u=p(j[a+14640>>2],Y);t=(t|0)<(u|0)?t:u;o=0;if(!r){while(1){i[(o<<1)+B>>1]=l[(o<<2|2)+c>>1];o=o+1|0;if((x|0)!=(o|0)){continue}break}}q=Z(R,((q<<1)+Q|0)+4|0,B,x);j[a+15804>>2]=t+j[a+15804>>2];v=q+(n+v|0)|0;o=j[a+5740>>2];break s;case 0:break u;default:break r}}o=0;if((x|0)>=1){while(1){t=o<<2;t=i[(t|2)+c>>1]+i[c+t>>1]|0;i[(o<<1)+B>>1]=(t>>>1|0)+(t&1);o=o+1|0;if((x|0)!=(o|0)){continue}break}}v=Z(J,((n<<1)+F|0)+4|0,B,x)+v|0;v:{if(j[a+5748>>2]|j[a+20200>>2]!=2){break v}v=Z(R,((j[a+15804>>2]<<1)+Q|0)+4|0,B,x)+v|0;n=j[a+4584>>2];if((n|0)<1){break v}t=j[a+15804>>2];r=j[a+5740>>2];o=0;while(1){u=o+2|0;w=(u+r<<1)+F|0;i[w>>1]=i[(t+u<<1)+Q>>1]+i[w>>1]>>>1;o=o+1|0;if((n|0)!=(o|0)){continue}break}}o=q+j[a+5740>>2]|0;j[a+5740>>2]=o;break s;case 0:break t;default:break r}}if(j[b+4>>2]!=1){break r}n=Z(J,((n<<1)+F|0)+4|0,M(B,c,x<<1),x);o=q+j[a+5740>>2]|0;j[a+5740>>2]=o;v=n+v|0}ga=j[b>>2];j[a+20208>>2]=0;q=j[a+4584>>2];n=0;if((q|0)>(o|0)){break m}if((o|0)!=(q|0)){break q}n=j[b+4>>2];if(j[a+15804>>2]!=j[a+14648>>2]?(n|0)!=1:0){break p}if(j[a+5748>>2]|g){break n}w=0;i[y+14>>1]=0;h[y+14|0]=0-(256>>>p(n,j[a+5744>>2]+1|0)|0);N(e,0,y+14|0,8);u=j[b+4>>2];if((u|0)<=0){break o}while(1){o=0;r=0;q=p(w,10064)+a|0;n=j[q+5744>>2];if((n|0)>=1){while(1){r=j[(q+(o<<2)|0)+4724>>2]<0;if(!(!r|(n|0)<2)){N(e,r-1|0,j[(n<<2)+5808>>2],8);u=j[b+4>>2]}w=w+1|0;if((w|0)<(u|0)){continue}break}break o}L(17672,17507,320);z()}L(17758,17507,336);z()}L(17857,17507,337);z()}n=0;if(j[a+5744>>2]>0){while(1){if((u|0)>=1){A=n-1|0;T=n+E|0;_=n<<2;w=_+fa|0;o=p(n,6)+P|0;r=0;while(1){q=p(r,10064)+a|0;if(j[(q+_|0)+4724>>2]){w:{if((u|0)!=2|r){break w}_a(e,o);if(j[w>>2]){break w}Za(e,h[T|0])}t=q;u=e;C=n;x:{if(n){U=2;if(j[(q+(A<<2)|0)+4724>>2]){break x}}U=0}za(t,u,C,1,U);t=q+p(n,36)|0;ya(e,h[t+6129|0],h[t+6130|0],(q+p(n,320)|0)+6208|0,j[q+4584>>2]);u=j[b+4>>2]}r=r+1|0;if((r|0)<(u|0)){continue}break}}n=n+1|0;if((n|0)>2]){continue}break}}o=0;if((u|0)>0){while(1){n=p(o,10064)+a|0;j[n+4724>>2]=0;j[n+4728>>2]=0;j[n+4732>>2]=0;o=o+1|0;if((o|0)>2]){continue}break}}j[a+20184>>2]=(j[e+20>>2]+s(j[e+28>>2])|0)-32}gc(a);t=j[b+24>>2];n=j[b+28>>2];q=(p(t,n)|0)/1e3|0;if(!g){q=q-j[a+20184>>2]|0}q=(q|0)/j[a+5744>>2]|0;r=p(q<<16>>16,(t|0)==10?100:50)-(j[a+20188>>2]<<1)|0;y:{if(g){break y}t=j[a+5748>>2];if((t|0)<1){break y}r=((j[a+20184>>2]+((p(q,t)-j[e+20>>2]|0)-s(j[e+28>>2])|0)<<1)+r|0)- -64|0}z:{if((n|0)>=5001){q=n;if((n|0)<(r|0)){break z}q=(r|0)>5e3?r:5e3;break z}q=5e3;if((r|0)>5e3){break z}q=(n|0)>(r|0)?n:r}A:{if(j[b+4>>2]==2){n=j[a+5748>>2];ec(ea,da,ca,p(n,6)+P|0,n+E|0,y+16|0,q,j[a+4532>>2],j[b+60>>2],j[a+4576>>2],j[a+4584>>2]);n=j[a+5748>>2];B:{if(!k[n+E|0]){if(j[a+20212>>2]==1){n=K;j[n>>2]=0;j[n+4>>2]=0;j[n+8>>2]=0;j[a+10080>>2]=0;j[a+10084>>2]=0;O(ba,0,4384);h[a+17232|0]=10;j[a+14540>>2]=100;j[a+14608>>2]=100;h[a+14605|0]=0;j[a+14728>>2]=1;j[a+14556>>2]=65536}Fb(V,m);break B}h[n+X|0]=0}if(g){break A}_a(e,p(j[a+5748>>2],6)+P|0);n=j[a+5748>>2];if(k[n+X|0]){break A}Za(e,h[n+E|0]);break A}j[a+5096>>2]=j[a+20132>>2];n=(j[a+4584>>2]<<1)+F|0;j[a+20132>>2]=l[n>>1]|l[n+2>>1]<<16}Fb(a,m);A=j[b+4>>2];if((A|0)>=1){T=!G&(H|0)==2;o=0;while(1){t=j[b+56>>2];n=(p(t,3)|0)/5|0;C:{if(T){break C}n=t;if((H|0)!=3){break C}n=(t<<1)/5|0;if(!G){break C}n=t;if((G|0)!=1){break C}n=(p(t,3)|0)/4|0}u=n;w=(G|0)==(aa|0)&j[b+52>>2]!=0;D:{if((A|0)==1){r=q;break D}r=j[(y+16|0)+(o<<2)>>2];if(j[y+20>>2]<1|o){break D}u=u-((t|0)/($|0)|0)|0;w=0}if((r|0)>=1){n=p(o,10064)+a|0;Bd(n,r);t=f;r=e;C=0;E:{if(j[a+5748>>2]<=(o|0)){break E}if(o){C=1;if(j[a+20212>>2]){break E}}C=2}v=Cd(n,t,r,C,u,w);A=j[b+4>>2]}n=p(o,10064)+a|0;j[n+5740>>2]=0;j[n+4668>>2]=0;j[n+5748>>2]=j[n+5748>>2]+1;o=o+1|0;if((A|0)>(o|0)){continue}break}}t=p(x,ga)<<1;d=d-x|0;n=j[a+5748>>2];j[a+20212>>2]=h[(n+E|0)-1|0];F:{if((n|0)!=j[a+5744>>2]|j[f>>2]<1){break F}w=0;o=0;if((A|0)>=1){while(1){r=o<<1;o=0;q=p(w,10064)+a|0;u=j[q+5744>>2];if((u|0)>=1){while(1){r=(h[(o+q|0)+4720|0]|r)<<1;o=o+1|0;if((u|0)!=(o|0)){continue}break}}o=h[q+4723|0]|r;w=w+1|0;if((w|0)!=(A|0)){continue}break}}if(!g){kc(e,o,p(n+1|0,A))}if(!(!j[a+6080>>2]|(j[a+16144>>2]?0:j[b+4>>2]!=1))){j[f>>2]=0}n=j[b+24>>2];q=(j[a+20188>>2]+(j[f>>2]<<3)|0)+((p(n,j[b+28>>2])|0)/-1e3|0)|0;q=(q|0)>0?q:0;j[a+20188>>2]=(q|0)<1e4?q:1e4;q=j[a+20204>>2];if(j[a+4532>>2]<((p(q<<16>>16,3188)>>16)+13|0)){j[a+20204>>2]=0;j[a+20208>>2]=1;break F}j[a+20208>>2]=0;j[a+20204>>2]=n+q}c=c+t|0;G=G+1|0;if(d){continue}break}n=j[a+20208>>2]}d=j[b+4>>2];j[a+20200>>2]=d;j[b+76>>2]=n;f=j[a+4576>>2];j[b+80>>2]=(f|0)==16?!j[a+28>>2]:0;j[b+72>>2]=p(f<<16>>16,1e3);o=0;j[b+84>>2]=j[b+60>>2]?0:i[a+20156>>1];G:{if(!g){break G}j[b+36>>2]=W;j[b+24>>2]=D;if((d|0)<1){break G}while(1){c=p(o,10064)+a|0;j[c+4680>>2]=0;j[c+4668>>2]=0;o=o+1|0;if((d|0)!=(o|0)){continue}break}}c=h[a+4765|0];j[b+92>>2]=c;j[b+96>>2]=i[((c<<1&-4)+(h[a+4766|0]<<1)|0)+5840>>1]}I=y+32|0;return v}L(17545,17507,262);z()}L(17487,17507,241);z()}L(17487,17507,235);z()}L(17487,17507,206);z()}L(17487,17507,170);z()}function id(a,b,c,d,e,f,g,l,m,o,r,s,t,u,v,w,x,y,A,B,C,D){var E=0,F=0,G=0,H=0,J=0,K=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=q(0),fa=q(0),ga=0,ha=q(0),ia=q(0),ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=q(0),qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0;E=I-1568|0;I=E;F=1;T=j[a+32>>2];Pa=T+(b<<1)|0;Y=i[Pa>>1]<>2]<<1)+T|0)-2>>1]<>2];Q=i[((H<<1)+T|0)-2>>1];ja=Q<7;qa=ma;U=m?1<>1]-Q<>2]=w;j[E+1540>>2]=g;j[E+1520>>2]=s;j[E+1504>>2]=1;j[E+1512>>2]=a;m=j[A>>2];j[E+1556>>2]=D;j[E+1548>>2]=C;j[E+1524>>2]=o;j[E+1544>>2]=m;B=(U|0)>1;j[E+1560>>2]=B;j[E+1552>>2]=0;j[E+1508>>2]=qa;eb=A;if((b|0)<(c|0)){fb=e?N:0;gb=B|(o|0)!=3;hb=qa^1;Ua=la-1|0;Va=b+2|0;na=b+1|0;Wa=c-1|0;ga=(N+ja|0)-(Y<<2)|0;m=0-Y<<2;ib=ga+m|0;Z=m+N|0;ja=-1<>2]=H;b:{c:{C=H+1|0;S=(H<<1)+T|0;B=i[S>>1]<>1]<0){sa=V(w);m=u-sa|0;j[E+1536>>2]=m-1;Xa=v-((b|0)==(H|0)?0:sa)|0;A=0;d:{if((y|0)<=(H|0)){break d}v=y-H|0;v=j[(H<<2)+l>>2]+((Xa|0)/(((v|0)<3?v:3)|0)|0)|0;m=(m|0)<(v|0)?m:v;A=16383;if((m|0)>16383){break d}A=(m|0)>0?m:0}m=B<<2;Q=!qa|(((i[S>>1]<>1]<>2];F=i[o+(na<<1)>>1];v=F-i[o+(b<<1)>>1]<>1]-F<>2];j[E+1528>>2]=o;G=(H|0)>2];J=G?R:0;_=(H|0)==(Wa|0);R=_?0:J;P=-1;f:{if(!Q){m=ja;K=m;break f}m=ja;K=m;if(!((o|0)<0|gb)){break f}m=((i[(Q<<1)+T>>1]<0?m:0;m=Y+P|0;v=Q;while(1){F=v;v=v-1|0;if((m|0)>1]<i[(o<<1)+T>>1]<>1]<1?o:1;v=0;while(1){r=v<<2;G=r+N|0;n[G>>2]=q(n[G>>2]+n[r+ga>>2])*q(.5);v=v+1|0;if((o|0)!=(v|0)){continue}break}break c}if((s|0)==(H|0)){break c}o=P<<2;G=(P|0)==-1;O=G?0:o+N|0;v=A>>>1|0;h:{if((H|0)==(Wa|0)){o=G?0:o+ga|0;B=X(E+1504|0,B,D,v,U,O,x,0,q(1),R,m);m=0;break h}o=G?0:o+ga|0;B=X(E+1504|0,B,D,v,U,O,x,(i[S>>1]<>1]<>2];ia=n[(H+j[a+8>>2]<<2)+g>>2];Za=j[w+4>>2];_a=j[w>>2];r=j[w+20>>2];ua=E+1496|0;o=ua;j[o>>2]=j[w+16>>2];j[o+4>>2]=r;o=j[w+12>>2];j[E+1488>>2]=j[w+8>>2];j[E+1492>>2]=o;ka=j[w+24>>2];$a=E+1480|0;j[$a>>2]=j[w+44>>2];r=j[w+40>>2];va=E+1472|0;o=va;j[o>>2]=j[w+36>>2];j[o+4>>2]=r;o=j[w+32>>2];j[E+1464>>2]=j[w+28>>2];j[E+1468>>2]=o;ab=E+1408|0;oa=E+1560|0;j[ab>>2]=j[oa>>2];W=E+1552|0;r=W;v=j[r+4>>2];wa=E+1400|0;o=wa;j[o>>2]=j[r>>2];j[o+4>>2]=v;$=E+1544|0;r=$;v=j[r+4>>2];xa=E+1392|0;o=xa;j[o>>2]=j[r>>2];j[o+4>>2]=v;aa=E+1536|0;r=aa;v=j[r+4>>2];ya=E+1384|0;o=ya;j[o>>2]=j[r>>2];j[o+4>>2]=v;ba=E+1528|0;r=ba;v=j[r+4>>2];za=E+1376|0;o=za;j[o>>2]=j[r>>2];j[o+4>>2]=v;ca=E+1520|0;r=ca;v=j[r+4>>2];Aa=E+1368|0;o=Aa;j[o>>2]=j[r>>2];j[o+4>>2]=v;da=E+1512|0;r=da;v=j[r+4>>2];Ba=E+1360|0;o=Ba;j[o>>2]=j[r>>2];j[o+4>>2]=v;o=j[E+1508>>2];j[E+1352>>2]=j[E+1504>>2];j[E+1356>>2]=o;O=D<<2;Ca=M(Qa,B,O);Da=M(Ra,F,O);j[W>>2]=-1;v=0;bb=m|K;ea=q(0);K=(P|0)==-1?0:(P<<2)+N|0;r=Fa(E+1504|0,B,F,D,A,U,K,x,_?0:(i[S>>1]<>2]*n[m+B>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}v=0;while(1){m=v<<2;ea=q(ea+q(n[m+Da>>2]*n[m+F>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}o=j[w+44>>2];P=E+1456|0;m=P;j[m>>2]=j[w+40>>2];j[m+4>>2]=o;o=j[w+36>>2];Ea=E+1448|0;m=Ea;j[m>>2]=j[w+32>>2];j[m+4>>2]=o;o=j[w+28>>2];Ga=E+1440|0;m=Ga;j[m>>2]=j[w+24>>2];j[m+4>>2]=o;o=j[w+20>>2];Ha=E+1432|0;m=Ha;j[m>>2]=j[w+16>>2];j[m+4>>2]=o;o=j[w+12>>2];Ia=E+1424|0;m=Ia;j[m>>2]=j[w+8>>2];j[m+4>>2]=o;m=j[w>>2];o=j[w+4>>2];G=j[da+4>>2];Ja=E+1296|0;v=Ja;j[v>>2]=j[da>>2];j[v+4>>2]=G;G=j[ca+4>>2];Ka=E+1304|0;v=Ka;j[v>>2]=j[ca>>2];j[v+4>>2]=G;G=j[ba+4>>2];La=E+1312|0;v=La;j[v>>2]=j[ba>>2];j[v+4>>2]=G;G=j[aa+4>>2];Ma=E+1320|0;v=Ma;j[v>>2]=j[aa>>2];j[v+4>>2]=G;G=j[$+4>>2];Na=E+1328|0;v=Na;j[v>>2]=j[$>>2];j[v+4>>2]=G;G=j[W+4>>2];Oa=E+1336|0;v=Oa;j[v>>2]=j[W>>2];j[v+4>>2]=G;G=E+1344|0;j[G>>2]=j[oa>>2];j[E+1416>>2]=m;j[E+1420>>2]=o;m=j[E+1508>>2];j[E+1288>>2]=j[E+1504>>2];j[E+1292>>2]=m;jb=M(Sa,B,O);kb=M(Ta,F,O);if(!_){M(ra,(i[S>>1]<>2]=Za;j[w>>2]=_a;m=j[ua+4>>2];j[w+16>>2]=j[ua>>2];j[w+20>>2]=m;m=j[J+1492>>2];j[w+8>>2]=j[J+1488>>2];j[w+12>>2]=m;j[w+24>>2]=ka;j[w+44>>2]=j[$a>>2];m=j[va+4>>2];j[w+36>>2]=j[va>>2];j[w+40>>2]=m;m=j[J+1468>>2];j[w+28>>2]=j[J+1464>>2];j[w+32>>2]=m;m=j[Ba+4>>2];j[da>>2]=j[Ba>>2];j[da+4>>2]=m;m=j[Aa+4>>2];j[ca>>2]=j[Aa>>2];j[ca+4>>2]=m;m=j[za+4>>2];j[ba>>2]=j[za>>2];j[ba+4>>2]=m;m=j[ya+4>>2];j[aa>>2]=j[ya>>2];j[aa+4>>2]=m;m=j[xa+4>>2];j[$>>2]=j[xa>>2];j[$+4>>2]=m;m=j[wa+4>>2];j[W>>2]=j[wa>>2];j[W+4>>2]=m;j[oa>>2]=j[ab>>2];m=j[J+1356>>2];j[J+1504>>2]=j[J+1352>>2];j[J+1508>>2]=m;m=M(B,Ca,O);o=M(F,Da,O);if(!Ya){v=j[a+32>>2];F=i[v+(na<<1)>>1];B=F-i[v+(b<<1)>>1]<>1]-F<>2]=1;v=0;pa=q((ia>ha?ha:ia)/q(3));ia=q(ia+pa);ha=q(ha+pa);pa=q(q(ha*fa)+q(ia*ea));ea=q(0);B=Fa(J+1504|0,m,o,D,A,U,K,x,_?0:(i[S>>1]<>2]*n[m+F>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}v=0;while(1){F=v<<2;ea=q(ea+q(n[F+Da>>2]*n[o+F>>2]));v=v+1|0;if((D|0)!=(v|0)){continue}break}if(!(pa>=q(q(ha*fa)+q(ia*ea))^1)){v=j[J+1420>>2];j[w>>2]=j[J+1416>>2];j[w+4>>2]=v;v=j[P+4>>2];j[w+40>>2]=j[P>>2];j[w+44>>2]=v;v=j[Ea+4>>2];j[w+32>>2]=j[Ea>>2];j[w+36>>2]=v;v=j[Ga+4>>2];j[w+24>>2]=j[Ga>>2];j[w+28>>2]=v;v=j[Ha+4>>2];j[w+16>>2]=j[Ha>>2];j[w+20>>2]=v;v=j[Ia+4>>2];j[w+8>>2]=j[Ia>>2];j[w+12>>2]=v;v=j[Ja+4>>2];j[da>>2]=j[Ja>>2];j[da+4>>2]=v;v=j[Ka+4>>2];j[ca>>2]=j[Ka>>2];j[ca+4>>2]=v;v=j[La+4>>2];j[ba>>2]=j[La>>2];j[ba+4>>2]=v;v=j[Ma+4>>2];j[aa>>2]=j[Ma>>2];j[aa+4>>2]=v;v=j[Na+4>>2];j[$>>2]=j[Na>>2];j[$+4>>2]=v;v=j[Oa+4>>2];j[W>>2]=j[Oa>>2];j[W+4>>2]=v;j[oa>>2]=j[G>>2];v=j[J+1292>>2];j[J+1504>>2]=j[J+1288>>2];j[J+1508>>2]=v;M(m,jb,O);M(o,kb,O);if(!_){M((i[S>>1]<>2]=0;B=Fa(E+1504|0,B,F,D,A,U,(P|0)==-1?0:(P<<2)+N|0,x,_?0:(i[S>>1]<>1]<>2];j[E+1560>>2]=0;v=m+(sa+Xa|0)|0;o=D<<3<(A|0);if((c|0)!=(C|0)){continue}break}m=j[E+1544>>2]}j[eb>>2]=m;I=E+1568|0}function Cd(a,b,c,d,e,f){var g=0,m=0,o=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,N=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=q(0),_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;o=I-13584|0;I=o;j[o+40>>2]=0;j[o+44>>2]=0;j[o+32>>2]=0;j[o+36>>2]=0;g=j[a+4620>>2];h[a+4770|0]=g&3;j[a+4620>>2]=g+1;g=j[a+4592>>2];cc(a+16|0,a+5098|0,j[a+4584>>2]);V=a+7180|0;B=g<<2;w=V+B|0;r=p(j[a+4576>>2],5);u=w+(r<<2)|0;g=j[a+4584>>2];if((g|0)>=1){t=g;while(1){m=t-1|0;n[u+(m<<2)>>2]=i[((t<<1)+a|0)+5096>>1];A=(t|0)>1;t=m;if(A){continue}break}}n[u>>2]=n[u>>2]+q(9.999999974752427e-7);g=g>>3;m=(g+r<<2)+w|0;n[m>>2]=n[m>>2]+q(9.999999974752427e-7);m=(r+(g<<1)<<2)+w|0;n[m>>2]=n[m>>2]+q(-9.999999974752427e-7);m=(r+p(g,3)<<2)+w|0;n[m>>2]=n[m>>2]+q(-9.999999974752427e-7);m=(r+(g<<2)<<2)+w|0;n[m>>2]=n[m>>2]+q(9.999999974752427e-7);m=(r+p(g,5)<<2)+w|0;n[m>>2]=n[m>>2]+q(9.999999974752427e-7);m=(r+p(g,6)<<2)+w|0;n[m>>2]=n[m>>2]+q(-9.999999974752427e-7);g=(r+p(g,7)<<2)+w|0;n[g>>2]=n[g>>2]+q(-9.999999974752427e-7);a:{if(j[a+4680>>2]){break a}F=a+4736|0;fe(a,o+8480|0,o+5792|0,w);g=B+(o+5792|0)|0;de(a,o+8480|0,g,w);Gd(a,o+8480|0,g,w,d);Ed(a,o+8480|0,d);if(!(!j[a+6092>>2]|j[a+4532>>2]<78)){g=j[a+5748>>2];j[((g<<2)+a|0)+4724>>2]=1;M(o+9232|0,a+148|0,4352);g=(p(g,36)+a|0)+6100|0;m=a+4768|0;m=l[m>>1]|l[m+2>>1]<<16;i[g+32>>1]=m;i[g+34>>1]=m>>>16;m=a+4760|0;r=l[m+4>>1]|l[m+6>>1]<<16;m=l[m>>1]|l[m+2>>1]<<16;i[g+24>>1]=m;i[g+26>>1]=m>>>16;i[g+28>>1]=r;i[g+30>>1]=r>>>16;m=a+4752|0;r=l[m+4>>1]|l[m+6>>1]<<16;m=l[m>>1]|l[m+2>>1]<<16;i[g+16>>1]=m;i[g+18>>1]=m>>>16;i[g+20>>1]=r;i[g+22>>1]=r>>>16;m=a+4744|0;r=l[m+4>>1]|l[m+6>>1]<<16;m=l[m>>1]|l[m+2>>1]<<16;i[g+8>>1]=m;i[g+10>>1]=m>>>16;i[g+12>>1]=r;i[g+14>>1]=r>>>16;m=l[a+4740>>1]|l[a+4742>>1]<<16;r=l[a+4736>>1]|l[a+4738>>1]<<16;i[g>>1]=r;i[g+2>>1]=r>>>16;i[g+4>>1]=m;i[g+6>>1]=m>>>16;t=j[a+4580>>2];M(o+48|0,o+8480|0,t<<2);u=o+1344|0;r=g;A=a+4540|0;B=(d|0)==2;m=j[a+5748>>2];if(!(j[((m<<2)+a|0)+4720>>2]?m:0)){h[a+4540|0]=k[a+7168|0];m=k[g|0]+k[a+6096|0]|0;h[g|0]=m<<24>>24<63?m:63;t=j[a+4580>>2]}Fd(u,r,A,B,t);m=j[a+4580>>2];if((m|0)>=1){t=0;while(1){r=t<<2;n[r+(o+8480|0)>>2]=q(j[r+(o+1344|0)>>2])*q(152587890625e-16);t=t+1|0;if((m|0)!=(t|0)){continue}break}}Jb(a,o+8480|0,g,o+9232|0,(p(j[a+5748>>2],320)+a|0)+6208|0,w);M(o+8480|0,o+48|0,j[a+4580>>2]<<2)}r=Gb(F,j[a+4580>>2]);m=j[c+44>>2];K=o+5784|0;g=K;j[g>>2]=j[c+40>>2];j[g+4>>2]=m;m=j[c+36>>2];N=o+5776|0;g=N;j[g>>2]=j[c+32>>2];j[g+4>>2]=m;m=j[c+28>>2];P=o+5768|0;g=P;j[g>>2]=j[c+24>>2];j[g+4>>2]=m;m=j[c+20>>2];Q=o+5760|0;g=Q;j[g>>2]=j[c+16>>2];j[g+4>>2]=m;m=j[c+12>>2];R=o+5752|0;g=R;j[g>>2]=j[c+8>>2];j[g+4>>2]=m;g=j[c+4>>2];j[o+5744>>2]=j[c>>2];j[o+5748>>2]=g;G=a+148|0;M(o+9232|0,G,4352);da=a+4736|0;W=(d|0)==2;ea=e-5|0;S=a+7168|0;J=a+4772|0;X=j[a+5768>>2];Y=l[a+5772>>1];fa=k[a+4770|0];x=256;B=-1;u=0;m=0;A=-1;while(1){t=(r|0)==(B|0);b:{if(t){g=u;break b}if((r|0)==(A|0)){g=m;break b}if(C){g=j[o+5748>>2];j[c>>2]=j[o+5744>>2];j[c+4>>2]=g;g=j[K+4>>2];j[c+40>>2]=j[K>>2];j[c+44>>2]=g;g=j[N+4>>2];j[c+32>>2]=j[N>>2];j[c+36>>2]=g;g=j[P+4>>2];j[c+24>>2]=j[P>>2];j[c+28>>2]=g;g=j[Q+4>>2];j[c+16>>2]=j[Q>>2];j[c+20>>2]=g;g=j[R+4>>2];j[c+8>>2]=j[R>>2];j[c+12>>2]=g;M(G,o+9232|0,4352);i[a+5772>>1]=Y;h[a+4770|0]=fa;j[a+5768>>2]=X}Jb(a,o+8480|0,F,G,J,w);if(!((C|0)!=6|D)){y=j[c+20>>2];g=o+5736|0;j[g>>2]=j[c+16>>2];j[g+4>>2]=y;y=j[c+12>>2];g=o+5728|0;j[g>>2]=j[c+8>>2];j[g+4>>2]=y;g=j[c+4>>2];j[o+5720>>2]=j[c>>2];j[o+5724>>2]=g;y=j[c+24>>2];v=j[c+40>>2];g=o+5704|0;j[g>>2]=j[c+36>>2];j[g+4>>2]=v;j[o+5712>>2]=j[c+44>>2];g=j[c+32>>2];j[o+5696>>2]=j[c+28>>2];j[o+5700>>2]=g}za(a,c,j[a+5748>>2],0,d);ya(c,h[a+4765|0],h[a+4766|0],J,j[a+4584>>2]);g=(j[c+20>>2]+s(j[c+28>>2])|0)-32|0;if(!(D|(g|0)<=(e|0)|(C|0)!=6)){g=j[o+5724>>2];j[c>>2]=j[o+5720>>2];j[c+4>>2]=g;g=o+5736|0;v=j[g+4>>2];j[c+16>>2]=j[g>>2];j[c+20>>2]=v;g=o+5728|0;v=j[g+4>>2];j[c+8>>2]=j[g>>2];j[c+12>>2]=v;j[c+24>>2]=y;j[c+44>>2]=j[o+5712>>2];g=o+5704|0;v=j[g+4>>2];j[c+36>>2]=j[g>>2];j[c+40>>2]=v;g=j[o+5700>>2];j[c+28>>2]=j[o+5696>>2];j[c+32>>2]=g;g=k[o+9224|0];h[a+7168|0]=g;v=j[a+4580>>2];if((v|0)>=1){O(da,4,v)}if(!W){h[F|0]=g}j[a+5768>>2]=X;i[a+5772>>1]=Y;g=j[a+4584>>2];if((g|0)>=1){O(J,0,g)}za(a,c,j[a+5748>>2],0,d);ya(c,h[a+4765|0],h[a+4766|0],J,j[a+4584>>2]);g=(j[c+20>>2]+s(j[c+28>>2])|0)-32|0}if(f|C){break b}if((e|0)>=(g|0)){break a}}c:{d:{e:{f:{g:{h:{if((C|0)==6){if(!D|!(t|(e|0)<(g|0))){break a}d=j[o+5724>>2];j[c>>2]=j[o+5720>>2];j[c+4>>2]=d;d=o+5736|0;e=j[d+4>>2];j[c+16>>2]=j[d>>2];j[c+20>>2]=e;d=o+5728|0;e=j[d+4>>2];j[c+8>>2]=j[d>>2];j[c+12>>2]=e;j[c+24>>2]=y;j[c+44>>2]=j[o+5712>>2];d=o+5704|0;e=j[d+4>>2];j[c+36>>2]=j[d>>2];j[c+40>>2]=e;d=j[o+5700>>2];j[c+28>>2]=j[o+5696>>2];j[c+32>>2]=d;if(y>>>0>=1276){break h}M(j[c>>2],o+48|0,y);M(G,o+1344|0,4352);h[S|0]=ga;break a}i:{j:{k:{l:{if((e|0)<(g|0)){if(C>>>0<2|D){break l}Z=q(n[o+9172>>2]*q(1.5));n[o+9172>>2]=Z>q(1.5)?Z:q(1.5);_=0;h[a+4766|0]=0;r=-1;break k}if((g|0)>=(ea|0)){break a}if(!t){t=j[c+20>>2];u=o+5736|0;j[u>>2]=j[c+16>>2];j[u+4>>2]=t;t=j[c+12>>2];u=o+5728|0;j[u>>2]=j[c+8>>2];j[u+4>>2]=t;u=j[c+4>>2];j[o+5720>>2]=j[c>>2];j[o+5724>>2]=u;y=j[c+24>>2];t=j[c+40>>2];u=o+5704|0;j[u>>2]=j[c+36>>2];j[u+4>>2]=t;j[o+5712>>2]=j[c+44>>2];u=j[c+32>>2];j[o+5696>>2]=j[c+28>>2];j[o+5700>>2]=u;if(y>>>0>=1276){break g}M(o+48|0,j[c>>2],y);M(o+1344|0,G,4352);ga=k[S|0]}H=x<<16>>16;D=1;if(!_){break f}u=g;g=m;B=r;break i}$=x<<16>>16;_=1;if(D){break j}m=g}aa=j[a+4580>>2];if((aa|0)<1){break e}g=0;E=j[a+4588>>2];T=E;while(1){v=0;t=p(g,E);A=g+1|0;if((t|0)<(p(A,E)|0)){while(1){ba=h[(a+t|0)+4772|0];ca=ba>>31;v=(ca^ca+ba)+v|0;t=t+1|0;if((T|0)!=(t|0)){continue}break}}m:{n:{if(C){t=g<<2;if(j[t+o>>2]<=(v|0)|j[t+(o+32|0)>>2]){break n}}i[(o+24|0)+(g<<1)>>1]=x;j[(g<<2)+o>>2]=v;break m}j[t+(o+32|0)>>2]=1}T=E+T|0;g=A;if((aa|0)!=(g|0)){continue}break}break e}A=r;if(!D){break d}}r=$-H|0;t=((p(r,e-u|0)|0)/(g-u|0)|0)+H|0;m=t<<16>>16;r=r>>2;x=r+H|0;if((m|0)>(x|0)){break c}r=$-r|0;x=(m|0)<(r|0)?r:t;break c}L(16895,16942,251);z()}L(16972,16942,281);z()}u=na(((g-e<<7)/j[a+4584>>2]|0)+2048|0);x=(p(u&65535,H)>>>16|0)+p(u>>16,H)|0;u=g;g=m;B=r;break c}g=m}A=r;x=x<<16>>16<16384?x<<1:32767}t=0;r=j[a+4580>>2];if((r|0)>=1){while(1){m=x;v=t<<2;m=j[v+(o+32|0)>>2]?i[(o+24|0)+(t<<1)>>1]:m;E=v+(o+1328|0)|0;m=m<<16>>16;v=j[(o+v|0)+9208>>2];m=(p(m,v&65535)>>16)+p(m,v>>16)|0;m=(m|0)>-8388608?m:-8388608;j[E>>2]=((m|0)<8388607?m:8388607)<<8;t=t+1|0;if((r|0)!=(t|0)){continue}break}}h[a+7168|0]=k[o+9224|0];Hb(F,o+1328|0,S,W,r);r=Gb(F,j[a+4580>>2]);t=0;m=j[a+4580>>2];if((m|0)>=1){while(1){v=t<<2;n[v+(o+8480|0)>>2]=q(j[v+(o+1328|0)>>2])*q(152587890625e-16);t=t+1|0;if((m|0)!=(t|0)){continue}break}}C=C+1|0;m=g;continue}}U(V,((j[a+4584>>2]<<2)+a|0)+7180|0,j[a+4592>>2]+p(j[a+4576>>2],5)<<2);if(j[a+4680>>2]){a=0}else{d=j[((j[a+4580>>2]<<2)+o|0)+8704>>2];j[a+4664>>2]=0;h[a+4541|0]=k[a+4765|0];j[a+4544>>2]=d;a=(j[c+20>>2]+s(j[c+28>>2])|0)-25>>3}j[b>>2]=a;I=o+13584|0;return 0}function Sd(a,b,c,d,e,f,g,l,m,n,o,q,r,t,u){var v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,N=0,P=0,Q=0,R=0,S=0,T=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;v=I-176|0;R=v;I=v;S=j[b+4328>>2];v=v-(p(j[a+4628>>2],1300)+15&-16)|0;y=v;I=v;A=j[a+4628>>2];K=O(v,0,p(A,1300));if((A|0)>=1){F=b+4224|0;x=b+3840|0;C=j[((j[a+4592>>2]<<2)+b|0)+1276>>2];D=j[b+4324>>2];N=j[b+4320>>2];P=k[c+34|0];while(1){B=p(w,1300)+K|0;j[B+1296>>2]=0;v=w+P&3;j[B+1292>>2]=v;j[B+1288>>2]=v;j[B+1284>>2]=D;j[B+1280>>2]=N;j[B+1024>>2]=C;v=x;G=j[v+4>>2];j[B>>2]=j[v>>2];j[B+4>>2]=G;G=j[v+12>>2];j[B+8>>2]=j[v+8>>2];j[B+12>>2]=G;G=j[v+20>>2];j[B+16>>2]=j[v+16>>2];j[B+20>>2]=G;G=j[v+28>>2];j[B+24>>2]=j[v+24>>2];j[B+28>>2]=G;G=j[v+36>>2];j[B+32>>2]=j[v+32>>2];j[B+36>>2]=G;G=j[v+44>>2];j[B+40>>2]=j[v+40>>2];j[B+44>>2]=G;G=j[v+52>>2];j[B+48>>2]=j[v+48>>2];j[B+52>>2]=G;G=j[v+60>>2];j[B+56>>2]=j[v+56>>2];j[B+60>>2]=G;M(B+1184|0,F,96);w=w+1|0;if((A|0)!=(w|0)){continue}break}}F=k[c+29|0];x=h[c+30|0];j[R+172>>2]=0;w=j[a+4588>>2];B=(w|0)<40?w:40;a:{if((F|0)==2){C=j[a+4580>>2];if((C|0)<1){break a}v=0;while(1){D=j[(v<<2)+r>>2]-3|0;B=(B|0)<(D|0)?B:D;v=v+1|0;if((C|0)!=(v|0)){continue}break}break a}if((S|0)<1){break a}v=S-3|0;B=(v|0)>(B|0)?B:v}D=k[c+31|0];C=y;v=j[a+4592>>2];y=v+j[a+4584>>2]|0;T=C-((y<<2)+15&-16)|0;C=T;I=C;V=C-((y<<1)+15&-16)|0;y=V;I=y;W=y-((w<<2)+15&-16)|0;I=W;j[b+4332>>2]=v;j[b+4336>>2]=v;N=(v<<1)+b|0;b:{C=j[a+4580>>2];if((C|0)>=1){ba=i[((F<<24>>24<<1&-4)+(x<<1)|0)+5840>>1];Y=(D|0)==4;ca=Y?3:1;Z=u<<16>>16;u=0;P=0;while(1){G=u<<2;_=j[G+m>>2];j[b+4348>>2]=0;A=1;$=((u>>>1|Y)<<5)+f|0;c:{if((F|0)!=2){break c}F=2;S=j[(u<<2)+r>>2];if(u&ca){break c}d:{if((u|0)!=2){break d}x=0;v=0;A=j[a+4628>>2];if((A|0)>=2){y=j[K+1296>>2];w=1;while(1){C=j[(p(w,1300)+K|0)+1296>>2];F=(C|0)<(y|0);y=F?C:y;v=F?w:v;w=w+1|0;if((A|0)!=(w|0)){continue}break}}if((A|0)>0){while(1){if((v|0)!=(x|0)){w=p(x,1300)+K|0;j[w+1296>>2]=j[w+1296>>2]+134217727}x=x+1|0;if((A|0)!=(x|0)){continue}break}}if((B|0)<1){P=0;break d}w=j[R+172>>2]+B|0;P=0;x=0;while(1){y=x-B|0;w=(w-1|0)%40|0;w=(w|0)<0?w+40|0:w;A=(p(v,1300)+K|0)+(w<<2)|0;h[y+e|0]=(j[A+544>>2]>>>9|0)+1>>>1;C=j[q+4>>2];D=C<<16>>16;F=j[A+704>>2];F=((p(D,F&65535)>>16)+p(D,F>>16)|0)+p(F,(C>>15)+1>>1)|0;i[(y<<1)+N>>1]=(F|0)>536862719?32767:(F|0)<-536879104?-32768:(F>>>13|0)+1>>>1|0;j[((y+j[b+4336>>2]<<2)+b|0)+1280>>2]=j[A+1024>>2];x=x+1|0;if((B|0)!=(x|0)){continue}break}}v=j[a+4592>>2];x=j[a+4640>>2];w=(v-S|0)-x|0;if((w|0)<=2){break b}w=w-2|0;Mb((w<<1)+V|0,(w+p(j[a+4588>>2],u)<<1)+b|0,$,v-w|0,x);w=j[a+4592>>2];j[b+4348>>2]=1;j[b+4332>>2]=w;F=k[c+29|0];A=0}X=q+G|0;x=j[X>>2];v=(x|0)>1?x:1;y=s(v);C=v<>16;Q=536870911/(D|0)|0;E=Q<<16;w=E>>16;C=0-(p(w,D)+(p(w,C&65535)>>16)<<3)|0;w=((E+p(C,(Q>>15)+1>>1)|0)+p(w,C>>16)|0)+(p(w,C&65528)>>16)|0;y=15-y|0;C=j[r+G>>2];Q=j[a+4628>>2];e:{if(v>>>0<=131071){v=0-y|0;y=2147483647>>>v|0;D=-2147483648>>v;w=((w|0)>(y|0)?y:(w|0)<(D|0)?D:w)<>y}y=j[a+4588>>2];if((y|0)>=1){v=(w>>4)+1|0;D=v<<15>>16;H=(v>>16)+1>>1;v=0;while(1){E=i[(v<<1)+d>>1];j[(v<<2)+W>>2]=(p(D,E>>16)+p(E,H)|0)+(p(D,E&65535)>>16);v=v+1|0;if((y|0)!=(v|0)){continue}break}}f:{if(A){break f}w=u?w:p(w>>16,Z)+(p(w&65535,Z)>>16)<<2;A=j[b+4332>>2];v=(A-C|0)-2|0;if((v|0)>=(A|0)){break f}D=w&65535;w=w>>16;while(1){E=i[(v<<1)+V>>1];j[(v<<2)+T>>2]=(p(E,D)>>16)+p(w,E);v=v+1|0;if((A|0)!=(v|0)){continue}break}}w=j[b+4344>>2];if((w|0)!=(x|0)){v=w;w=w>>31;y=s(v+w^w);v=v<>31;A=s(w+x^w);x=x<>16)<<16>>16;v=(p(w,v&65535)>>16)+p(w,v>>16)|0;x=ie(v,v>>31,x,x>>31);x=D-(((J&536870911)<<3|x>>>29)&-8)|0;w=(p(x>>16,w)+v|0)+(p(w,x&65535)>>16)|0;x=y-A|0;v=x+13|0;x=x+29|0;g:{if((x|0)<=15){v=0-v|0;x=2147483647>>>v|0;y=-2147483648>>v;v=((w|0)>(x|0)?x:(w|0)<(y|0)?y:w)<>v:0}w=j[a+4592>>2];if((w|0)>=1){y=v&65535;A=v>>16;x=j[b+4336>>2]-w|0;while(1){D=((x<<2)+b|0)+1280|0;E=j[D>>2];w=E<<16>>16;j[D>>2]=(p(w,A)+(p(w,y)>>16)|0)+p(v,(E>>15)+1>>1);x=x+1|0;if((x|0)>2]){continue}break}}h:{if(j[b+4348>>2]|(F|0)!=2){break h}w=j[b+4332>>2];x=(w-C|0)-2|0;y=w-B|0;if((x|0)>=(y|0)){break h}A=v&65535;C=v>>16;while(1){D=(x<<2)+T|0;E=j[D>>2];w=E<<16>>16;j[D>>2]=(p(w,C)+(p(w,A)>>16)|0)+p(v,(E>>15)+1>>1);x=x+1|0;if((y|0)!=(x|0)){continue}break}}if((Q|0)>=1){x=v&65535;A=v>>16;C=0;while(1){D=p(C,1300)+K|0;y=j[D+1280>>2];w=y<<16>>16;j[D+1280>>2]=(p(w,A)+(p(w,x)>>16)|0)+p(v,(y>>15)+1>>1);w=j[D+1284>>2];y=w<<16>>16;j[D+1284>>2]=((p(y,x)>>16)+p(y,A)|0)+p(v,(w>>15)+1>>1);w=0;while(1){E=D+(w<<2)|0;H=j[E>>2];y=H<<16>>16;j[E>>2]=(p(y,A)+(p(x,y)>>16)|0)+p(v,(H>>15)+1>>1);y=0;w=w+1|0;if((w|0)!=16){continue}break}w=0;while(1){H=(D+(w<<2)|0)+1184|0;aa=j[H>>2];E=aa<<16>>16;j[H>>2]=(p(A,E)+(p(x,E)>>16)|0)+p(v,(aa>>15)+1>>1);w=w+1|0;if((w|0)!=24){continue}break}while(1){w=D+(y<<2)|0;E=j[w+864>>2];H=E<<16>>16;j[w+864>>2]=((p(H,x)>>16)+p(A,H)|0)+p(v,(E>>15)+1>>1);E=w+1024|0;H=j[E>>2];w=H<<16>>16;j[E>>2]=(p(w,A)+(p(w,x)>>16)|0)+p(v,(H>>15)+1>>1);y=y+1|0;if((y|0)!=40){continue}break}C=C+1|0;if((Q|0)!=(C|0)){continue}break}}j[b+4344>>2]=j[X>>2];Q=j[a+4628>>2];y=j[a+4588>>2];x=j[X>>2]}Rd(b,K,F<<24>>24,W,e,N,T,R,$,p(u,10)+g|0,p(u,48)+l|0,S,_<<15&-65536|_>>2,j[n+G>>2],j[o+G>>2],x,t,ba,y,P,j[a+4636>>2],j[a+4640>>2],j[a+4672>>2],Q,R+172|0,B);w=j[a+4588>>2];e=w+e|0;v=w<<1;N=v+N|0;u=u+1|0;C=j[a+4580>>2];if((u|0)<(C|0)){P=P+1|0;d=d+v|0;F=k[c+29|0];continue}break}A=j[a+4628>>2]}y=0;if((A|0)>=2){x=j[K+1296>>2];v=1;while(1){f=j[(p(v,1300)+K|0)+1296>>2];d=(f|0)<(x|0);x=d?f:x;y=d?v:y;v=v+1|0;if((A|0)!=(v|0)){continue}break}}d=c;c=p(y,1300)+K|0;h[d+34|0]=j[c+1292>>2];d=b;f=c;if((B|0)>=1){A=j[R+172>>2]+B|0;l=j[((C<<2)+q|0)-4>>2];g=l<<10>>16;o=(l>>21)+1>>1;v=0;while(1){l=v-B|0;m=(A-1|0)%40|0;A=(m|0)<0?m+40|0:m;m=c+(A<<2)|0;h[l+e|0]=(j[m+544>>2]>>>9|0)+1>>>1;n=j[m+704>>2];n=(p(g,n>>16)+p(n,o)|0)+(p(g,n&65535)>>16)|0;i[(l<<1)+N>>1]=(n|0)>8388479?32767:(n|0)<-8388736?-32768:(n>>>7|0)+1>>>1|0;j[((l+j[b+4336>>2]<<2)+b|0)+1280>>2]=j[m+1024>>2];v=v+1|0;if((B|0)!=(v|0)){continue}break}w=j[a+4588>>2]}e=(w<<2)+f|0;f=j[e+4>>2];j[d+3840>>2]=j[e>>2];j[d+3844>>2]=f;f=j[e+60>>2];d=b+3896|0;j[d>>2]=j[e+56>>2];j[d+4>>2]=f;f=j[e+52>>2];d=b+3888|0;j[d>>2]=j[e+48>>2];j[d+4>>2]=f;f=j[e+44>>2];d=b+3880|0;j[d>>2]=j[e+40>>2];j[d+4>>2]=f;f=j[e+36>>2];d=b+3872|0;j[d>>2]=j[e+32>>2];j[d+4>>2]=f;f=j[e+28>>2];d=b+3864|0;j[d>>2]=j[e+24>>2];j[d+4>>2]=f;f=j[e+20>>2];d=b+3856|0;j[d>>2]=j[e+16>>2];j[d+4>>2]=f;f=j[e+12>>2];d=b+3848|0;j[d>>2]=j[e+8>>2];j[d+4>>2]=f;M(b+4224|0,c+1184|0,96);j[b+4320>>2]=j[c+1280>>2];j[b+4324>>2]=j[c+1284>>2];j[b+4328>>2]=j[((j[a+4580>>2]<<2)+r|0)-4>>2];b=U(b,(j[a+4584>>2]<<1)+b|0,j[a+4592>>2]<<1)+1280|0;U(b,b+(j[a+4584>>2]<<2)|0,j[a+4592>>2]<<2);I=R+176|0;return}L(16175,16207,253);z()}function Rd(a,b,c,d,e,f,g,k,l,m,n,o,q,r,s,t,u,v,w,x,y,A,B,C,D,E){var F=0,G=0,H=0,J=0,K=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Q=I;ua=Q;a:{if((C|0)>0){H=Q-(p(C,56)+15&-16)|0;I=H;if((w|0)>=1){va=t>>6;K=u<<16>>16;Q=p(K,v<<16>>16);X=v+944|0;ba=p(X<<16>>16,K);ca=v-944|0;wa=p(0-(ca<<16)>>16,K);xa=v-80|0;da=s>>16;ya=y>>1;za=y&1;Aa=A>>1;ea=q>>16;t=u>>>1|0;Ba=512-t|0;Y=t-512|0;fa=s<<16>>16;ga=r<<16>>16;J=B<<16>>16;ha=q<<16>>16;ia=y-1|0;Ca=(ia<<1)+n|0;R=((j[a+4336>>2]-o<<2)+a|0)+1284|0;N=((j[a+4332>>2]-o<<2)+g|0)+8|0;Da=(c|0)!=2;Ea=(y|0)<3;Fa=(u|0)<2049;Ga=(x|0)>0;while(1){b:{if(Da){W=0;break b}c=i[m>>1];q=j[N>>2];r=p(c,q>>16)+(p(c,q&65535)>>16)|0;c=i[m+2>>1];q=j[N-4>>2];r=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[m+4>>1];q=j[N-8>>2];r=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[m+6>>1];q=j[N-12>>2];r=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[m+8>>1];q=j[N-16>>2];W=((r+p(c,q>>16)|0)+(p(c,q&65535)>>16)<<1)+4|0;N=N+4|0}S=0;c:{if((o|0)<1){ja=0;break c}q=j[R-4>>2];c=j[R-8>>2]+j[R>>2]|0;ja=W-(((p(q>>16,ea)+p(c>>16,ha)|0)+(p(c&65535,ha)>>16)|0)+(p(q&65535,ea)>>16)<<2)|0;R=R+4|0}P=O+15|0;T=O<<2;U=T+d|0;ka=i[l+18>>1];la=i[l+16>>1];ma=i[l+14>>1];na=i[l+12>>1];oa=i[l+10>>1];pa=i[l+8>>1];qa=i[l+6>>1];ra=i[l+4>>1];sa=i[l+2>>1];ta=i[l>>1];while(1){F=p(S,1300)+b|0;j[F+1288>>2]=p(j[F+1288>>2],196314165)+907633515;r=F+(P<<2)|0;c=j[r>>2];q=(p(c>>16,ta)+Aa|0)+(p(c&65535,ta)>>16)|0;c=j[r-4>>2];q=(q+p(c>>16,sa)|0)+(p(c&65535,sa)>>16)|0;c=j[r-8>>2];q=(q+p(c>>16,ra)|0)+(p(c&65535,ra)>>16)|0;c=j[r-12>>2];q=(q+p(c>>16,qa)|0)+(p(c&65535,qa)>>16)|0;c=j[r-16>>2];q=(q+p(c>>16,pa)|0)+(p(c&65535,pa)>>16)|0;c=j[r-20>>2];q=(q+p(c>>16,oa)|0)+(p(c&65535,oa)>>16)|0;c=j[r-24>>2];q=(q+p(c>>16,na)|0)+(p(c&65535,na)>>16)|0;c=j[r-28>>2];q=(q+p(c>>16,ma)|0)+(p(c&65535,ma)>>16)|0;c=j[r-32>>2];q=(q+p(c>>16,la)|0)+(p(c&65535,la)>>16)|0;c=j[r-36>>2];q=(q+p(c>>16,ka)|0)+(p(c&65535,ka)>>16)|0;if((A|0)==16){s=q;c=i[l+20>>1];q=j[r-40>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+22>>1];q=j[r-44>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+24>>1];q=j[r-48>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+26>>1];q=j[r-52>>2];s=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+28>>1];q=j[r-56>>2];r=(s+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0;c=i[l+30>>1];q=j[F+T>>2];q=(r+p(c,q>>16)|0)+(p(c,q&65535)>>16)|0}if(za){break a}Z=q<<4;q=j[F+1184>>2];r=(j[F+1284>>2]+p(J,q>>16)|0)+(p(J,q&65535)>>16)|0;j[F+1184>>2]=r;c=i[n>>1];t=(p(c,r>>16)+ya|0)+(p(c,r&65535)>>16)|0;c=j[F+1188>>2]-r|0;u=(q+p(J,c>>16)|0)+(p(J,c&65535)>>16)|0;q=2;if(!Ea){while(1){G=F+1184|0;B=q-1|0;x=G+(B<<2)|0;s=j[x>>2];r=q<<2;c=r+G|0;V=j[c>>2];j[x>>2]=u;r=j[G+(r|4)>>2];x=i[(B<<1)+n>>1];B=c;c=V-u|0;s=(s+p(J,c>>16)|0)+(p(J,c&65535)>>16)|0;j[B>>2]=s;c=i[(q<<1)+n>>1];t=(((p(x,u>>16)+t|0)+(p(x,u&65535)>>16)|0)+p(c,s>>16)|0)+(p(c,s&65535)>>16)|0;c=r-s|0;u=(V+p(J,c>>16)|0)+(p(J,c&65535)>>16)|0;q=q+2|0;if((y|0)>(q|0)){continue}break}}j[(F+(ia<<2)|0)+1184>>2]=u;d:{e:{f:{g:{B=j[U>>2];c=j[F+1280>>2];r=c&65535;q=c>>16;c=i[Ca>>1];_=((p(r,ga)>>16)+p(q,ga)|0)+((p(c,u>>16)+t|0)+(p(c,u&65535)>>16)<<1)<<2;x=j[D>>2];c=j[(F+(x<<2)|0)+1024>>2];$=((p(q,da)+(p(r,da)>>16)|0)+p(c>>16,fa)|0)+(p(c&65535,fa)>>16)<<2;c=B-((((Z+ja|0)-_|0)-$>>3)+1>>1)|0;aa=j[F+1288>>2]<0;c=aa?0-c|0:c;c=(c|0)>-31744?c:-31744;G=(c|0)<30720?c:30720;u=G-v|0;t=u;h:{if(Fa){break h}t=u-Y|0;if((u|0)>(Y|0)){break h}if((u|0)>=(Ba|0)){break g}t=u+Y|0}if((t|0)>=1024){q=(t&-1024)+xa|0;c=p(q<<16>>16,K);s=q+1024|0;r=p(s<<16>>16,K);break d}c=Q;r=ba;q=v;s=X;switch((t>>10)+1|0){case 1:break d;case 0:break f;default:break e}}c=Q;r=ba;q=v;s=X;if((u|0)>=0){break d}}c=wa;r=Q;q=ca;s=v;break d}q=(t&-1024|80)+v|0;c=p(0-(q<<16)>>16,K);s=q+1024|0;r=p(0-(s<<16)>>16,K)}V=j[F+1296>>2];F=p(S,56)+H|0;t=c;c=G-q<<16>>16;u=t+p(c,c)>>10;c=G-s<<16>>16;r=p(c,c)+r>>10;G=(u|0)<(r|0);t=G?s:q;j[F+28>>2]=t;c=G?q:s;j[F>>2]=c;j[F+32>>2]=V+(G?r:u);j[F+4>>2]=V+(G?u:r);c=c<<4;r=(aa?0-c|0:c)+W|0;j[F+24>>2]=r;c=t<<4;q=(aa?0-c|0:c)+W|0;j[F+52>>2]=q;c=r+Z|0;j[F+8>>2]=c;r=q+Z|0;j[F+36>>2]=r;q=c;c=B<<4;q=q-c|0;j[F+16>>2]=q;c=r-c|0;j[F+44>>2]=c;q=q-_|0;j[F+12>>2]=q;c=c-_|0;j[F+40>>2]=c;j[F+20>>2]=q-$;j[F+48>>2]=c-$;S=S+1|0;if((S|0)!=(C|0)){continue}break}u=0;c=(x-1|0)%40|0;x=(c|0)<0?c+40|0:c;j[D>>2]=x;c=0;t=(C|0)<2;if(!t){s=j[H+4>>2];q=1;while(1){r=j[(p(q,56)+H|0)+4>>2];B=(r|0)<(s|0);s=B?r:s;c=B?q:c;q=q+1|0;if((C|0)!=(q|0)){continue}break}}U=(x+E|0)%40<<2;P=U+(p(c,1300)+b|0)|0;c=j[P+384>>2];while(1){if((c|0)!=j[(U+(p(u,1300)+b|0)|0)+384>>2]){q=p(u,56)+H|0;j[q+4>>2]=j[q+4>>2]+134217727;j[q+32>>2]=j[q+32>>2]+134217727}u=u+1|0;if((C|0)!=(u|0)){continue}break}q=j[H+32>>2];s=j[H+4>>2];c=0;u=1;r=0;if(!t){while(1){x=p(u,56)+H|0;t=j[x+4>>2];B=(t|0)>(s|0);s=B?t:s;t=j[x+32>>2];x=(t|0)<(q|0);q=x?t:q;r=B?u:r;c=x?u:c;u=u+1|0;if((C|0)!=(u|0)){continue}break}}if((q|0)<(s|0)){M((p(r,1300)+b|0)+T|0,(p(c,1300)+b|0)+T|0,1300-T|0);r=p(r,56)+H|0;q=p(c,56)+H|0;j[r+24>>2]=j[q+52>>2];c=j[q+48>>2];j[r+16>>2]=j[q+44>>2];j[r+20>>2]=c;c=j[q+40>>2];j[r+8>>2]=j[q+36>>2];j[r+12>>2]=c;c=j[q+32>>2];j[r>>2]=j[q+28>>2];j[r+4>>2]=c}if(!((E|0)>(O|0)?!Ga:0)){c=O-E|0;h[c+e|0]=(j[P+544>>2]>>>9|0)+1>>>1;s=(c<<1)+f|0;q=j[k+U>>2];c=q<<16>>16;r=j[P+704>>2];c=((p(c,r&65535)>>16)+p(c,r>>16)|0)+p(r,(q>>15)+1>>1)|0;i[s>>1]=(c|0)>8388479?32767:(c|0)<-8388736?-32768:(c>>>7|0)+1>>>1|0;j[((j[a+4336>>2]-E<<2)+a|0)+1280>>2]=j[P+1024>>2];j[(j[a+4332>>2]-E<<2)+g>>2]=j[P+864>>2]}j[a+4336>>2]=j[a+4336>>2]+1;j[a+4332>>2]=j[a+4332>>2]+1;q=O+16|0;s=0;while(1){t=p(s,1300)+b|0;r=p(s,56)+H|0;j[t+1280>>2]=j[r+12>>2];j[t+1284>>2]=j[r+16>>2];c=j[r+8>>2];j[t+(q<<2)>>2]=c;j[(t+(j[D>>2]<<2)|0)+704>>2]=c;c=j[r>>2];j[(t+(j[D>>2]<<2)|0)+544>>2]=c;j[(t+(j[D>>2]<<2)|0)+864>>2]=j[r+24>>2]<<1;j[(t+(j[D>>2]<<2)|0)+1024>>2]=j[r+20>>2];c=j[t+1288>>2]+((c>>9)+1>>1)|0;j[t+1288>>2]=c;j[(t+(j[D>>2]<<2)|0)+384>>2]=c;j[t+1296>>2]=j[r+4>>2];s=s+1|0;if((C|0)!=(s|0)){continue}break}j[(j[D>>2]<<2)+k>>2]=va;O=O+1|0;if((O|0)!=(w|0)){continue}break}}s=0;c=w<<2;while(1){e=p(s,1300)+b|0;d=e+c|0;a=j[d+4>>2];j[e>>2]=j[d>>2];j[e+4>>2]=a;a=j[d+60>>2];j[e+56>>2]=j[d+56>>2];j[e+60>>2]=a;a=j[d+52>>2];j[e+48>>2]=j[d+48>>2];j[e+52>>2]=a;a=j[d+44>>2];j[e+40>>2]=j[d+40>>2];j[e+44>>2]=a;a=j[d+36>>2];j[e+32>>2]=j[d+32>>2];j[e+36>>2]=a;a=j[d+28>>2];j[e+24>>2]=j[d+24>>2];j[e+28>>2]=a;a=j[d+20>>2];j[e+16>>2]=j[d+16>>2];j[e+20>>2]=a;a=j[d+12>>2];j[e+8>>2]=j[d+8>>2];j[e+12>>2]=a;s=s+1|0;if((C|0)!=(s|0)){continue}break}I=ua;return}L(16226,16207,364);z()}L(16271,16207,422);z()}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=I-208|0;I=d;j[d+204>>2]=c;e=j[a>>2]+a|0;c=-5;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{switch(b-4e3|0){default:z:{switch(b-10015|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:break a;case 0:break b;case 11:break d;case 9:break e;default:break z}}switch(b-11002|0){case 17:break w;case 16:break x;case 0:break f;default:break a};case 0:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];e=b-2048|0;if(e>>>0>3|(e|0)==2|((b|0)!=j[a+108>>2]?!j[a+14252>>2]:0)){break a}j[a+108>>2]=b;j[a+192>>2]=b;c=0;break a;case 1:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+108>>2];c=0;break a;case 2:b=j[d+204>>2];j[d+204>>2]=b+4;f=a;b=j[b>>2];A:{if((b|0)==-1e3){e=b;break A}c=-1;e=b;if((b|0)==-1){break A}if((b|0)<1){break a}e=500;if((b|0)<501){break A}a=p(j[a+112>>2],3e5);e=(a|0)<(b|0)?a:b}j[f+164>>2]=e;c=0;break a;case 3:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}f=j[a+14236>>2];if(!f){f=j[a+144>>2]/400|0}c=j[a+164>>2];B:{if((c|0)!=-1){if((c|0)!=-1e3){break B}c=j[a+112>>2];a=j[a+144>>2];c=p(c,a)+((p(a,60)|0)/(f|0)|0)|0;break B}c=(p(j[a+144>>2],10208)|0)/(f|0)|0}j[b>>2]=c;c=0;break a;case 22:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];C:{if((b|0)>=1){c=-1;if((b|0)<=j[a+112>>2]){break C}break a}c=-1;if((b|0)!=-1e3){break a}}j[a+120>>2]=b;c=0;break a;case 23:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+120>>2];c=0;break a;case 4:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b-1101>>>0>4){break a}j[a+132>>2]=b;if((b|0)==1101){j[a+20>>2]=8e3;c=0;break a}if((b|0)==1102){j[a+20>>2]=12e3;c=0;break a}j[a+20>>2]=16e3;c=0;break a;case 5:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+132>>2];c=0;break a;case 8:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(b-1101>>>0>=5){c=-1;if((b|0)!=-1e3){break a}}j[a+128>>2]=b;if((b|0)==1101){j[a+20>>2]=8e3;c=0;break a}if((b|0)==1102){j[a+20>>2]=12e3;c=0;break a}j[a+20>>2]=16e3;c=0;break a;case 9:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+14240>>2];c=0;break a;case 16:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+184>>2]=b;c=0;break a;case 17:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+184>>2];c=0;break a;case 10:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>10){break a}j[a+44>>2]=b;j[d>>2]=b;P(e,4010,d);c=0;break a;case 11:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+44>>2];c=0;break a;case 12:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+48>>2]=b;c=0;break a;case 13:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+48>>2];c=0;break a;case 14:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>100){break a}j[a+40>>2]=b;j[d+16>>2]=b;P(e,4014,d+16|0);c=0;break a;case 15:b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+40>>2];c=0;break a;case 6:b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+148>>2]=b;j[a+60>>2]=1-b;c=0;break a;case 18:case 19:case 26:case 30:case 32:case 33:case 34:case 35:case 38:case 39:case 44:case 45:case 48:break a;case 43:break j;case 42:break k;case 41:break l;case 40:break m;case 37:break n;case 36:break o;case 31:break p;case 29:break q;case 27:break r;case 25:break s;case 24:break t;case 21:break u;case 20:break v;case 7:break y;case 49:break c;case 28:break g;case 47:break h;case 46:break i}}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+148>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b+1>>>0>101){break a}j[a+140>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+140>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+152>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+152>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(b-3001>>>0>=2){c=-1;if((b|0)!=-1e3){break a}}j[a+124>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+124>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}e=j[a+144>>2]/400|0;j[b>>2]=e;c=0;if(j[a+108>>2]==2051){break a}j[b>>2]=e+j[a+116>>2];break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+144>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+18136>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b-8>>>0>16){break a}j[a+168>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+168>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b-5e3>>>0>9){break a}j[a+156>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+156>>2];c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+76>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+76>>2];c=0;break a}a=j[d+204>>2];j[d+204>>2]=a+4;c=-1;a=j[a>>2];if(a>>>0>1){break a}j[d+32>>2]=a;P(e,4046,d+32|0);c=0;break a}a=j[d+204>>2];j[d+204>>2]=a+4;a=j[a>>2];if(!a){c=-1;break a}j[d+48>>2]=a;P(e,4047,d+48|0);c=0;break a}b=j[a+4>>2];ub(a+188|0);c=0;O(a+14192|0,0,3948);P(e,4028,0);Ja(a+b|0,j[a+180>>2],d+104|0);j[a+14252>>2]=1;j[a+14204>>2]=1065353216;i[a+14196>>1]=16384;j[a+14240>>2]=1105;j[a+14224>>2]=1001;j[a+14192>>2]=j[a+112>>2];j[a+14200>>2]=Q(60)<<8;break a}b=j[d+204>>2];j[d+204>>2]=b+4;b=j[b>>2];if(b-1e3>>>0>=3){c=-1;if((b|0)!=-1e3){break a}}j[a+136>>2]=b;c=0;break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=a;a=j[b>>2];j[c+176>>2]=a;j[d+64>>2]=a;c=P(e,10024,d- -64|0);break a}b=j[d+204>>2];j[d+204>>2]=b+4;c=a;a=j[b>>2];j[c+14256>>2]=a;j[d+80>>2]=a;c=P(e,10026,d+80|0);break a}b=j[d+204>>2];j[d+204>>2]=b+4;g=j[b>>2];if(!g){c=-1;break a}if(!(!j[a+56>>2]|(j[a+14228>>2]&-2)!=1e3)){b=j[a+4>>2];j[g>>2]=1;if(j[a+12>>2]<1){c=0;break a}h=a+b|0;e=1;while(1){b=0;b=e?j[(p(f,10064)+h|0)+6084>>2]>9:b;j[g>>2]=b;c=0;e=b;f=f+1|0;if((f|0)>2]){continue}break}break a}if(j[a+184>>2]){j[g>>2]=j[a+18124>>2]>9;c=0;break a}c=0;j[g>>2]=0;break a}a=j[d+204>>2];j[d+204>>2]=a+4;a=j[a>>2];if(!a){c=-1;break a}j[d+96>>2]=a;c=P(e,10015,d+96|0)}I=d+208|0;return c|0}function pc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;g=I-48|0;n=g;I=g;m=j[a+4584>>2];if((m|0)<321){if((m|0)==(m&-8)){j[n>>2]=0;k=m>>3;e=m>>2;d=k+e|0;j[n+4>>2]=d;f=d+k|0;j[n+8>>2]=f;c=f+e|0;j[n+12>>2]=c;h=g;g=m>>1;h=h-((g+c<<1)+15&-16)|0;I=h;Ka(b,a+36|0,h,h+(c<<1)|0,j[a+4584>>2]);Ka(h,a+44|0,h,h+(f<<1)|0,g);Ka(h,a+52|0,h,h+(d<<1)|0,e);d=k-1|0;b=h+(d<<1)|0;f=i[b>>1]>>1;i[b>>1]=f;if((m|0)>=16){b=f;while(1){g=d-1|0;e=h+(g<<1)|0;c=i[e>>1]>>1;i[e>>1]=c;i[h+(d<<1)>>1]=b-c;e=(d|0)>1;b=c;d=g;if(e){continue}break}}i[h>>1]=l[h>>1]-l[a+92>>1];i[a+92>>1]=f;while(1){b=j[a+4584>>2];g=o<<2;u=g+(n+32|0)|0;m=a+g|0;k=j[m+60>>2];j[u>>2]=k;e=b;b=4-o|0;e=e>>(b>>>0<3?b:3);c=(e|0)>3;a:{if(!c){b=(k|0)>-1?k:2147483647;d=0;break a}q=e>>2;r=(q|0)>1?q:1;t=g+n|0;g=j[t>>2];d=0;f=0;while(1){b=i[h+(d+g<<1)>>1]>>3;f=p(b,b)+f|0;d=d+1|0;if((r|0)!=(d|0)){continue}break}b=f+k|0;b=(b|0)>-1?b:2147483647;d=0;if(!c){break a}c=j[t>>2];f=0;while(1){g=i[h+(c+(d+q|0)<<1)>>1]>>3;f=p(g,g)+f|0;d=d+1|0;if((r|0)!=(d|0)){continue}break}b=b+f|0;b=(b|0)>-1?b:2147483647;d=0;k=(e|0)<4;if(k){break a}e=q<<1;c=j[t>>2];f=0;while(1){g=i[h+(c+(d+e|0)<<1)>>1]>>3;f=p(g,g)+f|0;d=d+1|0;if((r|0)!=(d|0)){continue}break}b=b+f|0;b=(b|0)>-1?b:2147483647;d=0;if(k){break a}e=p(q,3);c=j[t>>2];f=0;while(1){g=i[h+(c+(f+e|0)<<1)>>1]>>3;d=p(g,g)+d|0;f=f+1|0;if((r|0)!=(f|0)){continue}break}}b=(d>>>1|0)+b|0;j[u>>2]=(b|0)>-1?b:2147483647;j[m+60>>2]=d;o=o+1|0;if((o|0)!=4){continue}break}d=0;b=j[a+144>>2];if((b|0)<=999){j[a+144>>2]=b+1;d=32767/((b>>4)+1|0)|0}f=128;g=j[n+32>>2];b=g+j[a+128>>2]|0;c=(b|0)>-1?b:2147483647;m=2147483647/(c|0)|0;b=a;e=j[b+96>>2];k=128;b:{if((c|0)>e<<3){break b}k=1024;if((c|0)<(e|0)){break b}c=e<<16>>16;c=(p(c,m>>16)+p(m,(e>>15)+1>>1)|0)+(p(c,m&65535)>>16)|0;k=c>>16<<11|c>>>5&2047}h=b;b=((d|0)<(k|0)?k:d)<<16>>16;e=j[a+112>>2];c=m-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[h+112>>2]=b;b=2147483647/(b|0)|0;o=(b|0)<16777215?b:16777215;j[a+96>>2]=o;t=j[n+36>>2];b=t+j[a+132>>2]|0;b=(b|0)>-1?b:2147483647;e=2147483647/(b|0)|0;c=j[a+100>>2];c:{if((b|0)>c<<3){break c}f=1024;if((b|0)<(c|0)){break c}b=c<<16>>16;b=(p(b,e>>16)+p(e,(c>>15)+1>>1)|0)+(p(b,e&65535)>>16)|0;f=b>>16<<11|b>>>5&2047}b=((d|0)<(f|0)?f:d)<<16>>16;f=e;e=j[a+116>>2];c=f-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[a+116>>2]=b;b=2147483647/(b|0)|0;j[a+100>>2]=(b|0)<16777215?b:16777215;u=j[n+40>>2];b=u+j[a+136>>2]|0;c=(b|0)>-1?b:2147483647;m=2147483647/(c|0)|0;f=128;b=a;e=j[b+104>>2];k=128;d:{if((c|0)>e<<3){break d}k=1024;if((c|0)<(e|0)){break d}c=e<<16>>16;c=(p(c,m>>16)+p(m,(e>>15)+1>>1)|0)+(p(c,m&65535)>>16)|0;k=c>>16<<11|c>>>5&2047}h=b;b=((d|0)<(k|0)?k:d)<<16>>16;e=j[a+120>>2];c=m-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[h+120>>2]=b;b=2147483647/(b|0)|0;j[a+104>>2]=(b|0)<16777215?b:16777215;m=j[n+44>>2];b=m+j[a+140>>2]|0;b=(b|0)>-1?b:2147483647;e=2147483647/(b|0)|0;c=j[a+108>>2];e:{if((b|0)>c<<3){break e}f=1024;if((b|0)<(c|0)){break e}b=c<<16>>16;b=(p(b,e>>16)+p(e,(c>>15)+1>>1)|0)+(p(b,e&65535)>>16)|0;f=b>>16<<11|b>>>5&2047}b=((d|0)<(f|0)?f:d)<<16>>16;f=e;e=j[a+124>>2];c=f-e|0;b=(p(b,c>>16)+e|0)+(p(b,c&65535)>>16)|0;j[a+124>>2]=b;b=2147483647/(b|0)|0;j[a+108>>2]=(b|0)<16777215?b:16777215;b=g;h=0;e=0;d=0;while(1){f=b-o|0;f:{if((f|0)>=1){k=d<<2;q=b<<8;c=b;b=b>>>0<8388608;b=((b?q:c)|0)/((b?o:o>>8)+1|0)|0;j[k+(n+16|0)>>2]=b;b=(Q(b)<<16)-67108864>>16;e=p(b,b)+e|0;v=h;if((f|0)<=1048575){h=s(f);o=24-h|0;r=0-o|0;q=(h&1?32768:46214)>>>(h>>>1)|0;w=q;c=f;g:{if(!o){break g}c=f<>>56-h;if(f>>>0<=127){break g}c=f<>>o}c=p((p(w,p(c&127,13959168)>>>16|0)>>>16|0)+q>>>10|0,b);h:{if(!o){break h}if(f>>>0<=127){f=f<>>56-h;break h}f=f<>>o}b=p(q+(p(q,p(f&127,13959168)>>>16|0)>>>16|0)<<6&65472,b)+(c<<16)>>16}c=j[k+1936>>2];h=(v+p(c>>16,b)|0)+(p(c&65535,b)>>16)|0;break f}j[(n+16|0)+(d<<2)>>2]=256}d=d+1|0;if((d|0)!=4){c=d<<2;b=j[c+(n+32|0)>>2];o=j[(a+c|0)+96>>2];continue}break}d=(e|0)/4|0;if((e|0)>=4){c=s(d);b=24-c|0;i:{if(!b){break i}if(d>>>0<=127){d=d<<0-b|d>>>56-c;break i}d=d<>>b}b=(c&1?32768:46214)>>>(c>>>1)|0;b=(p(p((p(b,p(d&127,13959168)>>>16|0)>>>16|0)+b|0,196608)>>16,45e3)>>16)-128|0}else{b=-128}d=ba(b);j[a+4712>>2]=(ba(h)<<1)-32768;c=j[a+4584>>2];f=j[a+4576>>2];b=(((t-j[a+100>>2]>>4<<1)+(g-j[a+96>>2]>>4)|0)+p(u-j[a+104>>2]>>4,3)|0)+(m-j[a+108>>2]>>4<<2)>>((c|0)==(p(f,20)|0));j:{if((b|0)<=0){d=d>>1;break j}if((b|0)>16383){break j}b=b<<16;e=s(b);g=(e&1?32768:46214)>>>(e>>>1)|0;g=(g+(p(g,(x=0,y=p(ke(b,e+8|0)&127,13959168)>>>16|0,A=(e|0)==24,A?x:y))>>>16|0)|0)+32768|0;b=d<<16>>16;d=(p(g&65535,b)>>16)+p(b,g>>>16|0)|0}b=d>>7;j[a+4532>>2]=(b|0)<255?b:255;c=p(d<<16>>16,d)>>((c|0)==(p(f,10)|0)?21:20);g=j[a+76>>2];b=j[n+16>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+76>>2]=b;j[a+4696>>2]=ba(p(Q(b),3)-5120>>4);g=j[a+80>>2];b=j[n+20>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+80>>2]=b;j[a+4700>>2]=ba(p(Q(b),3)-5120>>4);g=j[a+84>>2];b=j[n+24>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+84>>2]=b;j[a+4704>>2]=ba(p(Q(b),3)-5120>>4);g=j[a+88>>2];b=j[n+28>>2]-g|0;b=(p(c,b>>16)+g|0)+(p(c,b&65535)>>16)|0;j[a+88>>2]=b;j[a+4708>>2]=ba(p(Q(b),3)-5120>>4);I=n+48|0;return}L(1846,1835,106);z()}L(1776,1835,104);z()}function _c(a,b,c,d,e,f,g,h,m,o,s,t,w,x,y,z,A,B,C,D,E){var F=q(0),G=q(0),H=0,J=q(0),K=0,L=q(0),N=q(0),P=0,Q=0,R=q(0),S=0,T=q(0),U=q(0),V=0,W=0,X=0,Y=q(0),Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;_=I;H=(p(c,f)<<2)+15&-16;S=_-H|0;I=S;V=S-H|0;K=V;I=K;H=0;$=O(g,0,c<<2);Q=(e|0)<1;if(!Q){F=q(9-h|0);g=0;while(1){h=g<<2;W=g+5|0;n[h+V>>2]=q(q(p(W,W)|0)*q(.006200000178068876))+q(q(q(q(q(i[(g<<1)+m>>1])*q(.0625))+q(.5))+F)-n[h+32928>>2]);g=g+1|0;if((g|0)!=(e|0)){continue}break}}W=(f|0)>1?f:1;Y=q(-31.899999618530273);a:{b:{c:{d:{while(1){if(!Q){h=p(c,H);g=0;while(1){F=q(n[(g+h<<2)+a>>2]-n[(g<<2)+V>>2]);Y=F>2]=n[a+H>>2]-n[H+V>>2];h=h+1|0;if((h|0)!=(e|0)){continue}break}if(!((f|0)!=2|(e|0)<1)){h=0;while(1){H=h<<2;K=H+g|0;F=n[K>>2];G=q(n[(c+h<<2)+a>>2]-n[H+V>>2]);n[K>>2]=F>G?F:G;h=h+1|0;if((h|0)!=(e|0)){continue}break}}P=M(m,g,e<<2);if((e|0)>1){break c}h=e-2|0;H=0;break b}H=H+1|0;if((W|0)!=(H|0)){continue}break}h=(c<<2)+15&-16;g=K-h|0;I=g;m=g-h|0;I=m}M(m,g,e<<2);h=e-2|0;aa=(f|0)==2;H=0;break a}F=n[g>>2];m=1;while(1){h=(m<<2)+g|0;G=n[h>>2];F=q(F+q(-2));F=F>2]=F;m=m+1|0;if((m|0)!=(e|0)){continue}break}h=e-2|0;H=0;if((e|0)<=1){break b}m=h;while(1){H=(m<<2)+g|0;F=n[H>>2];G=q(n[H+4>>2]+q(-3));n[H>>2]=F>G?F:G;H=(m|0)>0;m=m-1|0;if(H){continue}break}H=1}aa=(f|0)==2;if((e|0)<1){break a}F=q(u(q(Y+q(-12)),q(0)));m=0;while(1){Q=m<<2;G=n[Q+g>>2];G=q(v(q(q(n[P+Q>>2]-(F>G?F:G))+q(.5))));e:{if(q(r(G))0?0:0-K|0;j[E+Q>>2]=32>>>((K|0)<5?K:5);m=m+1|0;if((m|0)!=(e|0)){continue}break}}f:{if(!(A|((x|0)<1|(y|0)<51))){ba=e-3|0;m=0;ca=(e|0)>4;da=e-1<<2;A=0;while(1){Q=p(c,A);g=Q<<2;K=g+S|0;Z=b+g|0;g=Z;G=n[g>>2];j[K>>2]=j[g>>2];F=G;g=1;if(H){while(1){E=(g+Q<<2)+b|0;J=n[E-4>>2];F=q(F+q(1.5));L=n[E>>2];F=F>2]=F;m=L>q(J+q(.5))?g:m;g=g+1|0;if((g|0)!=(e|0)){continue}break}}if((m|0)>=1){F=n[K+(m<<2)>>2];g=m;while(1){E=g-1|0;P=K+(E<<2)|0;L=n[P>>2];F=q(F+q(2));J=n[(E+Q<<2)+b>>2];F=FL?L:F;n[P>>2]=F;P=(g|0)>1;g=E;if(P){continue}break}}g=2;if(ca){while(1){P=(g+Q<<2)+b|0;E=P-8|0;F=n[E>>2];L=n[E+4>>2];E=F>L;J=n[P+4>>2];N=n[P+8>>2];X=J>N;R=E?F:L;T=X?J:N;F=E?L:F;L=X?N:J;X=F>L;U=X?R:T;J=X?F:L;E=K+(g<<2)|0;F=n[E>>2];L=F;N=n[P>>2];R=X?T:R;P=N>R^1;g:{if(!P){T=J>N?N:J;if(!(J>R^1)){break g}T=R>U?U:R;break g}T=J>R?R:J;if(!(J>N^1)){break g}T=Nq(T+q(-1)))){h:{if(!P){F=J>N?N:J;if(!(J>R^1)){break h}F=R>U?U:R;break h}F=J>R?R:J;if(!(J>N^1)){break h}F=N>2]=F;g=g+1|0;if((h|0)!=(g|0)){continue}break}}F=n[Z+4>>2];g=F>2];N=g?G:F;L=n[Z+8>>2];F=g?F:G;F=q((N>2]=F>2];n[K+4>>2]=F>2];g=(Q+ba<<2)+b|0;F=n[g>>2];L=n[g+4>>2];E=F>L;N=E?F:L;J=n[g+8>>2];F=E?L:F;F=q((J>N?N:F>2]=F>2];n[g>>2]=F=1){while(1){E=g<<2;Q=E+K|0;F=n[Q>>2];G=n[E+V>>2];n[Q>>2]=F>G?F:G;g=g+1|0;if((g|0)!=(e|0)){continue}break}}A=A+1|0;if((W|0)!=(A|0)){continue}break}i:{j:{if(!aa){if((d|0)>=(e|0)){break i}g=d;while(1){b=g<<2;c=b+S|0;n[c>>2]=u(q(n[a+b>>2]-n[c>>2]),q(0));g=g+1|0;if((g|0)!=(e|0)){continue}break}break j}if((d|0)>=(e|0)){break i}g=d;while(1){m=c+g<<2;h=m+S|0;F=n[h>>2];A=g<<2;b=A+S|0;G=q(n[b>>2]+q(-4));F=F>G?F:G;n[h>>2]=F;G=n[b>>2];F=q(F+q(-4));F=F>2]=F;n[b>>2]=q(q(u(q(n[a+A>>2]-F),q(0)))+q(u(q(n[a+m>>2]-n[h>>2]),q(0))))*q(.5);g=g+1|0;if((g|0)!=(e|0)){continue}break}}a=(d|0)<(e|0);if(!a){break i}g=d;while(1){b=g<<2;c=b+S|0;F=n[c>>2];G=n[b+B>>2];n[c>>2]=F>G?F:G;g=g+1|0;if((g|0)!=(e|0)){continue}break}if(!a){break i}g=d;while(1){b=g<<2;F=n[b+S>>2];F=q(v(q(q(q(xa(+(F>2]=a;g=g+1|0;if((g|0)!=(e|0)){continue}break}}a=(d|0)>=(e|0);if(!(!t&(s|0)!=0|(o|a))){g=d;while(1){b=(g<<2)+S|0;n[b>>2]=n[b>>2]*q(.5);g=g+1|0;if((g|0)!=(e|0)){continue}break}}if(!a){g=d;while(1){F=q(2);l:{if((g|0)>=8){F=q(.5);if((g|0)<12){break l}}b=(g<<2)+S|0;n[b>>2]=n[b>>2]*F}g=g+1|0;if((g|0)!=(e|0)){continue}break}}m:{if(!j[C>>2]){break m}b=(e|0)<19?e:19;if((b|0)<=(d|0)){break m}g=d;while(1){c=(g<<2)+S|0;n[c>>2]=n[c>>2]+q(q(k[(g+C|0)+44|0])*q(.015625));g=g+1|0;if((b|0)!=(g|0)){continue}break}}m=0;if(a){break f}y=(y<<1)/3|0;b=0;h=l[(d<<1)+w>>1];o=(!s|!o&(t|0)!=0)^1;while(1){s=d<<2;a=s+S|0;F=n[a>>2];F=F>2]=F;a=h<<16;t=o;A=y;c=d+1|0;h=i[(c<<1)+w>>1];a=p(h-(a>>16)|0,f)<=49){F=q(F*q(8));o:{if(q(r(F))=m>>6)){m=y<<6;j[(d<<2)+$>>2]=m-b;break f}j[s+$>>2]=g;b=m;d=c;if((e|0)!=(d|0)){continue}break}break f}m=0;if((d|0)>=(e|0)){break f}while(1){j[(d<<2)+D>>2]=13;d=d+1|0;if((e|0)!=(d|0)){continue}break}}j[z>>2]=m;I=_;return Y}function de(a,b,c,d){var e=0,f=q(0),g=q(0),l=0,m=0,o=0,s=0,t=q(0),u=q(0),v=q(0),w=0,x=0,z=q(0),A=q(0),B=0,C=0,D=0,E=0,F=q(0),G=q(0),H=0,J=0,K=0;s=I-1184|0;I=s;o=j[a+4600>>2];e=j[a+4716>>2];v=q(q(q(j[a+4700>>2]+j[a+4696>>2]|0)*q(.5))*q(30517578125e-15));n[b+696>>2]=v;z=q(e|0);t=q(z*q(.0078125));f=q(1/(xa(+q(q(t+q(-20))*q(-.25)))+1));n[b+700>>2]=f;if(!j[a+4676>>2]){u=q(q(q(j[a+4532>>2])*q(-.00390625))+q(1));t=q(t-q(u*q(u*q(q(q(v*q(.5))+q(.5))*q(f+f)))))}a:{if(k[a+4765|0]==2){h[a+4766|0]=0;f=n[a+10060>>2];z=q(t+q(f+f));break a}e=p(i[a+4580>>1],5);l=(e|0)/2|0;if((e|0)>=2){m=j[a+4576>>2]<<1;A=q(m|0);f=q(0);e=0;w=m<<2;while(1){u=q(oa(+q(A+q(S(c,m))))*3.32192809488736);g=e?q(g+q(r(q(u-f)))):g;c=c+w|0;f=u;e=e+1|0;if((l|0)!=(e|0)){continue}break}}z=q(q(q(q(q(z*q(-.4000000059604645))*q(.0078125))+q(6))*q(q(1)-v))+t);if(!(q(q(l-1|0)*q(.6000000238418579))>2];b:{if((c|0)<1){break b}w=d-(o<<2)|0;f=q(n[b+704>>2]*q(.0010000000474974513));G=q(q(.9399999976158142)/q(q(f*f)+q(1)));v=q(q(q(j[a+4672>>2])*q(152587890625e-16))+q(n[b+700>>2]*q(.009999999776482582)));A=q(q(1)-q(v*v));F=q(-v);while(1){d=j[a+4576>>2];e=p(d,3);c=(j[a+4604>>2]-e|0)/2|0;sa(s+224|0,w,1,c);l=c<<2;M(l+(s+224|0)|0,l+w|0,p(d,12));d=c+e<<2;sa(d+(s+224|0)|0,d+w|0,2,c);m=j[a+4588>>2];c=j[a+4636>>2];d=j[a+4604>>2];c:{if(j[a+4672>>2]>=1){ee(s+112|0,s+224|0,v,d,c);break c}Sa(s+112|0,s+224|0,d,c+1|0)}f=n[s+112>>2];n[s+112>>2]=f+q(q(f*q(29999999242136255e-21))+q(1));f=Ra(s,s+112|0,j[a+4636>>2]);l=(p(B,96)+b|0)+244|0;Qa(l,s,j[a+4636>>2]);d=(B<<2)+b|0;f=q(y(f));n[d>>2]=f;c=j[a+4636>>2];if(j[a+4672>>2]>=1){g=q(n[(l+(c<<2)|0)-4>>2]*F);if((c|0)>=2){e=c-2|0;while(1){g=q(q(g+n[l+(e<<2)>>2])*F);o=(e|0)>0;e=e-1|0;if(o){continue}break}}n[d>>2]=f*q(q(1)/q(q(1)-g))}H=m<<2;ra(l,c,G);m=j[a+4636>>2];d:{if(j[a+4672>>2]>=1){c=m-1|0;E=(m|0)<2;if(!E){g=n[l+(c<<2)>>2];e=c;while(1){d=e-1|0;o=l+(d<<2)|0;g=q(n[o>>2]-q(v*g));n[o>>2]=g;o=(e|0)>1;e=d;if(o){continue}break}}d=(m|0)<1;if(d){break d}f=n[l>>2];t=q(A/q(q(v*f)+q(1)));n[l>>2]=t*f;x=1;if((m|0)!=1){while(1){e=l+(x<<2)|0;n[e>>2]=t*n[e>>2];x=x+1|0;if((m|0)!=(x|0)){continue}break}if(d){break d}x=(m|0)==1}J=l+(c<<2)|0;C=0;o=0;while(1){g=q(-1);e=0;while(1){f=q(r(n[l+(e<<2)>>2]));d=f>g;g=d?f:g;o=d?e:o;e=e+1|0;if((m|0)!=(e|0)){continue}break}if(g<=q(3.999000072479248)){break d}if(!E){f=n[l>>2];e=1;while(1){u=f;d=l+(e<<2)|0;f=n[d>>2];n[d-4>>2]=u+q(v*f);e=e+1|0;if((m|0)!=(e|0)){continue}break}}f=q(q(1)/t);e=0;while(1){d=l+(e<<2)|0;n[d>>2]=f*n[d>>2];e=e+1|0;if((m|0)!=(e|0)){continue}break}ra(l,m,q(q(.9900000095367432)-q(q(q(q(q(C|0)*q(.10000000149011612))+q(.800000011920929))*q(g+q(-3.999000072479248)))/q(g*q(o+1|0)))));if(!E){g=n[J>>2];e=c;while(1){d=e-1|0;D=l+(d<<2)|0;g=q(n[D>>2]-q(v*g));n[D>>2]=g;D=(e|0)>1;e=d;if(D){continue}break}}f=n[l>>2];t=q(A/q(q(v*f)+q(1)));n[l>>2]=t*f;e=1;if(!x){while(1){d=l+(e<<2)|0;n[d>>2]=t*n[d>>2];e=e+1|0;if((m|0)!=(e|0)){continue}break}}C=C+1|0;if((C|0)!=10){continue}break}break d}d=0;o=0;if((m|0)<1){break d}while(1){g=q(-1);e=0;while(1){f=q(r(n[l+(e<<2)>>2]));c=f>g;g=c?f:g;o=c?e:o;e=e+1|0;if((m|0)!=(e|0)){continue}break}if(g<=q(3.999000072479248)){break d}ra(l,m,q(q(.9900000095367432)-q(q(q(q(q(d|0)*q(.10000000149011612))+q(.800000011920929))*q(g+q(-3.999000072479248)))/q(g*q(o+1|0)))));d=d+1|0;if((d|0)!=10){continue}break}}w=w+H|0;c=j[a+4580>>2];B=B+1|0;if((c|0)>(B|0)){continue}break}K=Oa(+q(z*q(-.1599999964237213)));e=0;l=0;if((c|0)<1){break b}l=(c|0)>0;f=q(K);while(1){d=(e<<2)+b|0;n[d>>2]=q(n[d>>2]*f)+q(1.2483305931091309);e=e+1|0;if((e|0)!=(c|0)){continue}break}}g=q(j[a+4532>>2]);u=q(q(g*q(.00390625))*q(q(q(q(q(q(j[a+4696>>2])*q(30517578125e-15))+q(-1))*q(.5))+q(1))*q(4)));m=k[a+4765|0];e:{f:{g:{if((m|0)==2){if(l){t=q(q(.20000000298023224)/q(j[a+4576>>2]));d=0;while(1){e=(d<<2)+b|0;f=q(t+q(q(3)/q(j[e+228>>2])));n[e+628>>2]=f+q(-1);n[e+644>>2]=q(q(1)-f)-q(u*f);d=d+1|0;if((d|0)!=(c|0)){continue}break}}f=q(q(q(g*q(-.26249998807907104))*q(.00390625))+q(-.25));break g}f=q(q(1.2999999523162842)/q(j[a+4576>>2]));g=q(f+q(-1));n[b+628>>2]=g;n[b+644>>2]=q(q(1)-f)+q(q(u*f)*q(-.6000000238418579));if((c|0)<=1){if(!l){break e}f=q(-.25);u=q(0);break f}n[b+632>>2]=g;j[b+648>>2]=j[b+644>>2];d=2;f=q(-.25);if((c|0)==2){break g}e=b+628|0;o=b+644|0;while(1){w=d<<2;j[w+e>>2]=j[b+628>>2];j[o+w>>2]=j[b+644>>2];d=d+1|0;if((d|0)!=(c|0)){continue}break}}if((m|0)==2){if(!l){break e}u=q(q(y(n[a+10060>>2]))*q(q(q(q(1)-q(q(q(1)-n[b+700>>2])*n[b+696>>2]))*q(.20000000298023224))+q(.30000001192092896)));break f}u=q(0);if(!l){break e}}e=0;while(1){g=n[a+7172>>2];g=q(g+q(q(u-g)*q(.4000000059604645)));n[a+7172>>2]=g;d=(e<<2)+b|0;n[d+676>>2]=g;g=n[a+7176>>2];g=q(g+q(q(f-g)*q(.4000000059604645)));n[a+7176>>2]=g;n[d+660>>2]=g;e=e+1|0;if((e|0)!=(c|0)){continue}break}}I=s+1184|0}function gd(a,b,c,d,e,f,g,h,m,n,o,q,r,s,t,u,v,w){var x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,U=0,V=0,W=0,X=0;x=I;X=x;m=(m|0)>0?m:0;W=((m|0)>7)<<3;H=m-W|0;J=j[a+8>>2];a:{if((s|0)!=2){break a}G=k[(c-b|0)+42192|0];if((G|0)>(H|0)){G=0;break a}m=H-G|0;P=((m|0)>7)<<3;H=m-P|0}m=(J<<2)+15&-16;K=x-m|0;x=K;I=x;M=x-m|0;x=M;I=x;Q=x-m|0;x=Q;I=x;F=s<<3;N=x-m|0;I=N;O=(b|0)>=(c|0);if(!O){y=t+3|0;B=p((f-t|0)-5|0,s);E=j[a+32>>2];A=l[E+(b<<1)>>1];m=b;while(1){x=A<<16;C=m<<2;f=m+1|0;A=i[E+(f<<1)>>1];x=A-(x>>16)|0;D=p(x,3)<>4;j[C+Q>>2]=(D|0)<(F|0)?F:D;j[C+N>>2]=(p(x,p(B,(m^-1)+c|0))<>6)-(x<>2];C=R-1|0;D=1;b:{while(1){x=C+D>>1;if(!O){V=p(x,J);S=j[a+32>>2];y=l[S+(c<<1)>>1];U=j[a+52>>2];A=0;m=c;B=0;while(1){f=y<<16>>16;m=m-1|0;y=i[S+(m<<1)>>1];E=p(p(f-y|0,s),k[U+(m+V|0)|0])<>2;if((E|0)>=4){f=f+j[N+(m<<2)>>2]|0;f=(f|0)>0?f:0}E=m<<2;f=j[E+d>>2]+f|0;c:{if(!((f|0)>2]?!B:0)){B=1;E=j[e+E>>2];f=(f|0)<(E|0)?f:E;break c}B=0;f=(f|0)<(F|0)?0:F}A=f+A|0;if((b|0)<(m|0)){continue}break}f=(A|0)>(H|0);D=f?D:x+1|0;C=f?x-1|0:C;if((D|0)<=(C|0)){continue}E=b;if(O){break b}V=p(D,J);S=p(J,D-1|0);U=j[a+32>>2];C=l[U+(b<<1)>>1];A=j[a+52>>2];m=b;E=m;while(1){x=C<<16;f=m+1|0;C=i[U+(f<<1)>>1];x=p(C-(x>>16)|0,s);B=p(x,k[A+(m+S|0)|0])<=(R|0)){x=j[(m<<2)+e>>2]}else{x=p(x,k[A+(m+V|0)|0])<>2}y=B>>2;if((B|0)>=4){y=j[N+(m<<2)>>2]+y|0;y=(y|0)>0?y:0}if((x|0)>=1){x=j[N+(m<<2)>>2]+x|0;x=(x|0)>0?x:0}J=y;y=m<<2;B=j[y+d>>2];J=J+((D|0)>1?B:0)|0;j[y+K>>2]=J;x=B+(x-J|0)|0;j[y+M>>2]=(x|0)>0?x:0;E=(B|0)>0?m:E;m=f;if((m|0)!=(c|0)){continue}break}break b}f=(H|0)<0;D=f?D:x+1|0;C=f?x-1|0:C;if((D|0)<=(C|0)){continue}break}E=b}J=(s|0)>1;B=64;C=0;x=0;while(1){d:{d=B+C>>1;f=c;A=0;y=0;if(!O){while(1){f=f-1|0;D=f<<2;m=(p(d,j[D+M>>2])>>6)+j[D+K>>2]|0;e:{if(!((m|0)>2]?!y:0)){y=1;D=j[e+D>>2];m=(m|0)<(D|0)?m:D;break e}y=0;m=(m|0)<(F|0)?0:F}A=m+A|0;if((b|0)<(f|0)){continue}break}f=(A|0)>(H|0);C=f?C:d;B=f?d:B;x=x+1|0;if((x|0)!=6){continue}m=0;A=c;y=0;while(1){A=A-1|0;d=A<<2;f=j[d+K>>2]+(p(j[d+M>>2],C)>>6)|0;x=f;B=d+o|0;f=(x|0)>=j[d+Q>>2];x=y?x:f?x:(x|0)<(F|0)?0:F;d=j[d+e>>2];d=(d|0)>(x|0)?x:d;j[B>>2]=d;m=d+m|0;y=f|y;if((b|0)<(A|0)){continue}break}break d}m=0;f=(H|0)<0;C=f?C:d;B=f?d:B;x=x+1|0;if((x|0)!=6){continue}}break}B=c-1|0;f:{g:{if((E|0)>=(B|0)){f=c;x=G;break g}N=b+2|0;d=F+8|0;y=c;while(1){x=j[a+32>>2];A=i[x+(y<<1)>>1];f=B;K=i[x+(f<<1)>>1];B=A-K|0;M=f<<2;D=M+o|0;C=j[D>>2];O=H-m|0;x=i[x+(b<<1)>>1];R=(O>>>0)/(A-x>>>0)|0;x=O+p(R,x-A|0)+(x-K)|0;A=(C+p(R,B)|0)+((x|0)>0?x:0)|0;x=j[M+Q>>2];if((A|0)>=(((d|0)<(x|0)?x:d)|0)){h:{if(!((y|0)<=(N|0)|(p(B,(y|0)>17?(v|0)<(y|0)?9:7:0)<>4<(A|0)?(f|0)<=(w|0):0))){T(u,0,1);break h}T(u,1,1);f=y;x=G;break f}A=A-8|0;C=j[D>>2];m=m+8|0}x=G;if((x|0)>=1){x=k[(f-b|0)+42192|0]}y=(A|0)<(F|0)?0:F;j[D>>2]=y;m=(y+(m-(C+G|0)|0)|0)+x|0;G=x;y=f;B=f-1|0;if((E|0)<(B|0)){continue}break}}H=H+W|0}i:{j:{k:{if((b|0)<(f|0)){w=P;l:{if((x|0)>=1){v=j[g>>2];v=(f|0)>(v|0)?v:f;j[g>>2]=v;ga(u,v-b|0,(f-b|0)+1|0);d=j[g>>2];break l}j[g>>2]=0;d=0}d=(d|0)>(b|0);v=d?0:w;m:{if(!(!P|!d)){T(u,j[h>>2],1);break m}j[h>>2]=0}C=t<<3;G=j[a+32>>2];d=i[G+(b<<1)>>1];v=v+(H-m|0)|0;m=i[G+(f<<1)>>1];u=(v>>>0)/(m-d>>>0)|0;w=p(u,d-m|0);A=d;m=b;while(1){x=A<<16;y=(m<<2)+o|0;m=m+1|0;A=i[G+(m<<1)>>1];j[y>>2]=j[y>>2]+p(u,A-(x>>16)|0);if((f|0)!=(m|0)){continue}break}m=v+w|0;y=d;x=b;while(1){u=y<<16;v=(x<<2)+o|0;x=x+1|0;y=i[G+(x<<1)>>1];u=y-(u>>16)|0;u=(m|0)<(u|0)?m:u;j[v>>2]=u+j[v>>2];m=m-u|0;if((f|0)!=(x|0)){continue}break}H=(s|0)>1?4:3;B=0;n:{while(1){if((b|0)==(f|0)){break n}u=b<<2;v=u+o|0;m=j[v>>2];if((m|0)<=-1){break k}x=d<<16;w=m+B|0;m=b+1|0;d=i[G+(m<<1)>>1];y=d-(x>>16)<=2){x=0;E=w;w=w-j[e+u>>2]|0;A=(w|0)>0?w:0;E=E-A|0;j[v>>2]=E;w=p(s,y);if(!(j[h>>2]|((y|0)==2|(s|0)!=2))){x=j[g>>2]>(b|0)}w=w+x|0;P=w<<3;x=p(w,C+i[j[a+56>>2]+(b<<1)>>1]|0);b=(p(w,-21)+((y|0)==2?P>>2:0)|0)+(x>>1)|0;y=E+b|0;p:{if((y|0)>2)+b|0;break p}if((y|0)>=(p(w,24)|0)){break p}b=(x>>3)+b|0}x=q+u|0;y=(E+(w<<2)|0)+b|0;y=(((y|0)>0?y:0)>>>0)/(w>>>0)>>>3|0;j[x>>2]=y;w=j[v>>2];if((p(s,y)|0)>w>>3){y=w>>J>>3;j[x>>2]=y}w=(y|0)<8?y:8;j[x>>2]=w;j[r+u>>2]=(j[v>>2]+b|0)<=(p(w,P)|0);j[v>>2]=j[v>>2]-p(j[x>>2],F);break o}b=w-F|0;A=(b|0)>0?b:0;j[v>>2]=w-A;j[q+u>>2]=0;j[r+u>>2]=1}if(A){b=A>>>H|0;w=q+u|0;x=j[w>>2];y=8-x|0;b=(b|0)<(y|0)?b:y;j[w>>2]=b+x;b=p(b,F);j[r+u>>2]=(b|0)>=(A-B|0);B=A-b|0}else{B=0}if(j[v>>2]<=-1){break j}b=m;if(j[q+u>>2]>-1){continue}break}L(42296,42253,514);z()}j[n>>2]=B;if((c|0)>(f|0)){m=f;while(1){a=m<<2;d=a+q|0;b=a+o|0;e=j[b>>2]>>J>>3;j[d>>2]=e;if(j[b>>2]!=(p(e,F)|0)){break i}j[b>>2]=0;j[a+r>>2]=j[d>>2]<1;m=m+1|0;if((m|0)!=(c|0)){continue}break}}I=X;return f}L(42216,42253,391);z()}L(42265,42253,442);z()}L(42265,42253,513);z()}L(42328,42253,524);z()}function cb(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=I;x=m;e=j[a+268>>2];l=j[a+276>>2];m=m-((e+l<<2)+15&-16)|0;I=m;v=a+24|0;q=M(m,v,l<<2);m=j[a+296>>2];w=m+4|0;t=j[a+272>>2];h=m;while(1){r=(d|0)<(e|0)?d:e;db(a,(l<<2)+q|0,c,h,r);s=r<<16;a:{b:{c:{d:{e:{u=j[a+276>>2];switch(u-18|0){case 18:break b;case 6:break d;case 0:break e;default:break c}}if((s|0)<1){break a}g=j[a+280>>2];y=g<<16>>16;h=0;while(1){n=p(h&65535,y)>>16;e=p(n,18)+w|0;k=i[e>>1];l=(h>>16<<2)+q|0;f=j[l>>2];o=(p(k,f&65535)>>16)+p(k,f>>16)|0;k=i[e+2>>1];f=j[l+4>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+4>>1];f=j[l+8>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+6>>1];f=j[l+12>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+8>>1];f=j[l+16>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+10>>1];f=j[l+20>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+12>>1];f=j[l+24>>2];o=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;k=i[e+14>>1];f=j[l+28>>2];k=(o+p(k,f>>16)|0)+(p(k,f&65535)>>16)|0;e=i[e+16>>1];f=j[l+32>>2];k=(k+p(e,f>>16)|0)+(p(e,f&65535)>>16)|0;e=p(g+(n^-1)|0,18)+w|0;n=i[e>>1];f=j[l+68>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+2>>1];f=j[l+64>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+4>>1];f=j[l+60>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+6>>1];f=j[l+56>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+8>>1];f=j[l+52>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+10>>1];f=j[l+48>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+12>>1];f=j[l+44>>2];k=(k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0;n=i[e+14>>1];f=j[l+40>>2];e=i[e+16>>1];l=j[l+36>>2];l=(((k+p(n,f>>16)|0)+(p(n,f&65535)>>16)|0)+p(e,l>>16)|0)+(p(e,l&65535)>>16)|0;e=(l>>5)+1>>1;i[b>>1]=(l|0)>2097119?32767:(e|0)>-32768?e:-32768;b=b+2|0;h=h+t|0;if((s|0)>(h|0)){continue}break}break a}l=0;if((s|0)<=0){break a}while(1){g=i[m+4>>1];h=(l>>16<<2)+q|0;e=j[h+92>>2]+j[h>>2]|0;f=(p(g,e&65535)>>16)+p(g,e>>16)|0;g=i[m+6>>1];e=j[h+88>>2]+j[h+4>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+8>>1];e=j[h+84>>2]+j[h+8>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+10>>1];e=j[h+80>>2]+j[h+12>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+12>>1];e=j[h+76>>2]+j[h+16>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+14>>1];e=j[h+72>>2]+j[h+20>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+16>>1];e=j[h+68>>2]+j[h+24>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+18>>1];e=j[h+64>>2]+j[h+28>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+20>>1];e=j[h+60>>2]+j[h+32>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+22>>1];e=j[h+56>>2]+j[h+36>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+24>>1];e=j[h+52>>2]+j[h+40>>2]|0;g=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;e=i[m+26>>1];h=j[h+48>>2]+j[h+44>>2]|0;h=(g+p(e,h>>16)|0)+(p(e,h&65535)>>16)|0;e=(h>>5)+1>>1;i[b>>1]=(h|0)>2097119?32767:(e|0)>-32768?e:-32768;b=b+2|0;l=l+t|0;if((s|0)>(l|0)){continue}break}break a}L(6400,6420,139);z()}l=0;if((s|0)<=0){break a}while(1){g=i[m+4>>1];h=(l>>16<<2)+q|0;e=j[h+140>>2]+j[h>>2]|0;f=(p(g,e&65535)>>16)+p(g,e>>16)|0;g=i[m+6>>1];e=j[h+136>>2]+j[h+4>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+8>>1];e=j[h+132>>2]+j[h+8>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+10>>1];e=j[h+128>>2]+j[h+12>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+12>>1];e=j[h+124>>2]+j[h+16>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+14>>1];e=j[h+120>>2]+j[h+20>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+16>>1];e=j[h+116>>2]+j[h+24>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+18>>1];e=j[h+112>>2]+j[h+28>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+20>>1];e=j[h+108>>2]+j[h+32>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+22>>1];e=j[h+104>>2]+j[h+36>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+24>>1];e=j[h+100>>2]+j[h+40>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+26>>1];e=j[h+96>>2]+j[h+44>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+28>>1];e=j[h+92>>2]+j[h+48>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+30>>1];e=j[h+88>>2]+j[h+52>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+32>>1];e=j[h+84>>2]+j[h+56>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+34>>1];e=j[h+80>>2]+j[h+60>>2]|0;f=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;g=i[m+36>>1];e=j[h+76>>2]+j[h+64>>2]|0;g=(f+p(g,e>>16)|0)+(p(g,e&65535)>>16)|0;e=i[m+38>>1];h=j[h+72>>2]+j[h+68>>2]|0;h=(g+p(e,h>>16)|0)+(p(e,h&65535)>>16)|0;e=(h>>5)+1>>1;i[b>>1]=(h|0)>2097119?32767:(e|0)>-32768?e:-32768;b=b+2|0;l=l+t|0;if((s|0)>(l|0)){continue}break}}d=d-r|0;if((d|0)>=2){M(q,(r<<2)+q|0,u<<2);c=(r<<1)+c|0;h=j[a+296>>2];l=j[a+276>>2];e=j[a+268>>2];continue}break}M(v,(r<<2)+q|0,u<<2);I=x}function Ca(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=I-80|0;I=f;j[f+76>>2]=1616;z=f+55|0;w=f+56|0;a:{b:while(1){c:{if((t|0)<0){break c}if((2147483647-t|0)<(e|0)){j[13231]=61;t=-1;break c}t=e+t|0}d:{e:{f:{m=j[f+76>>2];e=m;g=k[e|0];if(g){while(1){g:{g=g&255;h:{if(!g){g=e;break h}if((g|0)!=37){break g}g=e;while(1){if(k[e+1|0]!=37){break h}l=e+2|0;j[f+76>>2]=l;g=g+1|0;n=k[e+2|0];e=l;if((n|0)==37){continue}break}}e=g-m|0;if(a){aa(a,m,e)}if(e){continue b}g=f;e=j[f+76>>2];i:{if(!(k[e+2|0]!=36|h[j[f+76>>2]+1|0]-48>>>0>=10)){v=h[e+1|0]-48|0;x=1;e=e+3|0;break i}v=-1;e=e+1|0}j[g+76>>2]=e;q=0;u=h[e|0];l=u-32|0;j:{if(l>>>0>31){g=e;break j}g=e;l=1<>2]=g;q=l|q;u=h[e+1|0];l=u-32|0;if(l>>>0>=32){break j}e=g;l=1<>>0>=10){break m}e=j[f+76>>2];if(k[e+2|0]!=36){break m}j[((h[e+1|0]<<2)+d|0)-192>>2]=10;r=j[((h[e+1|0]<<3)+c|0)-384>>2];x=1;e=e+3|0;break l}if(x){break f}x=0;r=0;if(a){e=j[b>>2];j[b>>2]=e+4;r=j[e>>2]}e=j[f+76>>2]+1|0}j[l+76>>2]=e;if((r|0)>-1){break k}r=0-r|0;q=q|8192;break k}r=jb(f+76|0);if((r|0)<0){break f}e=j[f+76>>2]}n=-1;n:{if(k[e|0]!=46){break n}if(k[e+1|0]==42){o:{if(h[e+2|0]-48>>>0>=10){break o}e=j[f+76>>2];if(k[e+3|0]!=36){break o}j[((h[e+2|0]<<2)+d|0)-192>>2]=10;n=j[((h[e+2|0]<<3)+c|0)-384>>2];e=e+4|0;j[f+76>>2]=e;break n}if(x){break f}if(a){e=j[b>>2];j[b>>2]=e+4;n=j[e>>2]}else{n=0}e=j[f+76>>2]+2|0;j[f+76>>2]=e;break n}j[f+76>>2]=e+1;n=jb(f+76|0);e=j[f+76>>2]}g=0;while(1){y=g;s=-1;if(h[e|0]-65>>>0>57){break a}u=e+1|0;j[f+76>>2]=u;g=h[e|0];e=u;g=k[(g+p(y,58)|0)+1071|0];if(g-1>>>0<8){continue}break}p:{q:{if((g|0)!=19){if(!g){break a}if((v|0)>=0){j[(v<<2)+d>>2]=g;e=(v<<3)+c|0;g=j[e+4>>2];j[f+64>>2]=j[e>>2];j[f+68>>2]=g;break q}if(!a){break d}ib(f- -64|0,g,b);u=j[f+76>>2];break p}if((v|0)>-1){break a}}e=0;if(!a){continue b}}l=q&-65537;g=q&8192?l:q;s=0;v=1116;q=w;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{e=h[u-1|0];e=y?(e&15)==3?e&-33:e:e;switch(e-88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break G}}H:{switch(e-65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break e;default:break H}}if((e|0)==83){break w}break e}e=j[f+64>>2];m=j[f+68>>2];v=1116;break z}e=0;I:{switch(y&255){case 0:j[j[f+64>>2]>>2]=t;continue b;case 1:j[j[f+64>>2]>>2]=t;continue b;case 2:g=j[f+64>>2];j[g>>2]=t;j[g+4>>2]=t>>31;continue b;case 3:i[j[f+64>>2]>>1]=t;continue b;case 4:h[j[f+64>>2]]=t;continue b;case 6:j[j[f+64>>2]>>2]=t;continue b;case 7:break I;default:continue b}}g=j[f+64>>2];j[g>>2]=t;j[g+4>>2]=t>>31;continue b}n=n>>>0>8?n:8;g=g|8;e=120}m=wc(j[f+64>>2],j[f+68>>2],w,e&32);if(!(g&8)|!(j[f+64>>2]|j[f+68>>2])){break y}v=(e>>>4|0)+1116|0;s=2;break y}m=vc(j[f+64>>2],j[f+68>>2],w);if(!(g&8)){break y}e=w-m|0;n=(e|0)<(n|0)?n:e+1|0;break y}l=j[f+68>>2];m=l;e=j[f+64>>2];if((l|0)<-1?1:(l|0)<=-1){m=0-(m+((e|0)!=0)|0)|0;e=0-e|0;j[f+64>>2]=e;j[f+68>>2]=m;s=1;v=1116;break z}if(g&2048){s=1;v=1117;break z}s=g&1;v=s?1118:1116}m=uc(e,m,w)}g=(n|0)>-1?g&-65537:g;e=j[f+64>>2];l=j[f+68>>2];if(!(!!(e|l)|n)){n=0;m=w;break e}e=!(e|l)+(w-m|0)|0;n=(e|0)<(n|0)?n:e;break e}e=j[f+64>>2];m=e?e:1126;e=sd(m,n);q=e?e:n+m|0;g=l;n=e?e-m|0:n;break e}l=j[f+64>>2];if(n){break u}e=0;_(a,32,r,0,g);break t}j[f+12>>2]=0;j[f+8>>2]=j[f+64>>2];j[f+64>>2]=f+8;n=-1;l=f+8|0}e=0;J:{while(1){m=j[l>>2];if(!m){break J}m=wb(f+4|0,m);q=(m|0)<0;if(!(q|m>>>0>n-e>>>0)){l=l+4|0;e=e+m|0;if(n>>>0>e>>>0){continue}break J}break}s=-1;if(q){break a}}_(a,32,r,e,g);if(!e){e=0;break t}l=0;u=j[f+64>>2];while(1){m=j[u>>2];if(!m){break t}m=wb(f+4|0,m);l=m+l|0;if((l|0)>(e|0)){break t}aa(a,f+4|0,m);u=u+4|0;if(e>>>0>l>>>0){continue}break}}_(a,32,r,e,g^8192);e=(e|0)<(r|0)?r:e;continue b}e=K[0](a,o[f+64>>3],r,n,g,e)|0;continue b}h[f+55|0]=j[f+64>>2];n=1;m=z;g=l;break e}l=e+1|0;j[f+76>>2]=l;g=k[e+1|0];e=l;continue}}s=t;if(a){break a}if(!x){break d}e=1;while(1){a=j[(e<<2)+d>>2];if(a){ib((e<<3)+c|0,a,b);s=1;e=e+1|0;if((e|0)!=10){continue}break a}break}s=1;if(e>>>0>=10){break a}while(1){if(j[(e<<2)+d>>2]){break f}e=e+1|0;if((e|0)!=10){continue}break}break a}s=-1;break a}q=q-m|0;n=(n|0)<(q|0)?q:n;l=n+s|0;e=(l|0)>(r|0)?l:r;_(a,32,e,l,g);aa(a,v,s);_(a,48,e,l,g^65536);_(a,48,n,q,0);aa(a,m,q);_(a,32,e,l,g^8192);continue}break}s=0}I=f+80|0;return s}function Ea(a,b){var c=0,d=q(0),e=q(0),f=q(0),g=q(0),h=0,k=0,m=q(0),o=0,r=0,s=0,t=0,u=q(0),v=q(0),w=q(0),x=q(0),y=0,A=0,B=0,C=q(0),D=q(0),E=0,F=0,G=0,H=q(0),J=0,K=0,M=0,N=q(0),O=0,P=q(0),Q=0,R=0,S=0,T=q(0),U=q(0),V=q(0),W=q(0),X=q(0),Y=q(0),Z=q(0),_=q(0),$=0,aa=q(0),ba=q(0),ca=q(0),da=q(0),ea=q(0),fa=q(0);J=I-32|0;I=J;B=j[a+8>>2];j[J>>2]=1;G=a+12|0;o=1;while(1){c=h;r=c<<2;k=l[G+(r|2)>>1];h=c+1|0;o=p(i[r+G>>1],o);j[(h<<2)+J>>2]=o;if((k|0)!=1){continue}break}$=(B|0)>0?B:0;G=i[((h<<2)+a|0)+10>>1];a:{while(1){k=G;h=0;G=1;B=c;b:{c:{d:{e:{f:{if(c){G=i[((B<<2)+a|0)+10>>1];c=B<<1}else{c=0}switch(i[((c<<1)+a|0)+12>>1]-2|0){case 3:break c;case 1:break d;case 2:break e;case 0:break f;default:break b}}if((k|0)!=4){break a}c=b;k=j[(B<<2)+J>>2];if((k|0)<=0){break b}while(1){e=n[c>>2];d=n[c+32>>2];n[c+32>>2]=e-d;n[c>>2]=d+e;e=n[c+36>>2];d=n[c+4>>2];n[c+4>>2]=e+d;n[c+36>>2]=d-e;m=n[c+8>>2];g=n[c+40>>2];d=n[c+44>>2];f=q(q(g+d)*q(.7071067690849304));n[c+40>>2]=m-f;e=n[c+12>>2];d=q(q(d-g)*q(.7071067690849304));n[c+44>>2]=e-d;n[c+8>>2]=m+f;n[c+12>>2]=d+e;g=n[c+48>>2];f=n[c+16>>2];e=n[c+52>>2];n[c+48>>2]=f-e;d=n[c+20>>2];n[c+52>>2]=g+d;n[c+20>>2]=d-g;n[c+16>>2]=e+f;m=n[c+24>>2];g=n[c+60>>2];d=n[c+56>>2];f=q(q(g-d)*q(.7071067690849304));n[c+56>>2]=m-f;e=n[c+28>>2];d=q(q(g+d)*q(-.7071067690849304));n[c+60>>2]=e-d;n[c+28>>2]=d+e;n[c+24>>2]=m+f;c=c- -64|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}break b}Q=j[(B<<2)+J>>2];if((k|0)==1){c=b;if((Q|0)<1){break b}while(1){u=n[c>>2];C=n[c+16>>2];e=q(u+C);D=n[c+8>>2];v=n[c+24>>2];d=q(D+v);n[c+16>>2]=e-d;n[c>>2]=e+d;f=n[c+4>>2];e=n[c+20>>2];w=q(f+e);x=n[c+12>>2];d=n[c+28>>2];m=q(x+d);n[c+20>>2]=w-m;g=q(f-e);f=q(D-v);n[c+28>>2]=g+f;e=q(u-C);d=q(x-d);n[c+24>>2]=e-d;n[c+12>>2]=g-f;n[c+8>>2]=e+d;n[c+4>>2]=w+m;c=c+32|0;h=h+1|0;if((Q|0)!=(h|0)){continue}break}break b}if((Q|0)<1){break b}K=p(k,3);O=k<<1;A=Q<<$;R=p(A,3);S=A<<1;r=j[a+48>>2];E=0;while(1){if((k|0)>=1){c=(p(E,G)<<3)+b|0;M=0;h=r;t=h;o=h;while(1){F=(k<<3)+c|0;T=n[F+4>>2];U=n[F>>2];s=(K<<3)+c|0;V=n[s+4>>2];W=n[s>>2];H=n[o>>2];X=n[o+4>>2];N=n[h>>2];u=n[h+4>>2];m=n[t>>2];y=(O<<3)+c|0;g=n[y+4>>2];f=n[y>>2];d=n[t+4>>2];C=q(q(m*g)+q(f*d));D=n[c+4>>2];e=q(C+D);n[c+4>>2]=e;v=q(q(f*m)-q(g*d));w=n[c>>2];d=q(v+w);n[c>>2]=d;x=q(q(H*T)+q(U*X));m=q(q(N*V)+q(W*u));g=q(x+m);n[y+4>>2]=e-g;P=d;f=q(q(U*H)-q(T*X));e=q(q(W*N)-q(V*u));d=q(f+e);n[y>>2]=P-d;n[c>>2]=d+n[c>>2];n[c+4>>2]=g+n[c+4>>2];g=q(D-C);f=q(f-e);n[F+4>>2]=g-f;e=q(w-v);d=q(x-m);n[F>>2]=e+d;n[s+4>>2]=g+f;n[s>>2]=e-d;c=c+8|0;h=(R<<3)+h|0;t=(S<<3)+t|0;o=(A<<3)+o|0;M=M+1|0;if((k|0)!=(M|0)){continue}break}}E=E+1|0;if((Q|0)!=(E|0)){continue}break}break b}K=j[(B<<2)+J>>2];if((K|0)<1){break b}R=k<<1;r=j[a+48>>2];O=K<<$;N=n[(r+(p(O,k)<<3)|0)+4>>2];S=O<<1;y=0;while(1){c=(p(y,G)<<3)+b|0;t=r;o=r;h=k;while(1){s=(k<<3)+c|0;u=n[s>>2];C=n[o>>2];D=n[s+4>>2];f=n[o+4>>2];v=q(q(u*C)-q(D*f));A=(R<<3)+c|0;w=n[A>>2];x=n[t>>2];e=n[A+4>>2];d=n[t+4>>2];m=q(q(w*x)-q(e*d));g=q(v+m);n[s>>2]=n[c>>2]-q(g*q(.5));f=q(q(C*D)+q(u*f));e=q(q(x*e)+q(w*d));d=q(f+e);n[s+4>>2]=n[c+4>>2]-q(d*q(.5));n[c>>2]=g+n[c>>2];n[c+4>>2]=d+n[c+4>>2];e=q(N*q(f-e));n[A>>2]=e+n[s>>2];d=q(N*q(v-m));n[A+4>>2]=n[s+4>>2]-d;n[s>>2]=n[s>>2]-e;n[s+4>>2]=d+n[s+4>>2];c=c+8|0;t=(S<<3)+t|0;o=(O<<3)+o|0;h=h-1|0;if(h){continue}break}y=y+1|0;if((K|0)!=(y|0)){continue}break}break b}A=j[(B<<2)+J>>2];if((A|0)<1){break b}F=j[a+48>>2];K=A<<$;c=p(K,k);h=F+(c<<4)|0;P=n[h+4>>2];Y=n[h>>2];h=F+(c<<3)|0;Z=n[h+4>>2];_=n[h>>2];O=k<<2;R=p(k,3);S=k<<1;s=0;while(1){if((k|0)>=1){c=(p(s,G)<<3)+b|0;h=c+(k<<3)|0;t=(S<<3)+c|0;o=(R<<3)+c|0;E=(O<<3)+c|0;M=0;while(1){aa=n[c>>2];ba=n[c+4>>2];y=p(K,M);r=F+(y<<4)|0;ea=n[r>>2];fa=n[t+4>>2];T=n[t>>2];g=n[r+4>>2];U=q(q(ea*fa)+q(T*g));r=F+p(y,24)|0;V=n[r>>2];W=n[o+4>>2];H=n[o>>2];f=n[r+4>>2];X=q(q(V*W)+q(H*f));ca=q(U+X);r=F+(y<<3)|0;N=n[r>>2];u=n[h+4>>2];v=n[h>>2];e=n[r+4>>2];C=q(q(N*u)+q(v*e));r=F+(y<<5)|0;w=n[r>>2];x=n[E+4>>2];m=n[E>>2];d=n[r+4>>2];D=q(q(w*x)+q(m*d));da=q(C+D);n[c+4>>2]=ba+q(ca+da);g=q(q(T*ea)-q(fa*g));f=q(q(H*V)-q(W*f));H=q(g+f);e=q(q(v*N)-q(u*e));d=q(q(m*w)-q(x*d));u=q(e+d);n[c>>2]=aa+q(H+u);v=q(g-f);w=q(e-d);x=q(q(P*v)+q(Z*w));g=q(ba+q(q(Y*ca)+q(_*da)));n[h+4>>2]=x+g;f=q(aa+q(q(Y*H)+q(_*u)));m=q(U-X);e=q(C-D);d=q(q(P*m)+q(Z*e));n[h>>2]=f-d;n[E+4>>2]=g-x;n[E>>2]=d+f;g=q(q(P*w)-q(Z*v));f=q(ba+q(q(_*ca)+q(Y*da)));n[t+4>>2]=g+f;e=q(q(Z*m)-q(P*e));d=q(aa+q(q(_*H)+q(Y*u)));n[t>>2]=e+d;n[o+4>>2]=f-g;n[o>>2]=d-e;E=E+8|0;o=o+8|0;t=t+8|0;h=h+8|0;c=c+8|0;M=M+1|0;if((k|0)!=(M|0)){continue}break}}s=s+1|0;if((A|0)!=(s|0)){continue}break}}c=B-1|0;if((B|0)>0){continue}break}I=J+32|0;return}L(42449,42433,76);z()}function ec(a,b,c,d,e,f,g,m,n,o,q){var r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;r=I-16|0;w=r;I=r;C=b-4|0;r=q+2|0;F=w-((r<<1)+15&-16)|0;v=F;I=v;if((q|0)>=-1){A=(r|0)>1?r:1;r=0;while(1){t=r<<1;y=t-4|0;x=i[y+c>>1];y=i[b+y>>1];u=y+x|0;i[t+C>>1]=(u>>>1|0)+(u&1);B=t+F|0;t=y-x|0;t=(t>>1)+(t&1)|0;t=(t|0)>-32768?t:-32768;i[B>>1]=(t|0)<32767?t:32767;r=r+1|0;if((A|0)!=(r|0)){continue}break}}r=j[a+4>>2];i[C>>1]=r;i[C+2>>1]=r>>>16;x=j[a+8>>2];j[F>>2]=x;r=q<<1;t=r+C|0;j[a+4>>2]=l[t>>1]|l[t+2>>1]<<16;t=r+F|0;j[a+8>>2]=l[t>>1]|l[t+2>>1]<<16;t=r+15&-16;D=v-t|0;v=D;I=v;r=0;A=v-t|0;y=A;I=y;a:{if((q|0)<=0){r=(q<<1)+15&-16;y=y-r|0;t=y;I=t;u=t-r|0;I=u;break a}t=x>>>16|0;v=l[C>>1];while(1){u=r<<1;v=i[u+b>>1]+(v<<16>>16)|0;B=v;r=r+1|0;v=i[(r<<1)+C>>1];z=(B+(v<<1)>>>1|0)+1>>>1|0;i[u+D>>1]=z;i[u+A>>1]=v-z;if((q|0)!=(r|0)){continue}break}r=(q<<1)+15&-16;y=y-r|0;v=y;I=v;u=v-r|0;I=u;if((q|0)<1){break a}v=0;while(1){r=t;z=v<<1;t=i[(z+F|0)+4>>1];x=((t+(x<<16>>16)|0)+(r<<16>>16<<1)>>>1|0)+1>>>1|0;i[z+y>>1]=x;i[u+z>>1]=r-x;x=r;v=v+1|0;if((v|0)!=(q|0)){continue}break}}r=(p(o,10)|0)==(q|0);t=r?328:655;m=m<<16>>16;m=p(m,m);v=(p(t,m&65535)>>>16|0)+p(t,m>>>16|0)|0;y=Ua(w+4|0,D,y,a+12|0,q,v);j[w+8>>2]=y;A=Ua(w,A,u,a+20|0,q,v);j[w+12>>2]=A;D=(r?-1200:-600)+g|0;t=(D|0)>1?D:1;u=s(t);g=j[w>>2]+p(i[w+4>>1],3)|0;x=(g|0)<65536?g:65536;z=p(x,3);g=z+851968|0;m=g>>31;r=t<>31;g=536870911/(g>>16)<<16>>16;m=(p(g,r&65535)>>16)+p(g,r>>16)|0;r=ie(B,H,m,m>>31);r=G-(((J&536870911)<<3|r>>>29)&-8)|0;g=(p(r>>16,g)+m|0)+(p(g,r&65535)>>16)|0;r=p(o<<16>>16,600)+2e3|0;B=f;u=(u-E|0)+10|0;b:{if((u|0)<=-1){u=0-u|0;E=2147483647>>>u|0;m=-2147483648>>u;g=((g|0)>(E|0)?E:(g|0)<(m|0)?m:g)<>u:0}j[B>>2]=g;G=a;c:{if((g|0)<(r|0)){j[f>>2]=r;g=t-r|0;j[f+4>>2]=g;g=(g<<1)-r|0;m=g>>31;u=z+65536|0;z=r<<16>>16;u=(p(u&65535,z)>>16)+p(z,u>>16)|0;z=u>>31;E=s(m^g+m);m=g<>16)<<16>>16;m=(p(g,m&65535)>>16)+p(g,m>>16)|0;u=ie(m,m>>31,u,u>>31);u=B-(((J&536870911)<<3|u>>>29)&-8)|0;g=(p(u>>16,g)+m|0)+(p(g,u&65535)>>16)|0;m=(E-z|0)+13|0;d:{if((m|0)<=-1){m=0-m|0;u=2147483647>>>m|0;z=-2147483648>>m;g=((g|0)>(u|0)?u:(g|0)<(z|0)?z:g)<>m:0}g=(g|0)>0?g:0;m=(g|0)<16384?g:16384;break c}j[f+4>>2]=t-g;m=16384}g=i[a+28>>1];m=m-g|0;i[G+28>>1]=((p(m&65535,v<<16>>16)>>>16|0)+p(v,m>>>16|0)|0)+g;g=0;h[e|0]=0;e:{f:{g:{h:{i:{j:{if(n){j[w+8>>2]=0;j[w+12>>2]=0;ea(w+8|0,d);break j}m=t<<3;k:{if(!l[a+30>>1]){l:{if((m|0)<(p(r,13)|0)){r=i[a+28>>1];break l}r=i[a+28>>1];if(((p(r,x&65535)>>16)+p(x>>16,r)|0)>818){break k}}j[w+12>>2]=p(A<<16>>16,r)>>14;j[w+8>>2]=p(y<<16>>16,r)>>14;ea(w+8|0,d);j[w+8>>2]=0;j[w+12>>2]=0;j[f+4>>2]=0;j[f>>2]=t;h[e|0]=1;break i}m:{if((m|0)<(p(r,11)|0)){r=i[a+28>>1];break m}r=i[a+28>>1];if(((p(r,x&65535)>>16)+p(x>>16,r)|0)>327){break k}}j[w+12>>2]=p(A<<16>>16,r)>>14;j[w+8>>2]=p(y<<16>>16,r)>>14;ea(w+8|0,d);j[w+8>>2]=0;j[w+12>>2]=0;break j}if((r|0)>=15566){ea(w+8|0,d);g=16384;break j}j[w+12>>2]=p(A<<16>>16,r)>>14;j[w+8>>2]=p(y<<16>>16,r)>>14;ea(w+8|0,d);g=i[a+28>>1]}if(k[e|0]!=1){break h}}d=l[a+32>>1]+(q-(o<<3)|0)|0;i[a+32>>1]=d;if((p(o,5)|0)>d<<16>>16){h[e|0]=0;break f}i[a+32>>1]=1e4;break g}i[a+32>>1]=0}if(k[e|0]){break e}}if(j[f+4>>2]>0){break e}j[f+4>>2]=1;j[f>>2]=(t|0)>2?D-1|0:1}r=o<<3;f=65536/(r|0)|0;d=j[w+12>>2];e=j[w+8>>2];if((o|0)>=1){f=f<<16>>16;n=i[a+30>>1];m=g-n|0;y=(p(f,m&65535)>>16)+p(f,m>>16)<<10;m=i[a+2>>1];u=(p(f,d-m<<16>>16)>>15)+1>>1;o=i[a>>1];D=(p(f,e-o<<16>>16)>>15)+1>>1;z=(r|0)>1?r:1;v=0;t=0-o|0;m=0-m|0;f=n<<10;while(1){n=v<<1;v=v+1|0;x=v<<1;o=i[x+F>>1];x=i[x+C>>1];A=(i[b+n>>1]+i[n+C>>1]|0)+(x<<1)|0;B=(c+n|0)-2|0;f=f+y|0;m=m-u|0;n=m<<16>>16;o=((p(o,f>>16)+p(n,x>>5)|0)+(p(o,f&64512)>>16)|0)+(p(n,x<<11&63488)>>16)|0;t=t-D|0;n=t<<16>>16;n=(o+p(n,A>>7)|0)+(p(n,A<<9&65024)>>16)|0;o=(n>>7)+1>>1;i[B>>1]=(n|0)>8388479?32767:(o|0)>-32768?o:-32768;if((v|0)!=(z|0)){continue}break}}if((q|0)>(r|0)){v=g>>6;A=g<<10&64512;m=0-(d<<16)>>16;n=0-(e<<16)>>16;while(1){f=r<<1;r=r+1|0;t=r<<1;o=i[t+F>>1];t=i[t+C>>1];x=(i[b+f>>1]+i[f+C>>1]|0)+(t<<1)|0;y=(c+f|0)-2|0;f=((((p(o,v)+p(m,t>>5)|0)+(p(o,A)>>16)|0)+(p(m,t<<11&63488)>>16)|0)+p(n,x>>7)|0)+(p(n,x<<9&65024)>>16)|0;o=(f>>7)+1>>1;i[y>>1]=(f|0)>8388479?32767:(o|0)>-32768?o:-32768;if((q|0)!=(r|0)){continue}break}}i[a+30>>1]=g;i[a+2>>1]=d;i[a>>1]=e;I=w+16|0}function xb(a,b,c,d,e,f,g,h,k,l,m){var o=0,r=0,t=0,u=0,v=q(0),w=q(0),x=0,A=0,B=0,C=0,D=q(0),E=0,F=0,G=0;E=j[a+36>>2];x=j[a+28>>2];o=j[a+16>>2];F=j[a>>2];r=1;t=(e|0)==2&(l|0)!=0;B=(e<<1)+(t?-2:-1)|0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{u=j[f>>2];G=j[a+8>>2];C=j[a+12>>2];k=i[j[G+56>>2]+(C<<1)>>1]+(k<<3)|0;A=(u-k|0)-32|0;k=(u+p(B,(k>>1)+(t?-16:-4)|0)|0)/(B|0)|0;k=(k|0)>(A|0)?A:k;k=(k|0)<64?k:64;if((k|0)>=4){r=(i[((k&7)<<1)+42144>>1]>>14-(k>>>3|0))+1&-2;if((r|0)>=257){break l}}r=(o|0)>(C|0)?r:l?1:r;m:{n:{o:{if(F){k=nd(c,d,l,e);B=V(x);if((r|0)==1){break m}p:{q:{if(l){a=j[a+48>>2];if(a){break q}a=p(k,r)- -8192>>14;break p}o=p(k,r);t=o- -8192|0;k=t>>14;r:{if((k|0)>=(r|0)){a=k;break r}if((o|0)<8192){a=k;break r}if(!j[a+56>>2]){a=k;break r}a=r;t=((t&-16384)>>>0)/(a>>>0)<<16;o=p(t>>13,t>>16)+32768>>16;u=((p(((p((p(o,-626)+16384>>15)+8277|0,o)<<1)+32768&-65536)-501415936>>16,o)+16384>>>15|0)-o<<16)- -2147483648>>16;A=s(u);o=1073741824-t|0;o=p(o>>13,o>>16)+32768>>16;o=((p(((p((p(o,-626)+16384>>15)+8277|0,o)<<1)+32768&-65536)-501415936>>16,o)+16384>>>15|0)-o<<16)- -2147483648>>16;t=s(o);u=u<>16;o=o<>16;o=p((A-t<<11)-(p((p(u,-2597)+16384>>15)+7932|0,u)+16384>>>15|0)+(p((p(o,-2597)+16384>>15)+7932|0,o)+16384>>>15)<<16>>16,(e<<23)-8388608>>16)+16384>>15;t=j[f>>2];if((o|0)>(t|0)){break r}a=(o|0)<(0-t|0)?0:k}if((h|0)<2){break o}break i}h=(a^-1)>>>31|0;a=p(k,r)+((((k|0)>8192?32767:-32767)|0)/(r|0)|0)|0;a=(a|0)<0?0:a>>14;a=h+((a|0)<(r|0)?a:r-1|0)|0}if((e|0)<=2){break i}h=(r|0)/2|0;k=p(h,3)+3|0;o=p(a,3);t=(a|0)>(h|0);va(x,t?(k+(h^-1)|0)+a|0:o,t?(k-h|0)+a|0:o+3|0,h+k|0);break h}B=V(x);if((r|0)==1){break k}if(!(!l|(e|0)<3)){h=x;A=h;k=(r|0)/2|0;t=k+1|0;o=p(t,3);u=k+o|0;a=Ya(h,u);s:{if((o|0)>(a|0)){a=(a|0)/3|0;break s}a=a-(t<<1)|0}t=p(a,3);h=(a|0)>(k|0);Xa(A,h?a+(o+(k^-1)|0)|0:t,h?(o-k|0)+a|0:t+3|0,u);break h}if(l?0:(h|0)<=1){break n}a=Wa(x,r+1|0);break h}k=r-a|0;t=k+1|0;u=a+1|0;h=r>>1;A=(h|0)<(a|0);h=h+1|0;o=p(h,h);k=A?o-(p(t,k+2|0)>>1)|0:p(a,u)>>1;va(x,k,k+(A?t:u)|0,o);break h}c=x;A=c;k=r>>1;h=k+1|0;d=p(h,h);a=Ya(c,d);t:{if((a|0)>1){l=Ab(a<<3|1)-1>>>1|0;a=l+1|0;h=p(a,l)>>>1|0;break t}h=r+1|0;l=(h<<1)-Ab(d+(a^-1)<<3|1)>>>1|0;a=h-l|0;h=d-(p(a,(r-l|0)+2|0)>>1)|0}Xa(A,h,a+h|0,d);k=(l<<14>>>0)/(r>>>0)|0;break e}if(!l){break e}l=0;h=0;u:{if((k|0)<8193){break u}k=j[a+52>>2];if(k){break u}h=1;if((e|0)<1){break u}h=!k;r=0;while(1){k=(r<<2)+d|0;n[k>>2]=-n[k>>2];r=r+1|0;if((r|0)!=(e|0)){continue}break}}if((e|0)<1){break j}v=n[(C<<2)+E>>2];w=n[(j[G+8>>2]+C<<2)+E>>2];D=q(q(y(q(q(q(v*v)+q(1.0000000036274937e-15))+q(w*w))))+q(1.0000000036274937e-15));w=q(w/D);v=q(v/D);while(1){k=l<<2;r=k+c|0;n[r>>2]=q(v*n[r>>2])+q(w*n[d+k>>2]);l=l+1|0;if((l|0)!=(e|0)){continue}break}break j}L(42160,41800,669);z()}h=0;if(!l){break g}}c=0;v:{if(j[f>>2]<17){break v}c=0;if(j[a+32>>2]<17){break v}if(F){T(x,h,2);c=h;break v}c=jc(x)}h=j[a+52>>2]?0:c;break g}ga(x,a,r+1|0)}if((a|0)<=-1){break f}a=a<<14;k=(a>>>0)/(r>>>0)|0;if(!l|!F){break e}if(a>>>0>>0){h=0;if((e|0)<1){break g}v=n[(C<<2)+E>>2];w=n[(j[G+8>>2]+C<<2)+E>>2];D=q(q(y(q(q(q(v*v)+q(1.0000000036274937e-15))+q(w*w))))+q(1.0000000036274937e-15));w=q(w/D);v=q(v/D);l=0;while(1){a=l<<2;k=a+c|0;n[k>>2]=q(v*n[k>>2])+q(w*n[a+d>>2]);l=l+1|0;if((l|0)!=(e|0)){continue}break}break g}if((e|0)<1){break e}l=0;while(1){a=l<<2;h=a+c|0;v=q(n[h>>2]*q(.7071067690849304));a=a+d|0;w=q(n[a>>2]*q(.7071067690849304));n[h>>2]=v+w;n[a>>2]=w-v;l=l+1|0;if((l|0)!=(e|0)){continue}break}break e}a=V(x)-B|0;j[f>>2]=j[f>>2]-a;break d}L(42104,41800,838);z()}a=V(x)-B|0;j[f>>2]=j[f>>2]-a;l=16384;if((k|0)==16384){break c}if(k){break b}h=k}j[m>>2]=j[m>>2]&(-1<>2]=j[m>>2]&(-1<>13,f>>16)+32768>>16;d=((p(((p((p(c,-626)+16384>>15)+8277|0,c)<<1)+32768&-65536)-501415936>>16,c)+16384>>>15|0)-c<<16)- -2147483648>>16;g=s(d);c=1073741824-f|0;c=p(c>>13,c>>16)+32768>>16;c=((p(((p((p(c,-626)+16384>>15)+8277|0,c)<<1)+32768&-65536)-501415936>>16,c)+16384>>>15|0)-c<<16)- -2147483648>>16;f=s(c);k=g-f<<11;g=d<>16;f=c<>16;e=p(k-(p((p(g,-2597)+16384>>15)+7932|0,g)+16384>>>15|0)+(p((p(f,-2597)+16384>>15)+7932|0,f)+16384>>>15)<<16>>16,(e<<23)-8388608>>16)+16384>>15}j[b+20>>2]=a;j[b+16>>2]=l;j[b+12>>2]=e;j[b+8>>2]=c;j[b+4>>2]=d;j[b>>2]=h}function mc(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0,m=0,n=0;j[a+6076>>2]=j[b+48>>2];j[a+4676>>2]=j[b+52>>2];f=j[b+8>>2];j[a+4556>>2]=f;j[a+4564>>2]=j[b+12>>2];j[a+4568>>2]=j[b+16>>2];j[a+4572>>2]=j[b+20>>2];j[a+6088>>2]=j[b+40>>2];j[a+5752>>2]=j[b>>2];g=j[b+4>>2];j[a+5760>>2]=d;j[a+4536>>2]=c;j[a+5756>>2]=g;a:{b:{if(!(j[a+4680>>2]|!j[a+4668>>2])){b=0;if((f|0)==j[a+4560>>2]){break b}c=j[a+4576>>2];if((c|0)<1){break b}return bb(a,c)}f=(l=e,m=nc(a,b),n=e,n?l:m);i=bb(a,f);c=j[b+24>>2];if((c|0)!=j[a+4612>>2]){c:{d:{switch(c-10|0){default:if((c|0)==40|(c|0)==60){break c}break;case 0:case 10:break c;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:break d}}k=-103}e:{if((c|0)<=10){j[a+5744>>2]=1;j[a+4580>>2]=(c|0)==10?2:1;d=f<<16>>16;j[a+4584>>2]=p(d,c<<16>>16);j[a+4548>>2]=p(d,14);if(j[a+4576>>2]==8){j[a+4688>>2]=2169;break e}j[a+4688>>2]=2157;break e}j[a+4580>>2]=4;j[a+5744>>2]=(c>>>0)/20;d=f<<16>>16;j[a+4584>>2]=p(d,20);j[a+4548>>2]=p(d,24);if(j[a+4576>>2]==8){j[a+4688>>2]=2146;break e}j[a+4688>>2]=2112}j[a+4608>>2]=0;j[a+4612>>2]=c}f:{g:{h:{i:{if(!(!(1<>>0>16)){j:{k:{c=j[a+4580>>2];switch(c-2|0){case 0:case 2:break j;default:break k}}L(6692,6671,242);z()}l:{if((f|0)==j[a+4576>>2]){e=j[a+4584>>2];d=j[a+4588>>2];break l}j[a+7168>>2]=0;j[a+7172>>2]=0;j[a+5748>>2]=0;j[a+5740>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+4608>>2]=0;j[a+7176>>2]=0;O(a+148|0,0,4384);d=10;h[a+7168|0]=10;j[a+4664>>2]=1;j[a+4544>>2]=100;j[a+4576>>2]=f;h[a+4541|0]=0;j[a+4492>>2]=65536;j[a+4476>>2]=100;m:{if((f|0)==8){j[a+4688>>2]=(c|0)==4?2146:2169;e=3576;break m}j[a+4688>>2]=(c|0)==4?2112:2157;d=(f|0)==12;e=d?3576:5700;d=d?10:16}j[a+4692>>2]=e;j[a+4640>>2]=d;d=p(f,5);j[a+4588>>2]=d;j[a+4596>>2]=f<<1;j[a+4592>>2]=p(f,20);j[a+4552>>2]=p(f,18);e=p(c,p(f,327680)>>16);j[a+4584>>2]=e;j[a+4548>>2]=p(f,(c|0)==4?24:14);if((f|0)==16){j[a+4684>>2]=5872;d=80;break l}if((f|0)==12){j[a+4684>>2]=5866;d=60;break l}j[a+4684>>2]=5857}if((p(c,d)|0)!=(e|0)){break i}d=j[b+36>>2];if(d>>>0>=11){break h}n:{c=a;o:{if(!d){j[a+4652>>2]=52429;j[a+4644>>2]=0;j[a+4648>>2]=6;j[a+4636>>2]=12;j[a+4660>>2]=2;j[a+4628>>2]=1;j[a+4632>>2]=0;e=p(f,3);break o}if((d|0)<=1){j[a+4652>>2]=49807;j[a+4644>>2]=1;j[a+4648>>2]=8;j[a+4636>>2]=14;j[a+4660>>2]=3;j[a+4628>>2]=1;j[a+4632>>2]=0;break g}if((d|0)!=2){break n}j[a+4652>>2]=52429;j[a+4644>>2]=0;j[a+4648>>2]=6;j[a+4636>>2]=12;j[a+4660>>2]=2;j[a+4628>>2]=2;j[a+4632>>2]=0;e=p(f,3)}j[c+4600>>2]=e;g=0;c=6;break f}if((d|0)<=3){j[a+4652>>2]=49807;j[a+4644>>2]=1;j[a+4648>>2]=8;j[a+4636>>2]=14;j[a+4660>>2]=4;j[a+4628>>2]=2;j[a+4632>>2]=0;break g}if((d|0)<=5){j[a+4652>>2]=48497;j[a+4644>>2]=1;j[a+4648>>2]=10;j[a+4636>>2]=16;j[a+4660>>2]=6;j[a+4628>>2]=2;j[a+4632>>2]=1;e=p(f,5);j[a+4600>>2]=e;g=p(f,983);c=10;break f}if((d|0)<=7){j[a+4652>>2]=47186;j[a+4644>>2]=1;j[a+4648>>2]=12;j[a+4636>>2]=20;j[a+4660>>2]=8;j[a+4628>>2]=3;j[a+4632>>2]=1;e=p(f,5);j[a+4600>>2]=e;g=p(f,983);c=12;break f}j[a+4652>>2]=45875;j[a+4644>>2]=2;j[a+4648>>2]=16;j[a+4636>>2]=24;j[a+4660>>2]=16;j[a+4628>>2]=4;j[a+4632>>2]=1;e=p(f,5);j[a+4600>>2]=e;g=p(f,983);c=16;break f}L(6609,6671,241);z()}L(6765,6671,302);z()}L(6863,6671,315);z()}e=p(f,5);j[a+4600>>2]=e;g=0;c=8}j[a+4672>>2]=g;j[a+4624>>2]=d;j[a+4604>>2]=p(f,5)+(e<<1);d=j[a+4640>>2];c=(c|0)<(d|0)?c:d;j[a+4648>>2]=c;if((c|0)>=17){break a}c=j[b+32>>2];j[a+4616>>2]=c;d=j[a+6092>>2];b=j[b+44>>2];j[a+6092>>2]=b;if(b){b=a;if(d){c=(p(c>>16,-26214)-(p(c&65535,26214)>>>16|0)|0)+7|0;c=(c|0)>2?c:2}else{c=7}j[b+6096>>2]=c}b=i+k|0;j[a+4668>>2]=1}return b}L(6917,6671,393);z()}function Wd(a,b,c,d,e,f,g,m,n,o){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;q=I-320|0;I=q;x=g<<16>>16;g=-10;while(1){r=g<<10;a:{if((g|0)>=1){t=r|922;r=r-102|0;break a}if(!g){t=r|922;break a}s=r+1024|0;t=(g|0)==-1?s:s|102;r=r|102}s=(g<<2)+40|0;j[s+q>>2]=p(t<<16>>16,x)>>16;j[(q+80|0)+s>>2]=p(r<<16>>16,x)>>16;g=g+1|0;if((g|0)!=10){continue}break}i[q+224>>1]=0;j[q+192>>2]=0;if((o|0)<1){b=0}else{C=n<<16>>16;n=o;x=1;while(1){F=n;n=n-1|0;b:{c:{d:{A=(x|0)<1;e:{if(A){break e}g=n<<1;s=i[g+e>>1]+f|0;t=l[b+g>>1];z=k[d+n|0];w=i[c+g>>1];g=0;while(1){y=(q+224|0)+(g<<1)|0;v=p(z,i[y>>1])>>8;r=p(t-v<<16>>16,m)>>16;r=(r|0)>-10?r:-10;r=(r|0)<9?r:9;h[((q+240|0)+(g<<4)|0)+n|0]=r;u=y;y=(r<<2)+40|0;D=v+j[y+(q+80|0)>>2]|0;i[u>>1]=D;E=g+x|0;y=v+j[q+y>>2]|0;i[(q+224|0)+(E<<1)>>1]=y;u=(q+192|0)+(g<<2)|0;v=j[u>>2];G=u;H=v;f:{if((r|0)>=3){if((r|0)==3){u=280;B=k[s+7|0];break f}r=p(r,43);u=r+151|0;B=r+108|0;break f}if((r|0)<=-4){if((r|0)==-4){u=k[s+1|0];B=280;break f}r=p(r,-43);u=r+65|0;B=r+108|0;break f}r=r+s|0;u=k[r+5|0];B=k[r+4|0]}r=t-D<<16>>16;j[G>>2]=(H+p(B,C)|0)+p(w,p(r,r));r=t-y<<16>>16;j[(q+192|0)+(E<<2)>>2]=(v+p(u,C)|0)+p(w,p(r,r));g=g+1|0;if((x|0)!=(g|0)){continue}break}if((x|0)>=3){r=0;g=j[q+208>>2];s=j[q+192>>2];if((g|0)<(s|0)){break d}w=g;g=s;break c}g=0;if(A){break e}while(1){h[((q+240|0)+(g+x<<4)|0)+n|0]=k[((q+240|0)+(g<<4)|0)+n|0]+1;g=g+1|0;if((x|0)!=(g|0)){continue}break}}x=x<<1;g=x;if((g|0)>3){break b}while(1){h[((q+240|0)+(g<<4)|0)+n|0]=k[((q+240|0)+(g-x<<4)|0)+n|0];g=g+1|0;if((g|0)!=4){continue}break}break b}j[q+208>>2]=s;j[q+192>>2]=g;r=l[q+224>>1];i[q+224>>1]=l[q+232>>1];i[q+232>>1]=r;r=4;w=s}j[q+176>>2]=g;j[q+160>>2]=w;j[q+304>>2]=r;s=1;r=j[q+212>>2];t=j[q+196>>2];g:{if((r|0)>=(t|0)){v=r;r=t;break g}j[q+212>>2]=t;j[q+196>>2]=r;s=l[q+226>>1];i[q+226>>1]=l[q+234>>1];i[q+234>>1]=s;s=5;v=t}j[q+180>>2]=r;j[q+164>>2]=v;j[q+308>>2]=s;s=2;t=j[q+216>>2];z=j[q+200>>2];h:{if((t|0)>=(z|0)){A=t;t=z;break h}j[q+216>>2]=z;j[q+200>>2]=t;s=l[q+228>>1];i[q+228>>1]=l[q+236>>1];i[q+236>>1]=s;s=6;A=z}j[q+184>>2]=t;j[q+168>>2]=A;j[q+312>>2]=s;u=3;s=j[q+220>>2];y=j[q+204>>2];i:{if((s|0)>=(y|0)){z=s;s=y;break i}j[q+220>>2]=y;j[q+204>>2]=s;z=l[q+230>>1];i[q+230>>1]=l[q+238>>1];i[q+238>>1]=z;u=7;z=y}j[q+188>>2]=s;j[q+172>>2]=z;j[q+316>>2]=u;while(1){y=(w|0)>(v|0);v=y?v:w;w=(v|0)>(A|0);A=w?A:v;v=(A|0)>(z|0);u=(g|0)>0?g:0;g=(u|0)<(r|0);u=g?r:u;r=(u|0)<(t|0);u=r?t:u;t=(u|0)<(s|0);if(((v?z:A)|0)<((t?s:u)|0)){g=t?3:r?2:g;r=g<<2;s=v?3:w?2:y;t=s<<2;j[(r|q+304)>>2]=j[(t|q+304)>>2]^4;w=s|4;j[(r|q+192)>>2]=j[(q+192|0)+(w<<2)>>2];j[(r|q+176)>>2]=0;i[(q+224|g<<1)>>1]=l[(q+224|w<<1)>>1];j[(t|q+160)>>2]=2147483647;r=(q+240|0)+(s<<4)|0;s=j[r+4>>2];g=(q+240|0)+(g<<4)|0;j[g>>2]=j[r>>2];j[g+4>>2]=s;s=j[r+12>>2];j[g+8>>2]=j[r+8>>2];j[g+12>>2]=s;s=j[q+188>>2];z=j[q+172>>2];t=j[q+184>>2];A=j[q+168>>2];r=j[q+180>>2];v=j[q+164>>2];g=j[q+176>>2];w=j[q+160>>2];continue}break}g=(q+240|0)+n|0;h[g|0]=k[g|0]+(j[q+304>>2]>>>2|0);h[g+16|0]=k[g+16|0]+(j[q+308>>2]>>>2|0);h[g+48|0]=k[g+48|0]+(j[q+316>>2]>>>2|0);h[g+32|0]=k[g+32|0]+(j[q+312>>2]>>>2|0)}if((F|0)>1){continue}break}g=j[q+220>>2];r=j[q+216>>2];x=j[q+212>>2];s=j[q+208>>2];t=j[q+204>>2];n=j[q+200>>2];w=j[q+196>>2];b=j[q+192>>2]}c=(b|0)>(w|0);d=c;b=c?w:b;c=(b|0)>(n|0);d=c?2:d;b=c?n:b;c=(b|0)>(t|0);d=c?3:d;b=c?t:b;c=(b|0)>(s|0);d=c?4:d;b=c?s:b;c=(b|0)>(x|0);d=c?5:d;b=c?x:b;c=(b|0)>(r|0);e=c?6:d;c=c?r:b;d=(c|0)>(g|0);b=d?7:e;if((o|0)>0){M(a,(q+240|0)+((b&3)<<4)|0,o)}h[a|0]=k[a|0]+(b>>>2|0);I=q+320|0;return d?g:c}function ya(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;l=I-32|0;I=l;j[l+24>>2]=0;j[l+28>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;j[l+8>>2]=0;j[l+12>>2]=0;j[l>>2]=0;j[l+4>>2]=0;a:{b:{c:{m=e&-16;if((m|0)<(e|0)){if((e|0)!=120){break c}h[d+120|0]=0;h[d+121|0]=0;h[d+122|0]=0;h[d+123|0]=0;h[d+124|0]=0;h[d+125|0]=0;h[d+126|0]=0;h[d+127|0]=0;m=128;h[d+128|0]=0;h[d+129|0]=0;h[d+130|0]=0;h[d+131|0]=0;h[d+132|0]=0;h[d+133|0]=0;h[d+134|0]=0;h[d+135|0]=0;t=l-512|0;o=t;I=o;v=8;break b}v=e>>4;t=l-(m<<2)|0;o=t;I=o;if((e|0)>15){break b}g=(v<<2)+15&-16;u=o-g|0;i=u;I=i;w=i-g|0;I=w;break a}L(9312,9354,89);z()}while(1){i=h[d+f|0];g=i>>31;j[(f<<2)+t>>2]=g^g+i;i=f|1;n=h[i+d|0];g=n>>31;j[(i<<2)+t>>2]=g^g+n;i=f|2;n=h[i+d|0];g=n>>31;j[(i<<2)+t>>2]=g^g+n;i=f|3;n=h[i+d|0];g=n>>31;j[(i<<2)+t>>2]=g^g+n;f=f+4|0;if((m|0)>(f|0)){continue}break}g=(v<<2)+15&-16;u=o-g|0;i=u;I=i;w=i-g|0;I=w;D=k[8120];y=k[8119];x=k[8118];s=k[8117];i=0;f=t;while(1){g=B<<2;C=g+w|0;j[C>>2]=0;E=g+u|0;m=j[f+4>>2];o=j[f>>2];while(1){q=1;d:{e:{m=m+o|0;if((s|0)<(m|0)){n=i;m=r;break e}j[l>>2]=m;n=j[f+12>>2]+j[f+8>>2]|0;if((s|0)<(n|0)){n=i;break e}j[l+4>>2]=n;g=j[f+20>>2]+j[f+16>>2]|0;if((g|0)>(s|0)){break e}j[l+8>>2]=g;g=j[f+28>>2]+j[f+24>>2]|0;if((g|0)>(s|0)){break e}j[l+12>>2]=g;g=j[f+36>>2]+j[f+32>>2]|0;if((g|0)>(s|0)){break e}j[l+16>>2]=g;g=j[f+44>>2]+j[f+40>>2]|0;if((g|0)>(s|0)){break e}j[l+20>>2]=g;g=j[f+52>>2]+j[f+48>>2]|0;if((g|0)>(s|0)){break e}j[l+24>>2]=g;g=j[f+60>>2]+j[f+56>>2]|0;if((g|0)>(s|0)){break e}j[l+28>>2]=g;A=0;break d}A=1}o=m+n|0;f:{if((x|0)<(o|0)){g=n;o=m;break f}j[l>>2]=o;g=j[l+12>>2]+j[l+8>>2]|0;if((x|0)<(g|0)){g=n;break f}j[l+4>>2]=g;i=j[l+20>>2]+j[l+16>>2]|0;if((i|0)>(x|0)){break f}j[l+8>>2]=i;i=j[l+28>>2]+j[l+24>>2]|0;if((i|0)>(x|0)){break f}j[l+12>>2]=i;q=0}m=-1;r=g+o|0;g:{if((y|0)<(r|0)){i=g;r=o;break g}j[l>>2]=r;i=j[l+12>>2]+j[l+8>>2]|0;if((y|0)<(i|0)){i=g;break g}j[l+4>>2]=i;m=0}g=q+A|0;h:{n=i+r|0;if((n|0)<=(D|0)){j[E>>2]=n;if((g|0)==(m|0)){break h}}j[C>>2]=j[C>>2]+1;o=j[f>>2]>>1;j[f>>2]=o;m=j[f+4>>2]>>1;j[f+4>>2]=m;j[f+8>>2]=j[f+8>>2]>>1;j[f+12>>2]=j[f+12>>2]>>1;j[f+16>>2]=j[f+16>>2]>>1;j[f+20>>2]=j[f+20>>2]>>1;j[f+24>>2]=j[f+24>>2]>>1;j[f+28>>2]=j[f+28>>2]>>1;j[f+32>>2]=j[f+32>>2]>>1;j[f+36>>2]=j[f+36>>2]>>1;j[f+40>>2]=j[f+40>>2]>>1;j[f+44>>2]=j[f+44>>2]>>1;j[f+48>>2]=j[f+48>>2]>>1;j[f+52>>2]=j[f+52>>2]>>1;j[f+56>>2]=j[f+56>>2]>>1;j[f+60>>2]=j[f+60>>2]>>1;continue}break}f=f- -64|0;n=1;B=B+1|0;if((B|0)!=(v|0)){continue}break}}q=2147483647;A=b>>1;s=p(A,9);g=0;r=0;while(1){m=k[(g+s|0)+8528|0];if(n){x=p(g,18);o=x+8337|0;f=0;while(1){i=o;y=f<<2;if(j[y+w>>2]<=0){i=(x+j[u+y>>2]|0)+8320|0}m=k[i|0]+m|0;f=f+1|0;if((v|0)!=(f|0)){continue}break}}i=(m|0)<(q|0);r=i?g:r;q=i?m:q;g=g+1|0;if((g|0)!=9){continue}break}N(a,r,p(A,9)+8496|0,8);i:{if(!n){break i}g=p(r,18)+8128|0;m=0;while(1){i=m<<2;f=j[i+w>>2];j:{if(!f){N(a,j[i+u>>2],g,8);break j}N(a,17,g,8);if((f|0)>=2){o=f-1|0;f=0;while(1){N(a,17,8290,8);f=f+1|0;if((o|0)!=(f|0)){continue}break}}N(a,j[i+u>>2],8290,8)}m=m+1|0;if((v|0)!=(m|0)){continue}break}if(!n){break i}f=0;while(1){if(j[(f<<2)+u>>2]>=1){ic(a,(f<<6)+t|0)}f=f+1|0;if((v|0)!=(f|0)){continue}break}if(!n){break i}q=0;while(1){g=j[(q<<2)+w>>2];if((g|0)>=1){o=(q<<4)+d|0;i=0;while(1){f=h[i+o|0];n=f>>31;m=(n^f+n)<<24>>24;f=g;if((f|0)!=1){while(1){n=f-1|0;N(a,m>>>n&1,5824,8);r=(f|0)>2;f=n;if(r){continue}break}}N(a,m&1,5824,8);i=i+1|0;if((i|0)!=16){continue}break}}q=q+1|0;if((v|0)!=(q|0)){continue}break}}hc(a,d,e,b,c,u);I=l+32|0}function Yc(a,b){var c=q(0),d=0,e=0,f=q(0),g=0,i=0,k=0,l=0,m=0,o=0,s=0,t=0,u=0,w=q(0),x=q(0);i=I-512|0;I=i;g=j[12008];a:{if((g|0)<1){break a}l=j[12007];e=j[12004];while(1){n[(i+256|0)+(d<<2)>>2]=h[d+e|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}o=p(g,3);s=j[12005];e=0;t=(l|0)<1;while(1){if(!t){k=(i+256|0)+(e<<2)|0;c=n[k>>2];d=0;while(1){c=q(c+q(n[(d<<2)+b>>2]*q(h[s+(p(d,o)+e|0)|0])));d=d+1|0;if((l|0)!=(d|0)){continue}break}n[k>>2]=c}e=e+1|0;if((g|0)!=(e|0)){continue}break}t=j[12006];e=0;while(1){k=(i+256|0)+(e<<2)|0;c=n[k>>2];d=0;while(1){c=q(c+q(n[(d<<2)+a>>2]*q(h[t+(p(d,o)+e|0)|0])));d=d+1|0;if((g|0)!=(d|0)){continue}break}n[k>>2]=c;e=e+1|0;if((g|0)!=(e|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){k=(i+256|0)+(d<<2)|0;c=q(q(n[k>>2]*q(.0078125))*q(.5));f=q(1);b:{if(cq(-8)^1){break b}f=q(.5);if(c!=c){break b}m=c>2];f=q(f+q(q(e|0)*q(-.03999999910593033)));c=q(c+q(q(q(1)-q(c*f))*q(f*q(q(1)-q(c*c)))));f=q(q((m?q(-c):c)*q(.5))+q(.5))}n[k>>2]=f;d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}e=j[12004];d=0;while(1){n[(i+128|0)+(d<<2)>>2]=h[e+(d+g|0)|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}k=g+s|0;e=0;m=(l|0)<1;while(1){if(!m){u=(i+128|0)+(e<<2)|0;c=n[u>>2];d=0;while(1){c=q(c+q(n[(d<<2)+b>>2]*q(h[k+(p(d,o)+e|0)|0])));d=d+1|0;if((l|0)!=(d|0)){continue}break}n[u>>2]=c}e=e+1|0;if((g|0)!=(e|0)){continue}break}k=g+t|0;e=0;while(1){m=(i+128|0)+(e<<2)|0;c=n[m>>2];d=0;while(1){c=q(c+q(n[(d<<2)+a>>2]*q(h[k+(p(d,o)+e|0)|0])));d=d+1|0;if((g|0)!=(d|0)){continue}break}n[m>>2]=c;e=e+1|0;if((g|0)!=(e|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){k=(i+128|0)+(d<<2)|0;c=q(q(n[k>>2]*q(.0078125))*q(.5));f=q(1);d:{if(cq(-8)^1){break d}f=q(.5);if(c!=c){break d}m=c>2];f=q(f+q(q(e|0)*q(-.03999999910593033)));c=q(c+q(q(q(1)-q(c*f))*q(f*q(q(1)-q(c*c)))));f=q(q((m?q(-c):c)*q(.5))+q(.5))}n[k>>2]=f;d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}e=g<<1;k=j[12004];d=0;while(1){n[(d<<2)+i>>2]=h[k+(d+e|0)|0];d=d+1|0;if((g|0)!=(d|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){e=d<<2;n[e+(i+384|0)>>2]=n[a+e>>2]*n[e+(i+128|0)>>2];d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}e=s;s=g<<1;k=e+s|0;e=0;m=(l|0)<1;while(1){if(!m){u=(e<<2)+i|0;c=n[u>>2];d=0;while(1){c=q(c+q(n[(d<<2)+b>>2]*q(h[k+(p(d,o)+e|0)|0])));d=d+1|0;if((l|0)!=(d|0)){continue}break}n[u>>2]=c}e=e+1|0;if((g|0)!=(e|0)){continue}break}b=s+t|0;e=0;while(1){l=(e<<2)+i|0;c=n[l>>2];d=0;while(1){c=q(c+q(n[(i+384|0)+(d<<2)>>2]*q(h[b+(p(d,o)+e|0)|0])));d=d+1|0;if((g|0)!=(d|0)){continue}break}n[l>>2]=c;e=e+1|0;if((g|0)!=(e|0)){continue}break}d=0;if((g|0)<=0){break a}while(1){b=d<<2;c=n[b+(i+256|0)>>2];w=q(c*n[a+b>>2]);x=q(q(1)-c);e=b+i|0;c=q(n[e>>2]*q(.0078125));f=q(1);f:{if(cq(-8)^1){break f}f=q(0);if(c!=c){break f}l=c>2];f=q(f+q(q(b|0)*q(-.03999999910593033)));c=q(c+q(q(q(1)-q(c*f))*q(f*q(q(1)-q(c*c)))));f=l?q(-c):c}n[e>>2]=w+q(x*f);d=d+1|0;if((g|0)!=(d|0)){continue}break}if((g|0)<1){break a}M(a,i,g<<2)}I=i+512|0}function P(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=I-16|0;I=d;j[d+12>>2]=c;c=-5;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{switch(b-4002|0){default:switch(b-10002|0){case 6:break o;case 0:break t;case 10:break u;case 8:break v;case 24:break c;case 22:break d;case 13:break f;case 26:break g;case 20:break h;case 14:break i;default:break a};case 1:case 2:case 3:case 5:case 6:case 7:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 27:case 28:case 30:case 31:case 32:case 33:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:break a;case 26:break j;case 45:break k;case 44:break l;case 35:break m;case 34:break n;case 0:break p;case 4:break q;case 18:break r;case 12:break s;case 8:break w;case 29:break e}}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>10){break a}j[a+24>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if((b|0)<0|(b|0)>=j[j[a>>2]+8>>2]){break a}j[a+32>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if((b|0)<1|(b|0)>j[j[a>>2]+8>>2]){break a}j[a+36>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>2){break a}j[a+12>>2]=!b;j[a+20>>2]=(b|0)!=2;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>100){break a}j[a+56>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+52>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+44>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if((b|0)<=500){c=-1;if((b|0)!=-1){break a}}c=a;a=p(j[a+4>>2],26e4);j[c+40>>2]=(a|0)>(b|0)?b:a;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b-1>>>0>1){break a}j[a+8>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b-8>>>0>16){break a}j[a+60>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[j[b>>2]>>2]=j[a+60>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=-1;b=j[b>>2];if(b>>>0>1){break a}j[a+68>>2]=b;break b}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+68>>2];break b}c=0;b=j[a+4>>2];e=j[a>>2];f=j[e+4>>2];g=j[e+8>>2];O(a+76|0,0,p(b,((f<<2)+(g<<4)|0)+4096|0)+168|0);e=p(b,j[e+8>>2]);if((e|0)>=1){h=(p(b,f+1024|0)<<2)+a|0;f=p(b,g)<<2;b=(h+f|0)+244|0;f=b+f|0;while(1){g=c<<2;j[g+f>>2]=-1042284544;j[b+g>>2]=-1042284544;c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=0;j[a+216>>2]=0;j[a+96>>2]=0;j[a+100>>2]=0;j[a+88>>2]=256;j[a+80>>2]=2;j[a+84>>2]=1065353216;break a}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+48>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;c=0;b=j[b>>2];if(!b){break a}e=j[b+4>>2];j[a+120>>2]=j[b>>2];j[a+124>>2]=e;e=j[b+60>>2];j[a+176>>2]=j[b+56>>2];j[a+180>>2]=e;e=j[b+52>>2];j[a+168>>2]=j[b+48>>2];j[a+172>>2]=e;e=j[b+44>>2];j[a+160>>2]=j[b+40>>2];j[a+164>>2]=e;e=j[b+36>>2];j[a+152>>2]=j[b+32>>2];j[a+156>>2]=e;e=j[b+28>>2];j[a+144>>2]=j[b+24>>2];j[a+148>>2]=e;e=j[b+20>>2];j[a+136>>2]=j[b+16>>2];j[a+140>>2]=e;e=j[b+12>>2];j[a+128>>2]=j[b+8>>2];j[a+132>>2]=e;break a}b=j[d+12>>2];j[d+12>>2]=b+4;c=0;b=j[b>>2];if(!b){break a}e=j[b+4>>2];j[a+184>>2]=j[b>>2];j[a+188>>2]=e;break a}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;b=j[b>>2];if(!b){c=-1;break a}j[b>>2]=j[a+76>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+64>>2]=j[b>>2];break b}b=j[d+12>>2];j[d+12>>2]=b+4;j[a+236>>2]=j[b>>2]}c=0}I=d+16|0;return c}function mb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,o=0,r=0,s=q(0),t=q(0),u=0,v=0,w=0,x=0,y=0,z=0;b=j[a+8>>2];c=j[a+12>>2];g=(b>>>0)/(c>>>0)|0;j[a+36>>2]=g;d=p(j[a+16>>2],20);f=j[d+50884>>2];j[a+48>>2]=f;l=j[a+24>>2];e=j[d+50880>>2];j[a+24>>2]=e;j[a+40>>2]=b-p(c,g);v=j[a+28>>2];a:{b:{c:{if(b>>>0>c>>>0){n[a+44>>2]=q(n[d+50888>>2]*q(c>>>0))/q(b>>>0);d=(e>>>0)/(c>>>0)|0;e=e-p(d,c)|0;g=4294967295/(b>>>0)|0;if(e>>>0>g>>>0|d>>>0>g>>>0){break b}d=p(b,d);e=(p(b,e)>>>0)/(c>>>0)|0;if(d>>>0>(e^-1)>>>0){break b}e=(d+e|0)+7&-8;j[a+24>>2]=e;d=b>>>0>c<<1>>>0;g=b>>>0>c<<2>>>0;h=c<<3;f=f>>>d>>>g>>>(h>>>0>>0)|0;if(!(b>>>0<=h>>>0?!(d|g):0)){j[a+48>>2]=f}d=b>>>0>c<<4>>>0;b=f>>>d|0;if(b?!d:0){break c}f=b?b:1;j[a+48>>2]=f;break c}j[a+44>>2]=j[d+50892>>2]}b=p(c,e);d=p(e,f)+8|0;d:{if(b>>>0<=d>>>0){g=1;if(536870911/(c>>>0)>>>0>=e>>>0){break d}}g=0;b=d;if(536870903/(f>>>0)>>>0>>0){break b}}if(m[a+80>>2]>>0){d=Ta(j[a+76>>2],b<<2);if(!d){break b}j[a+80>>2]=b;j[a+76>>2]=d}d=a;e:{f:{g:{if(!g){c=-4;b=j[a+24>>2];e=j[a+48>>2];g=p(b,e)+4|0;if((g|0)>-4){break g}f=j[a+16>>2];break f}b=j[a+24>>2];e=j[a+12>>2];if(e){g=(b|0)/-2|0;s=q(e>>>0);f=0;while(1){if(b){h=p(b,f);t=q(q(f>>>0)/s);i=j[p(j[a+16>>2],20)+50896>>2];k=j[a+76>>2];c=0;while(1){o=k+(c+h<<2)|0;c=c+1|0;n[o>>2]=lb(n[a+44>>2],q(q(g+c|0)-t),b,i);if((b|0)!=(c|0)){continue}break}}f=f+1|0;if((e|0)!=(f|0)){continue}break}}o=j[a+16>>2]>8?5:6;break e}s=q(b>>>1>>>0);f=j[a+16>>2];h=j[p(f,20)+50896>>2];t=q(e>>>0);e=j[a+76>>2];while(1){n[(e+(c<<2)|0)+16>>2]=lb(n[a+44>>2],q(q(q(c|0)/t)-s),b,h);c=c+1|0;if((g|0)!=(c|0)){continue}break}}o=(f|0)>8?7:8}j[d+84>>2]=o;d=(j[a+32>>2]+b|0)-1|0;b=j[a+28>>2];if(d>>>0>b>>>0){b=j[a+20>>2];if(d>>>0>536870911/(b>>>0)>>>0){break b}b=Ta(j[a+72>>2],p(b,d)<<2);if(!b){break b}j[a+28>>2]=d;j[a+72>>2]=b;b=d}if(!j[a+56>>2]){b=p(j[a+20>>2],b);if(!b){return 0}O(j[a+72>>2],0,b<<2);return 0}b=j[a+24>>2];if(l>>>0>>0){f=j[a+20>>2];if(!f){return 0}w=l-1|0;x=(f<<2)-4|0;y=j[a+68>>2];g=0;while(1){f=f-1|0;u=f<<2;h=u+y|0;b=j[h>>2];e=b<<1;c=b+w|0;if(c){i=p(f,v);k=p(j[a+28>>2],f);d=j[a+72>>2];while(1){c=c-1|0;j[d+(k+(b+c|0)<<2)>>2]=j[d+(c+i<<2)>>2];if(c){continue}break}}i=x-(g<<2)|0;if(b){O(j[a+72>>2]+p(i,j[a+28>>2])|0,0,b<<2)}j[h>>2]=0;d=e+l|0;e=j[a+24>>2];h:{if(d>>>0>>0){h=d-1|0;if(h){z=e-2|0;o=d-2|0;k=p(j[a+28>>2],f);r=j[a+72>>2];c=0;b=0;while(1){j[r+(k+(c+z|0)<<2)>>2]=j[r+(k+(c+o|0)<<2)>>2];c=b^-1;b=b+1|0;if((h|0)!=(b|0)){continue}break}}b=e-1|0;if(b>>>0>h>>>0){O(j[a+72>>2]+p(i,j[a+28>>2])|0,0,b-h<<2)}b=j[a+60>>2]+u|0;j[b>>2]=j[b>>2]+(e-d>>>1|0);break h}b=d-e>>>1|0;j[h>>2]=b;c=b-1|0;d=j[a+24>>2];if((c|0)==(0-d|0)){break h}d=c+d|0;e=d>>>0>1?d:1;h=p(j[a+28>>2],f);d=j[a+72>>2];c=0;while(1){i=c+h|0;j[d+(i<<2)>>2]=j[d+(b+i<<2)>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}g=g+1|0;if(f){continue}break}return 0}d=0;if(!j[a+20>>2]|b>>>0>=l>>>0){break a}g=j[a+68>>2];f=0;while(1){d=g+(f<<2)|0;c=j[d>>2];b=l-b>>>1|0;j[d>>2]=b;h=b+c|0;c=h-1|0;e=j[a+24>>2];if((c|0)!=(0-e|0)){c=c+e|0;i=c>>>0>1?c:1;k=p(j[a+28>>2],f);e=j[a+72>>2];c=0;while(1){r=c+k|0;j[e+(r<<2)>>2]=j[e+(b+r<<2)>>2];c=c+1|0;if((i|0)!=(c|0)){continue}break}}j[d>>2]=h;f=f+1|0;if(f>>>0>=m[a+20>>2]){return 0}else{b=j[a+24>>2];continue}}}j[a+24>>2]=l;j[a+84>>2]=9;d=1}return d}function vd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;h=I-560|0;I=h;f=c;c=(c-3|0)/24|0;u=(c|0)>0?c:0;l=f+p(u,-24)|0;n=j[8357];i=d-1|0;if((n+i|0)>=0){f=d+n|0;c=u-i|0;while(1){o[(h+320|0)+(g<<3)>>3]=(c|0)<0?0:+j[(c<<2)+33440>>2];c=c+1|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}q=l-24|0;f=0;g=(n|0)>0?n:0;m=(d|0)<1;while(1){a:{if(m){e=0;break a}k=f+i|0;c=0;e=0;while(1){e=e+o[(c<<3)+a>>3]*o[(h+320|0)+(k-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}o[(f<<3)+h>>3]=e;c=(f|0)==(g|0);f=f+1|0;if(!c){continue}break}z=47-l|0;w=48-l|0;A=l-25|0;f=n;b:{while(1){e=o[(f<<3)+h>>3];c=0;g=f;k=(f|0)<1;if(!k){while(1){m=(h+480|0)+(c<<2)|0;s=e;e=e*5.960464477539063e-8;c:{if(r(e)<2147483648){i=~~e;break c}i=-2147483648}e=+(i|0);s=s+e*-16777216;d:{if(r(s)<2147483648){i=~~s;break d}i=-2147483648}j[m>>2]=i;g=g-1|0;e=o[(g<<3)+h>>3]+e;c=c+1|0;if((f|0)!=(c|0)){continue}break}}e=ca(e,q);e=e+v(e*.125)*-8;e:{if(r(e)<2147483648){m=~~e;break e}m=-2147483648}e=e- +(m|0);f:{g:{h:{x=(q|0)<1;i:{if(!x){g=(f<<2)+h|0;i=j[g+476>>2];c=i>>w;t=g;g=i-(c<>2]=g;m=c+m|0;i=g>>z;break i}if(q){break h}i=j[((f<<2)+h|0)+476>>2]>>23}if((i|0)<1){break f}break g}i=2;if(!(e>=.5^1)){break g}i=0;break f}c=0;g=0;if(!k){while(1){t=(h+480|0)+(c<<2)|0;y=j[t>>2];k=16777215;j:{k:{if(g){break k}k=16777216;if(y){break k}g=0;break j}j[t>>2]=k-y;g=1}c=c+1|0;if((f|0)!=(c|0)){continue}break}}l:{if(x){break l}m:{switch(A|0){case 0:c=(f<<2)+h|0;j[c+476>>2]=j[c+476>>2]&8388607;break l;case 1:break m;default:break l}}c=(f<<2)+h|0;j[c+476>>2]=j[c+476>>2]&4194303}m=m+1|0;if((i|0)!=2){break f}e=1-e;i=2;if(!g){break f}e=e-ca(1,q)}if(e==0){g=0;n:{c=f;if((n|0)>=(c|0)){break n}while(1){c=c-1|0;g=j[(h+480|0)+(c<<2)>>2]|g;if((c|0)>(n|0)){continue}break}if(!g){break n}l=q;while(1){l=l-24|0;f=f-1|0;if(!j[(h+480|0)+(f<<2)>>2]){continue}break}break b}c=1;while(1){g=c;c=c+1|0;if(!j[(h+480|0)+(n-g<<2)>>2]){continue}break}g=f+g|0;while(1){i=d+f|0;f=f+1|0;o[(h+320|0)+(i<<3)>>3]=j[(u+f<<2)+33440>>2];c=0;e=0;if((d|0)>=1){while(1){e=e+o[(c<<3)+a>>3]*o[(h+320|0)+(i-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}o[(f<<3)+h>>3]=e;if((f|0)<(g|0)){continue}break}f=g;continue}break}e=ca(e,24-l|0);o:{if(!(e>=16777216^1)){d=(h+480|0)+(f<<2)|0;s=e;e=e*5.960464477539063e-8;p:{if(r(e)<2147483648){c=~~e;break p}c=-2147483648}e=s+ +(c|0)*-16777216;q:{if(r(e)<2147483648){a=~~e;break q}a=-2147483648}j[d>>2]=a;f=f+1|0;break o}if(r(e)<2147483648){c=~~e}else{c=-2147483648}l=q}j[(h+480|0)+(f<<2)>>2]=c}e=ca(1,l);r:{if((f|0)<=-1){break r}c=f;while(1){o[(c<<3)+h>>3]=e*+j[(h+480|0)+(c<<2)>>2];e=e*5.960464477539063e-8;a=(c|0)>0;c=c-1|0;if(a){continue}break}k=0;if((f|0)<0){break r}a=(n|0)>0?n:0;g=f;while(1){d=a>>>0>>0?a:k;l=f-g|0;c=0;e=0;while(1){e=e+o[(c<<3)+36208>>3]*o[(c+g<<3)+h>>3];q=(c|0)!=(d|0);c=c+1|0;if(q){continue}break}o[(h+160|0)+(l<<3)>>3]=e;g=g-1|0;c=(f|0)!=(k|0);k=k+1|0;if(c){continue}break}}e=0;if((f|0)>=0){c=f;while(1){e=e+o[(h+160|0)+(c<<3)>>3];a=(c|0)>0;c=c-1|0;if(a){continue}break}}o[b>>3]=i?-e:e;e=o[h+160>>3]-e;c=1;if((f|0)>=1){while(1){e=e+o[(h+160|0)+(c<<3)>>3];a=(c|0)!=(f|0);c=c+1|0;if(a){continue}break}}o[b+8>>3]=i?-e:e;I=h+560|0;return m&7}function X(a,b,c,d,e,f,g,h,i,l,m){var o=0,r=0,s=0,t=0,u=0,v=q(0),w=0,x=0,z=q(0),A=0,B=0,C=0,D=0,E=0,F=0;u=(c>>>0)/(e>>>0)|0;E=j[a>>2];a:{if((c|0)==1){f=0;if(j[a+32>>2]>=8){c=j[a+28>>2];b:{if(E){f=n[b>>2]>2]=j[a+32>>2]-8}if(j[a+4>>2]){n[b>>2]=f?q(-1):q(1)}m=1;if(!h){break a}j[h>>2]=j[b>>2];return 1}B=j[a+24>>2];o=(B|0)>0;c:{if(!f){l=f;break c}if(!l){l=f;break c}if(!(!(u&1)&(B|0)!=0|((B|0)>0|(e|0)>1))){l=f;break c}M(l,f,c<<2)}w=o?B:0;if((B|0)>=1){o=0;while(1){d:{if(E){if((o|0)==31){break d}r=c>>o;f=r>>1;C=(f|0)>1?f:1;A=1<=2){while(1){t=(p(f,D)+s<<2)+b|0;v=q(n[t>>2]*q(.7071067690849304));x=t;t=(((f<<1|1)<>2]*q(.7071067690849304));n[x>>2]=v+z;n[t>>2]=v-z;f=f+1|0;if((C|0)!=(f|0)){continue}break}}s=s+1|0;if((A|0)!=(s|0)){continue}break}}if(!l|(o|0)==31){break d}r=c>>o;f=r>>1;C=(f|0)>1?f:1;A=1<=2){while(1){t=(p(f,D)+s<<2)+l|0;v=q(n[t>>2]*q(.7071067690849304));x=t;t=(((f<<1|1)<>2]*q(.7071067690849304));n[x>>2]=v+z;n[t>>2]=v-z;f=f+1|0;if((C|0)!=(f|0)){continue}break}}s=s+1|0;if((A|0)!=(s|0)){continue}break}}m=k[(m&15)+41920|0]|k[(m>>4)+41920|0]<<2;o=o+1|0;if((w|0)!=(o|0)){continue}break}}o=e>>w;A=0;r=u<-1)){C=B;while(1){if(!(!E|(o|0)<1)){f=r>>1;u=(f|0)>1?f:1;D=o<<1;s=0;while(1){f=0;if((r|0)>=2){while(1){t=(p(f,D)+s<<2)+b|0;v=q(n[t>>2]*q(.7071067690849304));x=t;t=(p(f<<1|1,o)+s<<2)+b|0;z=q(n[t>>2]*q(.7071067690849304));n[x>>2]=v+z;n[t>>2]=v-z;f=f+1|0;if((u|0)!=(f|0)){continue}break}}s=s+1|0;if((s|0)!=(o|0)){continue}break}}u=r>>1;if(!(!l|(o|0)<1)){D=(u|0)>1?u:1;t=o<<1;s=0;while(1){f=0;if((r|0)>=2){while(1){x=(p(f,t)+s<<2)+l|0;v=q(n[x>>2]*q(.7071067690849304));F=x;x=(p(f<<1|1,o)+s<<2)+l|0;z=q(n[x>>2]*q(.7071067690849304));n[F>>2]=v+z;n[x>>2]=v-z;f=f+1|0;if((D|0)!=(f|0)){continue}break}}s=s+1|0;if((s|0)!=(o|0)){continue}break}}A=A+1|0;f=o<<1;m=m<>w,f<>w,f<>2]){break a}if((f|0)>=2){hd(b,u>>w,f<>1;e=m>>>a|0;if((f|0)>=2){g=u>>1;g=(g|0)>1?g:1;o=f&-2;l=0;while(1){f=0;if((u|0)>=2){while(1){r=(p(f,o)+l<<2)+b|0;i=q(n[r>>2]*q(.7071067690849304));t=r;r=(p(f<<1|1,a)+l<<2)+b|0;v=q(n[r>>2]*q(.7071067690849304));n[t>>2]=i+v;n[r>>2]=i-v;f=f+1|0;if((g|0)!=(f|0)){continue}break}}l=l+1|0;if((l|0)!=(a|0)){continue}break}}m=e|m;f=a;d=d+1|0;if((A|0)!=(d|0)){continue}break}}o=0;if((B|0)>0){while(1){m=k[m+41936|0];if((o|0)!=31){d=c>>o;e=d>>1;e=(e|0)>1?e:1;g=1<=2){while(1){r=(p(f,u)+l<<2)+b|0;i=q(n[r>>2]*q(.7071067690849304));t=r;r=(((f<<1|1)<>2]*q(.7071067690849304));n[t>>2]=i+v;n[r>>2]=i-v;f=f+1|0;if((e|0)!=(f|0)){continue}break}}l=l+1|0;if((g|0)!=(l|0)){continue}break}}o=o+1|0;if((w|0)!=(o|0)){continue}break}}a=a<>2]=n[b+d>>2]*i;f=f+1|0;if((f|0)!=(c|0)){continue}break}}m=(-1<>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=j[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=j[d+8>>2];b=b>>>3|0;c=j[d+12>>2];if((c|0)==(e|0)){j[13232]=j[13232]&ke(-2,b);break b}j[e+12>>2]=c;j[c+8>>2]=e;break b}h=j[d+24>>2];b=j[d+12>>2];c:{if((d|0)!=(b|0)){c=j[d+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break c}d:{e=d+20|0;c=j[e>>2];if(c){break d}e=d+16|0;c=j[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break b}e=j[d+28>>2];c=(e<<2)+53232|0;e:{if(j[c>>2]==(d|0)){j[c>>2]=b;if(b){break e}j[13233]=j[13233]&ke(-2,e);break b}j[h+(j[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}j[b+24>>2]=h;c=j[d+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[d+20>>2];if(!c){break b}j[b+20>>2]=c;j[c+24>>2]=b;break b}b=j[f+4>>2];if((b&3)!=3){break b}j[13234]=a;j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=j[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(j[13238]==(f|0)){j[13238]=d;a=j[13235]+a|0;j[13235]=a;j[d+4>>2]=a|1;if(j[13237]!=(d|0)){break a}j[13234]=0;j[13237]=0;return}if(j[13237]==(f|0)){j[13237]=d;a=j[13234]+a|0;j[13234]=a;j[d+4>>2]=a|1;j[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){c=j[f+8>>2];b=b>>>3|0;e=j[f+12>>2];if((c|0)==(e|0)){j[13232]=j[13232]&ke(-2,b);break g}j[c+12>>2]=e;j[e+8>>2]=c;break g}h=j[f+24>>2];b=j[f+12>>2];h:{if((f|0)!=(b|0)){c=j[f+8>>2];j[c+12>>2]=b;j[b+8>>2]=c;break h}i:{e=f+20|0;c=j[e>>2];if(c){break i}e=f+16|0;c=j[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=j[e>>2];if(c){continue}e=b+16|0;c=j[b+16>>2];if(c){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];c=(e<<2)+53232|0;j:{if(j[c>>2]==(f|0)){j[c>>2]=b;if(b){break j}j[13233]=j[13233]&ke(-2,e);break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}j[b+24>>2]=h;c=j[f+16>>2];if(c){j[b+16>>2]=c;j[c+24>>2]=b}c=j[f+20>>2];if(!c){break g}j[b+20>>2]=c;j[c+24>>2]=b}j[d+4>>2]=a|1;j[a+d>>2]=a;if(j[13237]!=(d|0)){break f}j[13234]=a;return}j[f+4>>2]=b&-2;j[d+4>>2]=a|1;j[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+52968|0;c=j[13232];a=1<>2]}j[b+8>>2]=d;j[a+12>>2]=d;j[d+12>>2]=b;j[d+8>>2]=a;return}e=31;j[d+16>>2]=0;j[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}j[d+28>>2]=e;g=(e<<2)+53232|0;l:{m:{c=j[13233];b=1<>2]=d;j[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=j[g>>2];while(1){c=b;if((j[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=j[g+16>>2];if(b){continue}break}j[g+16>>2]=d;j[d+24>>2]=c}j[d+12>>2]=d;j[d+8>>2]=d;break l}a=j[c+8>>2];j[a+12>>2]=d;j[c+8>>2]=d;j[d+24>>2]=0;j[d+12>>2]=c;j[d+8>>2]=a}a=j[13240]-1|0;j[13240]=a?a:-1}}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=a+b|0;a:{b:{c=j[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=j[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=j[13237]){if(c>>>0<=255){e=j[a+8>>2];c=c>>>3|0;d=j[a+12>>2];if((d|0)==(e|0)){j[13232]=j[13232]&ke(-2,c);break b}j[e+12>>2]=d;j[d+8>>2]=e;break b}h=j[a+24>>2];c=j[a+12>>2];c:{if((c|0)!=(a|0)){d=j[a+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break c}d:{e=a+20|0;d=j[e>>2];if(d){break d}e=a+16|0;d=j[e>>2];if(d){break d}c=0;break c}while(1){g=e;c=d;e=c+20|0;d=j[e>>2];if(d){continue}e=c+16|0;d=j[c+16>>2];if(d){continue}break}j[g>>2]=0}if(!h){break b}e=j[a+28>>2];d=(e<<2)+53232|0;e:{if(j[d>>2]==(a|0)){j[d>>2]=c;if(c){break e}j[13233]=j[13233]&ke(-2,e);break b}j[h+(j[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}j[c+24>>2]=h;d=j[a+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[a+20>>2];if(!d){break b}j[c+20>>2]=d;j[d+24>>2]=c;break b}c=j[f+4>>2];if((c&3)!=3){break b}j[13234]=b;j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[f>>2]=b;return}c=j[f+4>>2];f:{if(!(c&2)){if(j[13238]==(f|0)){j[13238]=a;b=j[13235]+b|0;j[13235]=b;j[a+4>>2]=b|1;if(j[13237]!=(a|0)){break a}j[13234]=0;j[13237]=0;return}if(j[13237]==(f|0)){j[13237]=a;b=j[13234]+b|0;j[13234]=b;j[a+4>>2]=b|1;j[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=j[f+8>>2];c=c>>>3|0;d=j[f+12>>2];if((d|0)==(e|0)){j[13232]=j[13232]&ke(-2,c);break g}j[e+12>>2]=d;j[d+8>>2]=e;break g}h=j[f+24>>2];c=j[f+12>>2];h:{if((f|0)!=(c|0)){d=j[f+8>>2];j[d+12>>2]=c;j[c+8>>2]=d;break h}i:{d=f+20|0;e=j[d>>2];if(e){break i}d=f+16|0;e=j[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=j[d>>2];if(e){continue}d=c+16|0;e=j[c+16>>2];if(e){continue}break}j[g>>2]=0}if(!h){break g}e=j[f+28>>2];d=(e<<2)+53232|0;j:{if(j[d>>2]==(f|0)){j[d>>2]=c;if(c){break j}j[13233]=j[13233]&ke(-2,e);break g}j[h+(j[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}j[c+24>>2]=h;d=j[f+16>>2];if(d){j[c+16>>2]=d;j[d+24>>2]=c}d=j[f+20>>2];if(!d){break g}j[c+20>>2]=d;j[d+24>>2]=c}j[a+4>>2]=b|1;j[a+b>>2]=b;if(j[13237]!=(a|0)){break f}j[13234]=b;return}j[f+4>>2]=c&-2;j[a+4>>2]=b|1;j[a+b>>2]=b}if(b>>>0<=255){b=b>>>3|0;c=(b<<3)+52968|0;d=j[13232];b=1<>2]}j[c+8>>2]=a;j[b+12>>2]=a;j[a+12>>2]=c;j[a+8>>2]=b;return}e=31;j[a+16>>2]=0;j[a+20>>2]=0;if(b>>>0<=16777215){c=b>>>8|0;g=c+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15|0)-(d|(e|g))|0;e=(c<<1|b>>>c+21&1)+28|0}j[a+28>>2]=e;g=(e<<2)+53232|0;l:{d=j[13233];c=1<>2]=a;j[a+24>>2]=g;break m}e=b<<((e|0)==31?0:25-(e>>>1|0)|0);c=j[g>>2];while(1){d=c;if((j[c+4>>2]&-8)==(b|0)){break l}c=e>>>29|0;e=e<<1;g=d+(c&4)|0;c=j[g+16>>2];if(c){continue}break}j[g+16>>2]=a;j[a+24>>2]=d}j[a+12>>2]=a;j[a+8>>2]=a;return}b=j[d+8>>2];j[b+12>>2]=a;j[d+8>>2]=a;j[a+24>>2]=0;j[a+12>>2]=d;j[a+8>>2]=b}}function Zc(a,b,c,d,e,f,g,k,l,m,o){var s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=q(0),G=0,H=0,J=0,K=q(0),L=0,N=0,O=q(0),P=0,Q=0,R=q(0),S=0;s=I;L=s;z=1;t=(b<<2)+15&-16;D=s-t|0;I=D;s=j[a+32>>2];G=b-1|0;v=(i[s+(b<<1)>>1]-i[(G<<1)+s>>1]<=1){K=q(q(u(q(q(.5)-l),q(-.25)))*q(.03999999910593033));O=q(K*q((c?k:0)|0));E=1<>1];y=i[(B<<1)+s>>1]-g|0;v=y<>2])));s=s+1|0;if((v|0)!=(s|0)){continue}break}}F=q(l+q(O*l));s=0;g=0;a:{if(!c){break a}g=0;if((y|0)==1){break a}g=M(A,x,t);zb(g,v>>k,E);t=0;l=q(0);if(!C){while(1){l=q(l+q(r(n[g+(t<<2)>>2])));t=t+1|0;if((v|0)!=(t|0)){continue}break}}l=q(l+q(R*l));g=0;if(l=1){while(1){zb(x,v>>s,1<>2])));s=s+1|0;if((v|0)!=(s|0)){continue}break}}l=q(l+q(q(K*q(S|0))*l));s=l>2]=g;if(!(((g|0)!=(Q|0)?g:0)|y)){j[m>>2]=g-1}if((b|0)!=(B|0)){s=j[a+32>>2];m=B;continue}break}B=j[D>>2]}f=(k<<3)+1744|0;v=c<<2;x=h[f+v|0]<<1;g=B-x|0;a=g>>31;m=j[o>>2];s=p(m,a^a+g);y=h[f+(v|1)|0]<<1;g=B-y|0;a=g>>31;C=c?0:e;a=C+p(m,a^a+g)|0;b:{if((b|0)<=1){g=a;break b}while(1){g=e+s|0;w=z<<2;A=j[w+D>>2];E=A-x|0;t=E>>31;w=j[o+w>>2];E=p(w,t^t+E);t=a+e|0;s=E+((s|0)<(t|0)?s:t)|0;A=A-y|0;t=A>>31;g=p(t^t+A,w)+((a|0)>(g|0)?g:a)|0;a=g;z=z+1|0;if((z|0)!=(b|0)){continue}break}}t=1;x=h[f+(v|2)|0]<<1;z=B-x|0;a=z>>31;a=p(m,a^a+z);z=h[f+(v|3)|0]<<1;y=B-z|0;f=y>>31;f=p(m,f^f+y)+C|0;y=(g|0)>(s|0)?s:g;c:{if((b|0)<=1){s=f;break c}while(1){g=a+e|0;C=t<<2;w=j[C+D>>2];A=w-x|0;s=A>>31;C=j[o+C>>2];A=p(C,s^s+A);s=e+f|0;a=A+((a|0)<(s|0)?a:s)|0;w=w-z|0;s=w>>31;s=p(s^s+w,C)+((f|0)>(g|0)?g:f)|0;f=s;t=t+1|0;if((t|0)!=(b|0)){continue}break}}t=1;g=(k<<3)+1744|0;f=(c|0)!=0&(y|0)>(((a|0)<(s|0)?a:s)|0);k=v|(f?2:0);v=h[g+k|0]<<1;s=B-v|0;a=s>>31;s=p(m,a^a+s);a=B;B=h[g+(k|1)|0]<<1;g=a-B|0;a=g>>31;a=p(a^a+g,m)+(c?0:e)|0;if((b|0)<=1){j[(G<<2)+d>>2]=(a|0)<=(s|0);I=L;return f}while(1){c=t<<2;g=a+e|0;j[c+H>>2]=(g|0)<=(s|0);k=e+s|0;j[c+J>>2]=(k|0)>=(a|0);x=j[c+D>>2];z=x-B|0;m=z>>31;w=m^m+z;m=j[c+o>>2];a=p(w,m)+((a|0)>(k|0)?k:a)|0;k=x-v|0;c=k>>31;s=p(m,c^c+k)+((g|0)>(s|0)?s:g)|0;t=t+1|0;if((t|0)!=(b|0)){continue}break}a=(a|0)<=(s|0);j[(G<<2)+d>>2]=a;if((b|0)>=2){s=b-2|0;while(1){b=s<<2;a=j[(b+((a|0)==1?J:H)|0)+4>>2];j[b+d>>2]=a;b=(s|0)>0;s=s-1|0;if(b){continue}break}}I=L;return f}function Xc(a,b,c){var d=0,e=0,f=q(0),g=q(0),h=q(0),i=0,k=0,l=q(0),m=0,o=q(0),p=0,r=0,s=0,v=q(0),w=0,x=q(0),y=q(0);e=j[a+8>>2];i=j[a+7452>>2]+((c|0)/((e|0)/400|0)|0)|0;j[a+7452>>2]=i;m=j[a+7444>>2];k=j[a+7448>>2];p=k;if((i|0)>=8){d=(i-((i|0)<15?i:15)|0)+7|0;p=(k+(d>>>3|0)|0)+1|0;j[a+7448>>2]=p;j[a+7452>>2]=(i-(d&-8)|0)-8}if((p|0)>=100){j[a+7448>>2]=p-100}p=6;d=k+1|0;c=(k|0)==(m|0)?k:((e|0)/50|0)>=(c|0)?k:(d|0)==100?0:d;c=c-((c|0)==(m|0))|0;c=(c|0)<0?99:c;i=(c<<6)+a|0;e=i+7660|0;d=j[e+4>>2];j[b+56>>2]=j[e>>2];j[b+60>>2]=d;e=i+7652|0;d=j[e+4>>2];j[b+48>>2]=j[e>>2];j[b+52>>2]=d;e=i+7644|0;d=j[e+4>>2];j[b+40>>2]=j[e>>2];j[b+44>>2]=d;e=i+7636|0;d=j[e+4>>2];j[b+32>>2]=j[e>>2];j[b+36>>2]=d;e=i+7628|0;d=j[e+4>>2];j[b+24>>2]=j[e>>2];j[b+28>>2]=d;e=i+7620|0;d=j[e+4>>2];j[b+16>>2]=j[e>>2];j[b+20>>2]=d;e=i+7612|0;d=j[e+4>>2];j[b+8>>2]=j[e>>2];j[b+12>>2]=d;d=i+7604|0;e=j[d+4>>2];d=j[d>>2];j[b>>2]=d;j[b+4>>2]=e;if(d){w=m-k|0;i=(w|0)<0;m=w+100|0;f=n[b+4>>2];g=q(1);s=c+1|0;k=(s|0)==100?0:s;r=j[a+7444>>2];a:{if((k|0)==(r|0)){h=f;break a}d=(k<<6)+a|0;g=n[d+7608>>2];e=j[b+32>>2];d=j[d+7636>>2];e=(d|0)<(e|0)?e:d;j[b+32>>2]=e;h=f>g?f:g;f=q(f+g);d=k+1|0;k=(d|0)==100?0:d;if((k|0)==(r|0)){p=5;g=q(2);break a}d=(k<<6)+a|0;g=n[d+7608>>2];d=j[d+7636>>2];e=(d|0)<(e|0)?e:d;j[b+32>>2]=e;h=g>2];d=j[d+7636>>2];j[b+32>>2]=(d|0)<(e|0)?e:d;h=g>2];m=j[((e<<6)+a|0)+7636>>2];j[b+32>>2]=(i|0)>(m|0)?i:m;d=d+1|0;if((p|0)!=(d|0)){continue}}break}f=q(f/g);h=q(h+q(-.20000000298023224));n[b+4>>2]=f>h?f:h;d=c;e=d;if((k|0)>=16){d=((c|0)>94?-95:5)+c|0;s=d+1|0;e=((c|0)>98?-99:1)+c|0}m=a+7604|0;x=n[(m+(e<<6)|0)+36>>2];f=q(u(x,q(.10000000149011612)));h=q(n[(m+(d<<6)|0)+20>>2]*f);d=(s|0)==100?0:s;b:{if((r|0)==(d|0)){g=q(1);break b}g=q(1);while(1){e=e+1|0;e=(e|0)==100?0:e;if((r|0)==(e|0)){break b}y=n[(m+(e<<6)|0)+36>>2];v=q(q(x-y)*q(10));l=q(q(h+v)/f);o=l>o?l:o;l=q(q(h-v)/f);g=g>l?l:g;l=q(u(y,q(.10000000149011612)));h=q(h+q(n[(m+(d<<6)|0)+20>>2]*l));f=q(f+l);d=d+1|0;d=(d|0)==100?0:d;if((r|0)!=(d|0)){continue}break}}f=q(h/f);n[b+20>>2]=f;h=f>o?f:o;o=hq(0)?h:q(0);if((k|0)<=9){h=f;g=o;d=j[a+7436>>2];if((d|0)>=2){d=(d|0)>15?15:d-1|0;d=(d|0)>1?d:1;e=0;while(1){c=(c|0)<1?99:c-1|0;l=n[((c<<6)+a|0)+7624>>2];g=g>l?g:l;h=h>2]=o;n[b+24>>2]=f}}function Ib(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=q(0),J=q(0),K=q(0);h=I-992|0;I=h;g=p(d,e);if((g|0)<385){x=S(b,g);O(h+800|0,0,192);if((e|0)>=1){while(1){g=1;if((f|0)>=1){m=(p(d,i)<<2)+b|0;while(1){r=(g<<3)+h|0;o[r+792>>3]=da(m,m+(g<<2)|0,d-g|0)+o[r+792>>3];r=(f|0)!=(g|0);g=g+1|0;if(r){continue}break}}i=i+1|0;if((i|0)!=(e|0)){continue}break}}M(h+608|0,h+800|0,192);G=x*9999999747378752e-21;l=x+G+9.999999717180685e-10;o[h+192>>3]=l;o[h+400>>3]=l;a:{b:{if((f|0)<1){j=1;break b}A=+c;i=0;C=2;B=1;u=1;while(1){if((e|0)>=1){v=d-i|0;w=v-1|0;r=0;while(1){m=(p(d,r)<<2)+b|0;c=n[m+(w<<2)>>2];j=+c;H=n[m+(i<<2)>>2];l=+H;g=0;if(i){while(1){t=g<<3;s=t+(h+800|0)|0;J=n[m+((g^-1)+i<<2)>>2];o[s>>3]=o[s>>3]- +q(H*J);s=t+(h+608|0)|0;K=n[m+(g+v<<2)>>2];o[s>>3]=o[s>>3]- +q(c*K);k=o[h+t>>3];l=l+k*+J;j=j+k*+K;g=g+1|0;if((i|0)!=(g|0)){continue}break}}g=0;while(1){t=g<<3;s=t+(h+400|0)|0;o[s>>3]=o[s>>3]-l*+n[m+(i-g<<2)>>2];t=t+(h+192|0)|0;o[t>>3]=o[t>>3]-j*+n[m+(g+w<<2)>>2];g=g+1|0;if((B|0)!=(g|0)){continue}break}r=r+1|0;if((r|0)!=(e|0)){continue}break}}w=i<<3;l=o[w+(h+608|0)>>3];j=o[w+(h+800|0)>>3];g=0;if(i){while(1){k=o[(g<<3)+h>>3];m=(g^-1)+i<<3;l=l+k*o[m+(h+800|0)>>3];j=j+k*o[m+(h+608|0)>>3];g=g+1|0;if((i|0)!=(g|0)){continue}break}}m=i+1|0;g=m<<3;o[g+(h+400|0)>>3]=j;t=g+(h+192|0)|0;o[t>>3]=l;g=0;j=o[h+192>>3];D=o[h+400>>3];k=D;if(i){while(1){E=o[(g<<3)+h>>3];r=g+1|0;v=r<<3;k=k+E*o[v+(h+400|0)>>3];j=j+E*o[v+(h+192|0)>>3];l=l+E*o[(h+192|0)+(i-g<<3)>>3];g=r;if((i|0)!=(g|0)){continue}break}}r=1;j=l*-2/(k+j);k=u*(1-j*j);if(!(A>=k^1)){k=y(1-A/u);j=l>0?-k:k;r=0;k=A}if(m&2147483646){v=B>>>1|0;g=0;while(1){s=(g<<3)+h|0;u=o[s>>3];F=s;s=((g^-1)+i<<3)+h|0;l=o[s>>3];o[F>>3]=u+j*l;o[s>>3]=l+j*u;g=g+1|0;if((v|0)!=(g|0)){continue}break}}o[h+w>>3]=j;c:{if(r){u=o[t>>3];o[t>>3]=u+j*D;o[h+400>>3]=D+j*u;g=1;while(1){i=(h+192|0)+(m-g<<3)|0;u=o[i>>3];F=i;i=(h+400|0)+(g<<3)|0;l=o[i>>3];o[F>>3]=u+j*l;o[i>>3]=l+j*u;g=g+1|0;if((C|0)!=(g|0)){continue}break}break c}if((f|0)>(m|0)){O((m<<3)+h|0,0,f-m<<3)}g=0;while(1){n[(g<<2)+a>>2]=-q(o[(g<<3)+h>>3]);g=g+1|0;if((g|0)!=(f|0)){continue}break}g=0;if((e|0)>0){while(1){x=x-S((p(d,g)<<2)+b|0,f);g=g+1|0;if((g|0)!=(e|0)){continue}break}}k=k*x;break a}C=C+1|0;B=B+1|0;u=k;i=m;if((i|0)!=(f|0)){continue}break}j=1;l=o[h+400>>3];if((f|0)<1){break b}g=0;while(1){b=g+1|0;A=o[(h+400|0)+(b<<3)>>3];k=o[(g<<3)+h>>3];n[(g<<2)+a>>2]=-q(k);l=l+k*A;j=j+k*k;g=b;if((g|0)!=(f|0)){continue}break}}k=l-G*j}I=h+992|0;return q(k)}L(16463,16523,55);z()}function Ma(a,b,c){var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=I-320|0;I=f;a:{switch(c-10|0){default:L(15418,15451,89);z();case 0:case 6:break a}}g=(c|0)==16?15392:15408;while(1){h=i[(e<<1)+b>>1];d=h>>8<<1;l=i[d+15120>>1];j[(f+224|0)+(k[e+g|0]<<2)>>2]=(p(i[d+15122>>1]-l|0,h&255)+(l<<8)>>3)+1>>1;e=e+1|0;if((e|0)!=(c|0)){continue}break}g=65536;j[f+160>>2]=65536;b=0-j[f+224>>2]|0;j[f+164>>2]=b;e=1;m=c>>1;b:{v=(c|0)<4;if(v){break b}while(1){o=j[(f+224|0)+(e<<3)>>2];l=o;s=l;q=l>>31;l=ie(l,q,b,b>>31);h=J;d=h>>>15|0;h=((h&32767)<<17|l>>>15)+1|0;if(h>>>0<1){d=d+1|0}l=e+1|0;t=(f+160|0)+(l<<2)|0;j[t>>2]=(g<<1)-((d&1)<<31|h>>>1);d=e<<2;u=d+(f+160|0)|0;c:{if(e>>>0<2){break c}h=b;r=u;b=j[(d+f|0)+152>>2];n=h+b|0;g=ie(g,g>>31,s,q);h=J;d=h>>>15|0;g=((h&32767)<<17|g>>>15)+1|0;if(g>>>0<1){d=d+1|0}j[r>>2]=n-((d&1)<<31|g>>>1);if((e|0)==2){break c}while(1){g=e-1|0;d=(f+160|0)+(g<<2)|0;r=d;h=j[((e<<2)+f|0)+148>>2];w=h+j[d>>2]|0;b=ie(b,b>>31,s,q);n=J;d=n>>>15|0;b=((n&32767)<<17|b>>>15)+1|0;if(b>>>0<1){d=d+1|0}j[r>>2]=w-((d&1)<<31|b>>>1);d=(e|0)>3;e=g;b=h;if(d){continue}break}}j[f+164>>2]=j[f+164>>2]-o;if((l|0)==(m|0)){break b}b=j[t>>2];g=j[u>>2];e=l;continue}}g=65536;j[f+96>>2]=65536;b=0-j[f+228>>2]|0;j[f+100>>2]=b;d:{if(v){break d}v=f+224|4;e=1;while(1){o=j[v+(e<<3)>>2];l=o;s=l;q=l>>31;l=ie(l,q,b,b>>31);h=J;d=h>>>15|0;h=((h&32767)<<17|l>>>15)+1|0;if(h>>>0<1){d=d+1|0}l=e+1|0;t=(f+96|0)+(l<<2)|0;j[t>>2]=(g<<1)-((d&1)<<31|h>>>1);d=e<<2;u=d+(f+96|0)|0;e:{if(e>>>0<2){break e}h=b;r=u;b=j[(d+f|0)+88>>2];n=h+b|0;g=ie(g,g>>31,s,q);h=J;d=h>>>15|0;g=((h&32767)<<17|g>>>15)+1|0;if(g>>>0<1){d=d+1|0}j[r>>2]=n-((d&1)<<31|g>>>1);if((e|0)==2){break e}while(1){g=e-1|0;d=(f+96|0)+(g<<2)|0;r=d;h=j[((e<<2)+f|0)+84>>2];w=h+j[d>>2]|0;b=ie(b,b>>31,s,q);n=J;d=n>>>15|0;b=((n&32767)<<17|b>>>15)+1|0;if(b>>>0<1){d=d+1|0}j[r>>2]=w-((d&1)<<31|b>>>1);d=(e|0)>3;e=g;b=h;if(d){continue}break}}j[f+100>>2]=j[f+100>>2]-o;if((l|0)==(m|0)){break d}b=j[t>>2];g=j[u>>2];e=l;continue}}if((c|0)>=2){d=(m|0)>1?m:1;g=j[f+96>>2];b=j[f+160>>2];e=0;while(1){l=e+1|0;m=l<<2;h=j[m+(f+96|0)>>2];g=h-g|0;o=b;b=j[m+(f+160|0)>>2];m=o+b|0;j[(e<<2)+f>>2]=0-(g+m|0);j[((e^-1)+c<<2)+f>>2]=g-m;g=h;e=l;if((d|0)!=(e|0)){continue}break}}Zd(a,f,c);f:{if(Qb(a,c)){break f}b=0;while(1){Na(f,c,(-2<>1]=(j[(e<<2)+f>>2]>>>4|0)+1>>>1;e=e+1|0;if((e|0)!=(c|0)){continue}break}e=Qb(a,c);if(b>>>0>14){break f}b=b+1|0;if(!e){continue}break}}I=f+320|0}function Jb(a,b,c,d,e,f){var g=0,l=q(0),m=0,o=0,s=0,t=0,u=0,v=0,w=0,x=0;m=I-1008|0;I=m;a:{b:{v=j[a+4580>>2];if((v|0)<1){break b}s=j[a+4636>>2];u=(s|0)<1;while(1){if(!u){w=p(o,24);g=0;while(1){t=g+w|0;x=(m+48|0)+(t<<1)|0;l=je(q(n[((t<<2)+b|0)+244>>2]*q(8192)));c:{if(q(r(l))>1]=t;g=g+1|0;if((s|0)!=(g|0)){continue}break}}o=o+1|0;if((v|0)!=(o|0)){continue}break}o=0;if((v|0)<=0){break b}while(1){g=o<<2;s=g+b|0;l=je(q(n[s+644>>2]*q(16384)));d:{if(q(r(l))>2]*q(16384)));e:{if(q(r(l))>2]=u&65535|t<<16;u=g+(m+16|0)|0;l=je(q(n[s+660>>2]*q(16384)));f:{if(q(r(l))>2]=t;g=g+m|0;l=je(q(n[s+676>>2]*q(16384)));g:{if(q(r(l))>2]=t;o=o+1|0;if((v|0)!=(o|0)){continue}break}l=je(q(n[b+692>>2]*q(1024)));h:{if(q(r(l))1?g:1;g=0;while(1){u=(m+240|0)+(g<<1)|0;l=je(q(n[((g<<2)+b|0)+144>>2]*q(16384)));i:{if(q(r(l))>1]=o;g=g+1|0;if((s|0)!=(g|0)){continue}break}break a}l=je(q(n[b+692>>2]*q(1024)));j:{if(q(r(l))>2];k:{if((o|0)<=0){break k}while(1){u=(m+288|0)+(g<<1)|0;l=je(q(n[((g<<2)+b|0)+16>>2]*q(4096)));l:{if(q(r(l))>1]=s;g=g+1|0;if((o|0)!=(g|0)){continue}break}g=0;if((o|0)<=0){break k}while(1){u=(g<<1)+m|0;l=je(q(n[((g<<2)+b|0)+80>>2]*q(4096)));m:{if(q(r(l))>1]=s;g=g+1|0;if((o|0)!=(g|0)){continue}break}}g=0;if((v|0)>0){while(1){o=g<<2;s=o+(m+352|0)|0;l=je(q(n[b+o>>2]*q(65536)));n:{if(q(r(l))>2]=o;g=g+1|0;if((v|0)!=(g|0)){continue}break}}g=0;o=0;o=k[c+29|0]==2?i[(h[c+33|0]<<1)+5848>>1]:o;s=j[a+4584>>2];if((s|0)>=1){while(1){u=(m+368|0)+(g<<1)|0;l=je(n[(g<<2)+f>>2]);o:{if(q(r(l))>1]=v;g=g+1|0;if((s|0)!=(g|0)){continue}break}}p:{if(!(j[a+4672>>2]<1?j[a+4628>>2]<=1:0)){Sd(a,d,c,m+368|0,e,m+288|0,m+240|0,m+48|0,m,m+16|0,m+32|0,m+352|0,b+228|0,t,o);break p}Qd(a,d,c,m+368|0,e,m+288|0,m+240|0,m+48|0,m,m+16|0,m+32|0,m+352|0,b+228|0,t,o)}I=m+1008|0}function Cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=I-48|0;I=g;pe(+a);d=me(1)|0;f=me(0)|0;a:{b:{e=d;d=e;h=e&2147483647;c:{if(h>>>0<=1074752122){if((d&1048575)==598523){break c}if(h>>>0<=1073928572){if((e|0)>0?1:(e|0)>=0){a=a+ -1.5707963267341256;c=a+ -6.077100506506192e-11;o[b>>3]=c;o[b+8>>3]=a-c+ -6.077100506506192e-11;d=1;break a}a=a+1.5707963267341256;c=a+6.077100506506192e-11;o[b>>3]=c;o[b+8>>3]=a-c+6.077100506506192e-11;d=-1;break a}if((e|0)>0?1:(e|0)>=0){a=a+ -3.1415926534682512;c=a+ -1.2154201013012384e-10;o[b>>3]=c;o[b+8>>3]=a-c+ -1.2154201013012384e-10;d=2;break a}a=a+3.1415926534682512;c=a+1.2154201013012384e-10;o[b>>3]=c;o[b+8>>3]=a-c+1.2154201013012384e-10;d=-2;break a}if(h>>>0<=1075594811){if(h>>>0<=1075183036){if((h|0)==1074977148){break c}if((e|0)>0?1:(e|0)>=0){a=a+ -4.712388980202377;c=a+ -1.8231301519518578e-10;o[b>>3]=c;o[b+8>>3]=a-c+ -1.8231301519518578e-10;d=3;break a}a=a+4.712388980202377;c=a+1.8231301519518578e-10;o[b>>3]=c;o[b+8>>3]=a-c+1.8231301519518578e-10;d=-3;break a}if((h|0)==1075388923){break c}if((e|0)>0?1:(e|0)>=0){a=a+ -6.2831853069365025;c=a+ -2.430840202602477e-10;o[b>>3]=c;o[b+8>>3]=a-c+ -2.430840202602477e-10;d=4;break a}a=a+6.2831853069365025;c=a+2.430840202602477e-10;o[b>>3]=c;o[b+8>>3]=a-c+2.430840202602477e-10;d=-4;break a}if(h>>>0>1094263290){break b}}j=a*.6366197723675814+6755399441055744+ -6755399441055744;c=a+j*-1.5707963267341256;i=j*6.077100506506192e-11;a=c-i;o[b>>3]=a;pe(+a);d=me(1)|0;me(0)|0;e=h>>>20|0;f=(e-(d>>>20&2047)|0)<17;if(r(j)<2147483648){d=~~j}else{d=-2147483648}d:{if(f){break d}i=c;a=j*6.077100506303966e-11;c=c-a;i=j*2.0222662487959506e-21-(i-c-a);a=c-i;o[b>>3]=a;f=e;pe(+a);e=me(1)|0;me(0)|0;if((f-(e>>>20&2047)|0)<50){break d}i=c;a=j*2.0222662487111665e-21;c=c-a;i=j*8.4784276603689e-32-(i-c-a);a=c-i;o[b>>3]=a}o[b+8>>3]=c-a-i;break a}if(h>>>0>=2146435072){a=a-a;o[b>>3]=a;o[b+8>>3]=a;d=0;break a}ne(0,f|0);ne(1,e&1048575|1096810496);a=+oe();d=0;f=1;while(1){k=(g+16|0)+(d<<3)|0;if(r(a)<2147483648){d=~~a}else{d=-2147483648}c=+(d|0);o[k>>3]=c;a=(a-c)*16777216;d=1;k=f&1;f=0;if(k){continue}break}o[g+32>>3]=a;e:{if(a!=0){d=2;break e}f=1;while(1){d=f;f=d-1|0;if(o[(g+16|0)+(d<<3)>>3]==0){continue}break}}d=vd(g+16|0,g,(h>>>20|0)-1046|0,d+1|0);a=o[g>>3];if((e|0)<-1?1:(e|0)<=-1){o[b>>3]=-a;o[b+8>>3]=-o[g+8>>3];d=0-d|0;break a}o[b>>3]=a;o[b+8>>3]=o[g+8>>3]}I=g+48|0;return d}function zd(a,b,c,d,e,f,g,h,i,k,l,m,o,u,v,w,x){var y=0,z=0,A=q(0),B=0,C=0,D=0,E=0,F=0,G=q(0),H=0,J=q(0),K=0,L=0,N=0;z=I-96|0;y=z;I=y;F=1;a:{if(o){break a}F=0;if(v){break a}o=p(c-b|0,k);if(n[u>>2]>q(o<<1)^1){break a}F=(m|0)>(o|0)}G=q(q(q(n[u>>2]*q(g>>>0))*q(w|0))/q(k<<9));D=(k|0)>1?k:1;C=j[a+8>>2];w=0;while(1){if((b|0)<(d|0)){H=p(w,C);o=b;while(1){J=A;B=o+H<<2;A=q(n[B+e>>2]-n[f+B>>2]);A=q(J+q(A*A));o=o+1|0;if((o|0)!=(d|0)){continue}break}}w=w+1|0;if((D|0)!=(w|0)){continue}break}d=j[i+20>>2];D=j[i+28>>2];o=j[i+20>>2];j[y+88>>2]=j[i+16>>2];j[y+92>>2]=o;o=j[i+12>>2];j[y+80>>2]=j[i+8>>2];j[y+84>>2]=o;o=j[i+4>>2];j[y+72>>2]=j[i>>2];j[y+76>>2]=o;o=j[i+24>>2];w=j[i+40>>2];j[y+56>>2]=j[i+36>>2];j[y+60>>2]=w;j[y- -64>>2]=j[i+44>>2];w=j[i+32>>2];j[y+48>>2]=j[i+28>>2];j[y+52>>2]=w;C=z-((p(k,C)<<2)+15&-16)|0;w=C;I=w;z=p(j[a+8>>2],k)<<2;w=w-(z+15&-16)|0;B=w;I=w;C=M(C,f,z);J=(c-b|0)>10?q(t(q(q(m|0)*q(.125)),q(16))):q(16);m=0;z=v;v=d+s(D)|0;d=v-29>>>0>g>>>0;L=d?0:z;z=d?0:F;D=L|z;if(q(r(G))>2];j[y+40>>2]=j[i+20>>2];v=j[i+16>>2];j[y+32>>2]=j[i+12>>2];j[y+36>>2]=v;v=j[i+8>>2];j[y+24>>2]=j[i+4>>2];j[y+28>>2]=v;D=j[i+24>>2];H=i+28|0;v=H+8|0;K=j[v+4>>2];j[y+8>>2]=j[v>>2];j[y+12>>2]=K;j[y+16>>2]=j[i+44>>2];v=j[i+32>>2];j[y>>2]=j[i+28>>2];j[y+4>>2]=v;v=D-o|0;B=B-((v?v:1)+15&-16)|0;I=B;E=B;B=o+z|0;K=M(E,B,v);E=j[y+92>>2];j[i+16>>2]=j[y+88>>2];j[i+20>>2]=E;E=j[y+84>>2];j[i+8>>2]=j[y+80>>2];j[i+12>>2]=E;E=j[y+76>>2];j[i>>2]=j[y+72>>2];j[i+4>>2]=E;j[i+24>>2]=o;j[i+44>>2]=j[y- -64>>2];o=j[y+60>>2];j[H+8>>2]=j[y+56>>2];j[H+12>>2]=o;o=j[y+52>>2];j[i+28>>2]=j[y+48>>2];j[i+32>>2]=o;b=Db(a,b,c,e,f,g,F,p(l,84)+33040|0,h,i,k,l,0,G,x);if(!L){break c}if((b|0)<=(m|0)){if((b|0)!=(m|0)){break c}if((N|0)>=(V(i)+d|0)){break c}}j[i>>2]=z;j[i+20>>2]=j[y+40>>2];b=j[y+36>>2];j[i+12>>2]=j[y+32>>2];j[i+16>>2]=b;b=j[y+28>>2];j[i+4>>2]=j[y+24>>2];j[i+8>>2]=b;j[i+24>>2]=D;j[i+44>>2]=j[y+16>>2];b=j[y+12>>2];j[i+36>>2]=j[y+8>>2];j[i+40>>2]=b;b=j[y+4>>2];j[i+28>>2]=j[y>>2];j[i+32>>2]=b;M(B,K,v);b=k<<2;M(f,C,p(b,j[a+8>>2]));M(h,w,p(b,j[a+8>>2]));break b}b=k<<2;M(f,C,p(b,j[a+8>>2]));M(h,w,p(b,j[a+8>>2]));break b}J=A;A=n[(l<<2)+33376>>2];A=q(J+q(q(A*A)*n[u>>2]))}n[u>>2]=A;I=y+96|0}function Fa(a,b,c,d,e,f,g,h,i,k,l){var m=q(0),o=0,p=0,r=0,s=0,t=q(0),u=q(0),v=q(0),w=0,x=0,z=0,A=q(0),B=0;o=I-32|0;I=o;j[o+24>>2]=l;j[o+28>>2]=e;e=j[a+28>>2];x=j[a>>2];a:{if((d|0)==1){d=0;l=j[a+32>>2];if((l|0)>=8){b:{if(x){d=n[b>>2]>2]-8|0;j[a+32>>2]=l}if(j[a+4>>2]){n[b>>2]=d?q(-1):q(1)}if(c){d=c?2:1;g=d>>>0>1?d:1;f=1;while(1){d=0;if((l|0)>=8){c:{if(x){d=n[c>>2]>2]-8|0;j[a+32>>2]=l}if(j[a+4>>2]){n[c>>2]=d?q(-1):q(1)}f=f+1|0;if((g|0)!=(f|0)){continue}break}}h=1;if(!i){break a}j[i>>2]=j[b>>2];break a}xb(a,o,b,c,d,o+28|0,f,f,h,1,o+24|0);m=q(q(j[o+8>>2])*q(30517578125e-15));v=q(q(j[o+4>>2])*q(30517578125e-15));p=j[o+28>>2];s=j[o+20>>2];r=j[o+16>>2];B=j[o>>2];d:{if((d|0)==2){z=r&-16385;w=((z|0)!=0)<<3;j[a+32>>2]=j[a+32>>2]-(w+s|0);r=(r|0)>8192;s=r?b:c;r=r?c:b;w=p-w|0;p=0;e:{if(!z){break e}if(x){p=q(q(n[r>>2]*n[s+4>>2])-q(n[r+4>>2]*n[s>>2]))>2]=n[r+4>>2]*q(0-e|0);n[s+4>>2]=n[r>>2]*q(e|0);if(!j[a+4>>2]){break d}n[b>>2]=v*n[b>>2];n[b+4>>2]=v*n[b+4>>2];t=q(m*n[c>>2]);n[c>>2]=t;n[c+4>>2]=m*n[c+4>>2];m=n[b>>2];n[b>>2]=m-t;n[c>>2]=m+n[c>>2];m=n[b+4>>2];n[b+4>>2]=m-n[c+4>>2];n[c+4>>2]=m+n[c+4>>2];break d}l=j[o+12>>2];s=j[a+32>>2]-s|0;j[a+32>>2]=s;e=j[o+24>>2];l=(p-l|0)/2|0;l=(l|0)>(p|0)?p:l;l=(l|0)>0?l:0;p=p-l|0;if((l|0)>=(p|0)){i=X(a,b,d,l,f,g,h,i,q(1),k,e);g=l+(j[a+32>>2]-s|0)|0;h=i|X(a,c,d,p+(r?(g|0)>24?g-24|0:0:0)|0,f,0,h,0,m,0,e>>f);break d}x=X(a,c,d,p,f,0,h,0,m,0,e>>f);w=l;l=p+(j[a+32>>2]-s|0)|0;h=x|X(a,b,d,w+((r|0)!=16384?(l|0)>24?l-24|0:0:0)|0,f,g,h,i,q(1),k,e)}if(!j[a+4>>2]){break a}f:{if((d|0)==2){break f}t=q(0);g:{if((d|0)<1){m=q(0);break g}a=0;m=q(0);while(1){e=a<<2;u=n[e+c>>2];m=q(m+q(u*n[b+e>>2]));t=q(t+q(u*u));a=a+1|0;if((d|0)!=(a|0)){continue}break}}h:{t=q(q(v*v)+t);m=q(v*m);m=q(m+m);u=q(t+m);if(!(u>2]);e=c+e|0;A=n[e>>2];n[f>>2]=u*q(m-A);n[e>>2]=t*q(m+A);a=a+1|0;if((d|0)!=(a|0)){continue}break}}if(!B|(d|0)<1){break a}a=0;while(1){b=(a<<2)+c|0;n[b>>2]=-n[b>>2];a=a+1|0;if((d|0)!=(a|0)){continue}break}}I=o+32|0;return h}function ja(a,b,c,d,e,f,g,h,l){var m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=q(0),z=q(0),A=0;r=I-32|0;I=r;j[r+24>>2]=l;j[r+28>>2]=d;m=j[a+8>>2];s=j[m+100>>2]+i[j[m+96>>2]+(j[a+12>>2]+p(j[m+8>>2],g+1|0)<<1)>>1]|0;o=k[s|0];t=-1;u=j[a+28>>2];v=j[a+20>>2];x=j[a>>2];a:{if(!((g|0)==-1|(c|0)<3|(k[o+s|0]+12|0)>=(d|0))){t=c>>>1|0;m=(t<<2)+b|0;if((e|0)==1){j[r+24>>2]=l&1|l<<1}u=e+1>>1;v=g-1|0;xb(a,r,b,m,t,r+28|0,u,e,v,0,r+24|0);y=q(j[r+8>>2]);z=q(j[r+4>>2]);d=j[r+20>>2];l=j[r+12>>2];x=j[r+16>>2];c=l;b:{if(!(x&16383)|(e|0)<2){break b}c=l-(l>>5-g)|0;if((x|0)>=8193){break b}c=(t<<3>>6-g)+l|0;c=c>>31&c}l=c;y=q(y*q(30517578125e-15));z=q(z*q(30517578125e-15));o=j[r+28>>2];g=j[a+32>>2]-d|0;j[a+32>>2]=g;d=f?(t<<2)+f|0:0;s=o;c=(o-l|0)/2|0;c=(c|0)>(o|0)?o:c;o=(c|0)>0?c:0;l=s-o|0;if((l|0)<=(o|0)){c=b;b=j[r+24>>2];f=ja(a,c,t,o,u,f,v,q(z*h),b);c=a;a=o+(j[a+32>>2]-g|0)|0;m=f|ja(c,m,t,l+(x?(a|0)>24?a-24|0:0:0)|0,u,d,v,q(y*h),b>>u)<<(e>>1);break a}c=d;d=j[r+24>>2];c=ja(a,m,t,l,u,c,v,q(y*h),d>>u);m=a;a=l+(j[a+32>>2]-g|0)|0;m=ja(m,b,t,o+((x|0)!=16384?(a|0)>24?a-24|0:0:0)|0,u,f,v,q(z*h),d)|c<<(e>>1);break a}w=d-1|0;m=o+1>>>1|0;d=(w|0)>k[m+s|0];g=d?o:m;d=d?m:0;o=(g+d|0)+1>>>1|0;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>>1|0;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>>1|0;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>1;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;o=(g+d|0)+1>>1;m=(w|0)>k[o+s|0];g=m?g:o;d=m?o:d;if(d){t=k[d+s|0]}d=(w-t|0)>(k[g+s|0]-w|0)?g:d;if(d){A=k[d+s|0]+1|0}m=j[a+32>>2]-A|0;j[a+32>>2]=m;c:{d:{if((m|0)>-1){g=d;break d}if((d|0)<1){g=d;break d}while(1){m=m+A|0;j[a+32>>2]=m;g=d-1|0;if(!g){j[a+32>>2]=m;break c}A=k[g+s|0]+1|0;m=m-A|0;j[a+32>>2]=m;if((m|0)>-1){break d}o=(d|0)>1;d=g;if(o){continue}break}}if(!g){break c}g=(g|0)>=8?(g&7|8)<<(g>>>3|0)-1:g;if(x){m=qd(b,c,g,v,e,u,h,j[a+4>>2]);break a}m=pd(b,c,g,v,e,u,h);break a}if(!j[a+4>>2]){m=0;break a}m=-1<>2]=e;if(!e){m=0;O(b,0,c<<2);break a}e:{if(f){if((c|0)>=1){d=j[a+40>>2];g=0;while(1){l=g<<2;d=p(d,1664525)+1013904223|0;n[l+b>>2]=n[f+l>>2]+(d&32768?q(.00390625):q(-.00390625));g=g+1|0;if((g|0)!=(c|0)){continue}break}j[a+40>>2]=d}m=e;break e}if((c|0)<1){break e}d=j[a+40>>2];g=0;while(1){d=p(d,1664525)+1013904223|0;n[(g<<2)+b>>2]=d>>20;g=g+1|0;if((g|0)!=(c|0)){continue}break}j[a+40>>2]=d}od(b,c,h)}I=r+32|0;return m}function qa(a,b,c,d,e){var f=0,g=0,h=0;a:{if((d|0)>=(e|0)){b:{c:{switch(e-6|0){case 0:if((d|0)<7){break b}g=6;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 2:if((d|0)<9){break b}g=8;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 4:if((d|0)<11){break b}g=10;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]))+q(n[f-36>>2]*n[b+32>>2]))+q(n[f-40>>2]*n[b+36>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 6:if((d|0)<13){break b}g=12;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]))+q(n[f-36>>2]*n[b+32>>2]))+q(n[f-40>>2]*n[b+36>>2]))+q(n[f-44>>2]*n[b+40>>2]))+q(n[f-48>>2]*n[b+44>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}break b;case 10:break c;default:break a}}if((d|0)<17){break b}g=16;while(1){h=g<<2;f=h+c|0;n[a+h>>2]=n[f>>2]-q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(q(n[f-4>>2]*n[b>>2])+q(n[f-8>>2]*n[b+4>>2]))+q(n[f-12>>2]*n[b+8>>2]))+q(n[f-16>>2]*n[b+12>>2]))+q(n[f-20>>2]*n[b+16>>2]))+q(n[f-24>>2]*n[b+20>>2]))+q(n[f-28>>2]*n[b+24>>2]))+q(n[f-32>>2]*n[b+28>>2]))+q(n[f-36>>2]*n[b+32>>2]))+q(n[f-40>>2]*n[b+36>>2]))+q(n[f-44>>2]*n[b+40>>2]))+q(n[f-48>>2]*n[b+44>>2]))+q(n[f-52>>2]*n[b+48>>2]))+q(n[f-56>>2]*n[b+52>>2]))+q(n[f-60>>2]*n[b+56>>2]))+q(n[f+ -64>>2]*n[b+60>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}}O(a,0,e<<2);return}L(9580,9614,218);z()}L(9651,9614,242);z()}function Ua(a,b,c,d,e,f){var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0;i=I-16|0;I=i;Va(i+4|0,i+12|0,b,e);Va(i,i+8|0,c,e);g=j[i+12>>2];l=j[i+8>>2];h=(g|0)>(l|0)?g:l;h=(h&1)+h|0;j[i>>2]=j[i>>2]>>h-l;g=j[i+4>>2]>>h-g;j[i+4>>2]=(g|0)>1?g:1;l=fc(b,c,h,e);c=l>>31;b=j[i+4>>2];e=b>>31;n=s(c^c+l);g=l<>16)<<16>>16;g=(p(c,g&65535)>>16)+p(c,g>>16)|0;e=ie(g,g>>31,e,e>>31);e=k-(((J&536870911)<<3|e>>>29)&-8)|0;e=(p(e>>16,c)+g|0)+(p(c,e&65535)>>16)|0;c=f;g=(n-m|0)+16|0;a:{if((g|0)<=-1){g=0-g|0;n=2147483647>>>g|0;m=-2147483648>>g;e=((e|0)>(n|0)?n:(e|0)<(m|0)?m:e)<>g:0}e=(e|0)>-16384?e:-16384;g=(e|0)<16384?e:16384;r=(p(g&65535,g)>>16)+p(g,g>>16)|0;e=r>>31;k=c;c=e^e+r;e=(c|0)<(f|0)?k:c;n=h>>1;f=0;m=j[d>>2];t=d;b:{if((b|0)<=0){c=e<<16>>16;e=p(c,0-m>>16);break b}f=s(b);o=24-f|0;h=0-o|0;k=(f&1?32768:46214)>>>(f>>>1)|0;q=k;c=b;c:{if(!o){break c}c=b<>>56-f;if(b>>>0<=127){break c}c=b<>>o}u=((p(q,p(c&127,13959168)>>>16|0)>>>16|0)+k<>16;c=e<<16>>16;q=k;e=b;d:{if(!o){break d}e=b<>>56-f;if(b>>>0<=127){break d}e=b<>>o}f=q+(p(k,p(e&127,13959168)>>>16|0)>>>16|0)|0;e=p(c,u)}m=(e+m|0)+(p((f<>16)|0;j[t>>2]=m;e=r<<16>>16;e=(j[i>>2]-(p(g,l>>16)+(p(g,l&65535)>>16)<<4)|0)+((p(e,b&65535)>>16)+p(e,b>>16)<<6)|0;j[i>>2]=e;f=d;o=j[d+4>>2];t=o;e:{if((e|0)<1){e=0;b=0;break e}d=s(e);h=24-d|0;k=0-h|0;l=(d&1?32768:46214)>>>(d>>>1)|0;q=l;b=e;f:{if(!h){break f}b=e<>>56-d;if(e>>>0<=127){break f}b=e<>>h}b=(p(q,p(b&127,13959168)>>>16|0)>>>16|0)+l|0;g:{if(!h){break g}if(e>>>0<=127){e=e<>>56-d;break g}e=e<>>h}e=l+(p(l,p(e&127,13959168)>>>16|0)>>>16|0)|0;b=b<>16,c)|0)+(p((e<>16)|0;j[f+4>>2]=b;e=(m|0)>1?m:1;c=s(e);d=b;b=b>>31;f=s(d+b^b);d=d<>16)<<16>>16;d=(p(b,d&65535)>>16)+p(b,d>>16)|0;e=ie(d,d>>31,e,e>>31);e=k-(((J&536870911)<<3|e>>>29)&-8)|0;b=(p(e>>16,b)+d|0)+(p(b,e&65535)>>16)|0;k=a;c=(f-c|0)+15|0;h:{if((c|0)<=-1){c=0-c|0;d=2147483647>>>c|0;e=-2147483648>>c;b=((b|0)>(d|0)?d:(b|0)<(e|0)?e:b)<>c:0}a=(b|0)>0?b:0;j[k>>2]=(a|0)<32767?a:32767;I=i+16|0;return g}function Qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;l=I-96|0;a:{if((b|0)>=1){while(1){g=i[(d<<1)+a>>1];j[(d<<2)+l>>2]=g<<12;f=f+g|0;d=d+1|0;if((d|0)!=(b|0)){continue}break}if((f|0)>4095){break a}}f=b-1|0;c=j[(f<<2)+l>>2];d=c+16773022>>>0>33546044;a=1073741824;if((b|0)>=2){while(1){if(d&1){return 0}e=a;g=k;a=0-(c<<7)|0;k=a>>31;o=a;ie(a,k,a,k);a=1073741824-J|0;g=ie(e,g,a,a>>31);q=((J&1073741823)<<2|g>>>30)&-4;if((q|0)<107374){break a}g=f;f=0;c=a;a=a>>31;n=s(c+a^a);d=c<>16;e=536870911/(c|0)|0;h=e<<16;a=h>>16;d=0-(p(a,c)+(p(a,d&65535)>>16)<<3)|0;a=((h+p(d,(e>>15)+1>>1)|0)+p(a,d>>16)|0)+(p(a,d&65528)>>16)|0;r=a;t=a>>31;a=b>>>1|0;y=a>>>0>1?a:1;d=31-n|0;while(1){u=(f<<2)+l|0;h=j[u>>2];e=h;v=(g+(f^-1)<<2)+l|0;m=j[v>>2];a=m;c=ie(a,a>>31,o,k);b=J;a=b>>>30|0;b=((b&1073741823)<<2|c>>>30)+1|0;if(b>>>0<1){a=a+1|0}b=(a&1)<<31|b>>>1;c=e-b|0;a=(c|0)>-1;a=(((a?b:h)^-2147483648)&(a?h:b))>-1?c:a?-2147483648:2147483647;a=ie(a,a>>31,r,t);b=J;e=b;w=(n|0)!=31;x=(b&1)<<31|a>>>1;c=x+(a&1)|0;b=b>>1;b=c>>>0>>0?b+1|0:b;b:{if(!w){break b}b=e;e=a;a=d;c=a&31;if((a&63)>>>0>=32){a=b>>31;b=b>>c}else{a=b>>c;b=((1<>>c}b=b+1|0;if(b>>>0<1){a=a+1|0}c=b;b=a>>1;c=(a&1)<<31|c>>>1}a=b;if(c- -2147483648>>>0<2147483648?a+1|0:a){break a}j[u>>2]=c;c=ie(h,h>>31,o,k);b=J;a=b>>>30|0;b=((b&1073741823)<<2|c>>>30)+1|0;if(b>>>0<1){a=a+1|0}b=(a&1)<<31|b>>>1;c=m-b|0;a=(c|0)>-1;a=(((a?b:m)^-2147483648)&(a?m:b))>-1?c:a?-2147483648:2147483647;c=ie(a,a>>31,r,t);a=J;if(w){b=a;e=c;a=d;c=a&31;if((a&63)>>>0>=32){a=b>>31;b=b>>c}else{a=b>>c;b=((1<>>c}b=b+1|0;if(b>>>0<1){a=a+1|0}c=(a&1)<<31|b>>>1;a=a>>1}else{e=c&1;b=a;a=a>>1;c=(b&1)<<31|c>>>1;b=e+c|0;a=b>>>0>>0?a+1|0:a;c=b}if(c- -2147483648>>>0<2147483648?a+1|0:a){break a}j[v>>2]=c;f=f+1|0;if((y|0)!=(f|0)){continue}break}f=g-1|0;c=j[(f<<2)+l>>2];d=c+16773022>>>0>33546044;a=q;k=a>>31;b=g;if((b|0)>1){continue}break}}if(d){break a}c=a;b=0-(j[l>>2]<<7)|0;a=b>>31;ie(b,a,b,a);b=1073741824-(J&2147483647)|0;a=ie(c,k,b,b>>31);a=((J&1073741823)<<2|a>>>30)&-4;z=(a|0)<107374?0:a}return z}function Xb(a,b,c,d,e){var f=q(0),g=0,h=0,i=q(0),k=0,l=q(0),m=0,o=q(0),r=0,s=q(0),t=0,v=0,w=q(0),x=q(0),z=q(0),A=0,B=0,C=0,D=q(0),E=0,F=q(0),G=q(0),H=q(0),J=q(0),K=0,L=0,M=q(0);g=j[c>>2]/2|0;g=(g|0)<512?g:511;j[c>>2]=g;k=a+2048|0;r=(b|0)/2|0;E=(d|0)/-2|0;if((b|0)>=2){a=k-(g<<2)|0;d=0;while(1){h=d<<2;f=n[h+k>>2];x=q(x+q(f*n[a+h>>2]));o=q(o+q(f*f));d=d+1|0;if((r|0)!=(d|0)){continue}break}}t=I-2064|0;n[t>>2]=o;d=1;f=o;while(1){i=f;a=d<<2;f=n[k-a>>2];i=q(i+q(f*f));f=n[(r-d<<2)+k>>2];f=q(i-q(f*f));n[a+t>>2]=u(f,q(0));a=(d|0)!=512;d=d+1|0;if(a){continue}break}F=q(e*q(.5));B=g<<1;z=n[(g<<2)+t>>2];s=q(x/q(y(q(q(o*z)+q(1)))));G=q(s*q(.8500000238418579));H=q(s*q(.8999999761581421));J=q(s*q(.699999988079071));m=2;a=g;while(1){d=m<<1;h=(m+B>>>0)/(d>>>0)|0;if((h|0)>=7){a:{if((m|0)==2){d=g+h|0;d=(d|0)>512?g:d;break a}d=(p(j[(m<<2)+9808>>2],B)+m>>>0)/(d>>>0)|0}v=d<<2;C=h<<2;f=q(0);b:{if((b|0)<2){l=q(0);break b}K=k-v|0;L=k-C|0;d=0;l=q(0);while(1){A=d<<2;w=n[A+k>>2];f=q(f+q(w*n[A+K>>2]));l=q(l+q(w*n[A+L>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}}l=q(q(l+f)*q(.5));w=q(q(n[t+C>>2]+n[t+v>>2])*q(.5));f=q(l/q(y(q(q(o*w)+q(1)))));M=G;v=h+E|0;d=v>>31;d=d^d+v;i=e;c:{if((d|0)<2){break c}i=q(0);if((d|0)!=2){break c}i=(g|0)>(p(p(m,m),5)|0)?F:q(0)}D=i;i=q(u(q(M-i),q(.4000000059604645)));d:{if((h|0)<21){break d}i=q(u(q(J-D),q(.30000001192092896)));if((h|0)>=14){break d}i=q(u(q(H-D),q(.5)))}if(!(i=z)){o=q(e/q(z+q(1)))}e:{if((b|0)<2){l=q(0);e=q(0);break e}g=(k-(a<<2)|0)+4|0;d=0;while(1){h=d<<2;f=q(f+q(n[h+k>>2]*n[g+h>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}l=q(0);if((b|0)<=1){e=q(0);break e}g=k-(a<<2)|0;d=0;while(1){h=d<<2;l=q(l+q(n[h+k>>2]*n[g+h>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}e=q(0);if((b|0)<2){break e}b=((a^-1)<<2)+k|0;d=0;while(1){g=d<<2;e=q(e+q(n[g+k>>2]*n[b+g>>2]));d=d+1|0;if((r|0)!=(d|0)){continue}break}}a=(a<<1)+(q(e-f)>q(q(l-f)*q(.699999988079071))?1:q(f-e)>q(q(l-e)*q(.699999988079071))?-1:0)|0;j[c>>2]=(a|0)<15?15:a;return o>s?s:o}function bd(a,b,c,d,e,f,g,h,i,k,l,m){var o=0,s=q(0),t=0,u=0,w=q(0),x=0,y=q(0),z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=q(0),H=0,J=q(0),K=0,L=0,N=0;t=I-16|0;I=t;B=j[a>>2];z=j[B+4>>2];x=e+1024|0;o=t-((p(x,d)<<2)+15&-16)|0;u=o;I=o;j[t+12>>2]=o+(x<<2);j[t+8>>2]=o;E=(d|0)>1?d:1;C=e<<2;F=e+z|0;D=(z<<2)+b|0;o=0;while(1){M(M(j[(t+8|0)+(o<<2)>>2],(o<<12)+c|0,4096)+4096|0,D+(p(o,F)<<2)|0,C);o=o+1|0;if((E|0)!=(o|0)){continue}break}a:{if(k){k=u-((x<<1&-4)+15&-16)|0;I=k;Zb(t+8|0,k,x,d);Yb(k+2048|0,k,e,t+4|0);j[t+4>>2]=1024-j[t+4>>2];s=Xb(k,e,t+4|0,j[a+104>>2],n[a+108>>2]);if(j[t+4>>2]>=1023){j[t+4>>2]=1022}s=q(s*q(.699999988079071));d=j[a+56>>2];s=(d|0)>2?q(s*q(.5)):s;s=(d|0)>8?q(0):(d|0)>4?q(s*q(.5)):s;break a}j[t+4>>2]=15;s=q(0)}s=j[m>>2]?q(s*n[m+40>>2]):s;m=0;x=0;o=j[t+4>>2];d=j[a+104>>2];u=o-d|0;k=u>>31;w=(o|0)<(p(k^k+u,10)|0)?q(.4000000059604645):q(.20000000298023224);w=(l|0)<25?q(w+q(.10000000149011612)):w;w=(l|0)<35?q(w+q(.10000000149011612)):w;J=q(w+q(-.10000000149011612));y=w;w=n[a+108>>2];y=w>q(.4000000059604645)?J:y;y=w>q(.550000011920929)?q(y+q(-.10000000149011612)):y;if(!((y>q(.20000000298023224)?y:q(.20000000298023224))>s)){s=q(v(q(q(q((q(r(q(s-w)))7?7:k-1|0;m=(k|0)>0?k:0;G=q(q(m+1|0)*q(.09375));x=1}D=4096-C|0;k=z<<2;s=q(-G);K=(e|0)<1025;L=0-e<<2;o=0;while(1){l=j[B+44>>2];j[a+104>>2]=(d|0)>15?d:15;H=((p(o,z)<<2)+a|0)+244|0;d=M((p(o,F)<<2)+b|0,H,k);l=l-z|0;if(l){u=j[a+104>>2];A=u;w=q(-n[a+108>>2]);u=j[a+112>>2];hb(d+k|0,j[(t+8|0)+(o<<2)>>2]+4096|0,A,A,l,w,w,u,u,0,0)}u=l<<2;N=u+(d+k|0)|0;A=u;u=(t+8|0)+(o<<2)|0;hb(N,(A+j[u>>2]|0)+4096|0,j[a+104>>2],j[t+4>>2],e-l|0,q(-n[a+108>>2]),s,j[a+112>>2],f,j[B+60>>2],z);l=e<<2;M(H,l+d|0,k);d=(o<<12)+c|0;c:{if(!K){M(d,l+j[u>>2]|0,4096);break c}M((U(d,d+l|0,D)+L|0)+4096|0,j[u>>2]+4096|0,C)}o=o+1|0;if((E|0)!=(o|0)){d=j[a+104>>2];continue}break}n[h>>2]=G;j[g>>2]=j[t+4>>2];j[i>>2]=m;I=t+16|0;return x}function Ha(a,b,c,d,e,f){var g=q(0),h=q(0),i=q(0),k=0,l=q(0),m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:{if(!f|e<<1>=(b|0)){break a}i=q(q(b|0)/q(p(j[(f<<2)+41524>>2],e)+b|0));i=q(q(i*i)*q(.5));w=Bb(+q(i*q(1.5707963705062866)));x=Bb(+q(q(q(1)-i)*q(1.5707963705062866)));f=0;if(d<<3<=(b|0)){o=d>>2;e=1;while(1){f=e;e=e+1|0;if((o+p(p(f,f)+f|0,d)|0)<(b|0)){continue}break}}if((d|0)<1){break a}i=q(w);l=q(x);s=(b>>>0)/(d>>>0)|0;t=s-f|0;o=s-3|0;u=s-1|0;r=(f<<1^-1)+s|0;y=(c|0)>-1;c=0;while(1){k=p(c,s);b:{if(!y){c:{if(!f){break c}b=0;m=(k<<2)+a|0;e=m;if((t|0)>=1){while(1){v=(f<<2)+e|0;g=n[v>>2];h=n[e>>2];n[v>>2]=q(h*i)+q(g*l);n[e>>2]=q(h*l)-q(g*i);e=e+4|0;b=b+1|0;if((t|0)!=(b|0)){continue}break}}if((r|0)<0){break c}e=m+(r<<2)|0;b=r;while(1){m=(f<<2)+e|0;g=n[m>>2];h=n[e>>2];n[m>>2]=q(h*i)+q(g*l);n[e>>2]=q(h*l)-q(g*i);e=e-4|0;m=(b|0)>0;b=b-1|0;if(m){continue}break}}k=(k<<2)+a|0;if((u|0)>=1){g=n[k>>2];b=0;e=k;while(1){h=n[e+4>>2];n[e>>2]=q(g*i)-q(h*l);g=q(q(g*l)+q(h*i));n[e+4>>2]=g;e=e+4|0;b=b+1|0;if((u|0)!=(b|0)){continue}break}}if((o|0)<0){break b}e=k+(o<<2)|0;b=o;while(1){g=n[e>>2];h=n[e+4>>2];n[e+4>>2]=q(g*l)+q(h*i);n[e>>2]=q(g*i)-q(h*l);e=e-4|0;k=(b|0)>0;b=b-1|0;if(k){continue}break}break b}k=(k<<2)+a|0;if((u|0)>=1){g=n[k>>2];b=0;e=k;while(1){h=n[e+4>>2];n[e>>2]=q(g*i)+q(h*l);g=q(q(h*i)-q(g*l));n[e+4>>2]=g;e=e+4|0;b=b+1|0;if((u|0)!=(b|0)){continue}break}}if((o|0)>=0){e=k+(o<<2)|0;b=o;while(1){g=n[e+4>>2];h=n[e>>2];n[e+4>>2]=q(g*i)-q(h*l);n[e>>2]=q(h*i)+q(g*l);e=e-4|0;m=(b|0)>0;b=b-1|0;if(m){continue}break}}if(!f){break b}b=0;e=k;if((t|0)>=1){while(1){m=(f<<2)+e|0;g=n[m>>2];h=n[e>>2];n[m>>2]=q(g*l)-q(h*i);n[e>>2]=q(h*l)+q(g*i);e=e+4|0;b=b+1|0;if((t|0)!=(b|0)){continue}break}}if((r|0)<0){break b}e=k+(r<<2)|0;b=r;while(1){k=(f<<2)+e|0;g=n[k>>2];h=n[e>>2];n[k>>2]=q(g*l)-q(h*i);n[e>>2]=q(h*l)+q(g*i);e=e-4|0;k=(b|0)>0;b=b-1|0;if(k){continue}break}}c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function Yb(a,b,c,d){var e=0,f=q(0),g=q(0),h=0,i=0,k=q(0),l=q(0),m=q(0),o=0,p=0,r=q(0),s=0,t=0,v=0,w=q(0),x=0,y=0;e=I;y=e;if((c|0)>0){o=c>>>2|0;h=e-((o<<2)+15&-16)|0;e=h;I=e;i=c+979|0;p=e-((i&-4)+15&-16)|0;e=p;I=e;s=e-1968|0;I=s;if(o){e=0;while(1){j[h+(e<<2)>>2]=j[(e<<3)+a>>2];e=e+1|0;if((o|0)!=(e|0)){continue}break}}if((i|0)>=4){e=i>>2;i=(e|0)>1?e:1;e=0;while(1){j[p+(e<<2)>>2]=j[(e<<3)+b>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}pa(h,p,s,o,244);f=q(1);if(o){e=0;while(1){k=n[p+(e<<2)>>2];f=q(f+q(k*k));e=e+1|0;if((o|0)!=(e|0)){continue}break}}i=0;h=1;r=q(-1);e=0;k=q(-1);while(1){t=e<<2;g=n[t+s>>2];a:{if(g>q(0)^1){break a}g=q(g*q(9.999999960041972e-13));g=q(g*g);if(q(m*g)>q(k*f)^1){break a}if(q(l*g)>q(r*f)){h=i;i=e;k=r;r=g;m=l;l=f;break a}h=e;k=g;m=f}g=f;f=n[p+(e+o<<2)>>2];w=q(f*f);f=n[p+t>>2];f=q(u(q(g+q(w-q(f*f))),q(1)));e=e+1|0;if((e|0)!=244){continue}break}x=c>>1;o=h<<1;p=i<<1;while(1){i=v<<2;t=i+s|0;j[t>>2]=0;e=v-p|0;h=e>>31;b:{if((h^e+h)>=3){e=v-o|0;h=e>>31;if((h^e+h)>2){break b}}f=q(0);if((c|0)>=2){h=b+i|0;e=0;while(1){i=e<<2;f=q(f+q(n[i+a>>2]*n[h+i>>2]));e=e+1|0;if((x|0)!=(e|0)){continue}break}}n[t>>2]=u(f,q(-1))}v=v+1|0;if((v|0)!=489){continue}break}f=q(1);if((c|0)>1){e=0;while(1){l=n[(e<<2)+b>>2];f=q(f+q(l*l));e=e+1|0;if((x|0)!=(e|0)){continue}break}}h=0;r=q(-1);l=q(0);a=0;e=0;m=q(0);k=q(-1);while(1){c=e<<2;g=n[c+s>>2];c:{if(g>q(0)^1){break c}g=q(g*q(9.999999960041972e-13));g=q(g*g);if(q(m*g)>q(k*f)^1){break c}if(q(l*g)>q(r*f)){a=e;k=r;r=g;m=l;l=f;break c}k=g;m=f}g=f;f=n[(e+x<<2)+b>>2];w=q(f*f);f=n[b+c>>2];f=q(u(q(g+q(w-q(f*f))),q(1)));e=e+1|0;if((e|0)!=489){continue}break}d:{if((a|0)<1|(a|0)>=488){break d}h=-1;b=(a<<2)+s|0;k=n[b+4>>2];m=n[b-4>>2];l=n[b>>2];if(q(k-m)>q(q(l-m)*q(.699999988079071))){break d}h=q(m-k)>q(q(l-k)*q(.699999988079071))}j[d>>2]=(a<<1)+h;I=y;return}L(9781,9768,302);z()}function pa(a,b,c,d,e){var f=0,g=0,h=q(0),i=q(0),k=0,l=q(0),m=0,o=0,p=0,r=q(0),s=0,t=0,u=q(0),v=0,w=q(0),x=q(0),y=q(0),A=q(0),B=q(0),C=q(0),D=q(0),E=q(0),F=q(0),G=0,H=0,I=q(0),J=0,K=0,M=0,N=0;if((e|0)>=1){a:{if((e|0)<4){break a}if((d|0)>=3){J=e-3|0;K=d-3|0;M=(d|0)==3;G=d&-4;H=G|1;N=(H+1|0)>=(d|0);while(1){v=p<<2;f=v+b|0;g=f+12|0;i=n[f+8>>2];l=n[f+4>>2];u=n[f>>2];r=q(0);C=q(0);D=q(0);E=q(0);f=a;m=0;o=0;k=0;s=0;t=0;if(!M){while(1){w=n[f>>2];h=n[g>>2];x=n[f+4>>2];y=n[g+4>>2];A=n[f+8>>2];F=n[g+8>>2];B=n[f+12>>2];I=n[g+12>>2];r=q(q(q(q(r+q(w*h))+q(x*y))+q(A*F))+q(B*I));C=q(q(q(q(C+q(i*w))+q(h*x))+q(y*A))+q(F*B));D=q(q(q(q(D+q(l*w))+q(i*x))+q(h*A))+q(y*B));E=q(q(q(q(E+q(u*w))+q(l*x))+q(i*A))+q(h*B));g=g+16|0;f=f+16|0;u=y;i=I;l=F;m=m+4|0;if((K|0)>(m|0)){continue}break}o=(qe(E),me(2));k=(qe(D),me(2));s=(qe(C),me(2));t=(qe(r),me(2));r=h}if(!((d|0)<=(G|0))){h=n[f>>2];r=n[g>>2];t=(qe(q(q(h*r)+(ne(2,t),re()))),me(2));s=(qe(q(q(i*h)+(ne(2,s),re()))),me(2));k=(qe(q(q(l*h)+(ne(2,k),re()))),me(2));o=(qe(q(q(u*h)+(ne(2,o),re()))),me(2));g=g+4|0;f=f+4|0}m=f;f=g;if(!((d|0)<=(H|0))){h=n[m>>2];u=n[f>>2];t=(qe(q(q(h*u)+(ne(2,t),re()))),me(2));s=(qe(q(q(r*h)+(ne(2,s),re()))),me(2));k=(qe(q(q(i*h)+(ne(2,k),re()))),me(2));o=(qe(q(q(l*h)+(ne(2,o),re()))),me(2));m=m+4|0;f=f+4|0}g=f;f=c+v|0;if(!N){l=n[m>>2];t=(qe(q(q(l*n[g>>2])+(ne(2,t),re()))),me(2));s=(qe(q(q(u*l)+(ne(2,s),re()))),me(2));k=(qe(q(q(r*l)+(ne(2,k),re()))),me(2));o=(qe(q(q(i*l)+(ne(2,o),re()))),me(2))}j[f>>2]=o;j[(v|4)+c>>2]=k;j[(v|8)+c>>2]=s;j[(v|12)+c>>2]=t;p=p+4|0;if((J|0)>(p|0)){continue}break}break a}L(9872,9897,69);z()}if((e|0)>(p|0)){m=(d|0)<1;while(1){f=p<<2;i=q(0);if(!m){o=b+f|0;g=0;while(1){k=g<<2;i=q(i+q(n[k+a>>2]*n[o+k>>2]));g=g+1|0;if((g|0)!=(d|0)){continue}break}}n[c+f>>2]=i;p=p+1|0;if((p|0)!=(e|0)){continue}break}}return}L(9738,9768,251);z()}function $a(a){var b=0,c=0,d=0,e=0,f=0,g=0,i=0,l=0;e=j[a+28>>2];g=s(e);b=2147483647>>>g|0;c=j[a+32>>2];d=b+c&-2147483648>>g;a:{b:{if((d|b)>>>0>=c+e>>>0){b=b>>>1|0;d=b+c&(b^-1);g=g+1|0;break b}if(!g){break a}}c=g;while(1){i=d>>>23|0;c:{if((i|0)!=255){g=d>>>31|0;f=j[a+40>>2];if((f|0)>=0){b=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g+f;f=0}else{f=-1}j[b+44>>2]=f|j[a+44>>2]}b=j[a+36>>2];if(b){l=g-1|0;while(1){e=-1;g=a;f=j[a+24>>2];if(m[a+4>>2]>f+j[a+8>>2]>>>0){j[a+24>>2]=f+1;h[f+j[a>>2]|0]=l;e=0;b=j[a+36>>2]}b=b-1|0;j[g+36>>2]=b;j[a+44>>2]=j[a+44>>2]|e;if(b){continue}break}}j[a+40>>2]=i&255;break c}j[a+36>>2]=j[a+36>>2]+1}d=d<<8&2147483392;b=(c|0)>8;g=c-8|0;c=g;if(b){continue}break}}c=j[a+40>>2];d:{e:{f:{if((c|0)<=-1){b=j[a+36>>2];if(b){break f}break d}b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2];b=j[a+36>>2];if(!b){break e}}while(1){e=-1;d=a;c=j[a+24>>2];if(m[a+4>>2]>c+j[a+8>>2]>>>0){j[a+24>>2]=c+1;h[c+j[a>>2]|0]=255;e=0;b=j[a+36>>2]}b=b-1|0;j[d+36>>2]=b;j[a+44>>2]=j[a+44>>2]|e;if(b){continue}break}}j[a+40>>2]=0}e=j[a+12>>2];d=j[a+16>>2];g:{if((d|0)<=7){c=j[a+44>>2];break g}b=d;while(1){d=a;f=j[a+4>>2];c=j[a+8>>2];if(f>>>0>c+j[a+24>>2]>>>0){c=c+1|0;j[a+8>>2]=c;h[j[a>>2]+(f-c|0)|0]=e;c=0}else{c=-1}c=c|j[a+44>>2];j[d+44>>2]=c;e=e>>>8|0;f=(b|0)>15;d=b-8|0;b=d;if(f){continue}break}}h:{if(c){break h}b=j[a+24>>2];O(b+j[a>>2]|0,0,(j[a+4>>2]-b|0)-j[a+8>>2]|0);if((d|0)<1){break h}b=j[a+8>>2];c=j[a+4>>2];if(b>>>0>=c>>>0){j[a+44>>2]=-1;return}f=d;d=0-g|0;if(!((f|0)<=(d|0)|c>>>0>b+j[a+24>>2]>>>0)){j[a+44>>2]=-1;e=(-1<>2]+(c+(b^-1)|0)|0;h[a|0]=k[a|0]|e}}function ad(a,b,c,d,e,f,g){var h=0,i=q(0),l=0,m=q(0),o=0,s=q(0),w=q(0),x=0,A=0,B=0,C=0,D=0,E=0,F=q(0),G=0,H=0,J=q(0),K=0,M=0,N=0,O=q(0);h=I;E=h;l=h-((b<<2)+15&-16)|0;I=l;j[g>>2]=0;A=(b|0)/2|0;a:{b:{h=0;c:{if((c|0)<1){break c}F=f?q(.03125):q(.0625);G=A-5|0;H=p(A,6)-102|0;J=q(A|0);K=+(A|0);M=(b|0)<1;N=(b|0)<36;while(1){if(!M){x=p(b,C);m=q(0);h=0;s=q(0);while(1){i=n[(h+x<<2)+a>>2];w=q(m+i);n[(h<<2)+l>>2]=w;m=q(q(s+w)-q(i+i));s=q(i+q(w*q(-.5)));h=h+1|0;if((h|0)!=(b|0)){continue}break}}j[l>>2]=0;j[l+4>>2]=0;j[l+40>>2]=0;j[l+44>>2]=0;j[l+32>>2]=0;j[l+36>>2]=0;j[l+24>>2]=0;j[l+28>>2]=0;j[l+16>>2]=0;j[l+20>>2]=0;j[l+8>>2]=0;j[l+12>>2]=0;h=0;m=q(0);w=q(0);s=q(0);x=(b|0)>1;i=q(0);d:{if(!x){break d}while(1){o=h<<3;i=n[o+l>>2];O=q(i*i);i=n[(o|4)+l>>2];i=q(O+q(i*i));s=q(s+q(F*q(i-s)));n[(h<<2)+l>>2]=s;m=q(m+i);h=h+1|0;if((A|0)!=(h|0)){continue}break}h=A;s=q(0);i=m;if(!x){break d}while(1){x=h-1|0;o=(x<<2)+l|0;w=q(w+q(q(n[o>>2]-w)*q(.125)));n[o>>2]=w;s=w1;h=x;if(o){continue}break}w=s;i=m}m=n[l>>2];if(m!=m){break b}m=q(J/q(q(y(+q(i*w)*.5*K))+q(1.0000000036274937e-15)));if(m!=m){break a}x=0;if(!N){i=q(m*q(64));h=12;while(1){m=q(v(q(i*q(n[(h<<2)+l>>2]+q(1.0000000036274937e-15)))));o=q(t(m,q(127)))q(127)?B:o?B:+m;e:{if(r(B)<2147483648){o=~~B;break e}o=-2147483648}x=k[o+42832|0]+x|0;h=h+4|0;if((G|0)>(h|0)){continue}break}}h=(x<<8)/(H|0)|0;if((h|0)>(D|0)){j[e>>2]=C;D=h}C=C+1|0;if((C|0)!=(c|0)){continue}break}h=(D|0)>200;if(!f|D-201>>>0>398){break c}j[g>>2]=1;h=0}n[d>>2]=y(u(+q(q(t(q(u(q(q(y(+(p(D,27)|0)))+q(-42)),q(0))),q(163)))*q(.006899999920278788))+ -.139,0));I=E;return h}L(42960,42508,369);z()}L(42998,42508,370);z()}function ac(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0;g=j[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=j[13352]<<1>>>0){break a}}return 0}b:{if(b>>>0<=d>>>0){c=d-b|0;if(c>>>0<16){break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|3;j[f+4>>2]=j[f+4>>2]|1;Tb(b,c);break b}c=0;if(j[13238]==(f|0)){d=d+j[13235]|0;if(d>>>0<=b>>>0){break a}j[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;j[c+4>>2]=b|1;j[13235]=b;j[13238]=c;break b}if(j[13237]==(f|0)){d=d+j[13234]|0;if(d>>>0>>0){break a}c=d-b|0;c:{if(c>>>0>=16){j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=c|1;d=a+d|0;j[d>>2]=c;j[d+4>>2]=j[d+4>>2]&-2;break c}j[a+4>>2]=d|g&1|2;b=a+d|0;j[b+4>>2]=j[b+4>>2]|1;c=0;b=0}j[13237]=b;j[13234]=c;break b}e=j[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0>>0){break a}k=h-b|0;d:{if(e>>>0<=255){c=j[f+8>>2];e=e>>>3|0;d=j[f+12>>2];if((d|0)==(c|0)){j[13232]=j[13232]&ke(-2,e);break d}j[c+12>>2]=d;j[d+8>>2]=c;break d}i=j[f+24>>2];d=j[f+12>>2];e:{if((f|0)!=(d|0)){c=j[f+8>>2];j[c+12>>2]=d;j[d+8>>2]=c;break e}f:{c=f+20|0;e=j[c>>2];if(e){break f}c=f+16|0;e=j[c>>2];if(e){break f}d=0;break e}while(1){l=c;d=e;c=d+20|0;e=j[c>>2];if(e){continue}c=d+16|0;e=j[d+16>>2];if(e){continue}break}j[l>>2]=0}if(!i){break d}c=j[f+28>>2];e=(c<<2)+53232|0;g:{if(j[e>>2]==(f|0)){j[e>>2]=d;if(d){break g}j[13233]=j[13233]&ke(-2,c);break d}j[i+(j[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}j[d+24>>2]=i;c=j[f+16>>2];if(c){j[d+16>>2]=c;j[c+24>>2]=d}c=j[f+20>>2];if(!c){break d}j[d+20>>2]=c;j[c+24>>2]=d}if(k>>>0<=15){j[a+4>>2]=g&1|h|2;b=a+h|0;j[b+4>>2]=j[b+4>>2]|1;break b}j[a+4>>2]=g&1|b|2;b=a+b|0;j[b+4>>2]=k|3;c=a+h|0;j[c+4>>2]=j[c+4>>2]|1;Tb(b,k)}c=a}return c}function za(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0;m=I-48|0;I=m;a:{b:{f=d?(p(c,36)+a|0)+6100|0:a+4736|0;c=(h[f+29|0]<<1)+h[f+30|0]|0;if(c>>>0<6){if((c|0)<=1?d:0){break b}c:{if(!((c|0)<2?!d:0)){N(b,c-2|0,5829,8);break c}N(b,c,5833,8)}c=h[f|0];d:{if((e|0)==2){N(b,c,7328,8);break d}N(b,c>>3,(h[f+29|0]<<3)+7296|0,8);N(b,k[f|0]&7,5872,8)}if(j[a+4580>>2]>=2){d=1;while(1){N(b,h[d+f|0],7328,8);d=d+1|0;if((d|0)>2]){continue}break}}c=j[a+4692>>2];N(b,h[f+8|0],j[c+16>>2]+p(i[c>>1],h[f+29|0]>>1)|0,8);Aa(m+16|0,m,j[a+4692>>2],h[f+8|0]);g=j[a+4692>>2];c=i[g+2>>1];if((c|0)!=j[a+4640>>2]){break a}d=0;if((c|0)>0){while(1){c=d;d=c+1|0;n=f+d|0;o=h[n+8|0];e:{if((o|0)>=4){N(b,8,j[g+28>>2]+i[(m+16|0)+(c<<1)>>1]|0,8);N(b,h[n+8|0]-4|0,5880,8);break e}if((o|0)<=-4){N(b,0,j[g+28>>2]+i[(m+16|0)+(c<<1)>>1]|0,8);N(b,-4-h[n+8|0]|0,5880,8);break e}N(b,o+4|0,j[g+28>>2]+i[(m+16|0)+(c<<1)>>1]|0,8)}g=j[a+4692>>2];if(i[g+2>>1]>(d|0)){continue}break}}if(j[a+4580>>2]==4){N(b,h[f+31|0],5835,8)}f:{if(k[f+29|0]!=2){break f}g:{if(!((e|0)!=2|j[a+5768>>2]!=2)){d=i[f+26>>1]-i[a+5772>>1]|0;c=d+8|0;N(b,c>>>0>19?0:d+9|0,2080,8);if(c>>>0<20){break g}}c=i[f+26>>1];d=j[a+4576>>2]>>1;g=(c|0)/(d|0)|0;N(b,g,2048,8);N(b,c-p(g<<16>>16,d<<16>>16)|0,j[a+4684>>2],8)}i[a+5772>>1]=l[f+26>>1];N(b,h[f+28|0],j[a+4688>>2],8);N(b,h[f+32|0],7369,8);if(j[a+4580>>2]>=1){d=0;while(1){N(b,h[(d+f|0)+4|0],j[(h[f+32|0]<<2)+7440>>2],8);d=d+1|0;if((d|0)>2]){continue}break}}if(e){break f}N(b,h[f+33|0],5826,8)}j[a+5768>>2]=h[f+29|0];N(b,h[f+34|0],5857,8);I=m+48|0;return}L(7919,7971,59);z()}L(7993,7971,60);z()}L(8047,7971,93);z()}function qb(a,b,c,d,e){var f=0,g=0,m=0,n=0,o=0,q=0,r=0,s=0;f=-1;a:{if(j[a+4>>2]<(b|0)|(b|0)<=0){break a}o=a+200|0;b:{c:{d:{e:{f:{g:{n=b;switch(b-1|0){case 1:break f;case 0:break g;default:break e}}g=i[o>>1]+1|0;f=-2;if((g|0)>(d|0)){break a}h[c|0]=k[a|0]&252;f=c+1|0;break d}g=l[o>>1];m=g<<16>>16;f=g;g=l[o+2>>1];if((f|0)==(g|0)){g=m<<1|1;f=-2;if((g|0)>(d|0)){break a}h[c|0]=k[a|0]&252|1;f=c+1|0;break d}g=((m+(g<<16>>16)|0)+((m|0)>251)|0)+2|0;f=-2;if((g|0)>(d|0)){break a}h[c|0]=k[a|0]&252|2;f=c+1|0;f=sb(i[o>>1],f)+f|0;break d}f=c;if((n|0)>2){break c}}if(!e|(d|0)<=(g|0)){break b}}f=1;m=i[o>>1];h:{i:{if((n|0)<=1){break i}g=m&65535;while(1){if((g|0)==l[(f<<1)+o>>1]){f=f+1|0;if((n|0)!=(f|0)){continue}break i}break}f=1;g=(m+2|0)+((m|0)>251?2:1)|0;m=b-1|0;if((m|0)>=2){while(1){q=g;g=i[(f<<1)+o>>1];g=(q+g|0)+((g|0)>251?2:1)|0;f=f+1|0;if((m|0)!=(f|0)){continue}break}}g=i[(n-1<<1)+o>>1]+g|0;f=-2;if((g|0)>(d|0)){break a}f=k[a|0];q=n|-128;h[c+1|0]=q;h[c|0]=f|3;m=0;break h}g=p(m,n)+2|0;f=-2;if((g|0)>(d|0)){break a}f=k[a|0];h[c+1|0]=n;h[c|0]=f|3;q=n;m=1}f=c+2|0;j:{if(!e){break j}r=d-g|0;if(!r){break j}h[c+1|0]=q|64;s=(r-1|0)/255|0;if((r|0)>=256){q=(s|0)>1?s:1;O(f,255,q);g=0;while(1){f=f+1|0;g=g+1|0;if((q|0)!=(g|0)){continue}break}}h[f|0]=(r+p(s,-255)|0)-1;f=f+1|0;g=d}if((n|0)<2|m){break b}b=b-1|0;m=(b|0)>1?b:1;b=0;while(1){f=sb(i[(b<<1)+o>>1],f)+f|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}}if((n|0)>=1){m=a+8|0;a=0;while(1){b=(a<<1)+o|0;f=U(f,j[m+(a<<2)>>2],i[b>>1])+i[b>>1]|0;a=a+1|0;if((n|0)!=(a|0)){continue}break}}if(!(!e|c+d>>>0<=f>>>0)){O(f,0,(d-f|0)+c|0)}f=g}return f}function Zb(a,b,c,d){var e=q(0),f=0,g=0,h=0,i=q(0),k=q(0),l=q(0),m=0,o=0,p=0,r=0,s=q(0),t=q(0),u=q(0),v=q(0),w=q(0),x=q(0),y=q(0);f=I-48|0;I=f;m=c>>1;h=j[a>>2];if((c|0)>=4){o=(m|0)>2?m:2;g=1;while(1){p=g<<3;r=h+p|0;n[(g<<2)+b>>2]=q(n[r>>2]+q(q(n[r-4>>2]+n[h+(p|4)>>2])*q(.5)))*q(.5);g=g+1|0;if((o|0)!=(g|0)){continue}break}}e=q(q(q(n[h+4>>2]*q(.5))+n[h>>2])*q(.5));n[b>>2]=e;if((d|0)==2){a=j[a+4>>2];p=b;if((c|0)>=4){d=(m|0)>2?m:2;g=1;while(1){h=(g<<2)+b|0;r=h;e=n[h>>2];h=g<<3;o=h+a|0;n[r>>2]=e+q(q(n[o>>2]+q(q(n[o-4>>2]+n[a+(h|4)>>2])*q(.5)))*q(.5));g=g+1|0;if((d|0)!=(g|0)){continue}break}e=n[b>>2]}n[p>>2]=e+q(q(q(n[a+4>>2]*q(.5))+n[a>>2])*q(.5))}g=0;_b(b,f+16|0,m);n[f+16>>2]=n[f+16>>2]*q(1.000100016593933);e=n[f+20>>2];n[f+20>>2]=e-q(q(e*q(.00800000037997961))*q(.00800000037997961));e=n[f+24>>2];n[f+24>>2]=e-q(q(e*q(.01600000075995922))*q(.01600000075995922));e=n[f+28>>2];n[f+28>>2]=e-q(q(e*q(.024000000208616257))*q(.024000000208616257));e=n[f+32>>2];n[f+32>>2]=e-q(q(e*q(.03200000151991844))*q(.03200000151991844));$b(f,f+16|0);e=q(n[f+8>>2]*q(.7289999127388));n[f+8>>2]=e;i=q(n[f+12>>2]*q(.6560999155044556));n[f+12>>2]=i;k=q(n[f+4>>2]*q(.809999942779541));n[f+4>>2]=k;l=q(n[f>>2]*q(.8999999761581421));n[f>>2]=l;if((c|0)>=2){t=q(i+q(e*q(.800000011920929)));u=q(e+q(k*q(.800000011920929)));v=q(k+q(l*q(.800000011920929)));w=q(i*q(.800000011920929));x=q(l+q(.800000011920929));e=q(0);i=q(0);k=q(0);l=q(0);while(1){a=(g<<2)+b|0;s=n[a>>2];n[a>>2]=q(w*y)+q(q(t*e)+q(q(u*i)+q(q(v*k)+q(q(x*l)+s))));y=e;e=i;i=k;k=l;l=s;g=g+1|0;if((m|0)!=(g|0)){continue}break}}I=f+48|0}function ed(a,b,c,d,e,f,g){var h=0,k=0,l=0,m=0,o=0,r=0,s=q(0),t=q(0),u=0,v=0,w=q(0),x=q(0),y=0,z=0,A=0,B=0,C=0,D=q(0),E=0;k=I;B=k;u=j[a>>2];o=u>>1;y=j[((f<<2)+a|0)+8>>2];w=n[y+4>>2];v=j[a+24>>2];if((f|0)>=1){a=0;while(1){u=o;o=o>>1;v=(u<<2)+v|0;a=a+1|0;if((f|0)!=(a|0)){continue}break}}a=e<<1&-4;h=o<<2;f=(a+(h+b|0)|0)-4|0;k=k-(h+15&-16)|0;h=k;I=h;z=e+3>>2;b=a+b|0;l=u>>2;r=h-((l<<3)+15&-16)|0;I=r;a:{if((e|0)<1){a=k;break a}m=(z|0)>1?z:1;h=a+d|0;A=h-4|0;E=0-o<<2;a=k;while(1){s=n[A>>2];t=n[h>>2];n[a>>2]=q(s*n[(o<<2)+b>>2])+q(t*n[f>>2]);n[a+4>>2]=q(t*n[b>>2])-q(s*n[f+E>>2]);A=A-8|0;h=h+8|0;f=f-8|0;b=b+8|0;a=a+8|0;C=C+1|0;if((C|0)!=(m|0)){continue}break}}h=l-z|0;if((h|0)>(m|0)){while(1){j[a>>2]=j[f>>2];j[a+4>>2]=j[b>>2];f=f-8|0;b=b+8|0;a=a+8|0;m=m+1|0;if((h|0)>(m|0)){continue}break}m=h}if((l|0)>(m|0)){h=((e<<2)+d|0)-4|0;e=0-o<<2;while(1){n[a>>2]=q(n[h>>2]*n[f>>2])-q(n[d>>2]*n[b+e>>2]);n[a+4>>2]=q(n[h>>2]*n[b>>2])+q(n[d>>2]*n[(o<<2)+f>>2]);h=h-8|0;d=d+8|0;f=f-8|0;b=b+8|0;a=a+8|0;m=m+1|0;if((m|0)!=(l|0)){continue}break}}if((u|0)<=3){Ea(y,r);I=B;return}b=(l|0)>1?l:1;a=0;while(1){d=(i[j[y+44>>2]+(a<<1)>>1]<<3)+r|0;s=n[(a+l<<2)+v>>2];t=n[k>>2];x=n[(a<<2)+v>>2];D=n[k+4>>2];n[d+4>>2]=w*q(q(s*t)+q(x*D));n[d>>2]=w*q(q(x*t)-q(s*D));k=k+8|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}Ea(y,r);if((u|0)>=4){b=(l|0)>1?l:1;a=0;f=(p(o-1|0,g)<<2)+c|0;d=g<<1;e=0-d<<2;while(1){w=n[r+4>>2];s=n[(a+l<<2)+v>>2];t=n[r>>2];x=n[(a<<2)+v>>2];n[c>>2]=q(w*s)-q(t*x);n[f>>2]=q(s*t)+q(w*x);r=r+8|0;f=e+f|0;c=(d<<2)+c|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}}I=B}function _d(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=I-144|0;I=g;j[g+12>>2]=g+16;j[g+8>>2]=g+80;n=c>>1;Rb(b,g+80|0,g+16|0,n);q=g+80|0;t=i[7560];d=Y(g+80|0,t,n);if((d|0)<=-1){i[a>>1]=0;q=g+16|0;r=1;d=Y(g+16|0,t,n)}a:while(1){o=1;e=t;while(1){b:{c:{d:{h=(d|0)>0;w=o<<1;p=i[w+15120>>1];u=Y(q,p,n);if(!((d|0)<0|(0-k|0)<(u|0)?!((u|0)>=(k|0)?!h:0):0)){f=e+p|0;s=(f>>1)+(f&1)|0;f=Y(q,s,n);e:{f:{if(h){break f}k=-256;if((f|0)<=-1){break f}h=f;f=s;break e}m=(f|0)<1&(d|0)>-1;h=m?f:u;d=m?d:f;e=m?e:s;k=m?-256:-128;f=m?s:p}s=f;f=f+e|0;p=(f>>1)+(f&1)|0;f=Y(q,p,n);if((f|0)<=-1|(d|0)>0){break d}h=f;break c}h=(o|0)<128;k=0;e=p;d=u;o=o+1|0;if(h){continue}if(v>>>0>=16){b=32768/(c+1|0)|0;i[a>>1]=b;o=2;if((c|0)<2){break b}d=b<<1;i[a+2>>1]=d;if((c|0)==2){break b}while(1){d=l[a>>1]+d|0;i[(o<<1)+a>>1]=d;o=o+1|0;if((o|0)!=(c|0)){continue}break}break b}Na(b,c,(-2<-1){continue a}i[a>>1]=0;r=1;q=g+16|0;d=Y(g+16|0,t,n);v=e;continue a}m=(f|0)<1&(d|0)>-1;h=m?f:h;d=m?d:f;e=m?e:p;k=m?k:k|64;p=m?p:s}e=e+p|0;e=Y(q,(e>>1)+(e&1)|0,n);g:{if(!((e|0)<=-1|(d|0)>0)){h=e;break g}f=(e|0)<1&(d|0)>-1;h=f?e:h;d=f?d:e;k=f?k:k+32|0}e=d-h|0;h=d>>31;h:{if((h+d^h)>=65536){k=((d|0)/(e>>5)|0)+k|0;break h}if(!e){break h}k=(((d<<5)+(e>>1)|0)/(e|0)|0)+k|0}e=(o<<8)+k|0;i[(r<<1)+a>>1]=(e|0)<32767?e:32767;r=r+1|0;if((r|0)>=(c|0)){break b}k=!u;d=4096-(r<<12&8192)|0;e=i[w+15118>>1];q=j[(g+8|0)+((r&1)<<2)>>2];continue}break}break}I=g+144|0}function kb(a,b,c,d,e,f){var g=0,h=0,i=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=I-16|0;I=i;m=j[a+24>>2];t=m-1|0;u=j[a+72>>2];o=j[a+28>>2];q=p(o,b);r=u+(q<<2)|0;v=j[a+88>>2];l=j[f>>2];n=j[d>>2];h=b<<2;g=h+j[a+68>>2]|0;a:{if(j[g>>2]){j[i+12>>2]=l;j[i+8>>2]=j[g>>2];j[a+56>>2]=1;s=K[j[a+84>>2]](a,b,r,i+8|0,e,i+12|0)|0;g=j[i+8>>2];k=h+j[a+60>>2]|0;h=j[k>>2];if((g|0)>(h|0)){j[i+8>>2]=h;g=h}j[i+12>>2]=s;j[k>>2]=j[k>>2]-g;h=j[i+8>>2];if((m|0)>=2){g=0;while(1){j[(g<<2)+r>>2]=j[(g+h<<2)+r>>2];g=g+1|0;if((t|0)!=(g|0)){continue}break}}k=j[a+68>>2]+(b<<2)|0;h=j[k>>2]-h|0;j[k>>2]=h;if(h){g=0;s=j[i+8>>2];while(1){w=g+t|0;j[(w<<2)+r>>2]=j[(s+w<<2)+r>>2];g=g+1|0;if((h|0)!=(g|0)){continue}break}}g=j[i+12>>2];l=l-g|0;if(j[k>>2]){break a}e=(p(g,j[a+92>>2])<<2)+e|0}if(!l|!n){break a}k=o-t|0;u=(u+(m+q<<2)|0)-4|0;while(1){h=k>>>0>>0?k:n;j[i+12>>2]=h;j[i+8>>2]=l;b:{if(c){g=0;if(!h){break b}while(1){j[(g+t<<2)+r>>2]=j[(p(g,v)<<2)+c>>2];g=g+1|0;if((h|0)!=(g|0)){continue}break}break b}if(!h){break b}O(u,0,h<<2)}j[a+56>>2]=1;m=j[a+24>>2];o=j[a+72>>2]+(p(j[a+28>>2],b)<<2)|0;s=K[j[a+84>>2]](a,b,o,i+12|0,e,i+8|0)|0;g=j[i+12>>2];q=j[a+60>>2]+(b<<2)|0;h=j[q>>2];if((g|0)>(h|0)){j[i+12>>2]=h;g=h}j[i+8>>2]=s;j[q>>2]=j[q>>2]-g;h=j[i+12>>2];g=h;if((m|0)>=2){m=m-1|0;g=0;while(1){j[o+(g<<2)>>2]=j[o+(g+h<<2)>>2];g=g+1|0;if((m|0)!=(g|0)){continue}break}g=j[i+12>>2]}n=n-h|0;h=j[i+8>>2];l=l-h|0;if(!l){break a}c=c?(p(g,v)<<2)+c|0:0;e=(p(h,j[a+92>>2])<<2)+e|0;if(n){continue}break}}j[d>>2]=j[d>>2]-n;j[f>>2]=j[f>>2]-l;I=i+16|0}function Ba(a,b,c,d){var e=0,f=0,g=0;a:{b:{e=O(a,0,300);a=e;c:{if(d){d:{if((b|0)<=15999){if((b|0)==8e3|(b|0)==12e3){break d}break a}if((b|0)==16e3|(b|0)==48e3){break d}if((b|0)!=24e3){break a}}if((c|0)!=16e3?!((c|0)==8e3|(c|0)==12e3):0){break a}d=(p((b>>>12|0)-((b|0)>16e3)>>((b|0)>24e3),3)+(c>>>12|0)|0)+6487|0;break c}if((b|0)!=12e3?!((b|0)==8e3|(b|0)==16e3):0){break b}e:{if((c|0)<=15999){if((c|0)==8e3|(c|0)==12e3){break e}break b}if((c|0)==16e3|(c|0)==24e3){break e}if((c|0)!=48e3){break b}}d=(p(b>>>12|0,5)+((c>>>12|0)-((c|0)>16e3)>>((c|0)>24e3))|0)+6500|0}j[a+292>>2]=h[d|0];j[e+288>>2]=((c&65535)>>>0)/1e3;a=((b&65535)>>>0)/1e3|0;j[e+284>>2]=a;j[e+268>>2]=p(a,10);f:{if((b|0)<(c|0)){a=1;if(b<<1==(c|0)){j[e+264>>2]=1;a=0;break f}j[e+264>>2]=2;break f}if((b|0)>(c|0)){j[e+264>>2]=3;a=c<<2;if((a|0)==(p(b,3)|0)){j[e+296>>2]=6e3;j[e+276>>2]=18;j[e+280>>2]=3;a=0;break f}d=p(c,3);if((d|0)==b<<1){j[e+296>>2]=6064;j[e+276>>2]=18;j[e+280>>2]=2;a=0;break f}if(c<<1==(b|0)){j[e+296>>2]=6112;j[e+276>>2]=24;j[e+280>>2]=1;a=0;break f}if((b|0)==(d|0)){j[e+296>>2]=6144;j[e+276>>2]=36;j[e+280>>2]=1;a=0;break f}if((a|0)==(b|0)){j[e+296>>2]=6192;j[e+276>>2]=36;j[e+280>>2]=1;a=0;break f}if((p(c,6)|0)==(b|0)){j[e+296>>2]=6240;j[e+276>>2]=36;j[e+280>>2]=1;a=0;break f}L(6454,6474,154);z()}a=0;j[e+264>>2]=0}f=b<>16;g=(c>>>15|0)+1>>>1|0;b=(b<<(a|14))/(c|0)<<2;while(1){a=b;b=b+1|0;if(((p(d,a>>16)+p(a,g)|0)+(p(d,a&65535)>>16)|0)<(f|0)){continue}break}j[e+272>>2]=a;return 0}L(6454,6474,101);z()}L(6454,6474,94);z()}function Tc(a,b,c,d,e){var f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0;r=-1;a:{if(!e|(b|0)<0){break a}r=-4;if(!b){break a}o=k[a|0];b:{if(o&128){g=(48e3<<(o>>>3&3)>>>0)/400|0;break b}g=o&8?960:480;if((o&96)==96){break b}f=o>>>3&3;g=2880;if((f|0)==3){break b}g=(48e3<>>0)/100|0}l=1;m=a+1|0;n=b-1|0;f=n;c:{d:{switch(o&3){case 1:if(n&1){break a}f=n>>>1|0;i[e>>1]=f;l=2;break c;case 2:if((b|0)<=1){i[e>>1]=65535;return-4}f=k[m|0];if(f>>>0>=252){l=2;if((b|0)<=2){i[e>>1]=65535;return-4}f=(k[a+2|0]<<2)+f|0}i[e>>1]=f;a=n-l|0;if((a|0)<(f|0)){break a}f=a-f|0;m=l+m|0;l=2;break c;case 0:break c;default:break d}}if((b|0)<2){break a}q=k[a+1|0];l=q&63;if(!l|p(l,g)>>>0>5760){break a}f=a+2|0;b=b-2|0;a=0;e:{if(!(q&64)){m=f;break e}while(1){if((b|0)<1){break a}g=k[f|0];n=(g|0)==255;g=(n?-2:g)&255;a=g+a|0;b=(g^-1)+b|0;m=f+1|0;f=m;if(n){continue}break}if((b|0)<0){break a}}if(q&128){if(l>>>0<2){f=b;break c}n=l-1|0;f=b;g=b;while(1){q=(s<<1)+e|0;if((g|0)<=0){i[q>>1]=65535;return-4}a=1;b=k[m|0];if(b>>>0>=252){if((g|0)<=1){i[q>>1]=65535;return-4}b=(k[m+1|0]<<2)+b|0;a=2}i[q>>1]=b;g=g-a|0;if((g|0)<(b|0)){break a}m=a+m|0;f=(f-a|0)-b|0;s=s+1|0;if((n|0)!=(s|0)){continue}break}if((f|0)>=0){break c}break a}f=(b|0)/(l|0)|0;if((p(l,f)|0)!=(b|0)){break a}if(l>>>0<2){break c}a=l-1|0;g=0;while(1){i[(g<<1)+e>>1]=f;g=g+1|0;if((a|0)!=(g|0)){continue}break}}if((f|0)>1275){break a}i[((l<<1)+e|0)-2>>1]=f;if(l){b=0;while(1){if(d){j[(b<<2)+d>>2]=m}m=i[(b<<1)+e>>1]+m|0;b=b+1|0;if((l|0)!=(b|0)){continue}break}}if(c){h[c|0]=o}r=l}return r}function Nb(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=(c<<1)+b|0;m=c-1|0;n=(m<<1)+a|0;s=(c|0)<2;a:{while(1){d=i[a>>1];g=i[b>>1];f=d-g|0;e=1;j=0;if(!s){while(1){h=d<<16;k=e<<1;d=i[k+a>>1];k=(d-(h>>16)|0)-i[b+k>>1]|0;h=(k|0)<(f|0);f=h?k:f;j=h?e:j;e=e+1|0;if((e|0)!=(c|0)){continue}break}}h=i[o>>1];e=32768-(h+i[n>>1]|0)|0;d=(e|0)<(f|0);if(((d?e:f)|0)>-1){break a}d=d?c:j;b:{if(!d){i[a>>1]=g;break b}c:{d:{if((c|0)!=(d|0)){if((d|0)>=1){break d}g=0;break c}i[n>>1]=-32768-h;break b}e=1;if((d|0)==1){break c}while(1){g=i[(e<<1)+b>>1]+g|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}e=g;g=d<<1;p=g+b|0;k=i[p>>1]>>1;f=e+k|0;j=32768;e:{if((c|0)<=(d|0)){break e}j=32768-h|0;e=m;if((d|0)>=(e|0)){break e}while(1){j=j-i[(e<<1)+b>>1]|0;e=e-1|0;if((d|0)<(e|0)){continue}break}}h=a+g|0;q=h-2|0;d=i[h>>1]+i[q>>1]|0;g=(d>>1)+(d&1)|0;e=j-k|0;f:{if((e|0)<(f|0)){d=f;if((g|0)>(d|0)){break f}d=(e|0)>(g|0)?e:g;break f}d=e;if((g|0)>(d|0)){break f}d=(f|0)>(g|0)?f:g}d=d-k|0;i[q>>1]=d;i[h>>1]=d+l[p>>1]}r=r+1|0;if((r|0)!=20){continue}break}Yd(a,c);d=i[a>>1];e=i[b>>1];f=(d|0)>(e|0)?d:e;i[a>>1]=f;m=(c|0)<2;if(!m){e=1;while(1){j=e<<1;g=j+a|0;d=i[g>>1];f=i[b+j>>1]+(f<<16>>16)|0;f=(f|0)<32767?f:32767;f=(f|0)>-32768?f:-32768;f=(d|0)>(f|0)?d:f;i[g>>1]=f;e=e+1|0;if((e|0)!=(c|0)){continue}break}}d=i[n>>1];e=32768-i[o>>1]|0;f=(d|0)<(e|0)?d:e;i[n>>1]=f;if(m){break a}e=c-2|0;while(1){d=e<<1;m=d+a|0;c=i[m>>1];d=(f<<16>>16)-i[(b+d|0)+2>>1]|0;f=(c|0)<(d|0)?c:d;i[m>>1]=f;c=(e|0)>0;e=e-1|0;if(c){continue}break}}}function Wa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;if(b>>>0>1){m=b-1|0;a:{if(m>>>0>=256){d=j[a+28>>2];i=24-s(m)|0;c=m>>>i|0;g=c+1|0;b=(d>>>0)/(g>>>0)|0;j[a+36>>2]=b;f=j[a+32>>2];l=(f>>>0)/(b>>>0)|0;e=l+1|0;g=e-g|0;n=(g>>>0>e>>>0?0:g)+(c-l|0)|0;c=p(b,c-n|0);h=f-c|0;j[a+32>>2]=h;c=n?b:d-c|0;j[a+28>>2]=c;if(c>>>0<=8388608){d=j[a+24>>2];g=j[a+40>>2];f=j[a+20>>2];o=j[a+4>>2];while(1){l=c<<8;j[a+28>>2]=l;f=f+8|0;j[a+20>>2]=f;b=0;if(d>>>0>>0){e=d+1|0;j[a+24>>2]=e;b=k[j[a>>2]+d|0];d=e}j[a+40>>2]=b;h=((g<<8|b)>>>1&255|h<<8&2147483392)^255;j[a+32>>2]=h;e=c>>>0<32769;g=b;c=l;if(e){continue}break}}l=n<>2];b=j[a+16>>2];b:{if(i>>>0<=b>>>0){f=b;break b}c=j[a+8>>2];d=j[a+4>>2];while(1){if(c>>>0>>0){c=c+1|0;j[a+8>>2]=c;e=k[j[a>>2]+(d-c|0)|0]}else{e=0}h=e<>2]=f-i;j[a+12>>2]=h>>>i;j[a+20>>2]=i+j[a+20>>2];i=l|(-1<>>0>=i>>>0){break a}j[a+44>>2]=1;return m}g=j[a+28>>2];c=(g>>>0)/(b>>>0)|0;j[a+36>>2]=c;f=j[a+32>>2];l=(f>>>0)/(c>>>0)|0;e=l+1|0;d=e-b|0;i=((l^-1)+b|0)+(d>>>0>e>>>0?0:d)|0;b=p(c,(i^-1)+b|0);h=f-b|0;j[a+32>>2]=h;c=i?c:g-b|0;j[a+28>>2]=c;if(c>>>0>8388608){break a}d=j[a+24>>2];g=j[a+40>>2];f=j[a+20>>2];m=j[a+4>>2];while(1){l=c<<8;j[a+28>>2]=l;f=f+8|0;j[a+20>>2]=f;b=0;if(d>>>0>>0){e=d+1|0;j[a+24>>2]=e;b=k[j[a>>2]+d|0];d=e}j[a+40>>2]=b;h=((g<<8|b)>>>1&255|h<<8&2147483392)^255;j[a+32>>2]=h;e=c>>>0<32769;g=b;c=l;if(e){continue}break}}return i}L(9274,9298,203);z()}function cc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;e=I-32|0;I=e;m=j[a+12>>2];if(m){n=j[a+8>>2];d=262144-(n<<10)|0;a:{if((d|0)<=262143){g=d>>16;f=d&64512;if(f){i=g+1|0;d=f<<16>>16;if(f>>>0>=32768){f=p(i,12);k=j[f+5896>>2];h=p(g,12);l=k-j[h+5896>>2]|0;j[e+24>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);k=j[f+5892>>2];l=k-j[h+5892>>2]|0;j[e+20>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);f=j[f+5888>>2];h=f-j[h+5888>>2]|0;j[e+16>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);i=i<<3;f=j[i+5956>>2];g=g<<3;h=f-j[g+5956>>2]|0;j[e+12>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);i=j[i+5952>>2];g=i-j[g+5952>>2]|0;j[e+8>>2]=(p(d,g>>16)+i|0)+(p(d,g&65535)>>16);break a}f=p(i,12);h=p(g,12);k=j[h+5896>>2];l=j[f+5896>>2]-k|0;j[e+24>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);k=j[h+5892>>2];l=j[f+5892>>2]-k|0;j[e+20>>2]=(p(d,l>>16)+k|0)+(p(d,l&65535)>>16);k=j[f+5888>>2];f=j[h+5888>>2];h=k-f|0;j[e+16>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);i=i<<3;g=g<<3;f=j[g+5956>>2];h=j[i+5956>>2]-f|0;j[e+12>>2]=(p(d,h>>16)+f|0)+(p(d,h&65535)>>16);g=j[g+5952>>2];i=j[i+5952>>2]-g|0;j[e+8>>2]=(p(d,i>>16)+g|0)+(p(d,i&65535)>>16);break a}d=p(g,12);j[e+24>>2]=j[d+5896>>2];d=d+5888|0;i=j[d+4>>2];j[e+16>>2]=j[d>>2];j[e+20>>2]=i;d=(g<<3)+5952|0;g=j[d+4>>2];j[e+8>>2]=j[d>>2];j[e+12>>2]=g;break a}j[e+24>>2]=j[1486];d=j[1485];j[e+16>>2]=j[1484];j[e+20>>2]=d;d=j[1497];j[e+8>>2]=j[1496];j[e+12>>2]=d}d=m+n|0;d=(d|0)>0?d:0;j[a+8>>2]=(d|0)<256?d:256;dc(b,e+16|0,e+8|0,a,b,c)}I=e+32|0}function tb(a,b,c,d,e,f,g,h,i){var k=q(0),l=0,m=q(0),o=q(0),r=q(0),s=q(0),t=q(0),u=0,v=q(0),w=q(0),x=0;l=I;u=l;if(!e){I=u;return q(0)}a:{if((i|0)==48e3){f=f<<1;e=e<<1;break a}if((i|0)!=16e3){break a}f=(f<<1)/3|0;e=(e<<1)/3|0}l=l-((e<<2)+15&-16)|0;x=l;I=l;K[a|0](b,l,e,f,0,g,h);m=(g|0)==-2?q(q(30517578125e-15)/q(h|0)):(g|0)>-1?q(152587890625e-16):q(30517578125e-15);if((e|0)>=1){g=0;while(1){a=l+(g<<2)|0;n[a>>2]=m*n[a>>2];g=g+1|0;if((g|0)!=(e|0)){continue}break}}b:{if((i|0)==48e3){m=q(0);if((e|0)<2){break b}a=(e|0)/2|0;g=0;while(1){b=g<<3;k=n[b+l>>2];o=n[d>>2];r=q(q(k-o)*q(.6074370741844177));n[d>>2]=k+r;k=n[l+(b|4)>>2];s=n[d+4>>2];t=q(q(k-s)*q(.15062999725341797));n[d+4>>2]=k+t;v=n[d+8>>2];w=q(q(q(-k)-v)*q(.15062999725341797));n[d+8>>2]=w-k;k=q(o+r);n[(g<<2)+c>>2]=q(q(s+k)+t)*q(.5);o=m;m=q(q(k+v)+w);m=q(o+q(m*m));g=g+1|0;if((a|0)!=(g|0)){continue}break}break b}m=q(0);if((i|0)!=16e3){if((i|0)!=24e3){break b}M(c,l,e<<2);break b}b=p(e,3);a=x-((b<<2)+15&-16)|0;I=a;if((e|0)>=1){g=0;while(1){f=a+p(g,12)|0;h=j[l+(g<<2)>>2];j[f+8>>2]=h;j[f+4>>2]=h;j[f>>2]=h;g=g+1|0;if((g|0)!=(e|0)){continue}break}}e=(b|0)/2|0;if((b|0)>=2){g=0;while(1){b=g<<3;k=n[b+a>>2];o=n[d>>2];r=q(q(k-o)*q(.6074370741844177));n[d>>2]=k+r;k=n[a+(b|4)>>2];s=n[d+4>>2];t=q(q(k-s)*q(.15062999725341797));n[d+4>>2]=k+t;n[d+8>>2]=q(q(q(-k)-n[d+8>>2])*q(.15062999725341797))-k;n[(g<<2)+c>>2]=q(q(s+q(o+r))+t)*q(.5);g=g+1|0;if((e|0)!=(g|0)){continue}break}}}I=u;return m}function vb(a,b,c){var d=q(0),e=q(0),f=0,g=0,i=0,k=0,l=0,m=0,o=0;i=j[a+12>>2];a:{if((i|0)<1){break a}k=j[a+8>>2];g=j[a>>2];while(1){n[(f<<2)+b>>2]=h[f+g|0];f=f+1|0;if((i|0)!=(f|0)){continue}break}if((i|0)<1){break a}m=j[a+4>>2];g=0;o=(k|0)<1;while(1){if(!o){l=(g<<2)+b|0;d=n[l>>2];f=0;while(1){d=q(d+q(n[(f<<2)+c>>2]*q(h[(p(f,i)+g|0)+m|0])));n[l>>2]=d;f=f+1|0;if((k|0)!=(f|0)){continue}break}}g=g+1|0;if((g|0)!=(i|0)){continue}break}if((i|0)<1){break a}f=0;while(1){c=(f<<2)+b|0;n[c>>2]=n[c>>2]*q(.0078125);f=f+1|0;if((i|0)!=(f|0)){continue}break}}b:{if(j[a+16>>2]){f=0;if((i|0)<=0){break b}while(1){c=(f<<2)+b|0;d=q(n[c>>2]*q(.5));e=q(1);c:{if(dq(-8)^1){break c}e=q(.5);if(d!=d){break c}g=d>2];e=q(e+q(q(a|0)*q(-.03999999910593033)));d=q(d+q(q(q(1)-q(d*e))*q(e*q(q(1)-q(d*d)))));e=q(q((g?q(-d):d)*q(.5))+q(.5))}n[c>>2]=e;f=f+1|0;if((i|0)!=(f|0)){continue}break}break b}f=0;if((i|0)<=0){break b}while(1){c=(f<<2)+b|0;d=n[c>>2];e=q(1);e:{if(dq(-8)^1){break e}e=q(0);if(d!=d){break e}g=d>2];e=q(e+q(q(a|0)*q(-.03999999910593033)));d=q(d+q(q(q(1)-q(d*e))*q(e*q(q(1)-q(d*d)))));e=g?q(-d):d}n[c>>2]=e;f=f+1|0;if((i|0)!=(f|0)){continue}break}}}function Db(a,b,c,d,e,f,g,h,i,l,m,o,t,w,x){var y=0,z=q(0),A=0,B=q(0),C=0,D=q(0),E=q(0),F=q(0),G=0,H=q(0),J=q(0),K=q(0),L=0,M=0,O=0,P=0,Q=0,R=0,S=0;y=I-16|0;I=y;j[y+8>>2]=0;j[y+12>>2]=0;if((g+3|0)<=(f|0)){T(l,t,3)}if(t){D=q(.149993896484375)}else{g=o<<2;K=n[g+33376>>2];D=n[g+33392>>2]}g=0;if((b|0)<(c|0)){L=(m|0)>1?m:1;M=p(m,3);O=f+32|0;f=j[a+8>>2];o=b;while(1){P=(x|0)!=0&(o|0)>1;Q=p(o-c|0,M);m=((o|0)<20?o:20)<<1;R=m+h|0;S=(m|1)+h|0;m=0;while(1){f=p(f,m)+o<<2;z=n[f+d>>2];B=n[e+f>>2];E=q(q(u(B,q(-28)))-w);f=z>2];H=q(q(z-F)-B);J=q(v(q(H+q(.5))));a:{if(q(r(J))-1)){z=q(E-z);b:{if(q(r(z))>31&f}j[y+4>>2]=t;A=(O-j[l+20>>2]|0)-s(j[l+28>>2])|0;f=t;c:{if((b|0)==(o|0)){break c}C=A+Q|0;if((C|0)>23){break c}f=(t|0)<1?t:1;j[y+4>>2]=f;if((C|0)>15){break c}f=(f|0)>-1?f:-1;j[y+4>>2]=f}if(P){f=f>>31&f;j[y+4>>2]=f}d:{if((A|0)>=15){Ad(l,y+4|0,k[R|0]<<7,k[S|0]<<6);break d}if((A|0)>=2){f=(f|0)<1?f:1;f=(f|0)>-1?f:-1;j[y+4>>2]=f;N(l,f<<1^f>>31,33408,2);break d}if((A|0)==1){f=f>>31&f;j[y+4>>2]=f;T(l,0-f|0,1);break d}j[y+4>>2]=-1}f=j[a+8>>2];A=p(m,f)+o<<2;C=j[y+4>>2];z=q(C|0);n[A+i>>2]=H-z;n[e+A>>2]=q(B+F)+z;n[G>>2]=q(B+z)-q(D*z);A=t-C|0;t=A>>31;g=(t^t+A)+g|0;m=m+1|0;if((L|0)!=(m|0)){continue}break}o=o+1|0;if((o|0)!=(c|0)){continue}break}}I=y+16|0;return x?0:g}function Ed(a,b,c){var d=0,e=0,f=0,g=q(0),l=0,m=0,o=q(0),p=0;l=I-16|0;I=l;a:{if(k[a+4765|0]!=2){f=j[a+4580>>2];break a}m=xa(+q(q(n[b+708>>2]+q(-12))*q(-.25)));f=j[a+4580>>2];if((f|0)<1){break a}g=q(q(q(1/(m+1))*q(-.5))+q(1));while(1){e=(d<<2)+b|0;n[e>>2]=g*n[e>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}}d=0;e=j[a+4588>>2];m=Oa(+q(q(q(q(j[a+4716>>2])*q(-.0078125))+q(21))*q(.33000001311302185)));b:{if((f|0)<=0){break b}o=q(m/+(e|0));while(1){e=(d<<2)+b|0;g=n[e>>2];g=q(y(q(q(g*g)+q(n[e+712>>2]*o))));n[e>>2]=g>2]*q(65536));c:{if(q(r(g))>2]=e;d=d+1|0;if((f|0)!=(d|0)){continue}break}}M(b+728|0,l,f<<2);h[b+744|0]=k[a+7168|0];Hb(a+4736|0,l,a+7168|0,(c|0)==2,j[a+4580>>2]);c=j[a+4580>>2];if((c|0)>=1){d=0;while(1){f=d<<2;n[f+b>>2]=q(j[f+l>>2])*q(152587890625e-16);d=d+1|0;if((c|0)!=(d|0)){continue}break}}c=k[a+4765|0];d:{if((c|0)!=2){d=h[a+4766|0];break d}d=q(n[b+708>>2]+q(q(j[a+4712>>2])*q(30517578125e-15)))>q(1)^1;h[a+4766|0]=d}n[b+692>>2]=q(q(q(i[((c<<24>>24<<1&-4)+(d<<1)|0)+5840>>1])*q(.0009765625))*q(.800000011920929))+q(q(q(q(q(q(j[a+4628>>2])*q(-.05000000074505806))+q(1.2000000476837158))+q(q(q(j[a+4532>>2])*q(.20000000298023224))*q(-.00390625)))+q(n[b+696>>2]*q(-.10000000149011612)))-q(n[b+700>>2]*q(.20000000298023224)));I=l+16|0}function Ud(a,b,c,d,e,f,g){var m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;m=I-128|0;r=m;I=m;if(g>>>0<3){Nb(b,j[c+36>>2],i[c+2>>1]);m=m-((l[c>>1]<<2)+15&524272)|0;I=m;Xd(m,b,j[c+8>>2],j[c+12>>2],i[c>>1],i[c+2>>1]);t=(f<<2)+15&-16;v=m-t|0;n=v;I=n;Ob(m,n,i[c>>1],f);w=n-t|0;m=w;I=m;x=m-(f<<4)|0;I=x;if((f|0)>=1){E=g>>>1|0;F=e<<14>>16;t=0;while(1){B=t<<2;u=j[B+v>>2];y=i[c+2>>1];if((y|0)>=1){g=p(u,y);G=g+j[c+8>>2]|0;H=j[c+12>>2]+(g<<1)|0;g=0;while(1){m=g<<1;n=i[m+H>>1];i[m+(r+80|0)>>1]=p(n,l[b+m>>1]-(k[g+G|0]<<7)<<16>>16)>>>14;o=i[d+m>>1];q=o>>31;n=p(n,n);C=s(n);D=s(q^o+q);o=o<>16)<<16>>16;o=(p(n,o&65535)>>16)+p(n,o>>16)|0;q=ie(o,o>>31,q,q>>31);q=A-(((J&536870911)<<3|q>>>29)&-8)|0;n=(p(q>>16,n)+o|0)+(p(n,q&65535)>>16)|0;q=D-C|0;o=q+8|0;A=m+(r+48|0)|0;m=q+29|0;a:{if((m|0)<=20){m=0-o|0;o=2147483647>>>m|0;q=-2147483648>>m;m=((n|0)>(o|0)?o:(n|0)<(q|0)?q:n)<>o:0}i[A>>1]=m;g=g+1|0;if((y|0)!=(g|0)){continue}break}}Aa(r,r+32|0,c,u);m=w+B|0;j[m>>2]=Wd((t<<4)+x|0,r+80|0,r+48|0,r+32|0,r,j[c+32>>2],i[c+4>>1],i[c+6>>1],e,i[c+2>>1]);g=j[c+16>>2]+p(i[c>>1],E)|0;n=m;if(u){g=g+u|0;o=k[g-1|0]}else{o=256}j[n>>2]=p(67108864-(Q(o-k[g|0]|0)<<16)>>16,F)+j[m>>2];t=t+1|0;if((t|0)!=(f|0)){continue}break}}Ob(w,r+124|0,f,1);d=j[r+124>>2];h[a|0]=j[(d<<2)+v>>2];M(a+1|0,(d<<4)+x|0,i[c+2>>1]);Vd(b,a,c);I=r+128|0;return}L(15776,15829,63);z()}function rd(a,b,c,d){var e=0,f=q(0),g=q(0),h=0,i=0,k=q(0),l=0,m=0,o=q(0),p=q(0),s=q(0),t=0,u=0,w=0,x=q(0),y=q(0);w=I;h=(d<<2)+15&-16;e=w-h|0;I=e;t=e-h|0;I=t;l=(d|0)>1?d:1;m=O(e,0,l<<2);e=0;while(1){h=e<<2;i=h+a|0;f=n[i>>2];j[h+t>>2]=f>2]=r(f);j[b+h>>2]=0;e=e+1|0;if((l|0)!=(e|0)){continue}break}f=q(0);if(d>>1<(c|0)){e=0;while(1){f=q(f+n[(e<<2)+a>>2]);e=e+1|0;if((l|0)!=(e|0)){continue}break}g=q(q(c|0)+q(.800000011920929));if(!(fq(1.0000000036274937e-15)^1):0)){j[a>>2]=1065353216;O(a+4|0,0,(((d|0)>2?d:2)<<2)-4|0);f=q(1)}o=q(g*q(q(1)/f));h=0;f=q(0);while(1){i=h<<2;u=i+b|0;p=n[a+i>>2];g=q(v(q(o*p)));a:{if(q(r(g))>2]=e;g=q(e|0);n[i+m>>2]=g+g;k=q(k+q(p*g));c=c-e|0;f=q(f+q(g*g));h=h+1|0;if((l|0)!=(h|0)){continue}break}}b:{if((d+3|0)<(c|0)){k=n[m>>2];j[b>>2]=j[b>>2]+c;s=f;f=q(c|0);f=q(q(s+q(f*f))+q(k*f));break b}if((c|0)<1){break b}u=(d|0)>2?d:2;p=n[a>>2];d=0;while(1){o=q(f+q(1));f=q(o+n[m>>2]);g=q(k+p);g=q(g*g);e=1;h=0;while(1){i=e<<2;x=q(o+n[i+m>>2]);s=f;f=q(k+n[a+i>>2]);y=q(f*f);i=q(s*y)>q(g*x);f=i?x:s;g=i?y:g;h=i?e:h;e=e+1|0;if((u|0)!=(e|0)){continue}break}e=h<<2;g=n[e+a>>2];h=e+m|0;f=n[h>>2];n[h>>2]=f+q(2);e=b+e|0;j[e>>2]=j[e>>2]+1;f=q(o+f);k=q(k+g);d=d+1|0;if((d|0)!=(c|0)){continue}break}}e=0;while(1){a=e<<2;c=a+b|0;a=j[a+t>>2];j[c>>2]=(j[c>>2]^0-a)+a;e=e+1|0;if((l|0)!=(e|0)){continue}break}I=w;return f}function Rc(a,b,c,d){var e=0,f=0,g=0;e=I-32|0;I=e;g=-1;a:{b:{if((b|0)<=15999){if((b|0)==8e3|(b|0)==12e3){break b}break a}if((b|0)==16e3|(b|0)==48e3){break b}if((b|0)!=24e3){break a}}if(c-1>>>0>1){break a}f=d-2048|0;if(f>>>0>3|(f|0)==2){break a}j[e+28>>2]=20216;j[e+28>>2]=j[e+28>>2]+3&-4;a=O(a,0,(j[e+28>>2]+p(((j[4500]<<2)+(j[4501]<<4)|0)+4096|0,c)|0)+18384|0);j[e+28>>2]=20216;g=j[e+28>>2]+3&-4;j[e+28>>2]=g;j[a+14192>>2]=c;j[a+112>>2]=c;j[a+4>>2]=18140;j[a+180>>2]=0;j[a+144>>2]=b;f=g+18140|0;j[a>>2]=f;g=-3;if(Ja(a+18140|0,0,a+8|0)){break a}j[a+8>>2]=c;j[a+12>>2]=c;j[a+76>>2]=0;j[a+56>>2]=0;j[a+60>>2]=0;j[a+44>>2]=9;j[a+48>>2]=0;j[a+36>>2]=25e3;j[a+40>>2]=0;j[a+28>>2]=16e3;j[a+32>>2]=20;j[a+20>>2]=16e3;j[a+24>>2]=8e3;j[a+16>>2]=j[a+144>>2];f=a+f|0;if(dd(f,b,c,j[a+180>>2])){break a}g=0;j[e+16>>2]=0;P(f,10016,e+16|0);j[e>>2]=j[a+44>>2];P(f,4010,e);j[a+148>>2]=1;j[a+152>>2]=1;j[a+160>>2]=p(b,c)+3e3;j[a+128>>2]=-1e3;j[a+132>>2]=1105;j[a+108>>2]=d;j[a+136>>2]=-1e3;j[a+140>>2]=-1;j[a+120>>2]=-1e3;j[a+124>>2]=-1e3;j[a+164>>2]=-1e3;j[a+168>>2]=24;j[a+156>>2]=5e3;j[a+14204>>2]=1065353216;i[a+14196>>1]=16384;b=j[a+144>>2];j[a+172>>2]=(b|0)/100;j[a+116>>2]=(b|0)/250;b=Q(60);j[a+14252>>2]=1;j[a+14240>>2]=1105;j[a+14224>>2]=1001;j[a+14200>>2]=b<<8;b=a+188|0;j[b+8>>2]=j[a+144>>2];j[b>>2]=0;O(b+12|0,0,13992);j[a+192>>2]=j[a+108>>2]}I=e+32|0;return g}function Gd(a,b,c,d,e){var f=0,g=0,h=0,i=0,l=q(0);f=I-2064|0;I=f;a:{b:{h=j[a+4580>>2];c:{if((h|0)>=1){while(1){i=g<<2;n[i+(f+1568|0)>>2]=q(1)/n[b+i>>2];g=g+1|0;if((h|0)!=(g|0)){continue}break}if(k[a+4765|0]==2){break c}if((h|0)<1){break b}e=j[a+4640>>2];g=d-(e<<2)|0;i=j[a+4588>>2];d=0;c=f;while(1){ce(c,g,n[(f+1568|0)+(d<<2)>>2],e+i|0);i=j[a+4588>>2];g=(i<<2)+g|0;e=j[a+4640>>2];c=(i+e<<2)+c|0;d=d+1|0;h=j[a+4580>>2];if((d|0)<(h|0)){continue}break}break b}if(k[a+4765|0]!=2){break b}}if((j[b+228>>2]+2|0)<=(j[a+4592>>2]-j[a+4640>>2]|0)){g=c;c=b+228|0;$d(f+1664|0,f+1584|0,g,c,j[a+4588>>2],h);g=b+144|0;Md(g,a+4740|0,a+4768|0,a+4656|0,b+708|0,f+1664|0,f+1584|0,j[a+4588>>2],j[a+4580>>2]);Kd(a,b,e);e=d;d=j[a+4640>>2];Jd(f,e-(d<<2)|0,g,c,f+1568|0,j[a+4588>>2],j[a+4580>>2],d);break a}L(16745,16862,62);z()}O(b+144|0,0,p(h,20));j[b+708>>2]=0;j[a+4656>>2]=0}c=a;e=f+1536|0;d=f;if(j[a+4664>>2]){l=q(.009999999776482582)}else{l=n[b+700>>2];l=q(q(q(Oa(+q(n[b+708>>2]/q(3))))/q(1e4))/q(q(l*q(.75))+q(.25)))}Id(c,e,d,l);c=b+16|0;Nd(a,c,f+1536|0,a+4500|0);Hd(b+712|0,f,c,b,j[a+4588>>2],j[a+4580>>2],j[a+4640>>2]);c=f+1560|0;d=j[c+4>>2];b=a+4524|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;c=f+1552|0;d=j[c+4>>2];b=a+4516|0;j[b>>2]=j[c>>2];j[b+4>>2]=d;c=j[f+1548>>2];b=a+4508|0;j[b>>2]=j[f+1544>>2];j[b+4>>2]=c;b=j[f+1540>>2];j[a+4500>>2]=j[f+1536>>2];j[a+4504>>2]=b;I=f+2064|0}function td(a,b,c,d){var e=0,f=0,g=q(0),h=0,i=q(0),k=0,l=0,n=0;h=d;d=c+1|0;e=(b|0)>(c|0);e=Wa(h,j[j[((e?d:b)<<2)+36320>>2]+(((b|0)>(d|0)?b:d)<<2)>>2]+j[j[(((b|0)<(c|0)?b:c)<<2)+36320>>2]+((e?b:c)<<2)>>2]|0);a:{if((c|0)>0){if((b|0)<2){break a}if((b|0)!=2){while(1){h=b;b:{if((b|0)<=(c|0)){d=c;f=e;k=h<<2;l=j[k+36320>>2];e=j[(l+(c<<2)|0)+4>>2];n=f>>>0>=e>>>0?-1:0;f=f-(n&e)|0;c:{if(f>>>0>2]){while(1){b=b-1|0;e=j[k+j[(b<<2)+36320>>2]>>2];if(f>>>0>>0){continue}break c}}while(1){b=d;d=b-1|0;e=j[(b<<2)+l>>2];if(f>>>0>>0){continue}break}}c=((c+n|0)-b^n)<<16>>16;j[a>>2]=c;i=g;g=q(c|0);g=q(i+q(g*g));c=b;e=f-e|0;break b}d=h<<2;f=c<<2;b=j[d+j[f+36324>>2]>>2];f=j[d+j[f+36320>>2]>>2];if(!(b>>>0<=e>>>0|f>>>0>e>>>0)){j[a>>2]=0;e=e-f|0;break b}f=e;e=b>>>0<=e>>>0?-1:0;f=f-(e&b)|0;b=c;while(1){b=b-1|0;k=j[d+j[(b<<2)+36320>>2]>>2];if(k>>>0>f>>>0){continue}break}c=(e^(c+e|0)-b)<<16>>16;j[a>>2]=c;i=g;g=q(c|0);g=q(i+q(g*g));c=b;e=f-k|0}b=h-1|0;a=a+4|0;if((h|0)>3){continue}break}}d=c<<1|1;h=d>>>0<=e>>>0;b=h?-1:0;h=c-h|0;d=e-(b&d)|0;e=d+1|0;c=e>>>1|0;b=(b^h-c)<<16>>16;j[a>>2]=b;h=a;a=d-(c?(e&-2)-1|0:0)|0;a=(c-a^0-a)<<16>>16;j[h+4>>2]=a;i=g;g=q(b|0);i=q(i+q(g*g));g=q(a|0);return q(i+q(g*g))}L(36272,36295,469);z()}L(41504,36295,470);z()}function hb(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=q(0),o=q(0),r=q(0),s=q(0),t=q(0),u=0,v=q(0),w=0,x=0,y=0,z=0,A=q(0),B=q(0),C=q(0),D=q(0),E=q(0),F=q(0),G=q(0);a:{if(!(f!=q(0)|g!=q(0))){if((a|0)==(b|0)){break a}U(a,b,e<<2);return}l=(d|0)>15?d:15;w=-2-l|0;x=l^-1;y=1-l|0;z=0-l|0;d=p(i,12);A=q(n[d+1704>>2]*g);B=q(n[d+1700>>2]*g);C=q(n[d+1696>>2]*g);d=f==g?(h|0)==(i|0)?0:k:k;i=(c|0)>15?c:15;c=(i|0)==(l|0)?d:k;if((c|0)>=1){d=p(h,12);D=q(n[d+1704>>2]*f);E=q(n[d+1700>>2]*f);F=q(n[d+1696>>2]*f);d=2-l|0;m=n[(y<<2)+b>>2];o=n[(z<<2)+b>>2];r=n[(x<<2)+b>>2];f=n[(w<<2)+b>>2];k=0;while(1){h=k<<2;s=n[h+j>>2];t=q(s*s);v=q(q(1)-t);u=a+h|0;s=n[(d+k<<2)+b>>2];G=n[b+h>>2];h=(k-i<<2)+b|0;n[u>>2]=q(q(f+s)*q(A*t))+q(q(q(m+r)*q(B*t))+q(q(o*q(C*t))+q(q(q(G+q(n[h>>2]*q(F*v)))+q(q(E*v)*q(n[h+4>>2]+n[h-4>>2])))+q(q(D*v)*q(n[h+8>>2]+n[h-8>>2])))));f=r;r=o;o=m;m=s;k=k+1|0;if((c|0)!=(k|0)){continue}break}u=c}if(g==q(0)){if((a|0)==(b|0)){break a}d=c<<2;U(a+d|0,b+d|0,e-c<<2);return}h=e-u|0;if((h|0)<1){break a}e=u<<2;d=a+e|0;c=2-l|0;b=b+e|0;r=n[b+(w<<2)>>2];f=n[b+(x<<2)>>2];m=n[b+(z<<2)>>2];o=n[b+(y<<2)>>2];k=0;while(1){a=k<<2;g=n[b+(c+k<<2)>>2];n[a+d>>2]=q(A*q(r+g))+q(q(B*q(f+o))+q(q(C*m)+n[a+b>>2]));r=f;f=m;m=o;o=g;k=k+1|0;if((h|0)!=(k|0)){continue}break}}}function jd(a,b,c,d,e,f,g,h,k,m,o){var r=0,s=0,t=0,u=q(0),v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=q(0);a:{b:{if((h|0)>0){y=j[a+32>>2];s=y+(h<<1)|0;c:{if((p(i[s>>1]-i[s-2>>1]|0,m)|0)<9){break c}G=p(j[a+44>>2],m);H=(k|0)>1?k:1;I=l[y>>1];while(1){J=(p(A,G)<<2)+b|0;B=I;s=0;while(1){r=B<<16;F=s+1|0;B=i[(F<<1)+y>>1];r=r>>16;t=p(B-r|0,m);if((t|0)>=9){K=(p(m,r)<<2)+J|0;M=q(t|0);C=0;v=0;w=0;r=0;while(1){u=n[(r<<2)+K>>2];u=q(q(u*u)*M);C=(u>2]-4|0)<(s|0)?((v+w<<5>>>0)/(t>>>0)|0)+x|0:x;s=j[(s<<2)+o>>2];D=p(s,((v<<1>=(t|0))+(w<<1>=(t|0))|0)+(C<<1>=(t|0))|0)+D|0;E=s+E|0}s=F;if((s|0)!=(h|0)){continue}break}A=A+1|0;if((H|0)!=(A|0)){continue}break}if(g){r=j[e>>2]+(x?(x>>>0)/(p((h-j[a+8>>2]|0)+4|0,k)>>>0)|0:0)>>1;j[e>>2]=r;d:{e:{switch(j[f>>2]){case 2:r=r+4|0;break d;case 0:break e;default:break d}}r=r-4|0}j[f>>2]=(r|0)>22?2:(r|0)>18}if((E|0)<=0){break b}if((D|0)<=-1){break a}a=j[c>>2]+((D<<8>>>0)/(E>>>0)|0)>>1;j[c>>2]=a;r=3;a=(p(a,3)-(d<<7)|0)+448|0;if((a|0)<318){break c}r=2;if((a|0)<1022){break c}r=(a|0)<1534}return r}L(41813,41800,489);z()}L(41837,41800,545);z()}L(41865,41800,546);z()}function fe(a,b,c,d){var e=0,f=0,g=0,l=0,m=q(0),o=0,p=0,r=0;e=I-1744|0;I=e;o=j[a+4592>>2];l=j[a+4596>>2];g=l+j[a+4584>>2]|0;p=o+g|0;f=j[a+4548>>2];if((p|0)>=(f|0)){g=((g<<2)+d|0)-(f<<2)|0;sa(e,g,1,l);l=j[a+4596>>2];f=l<<2;g=f+g|0;r=e+f|0;f=j[a+4548>>2]-(l<<1)<<2;sa(M(r,g,f)+f|0,g+f|0,2,l);Sa(e+1664|0,e,j[a+4548>>2],j[a+4648>>2]+1|0);m=n[e+1664>>2];n[e+1664>>2]=m+q(q(m*q(.0010000000474974513))+q(1));m=Ra(e+1536|0,e+1664|0,j[a+4648>>2]);n[b+704>>2]=n[e+1664>>2]/(m>q(1)?m:q(1));Qa(e+1600|0,e+1536|0,j[a+4648>>2]);ra(e+1600|0,j[a+4648>>2],q(.9900000095367432));qa(c,e+1600|0,d-(o<<2)|0,p,j[a+4648>>2]);a:{if(!(j[a+4664>>2]|!k[a+4765|0])){if(!Vb(c,b+228|0,a+4762|0,a+4764|0,a+10060|0,j[a+4544>>2],q(q(j[a+4652>>2])*q(152587890625e-16)),q(q(q(q(q(q(j[a+4648>>2])*q(-.004000000189989805))+q(.6000000238418579))+q(q(q(j[a+4532>>2])*q(.10000000149011612))*q(-.00390625)))+q(q(h[a+4541|0]>>1)*q(-.15000000596046448)))+q(q(q(j[a+4712>>2])*q(.10000000149011612))*q(-30517578125e-15))),j[a+4576>>2],j[a+4644>>2],j[a+4580>>2])){h[a+4765|0]=2;break a}h[a+4765|0]=1;break a}j[b+228>>2]=0;j[b+232>>2]=0;j[b+236>>2]=0;j[b+240>>2]=0;j[a+10060>>2]=0;h[a+4764|0]=0;i[a+4762>>1]=0}I=e+1744|0;return}L(10821,10883,59);z()}function Oc(a,b,c,d){var e=q(0),f=q(0),g=q(0),h=q(0),i=q(0),j=0,k=q(0),l=q(0),m=q(0),o=q(0),p=q(0),s=q(0),v=q(0),w=0;j=(c|0)/(b|0)|0;i=q(q(q(-25)/q(((j|0)>50?j:50)|0))+q(1));a:{b:{if((b|0)>=4){w=b-3|0;c=0;while(1){b=c<<3;g=n[b+a>>2];k=n[(b|4)+a>>2];l=n[(b|8)+a>>2];m=n[(b|12)+a>>2];o=n[(b|16)+a>>2];p=n[(b|20)+a>>2];s=n[(b|24)+a>>2];v=n[(b|28)+a>>2];h=q(h+q(q(q(q(g*k)+q(l*m))+q(o*p))+q(s*v)));e=q(e+q(q(q(q(k*k)+q(m*m))+q(p*p))+q(v*v)));f=q(f+q(q(q(q(g*g)+q(l*l))+q(o*o))+q(s*s)));c=c+4|0;if((w|0)>(c|0)){continue}break}if(f>2];e=q(u(q(g+q(i*q(e-g))),q(0)));n[d+8>>2]=e;g=n[d+4>>2];h=q(u(q(g+q(i*q(h-g))),q(0)));n[d+4>>2]=h;g=n[d>>2];f=q(u(q(g+q(i*q(f-g))),q(0)));n[d>>2]=f;c:{if(!((eq(.0007999999797903001))){e=n[d+16>>2];break c}f=q(y(f));i=q(y(e));e=q(f*i);h=e>h?h:e;n[d+4>>2]=h;g=n[d+12>>2];f=q(y(f));i=q(y(i));e=q(h/q(e+q(1.0000000036274937e-15)));e=q(q(q(q(r(q(f-i)))/q(q(f+q(1.0000000036274937e-15))+i))*q(y(q(q(1)-q(e*e)))))-g);f=q(j|0);e=q(g+q(e/f));n[d+12>>2]=e;f=q(n[d+16>>2]+q(q(-.019999999552965164)/f));e=e>2]=e}return q(t(q(e*q(20)),q(1)))}function oc(a){var b=0,c=0,d=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{if(a){b=j[a+8>>2];k:{if((b|0)<=23999){if((b|0)==8e3|(b|0)==12e3){break k}if((b|0)!=16e3){break a}break k}if((b|0)<=44099){if((b|0)==24e3|(b|0)==32e3){break k}break a}if((b|0)==48e3){break k}if((b|0)!=44100){break a}}b=j[a+20>>2];if((b|0)!=12e3?!((b|0)==8e3|(b|0)==16e3):0){break a}c=j[a+12>>2];if((c|0)!=12e3?!((c|0)==8e3|(c|0)==16e3):0){break a}d=j[a+16>>2];if(((d|0)!=12e3?!((d|0)==8e3|(d|0)==16e3):0)|((b|0)<(d|0)|(b|0)>(c|0))){break a}if((c|0)<(d|0)){break a}l:{m:{b=j[a+24>>2];switch(b-10|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:break j;case 0:case 10:break l;default:break m}}if((b|0)==40){break l}if((b|0)!=60){break j}}if(m[a+32>>2]>=101){break i}if(m[a+48>>2]>=2){break h}if(m[a+52>>2]>=2){break g}if(m[a+40>>2]>=2){break f}b=j[a>>2];if(b-1>>>0>=2){break e}c=j[a+4>>2];if(c-1>>>0>=2){break d}if((b|0)<(c|0)){break c}if(m[a+36>>2]>=11){break b}return 0}L(1952,1989,41);z()}L(2016,1989,69);z()}L(2016,1989,73);z()}L(2016,1989,77);z()}L(2016,1989,81);z()}L(2016,1989,85);z()}L(2016,1989,89);z()}L(2016,1989,93);z()}L(2016,1989,97);z()}L(2016,1989,101);z()}L(2016,1989,62);z()}function nd(a,b,c,d){var e=q(0),f=q(0),g=q(0),h=q(0),i=q(0),j=0;a:{if(c){f=q(1.0000000036274937e-15);if((d|0)<1){e=q(1.0000000036274937e-15);break a}c=0;e=q(1.0000000036274937e-15);while(1){g=e;j=c<<2;h=n[j+a>>2];i=n[b+j>>2];e=q(h-i);e=q(g+q(e*e));g=f;f=q(h+i);f=q(g+q(f*f));c=c+1|0;if((d|0)!=(c|0)){continue}break}break a}if((d|0)<1){e=q(1.0000000036274937e-15);f=q(1.0000000036274937e-15);break a}c=0;while(1){e=n[(c<<2)+a>>2];f=q(f+q(e*e));c=c+1|0;if((d|0)!=(c|0)){continue}break}f=q(f+q(1.0000000036274937e-15));c=0;e=q(0);while(1){g=e;e=n[(c<<2)+b>>2];e=q(g+q(e*e));c=c+1|0;if((d|0)!=(c|0)){continue}break}e=q(e+q(1.0000000036274937e-15))}h=q(y(e));e=q(h*h);i=q(y(f));f=q(i*i);g=q(0);b:{if(q(e+f)f^1)){break b}g=q(q(q(q(q(h*i)*q(f+q(e*q(.43157973885536194))))/q(q(f+q(e*q(.6784840226173401)))*q(f+q(e*q(.0859554186463356)))))+q(1.5707963705062866))+q(-1.5707963705062866))}e=q(v(q(q(g*q(10430.3818359375))+q(.5))));if(q(r(e))>2]|0;o=j[u>>2];b=0;v=i+j[a+60>>2]|0;m=j[v>>2];w=j[d>>2];a:{if((m|0)>=(w|0)){break a}B=j[a+40>>2];C=j[a+36>>2];D=j[a+92>>2];b=j[f>>2];f=(b|0)>0?b:0;i=j[a+12>>2];E=q(i>>>0);x=j[a+24>>2];F=(x|0)<1;b=0;while(1){if((b|0)==(f|0)){b=f;break a}y=j[a+48>>2];l=p(y,o);d=(l>>>0)/(i>>>0)|0;g=q(q(l-p(d,i)>>>0)/E);b:{if(F){k=q(0);r=q(0);s=q(0);t=q(0);break b}G=(m<<2)+c|0;H=4-d|0;I=j[a+76>>2];d=0;t=q(0);s=q(0);r=q(0);k=q(0);while(1){h=n[(d<<2)+G>>2];d=d+1|0;l=(p(y,d)+H<<2)+I|0;s=q(s+q(h*n[l>>2]));t=q(t+q(h*n[l+4>>2]));r=q(r+q(h*n[l-4>>2]));k=q(k+q(h*n[l-8>>2]));if((d|0)!=(x|0)){continue}break}}h=q(g*q(.16666999459266663));z=q(g*q(g*h));h=q(z-h);J=q(h*k);k=q(g*q(g*q(.5)));A=q(q(g+k)-q(g*k));g=q(q(k+q(g*q(-.3333300054073334)))-z);n[(p(b,D)<<2)+e>>2]=q(q(J+q(A*r))+q(s*q(1- +h- +A- +g)))+q(g*t);d=o+B|0;o=d-(d>>>0>>0?0:i)|0;b=b+1|0;m=(m+C|0)+(d>>>0>=i>>>0)|0;if((w|0)>(m|0)){continue}break}}j[v>>2]=m;j[u>>2]=o;return b|0}function M(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){G(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if(e>>>0<=c>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(f>>>0>>0){break c}while(1){j[c>>2]=j[b>>2];j[c+4>>2]=j[b+4>>2];j[c+8>>2]=j[b+8>>2];j[c+12>>2]=j[b+12>>2];j[c+16>>2]=j[b+16>>2];j[c+20>>2]=j[b+20>>2];j[c+24>>2]=j[b+24>>2];j[c+28>>2]=j[b+28>>2];j[c+32>>2]=j[b+32>>2];j[c+36>>2]=j[b+36>>2];j[c+40>>2]=j[b+40>>2];j[c+44>>2]=j[b+44>>2];j[c+48>>2]=j[b+48>>2];j[c+52>>2]=j[b+52>>2];j[c+56>>2]=j[b+56>>2];j[c+60>>2]=j[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){j[c>>2]=j[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){h[c|0]=k[b|0];h[c+1|0]=k[b+1|0];h[c+2|0]=k[b+2|0];h[c+3|0]=k[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){h[c|0]=k[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function bc(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=I-1936|0;I=e;g=a;f=j[g+4>>2];j[e>>2]=j[g>>2];j[e+4>>2]=f;f=j[g+12>>2];j[e+8>>2]=j[g+8>>2];j[e+12>>2]=f;x=g+16|0;n=i[3144];s=i[3145];o=i[3143];q=i[3142];y=e+16|0;while(1){g=(d|0)<480?d:480;db(x,y,c,6280,g);if((g|0)>=3){h=j[e>>2];f=e;l=g;while(1){r=p(h>>16,q)+(p(h&65535,q)>>16)|0;h=j[f+4>>2];k=h>>16;m=h&65535;h=j[f+8>>2];t=(p(h&65535,s)>>16)+p(h>>16,s)|0;h=j[f+12>>2];u=h>>16;v=h&65535;r=((((r+p(k,o)|0)+(p(m,o)>>16)|0)+t|0)+p(u,n)|0)+(p(v,n)>>16)|0;w=(r>>5)+1>>1;i[b>>1]=(r|0)>2097119?32767:(w|0)>-32768?w:-32768;m=(t+((p(o,u)+(p(o,v)>>16)|0)+p(k,n)|0)|0)+(p(n,m)>>16)|0;k=j[f+16>>2];k=(m+p(k>>16,q)|0)+(p(k&65535,q)>>16)|0;m=(k>>5)+1>>1;i[b+2>>1]=(k|0)>2097119?32767:(m|0)>-32768?m:-32768;b=b+4|0;f=f+12|0;k=(l|0)>5;l=l-3|0;if(k){continue}break}}d=d-g|0;if((d|0)>=1){f=(g<<2)+e|0;l=j[f+4>>2];j[e>>2]=j[f>>2];j[e+4>>2]=l;l=j[f+12>>2];j[e+8>>2]=j[f+8>>2];j[e+12>>2]=l;c=(g<<1)+c|0;continue}break}b=(g<<2)+e|0;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;c=j[b+12>>2];j[a+8>>2]=j[b+8>>2];j[a+12>>2]=c;I=e+1936|0}function Bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=q(0),h=0,i=0,k=q(0),l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=q(0),C=0,D=0,E=0,F=q(0),G=0,H=0,I=0,J=0;i=b<<2;w=i+j[a+64>>2]|0;r=j[w>>2];b=0;x=i+j[a+60>>2]|0;o=j[x>>2];y=j[d>>2];a:{if((o|0)>=(y|0)){break a}C=j[a+40>>2];D=j[a+36>>2];E=j[a+92>>2];b=j[f>>2];f=(b|0)>0?b:0;i=j[a+12>>2];F=q(i>>>0);z=j[a+24>>2];G=(z|0)<1;b=0;while(1){if((b|0)==(f|0)){b=f;break a}A=j[a+48>>2];l=p(A,r);d=(l>>>0)/(i>>>0)|0;k=q(q(l-p(d,i)>>>0)/F);b:{if(G){h=0;m=0;s=0;t=0;break b}H=(o<<2)+c|0;I=4-d|0;J=j[a+76>>2];d=0;t=0;s=0;m=0;h=0;while(1){g=n[(d<<2)+H>>2];d=d+1|0;l=(p(A,d)+I<<2)+J|0;s=s+ +q(g*n[l>>2]);t=t+ +q(g*n[l+4>>2]);m=m+ +q(g*n[l-4>>2]);h=h+ +q(g*n[l-8>>2]);if((d|0)!=(z|0)){continue}break}}u=h;g=q(k*q(.16666999459266663));B=q(k*q(k*g));h=+q(B-g);v=m;g=q(k*q(k*q(.5)));m=+q(q(k+g)-q(k*g));u=u*h+v*m;v=1-h-m;h=+q(q(g+q(k*q(-.3333300054073334)))-B);n[(p(b,E)<<2)+e>>2]=u+s*+q(v-h)+t*h;d=r+C|0;r=d-(d>>>0>>0?0:i)|0;b=b+1|0;o=(o+D|0)+(d>>>0>=i>>>0)|0;if((y|0)>(o|0)){continue}break}}j[x>>2]=o;j[w>>2]=r;return b|0}function Pd(a,b,c,d,e,f,g,i,l,m,n,o){var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;t=j[f+8>>2];q=j[f+4>>2];r=j[f>>2];s=j[f+12>>2];f=j[f+16>>2];j[c>>2]=2147483647;j[b>>2]=2147483647;h[a|0]=0;if((o|0)>=1){v=f<<8;w=s<<7;x=r<<7;y=q<<7;z=t<<7;A=m<<16>>16;m=0;while(1){s=h[g|0];r=h[g+1|0];q=h[g+2|0];t=h[g+3|0];f=h[g+4|0];u=p(s,j[e>>2])+((((p(r,j[e+4>>2])-x|0)+p(q,j[e+8>>2])|0)+p(t,j[e+12>>2])|0)+p(f,j[e+16>>2])<<1)|0;u=p(u>>16,s)+(p(s,u&65535)>>16)|0;s=p(r,j[e+24>>2])+(((p(q,j[e+28>>2])-y|0)+p(t,j[e+32>>2])|0)+p(f,j[e+36>>2])<<1)|0;s=(u+p(r,s>>16)|0)+(p(r,s&65535)>>16)|0;r=p(q,j[e+48>>2])+((p(t,j[e+52>>2])-z|0)+p(f,j[e+56>>2])<<1)|0;s=(s+p(q,r>>16)|0)+(p(q,r&65535)>>16)|0;q=p(f,j[e+96>>2])-v|0;r=p(t,j[e+72>>2])+(p(f,j[e+76>>2])-w<<1)|0;f=((((s+p(f,q>>16)|0)+p(t,r>>16)|0)+(p(f,q&65535)>>16)|0)+(p(t,r&65535)>>16)|0)+32801|0;a:{if((f|0)<0){break a}t=k[i+m|0];q=t-n|0;q=f+(((q|0)>0?q:0)<<11)|0;f=p((Q(q)<<16)-125829120>>16,A)+(k[l+m|0]<<2)|0;if((f|0)>j[c>>2]){break a}j[c>>2]=f;j[b>>2]=q;h[a|0]=m;j[d>>2]=t}g=g+5|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}}function ic(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=j[b+4>>2]+j[b>>2]|0;l=j[b+12>>2]+j[b+8>>2]|0;d=c+l|0;e=j[b+20>>2]+j[b+16>>2]|0;m=j[b+28>>2]+j[b+24>>2]|0;n=e+m|0;f=d+n|0;g=j[b+36>>2]+j[b+32>>2]|0;o=j[b+44>>2]+j[b+40>>2]|0;h=g+o|0;i=j[b+52>>2]+j[b+48>>2]|0;p=j[b+60>>2]+j[b+56>>2]|0;q=i+p|0;r=h+q|0;s=f+r|0;if((s|0)>=1){N(a,f,k[s+9200|0]+9040|0,8)}if((f|0)>=1){N(a,d,k[f+9200|0]+8880|0,8)}if((d|0)>=1){N(a,c,k[d+9200|0]+8720|0,8)}if((c|0)>=1){N(a,j[b>>2],k[c+9200|0]+8560|0,8)}if((l|0)>=1){N(a,j[b+8>>2],k[l+9200|0]+8560|0,8)}if((n|0)>=1){N(a,e,k[n+9200|0]+8720|0,8)}if((e|0)>=1){N(a,j[b+16>>2],k[e+9200|0]+8560|0,8)}if((m|0)>=1){N(a,j[b+24>>2],k[m+9200|0]+8560|0,8)}if((r|0)>=1){N(a,h,k[r+9200|0]+8880|0,8)}if((h|0)>=1){N(a,g,k[h+9200|0]+8720|0,8)}if((g|0)>=1){N(a,j[b+32>>2],k[g+9200|0]+8560|0,8)}if((o|0)>=1){N(a,j[b+40>>2],k[o+9200|0]+8560|0,8)}if((q|0)>=1){N(a,i,k[q+9200|0]+8720|0,8)}if((i|0)>=1){N(a,j[b+48>>2],k[i+9200|0]+8560|0,8)}if((p|0)>=1){N(a,j[b+56>>2],k[p+9200|0]+8560|0,8)}}function Lb(a,b,c,d,e,f,g,k,l){var m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=I-16|0;I=m;x=(l|0)<1;w=2147483647;while(1){s=j[d>>2];a:{if(x){r=0;o=0;q=s;break a}y=h[t+7916|0];q=t<<2;z=j[q+7904>>2];A=j[q+7824>>2];B=j[q+7520>>2];u=0;o=0;r=0;v=g;n=f;while(1){Pd((m+12|0)+u|0,m+8|0,m+4|0,m,n,v,A,z,B,k,na(6229-s|0)-51|0,y);q=0;o=j[m+4>>2]+o|0;o=(o|0)>-1?o:2147483647;r=j[m+8>>2]+r|0;r=(r|0)>-1?r:2147483647;v=v+20|0;n=n+100|0;if((Q(j[m>>2]+51|0)+s|0)>=896){q=(Q(j[m>>2]+51|0)+s|0)-896|0}s=q;u=u+1|0;if((u|0)!=(l|0)){continue}break}}if((o|0)<=(w|0)){h[c|0]=t;M(b,m+12|0,l);C=q;w=o}t=t+1|0;if((t|0)!=3){continue}break}if((l|0)>=1){c=j[(h[c|0]<<2)+7824>>2];n=0;while(1){f=p(n,10)+a|0;g=b+n|0;i[f>>1]=h[c+p(h[g|0],5)|0]<<7;i[f+2>>1]=h[(c+p(h[g|0],5)|0)+1|0]<<7;i[f+4>>1]=h[(c+p(h[g|0],5)|0)+2|0]<<7;i[f+6>>1]=h[(c+p(h[g|0],5)|0)+3|0]<<7;i[f+8>>1]=h[(c+p(h[g|0],5)|0)+4|0]<<7;n=n+1|0;if((n|0)!=(l|0)){continue}break}}j[d>>2]=C;j[e>>2]=p((Q(r>>((l|0)==2?1:2))<<16)-125829120>>16,-3);I=m+16|0}function eb(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0;f=I;n=f;e=j[a+268>>2];f=f-((e<<2)+31&-16)|0;I=f;h=j[a+36>>2];j[f+8>>2]=j[a+32>>2];j[f+12>>2]=h;h=j[a+28>>2];j[f>>2]=j[a+24>>2];j[f+4>>2]=h;o=f+16|0;q=j[a+272>>2];while(1){h=(d|0)<(e|0)?d:e;gb(a,o,c,h);k=0;l=h<<17;if((l|0)>=1){while(1){m=p(k&65535,12)>>>16|0;g=m<<3;e=f+(k>>16<<1)|0;r=((p(i[g+6306>>1],i[e+2>>1])+p(i[g+6304>>1],i[e>>1])|0)+p(i[g+6308>>1],i[e+4>>1])|0)+p(i[g+6310>>1],i[e+6>>1])|0;g=11-m<<3;e=(((r+p(i[g+6310>>1],i[e+8>>1])|0)+p(i[g+6308>>1],i[e+10>>1])|0)+p(i[g+6306>>1],i[e+12>>1])|0)+p(i[g+6304>>1],i[e+14>>1])|0;g=(e>>14)+1>>1;i[b>>1]=(e|0)>1073725439?32767:(g|0)>-32768?g:-32768;b=b+2|0;k=k+q|0;if((l|0)>(k|0)){continue}break}}d=d-h|0;if((d|0)>=1){e=f+(h<<2)|0;k=j[e+4>>2];j[f>>2]=j[e>>2];j[f+4>>2]=k;k=j[e+12>>2];j[f+8>>2]=j[e+8>>2];j[f+12>>2]=k;c=(h<<1)+c|0;e=j[a+268>>2];continue}break}b=f+(h<<2)|0;c=j[b+4>>2];j[a+24>>2]=j[b>>2];j[a+28>>2]=c;c=j[b+12>>2];j[a+32>>2]=j[b+8>>2];j[a+36>>2]=c;I=n}function Lc(a,b,c,d,e,f,g,h,i){var k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=I-304|0;n=k;I=k;q=c-1|0;l=(c|0)==2?3:(q<<1)+2|0;o=k;if(!(j[a+148>>2]|j[a+164>>2]==-1)){m=(p(j[a+160>>2],3)|0)/((p(j[a+144>>2],24)|0)/(p(c,d)|0)|0)|0;f=(f|0)>(m|0)?m:f}k=(f-l|0)/(c|0)|0;m=(k|0)<1276?k+1|0:1276;o=o-(p(m,c)+15&-16)|0;I=o;j[n+4>>2]=0;u=j[a+136>>2];j[a+136>>2]=j[a+14224>>2];v=j[a+128>>2];j[a+128>>2]=j[a+14240>>2];w=j[a+120>>2];k=j[a+14192>>2];j[a+120>>2]=k;r=j[a+68>>2];a:{if(r){j[a+120>>2]=1;break a}j[a+14232>>2]=k}b:{if((c|0)>=1){k=0;while(1){j[a+68>>2]=0;j[a+18132>>2]=(k|0)<(q|0);if(!(!g|(k|0)!=(q|0))){j[a+136>>2]=1002}l=-3;s=p(k,m)+o|0;t=ob(a,(p(j[a+112>>2],p(d,k))<<2)+b|0,d,s,m,h,0,0,0,0,0,i);if((t|0)<0){break b}if((rb(n,s,t)|0)<0){break b}k=k+1|0;if((k|0)!=(c|0)){continue}break}}l=qb(n,c,e,f,!j[a+148>>2]);if((l|0)<0){l=-3;break b}j[a+128>>2]=v;j[a+136>>2]=u;j[a+120>>2]=w;j[a+68>>2]=r}I=n+304|0;return l}function ea(a,b){var c=0,d=0,e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=1;while(1){r=(c<<2)+a|0;l=p(c,3)+b|0;s=l;e=2147483647;c=0;a:{b:{while(1){n=c+1|0;o=i[(c<<1)+5744>>1];f=i[(n<<1)+5744>>1]-o|0;v=p(f&65535,6554)>>>16|0;w=f>>16;m=p(w,6554)+v|0;f=m+o|0;g=j[r>>2]-f|0;d=g>>31;d=d^d+g;if((d|0)>=(e|0)){c=k[l|0];break a}h[l|0]=c;h[s+1|0]=0;q=p(m,3)+o|0;g=j[r>>2]-q|0;e=g>>31;t=d;d=e^e+g;if((t|0)<=(d|0)){q=f;break a}h[l|0]=c;h[s+1|0]=1;f=p(m,5)+o|0;g=j[r>>2]-f|0;e=g>>31;t=d;d=e^e+g;if((t|0)<=(d|0)){break a}h[l|0]=c;h[s+1|0]=2;q=p(m,7)+o|0;g=j[r>>2]-q|0;e=g>>31;t=d;d=e^e+g;if((t|0)<=(d|0)){break b}h[l|0]=c;h[s+1|0]=3;m=j[r>>2]-(p(m,9)+o|0)|0;f=m>>31;e=f^f+m;if((d|0)<=(e|0)){break a}q=(p(w,58986)+p(v,9)|0)+o|0;h[l|0]=c;h[s+1|0]=4;c=n;if((c|0)!=15){continue}break}c=14;break a}q=f}n=(c<<24>>24)/3|0;h[l+2|0]=n;h[l|0]=p(n,-3)+c;j[r>>2]=q;c=1;n=u;u=0;if(n){continue}break}j[a>>2]=j[a>>2]-j[a+4>>2]}function wd(a,b,c,d,e,f,g,h,i,k){var l=0,m=0,o=0,r=0,s=0,t=0,u=q(0),v=0,w=0,x=0;v=(k|0)>1?k:1;o=(b|0)>=(c|0);a:{if(o|(h|0)<(k|0)){break a}m=b;while(1){l=m<<2;t=l+f|0;if(!(j[t>>2]>7|j[g+l>>2])){s=j[a+8>>2];l=0;while(1){r=n[(p(l,s)+m<<2)+e>>2]>2];w=p(s,l)+m<<2;x=w+d|0;u=q(q((r?q(-.5):q(.5))*q(1<<13-j[t>>2]))*q(6103515625e-14));n[x>>2]=n[x>>2]+u;r=e+w|0;n[r>>2]=n[r>>2]-u;l=l+1|0;if((v|0)!=(l|0)){continue}break}h=h-v|0}m=m+1|0;if((m|0)>=(c|0)){break a}if((h|0)>=(k|0)){continue}break}}b:{if((h|0)<(k|0)|o){break b}while(1){m=b<<2;s=m+f|0;if(!(j[s>>2]>7|j[g+m>>2]!=1)){m=j[a+8>>2];l=0;while(1){o=n[(p(l,m)+b<<2)+e>>2]>2];t=p(m,l)+b<<2;r=t+d|0;u=q(q((o?q(-.5):q(.5))*q(1<<13-j[s>>2]))*q(6103515625e-14));n[r>>2]=n[r>>2]+u;o=e+t|0;n[o>>2]=n[o>>2]-u;l=l+1|0;if((v|0)!=(l|0)){continue}break}h=h-v|0}b=b+1|0;if((c|0)<=(b|0)){break b}if((h|0)>=(k|0)){continue}break}}}function nc(a,b){var c=0,d=0,e=0,f=0;c=j[a+4576>>2];if(!c){c=j[a+32>>2]}d=c<<16;if(!d){b=j[a+4572>>2];a=j[a+4556>>2];return(((a|0)>(b|0)?b:a)|0)/1e3|0}d=p(d>>16,1e3);e=j[a+4556>>2];f=j[a+4564>>2];if(!((d|0)>=j[a+4568>>2]?!((d|0)>(e|0)|(d|0)>(f|0)):0)){b=(e|0)<(f|0)?e:f;a=j[a+4568>>2];return(((a|0)<(b|0)?b:a)|0)/1e3|0}f=j[a+24>>2];if((f|0)>=256){j[a+28>>2]=0}a:{b:{if(j[b+64>>2]?0:!j[a+4536>>2]){break b}e=j[a+4572>>2];if((e|0)<(d|0)){c:{d:{if(j[a+28>>2]){if(j[b+64>>2]){break d}if((f|0)>0){break c}break a}j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=256;if(!j[b+64>>2]){break c}}j[a+28>>2]=0;return(c|0)==16?12:8}j[a+28>>2]=-2;return c}if((d|0)<(e|0)){if(j[b+64>>2]){j[a+16>>2]=0;j[a+20>>2]=0;j[a+24>>2]=0;j[a+28>>2]=1;return(c|0)==8?12:16}if(!j[a+28>>2]){break a}j[a+28>>2]=1;return c}if(j[a+28>>2]>-1){break b}j[a+28>>2]=1}return c}j[b+88>>2]=1;a=j[b+56>>2];j[b+56>>2]=a-((p(a,5)|0)/(j[b+24>>2]+5|0)|0);return c}function Rb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;e=d<<2;j[e+b>>2]=65536;j[c+e>>2]=65536;e=0;a:{if((d|0)<=0){break a}while(1){f=e<<2;g=(d+e<<2)+a|0;h=((e^-1)+d<<2)+a|0;j[f+b>>2]=0-(j[g>>2]+j[h>>2]|0);j[c+f>>2]=j[g>>2]-j[h>>2];e=e+1|0;if((e|0)!=(d|0)){continue}break}if((d|0)<=0){break a}e=d;while(1){a=e-1|0;f=a<<2;g=f+b|0;h=g;i=j[g>>2];g=e<<2;j[h>>2]=i-j[g+b>>2];f=c+f|0;j[f>>2]=j[f>>2]+j[c+g>>2];f=(e|0)>1;e=a;if(f){continue}break}a=2;if((d|0)<2){break a}while(1){e=d;if((e|0)>(a|0)){while(1){f=(e<<2)+b|0;g=f-8|0;j[g>>2]=j[g>>2]-j[f>>2];e=e-1|0;if((e|0)>(a|0)){continue}break}}f=2;e=(a<<2)+b|0;g=e-8|0;j[g>>2]=j[g>>2]-(j[e>>2]<<1);e=(a|0)!=(d|0);a=a+1|0;if(e){continue}break}while(1){e=d;if((f|0)<(e|0)){while(1){a=(e<<2)+c|0;b=a-8|0;j[b>>2]=j[b>>2]-j[a>>2];e=e-1|0;if((f|0)<(e|0)){continue}break}}a=(f<<2)+c|0;b=a-8|0;j[b>>2]=j[b>>2]-(j[a>>2]<<1);a=(d|0)!=(f|0);f=f+1|0;if(a){continue}break}}}function oa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;pe(+a);b=me(1)|0;d=me(0)|0;a:{b:{c:{d:{if((b|0)>0?1:(b|0)>=0){e=b;if(b>>>0>1048575){break d}}if(!(b&2147483647|d)){return-1/(a*a)}if((b|0)>-1){break c}return(a-a)/0}if(e>>>0>2146435071){break a}b=1072693248;k=-1023;if((e|0)!=1072693248){b=e;break b}if(d){break b}return 0}pe(+(a*0x40000000000000));b=me(1)|0;d=me(0)|0;k=-1077}b=b+614242|0;l=+((b>>>20|0)+k|0);f=l*.30102999566361177;ne(0,d|0);ne(1,(b&1048575)+1072079006|0);c=+oe()+ -1;g=c*(c*.5);h=c/(c+2);i=h*h;a=i*i;pe(+(c-g));b=me(1)|0;me(0)|0;ne(0,0);ne(1,b|0);j=+oe();m=j*.4342944818781689;n=f+m;a=c-j-g+h*(g+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));a=n+(m+(f-n)+(a*.4342944818781689+(l*3.694239077158931e-13+(a+j)*2.5082946711645275e-11)))}return a}function Td(a,b,c,d){var e=0,f=0,g=0,l=0,m=0,n=0,o=0,q=0;f=I-96|0;I=f;a:{b:{if(!(k[a+4767|0]!=4?j[a+4632>>2]!=1:0)){e=i[a+4532>>1];e=(p(e,-5)+(p(e,59246)>>16)|0)+3146|0;g=(j[a+4580>>2]==2?e>>1:0)+e|0;if((g|0)<=0){break b}Pb(f+32|0,c,j[a+4640>>2]);c:{if(j[a+4632>>2]!=1){break c}e=h[a+4767|0];if((e|0)>3){break c}La(f- -64|0,d,c,e,j[a+4640>>2]);Pb(f,f- -64|0,j[a+4640>>2]);o=1;l=j[a+4640>>2];if((l|0)<1){break c}e=h[a+4767|0];q=p(e,e)<<27>>16;e=0;while(1){m=e<<1;n=m+(f+32|0)|0;i[n>>1]=(i[n>>1]>>>1)+(p(i[f+m>>1],q)>>>16);e=e+1|0;if((l|0)!=(e|0)){continue}break}}Ud(a+4744|0,c,j[a+4692>>2],f+32|0,g,j[a+4660>>2],h[a+4765|0]);e=b+32|0;Ma(e,c,j[a+4640>>2]);d:{if(o){La(f- -64|0,d,c,h[a+4767|0],j[a+4640>>2]);Ma(b,f- -64|0,j[a+4640>>2]);break d}a=j[a+4640>>2];if((a|0)>=17){break a}M(b,e,a<<1)}I=f+96|0;return}L(15848,15951,51);z()}L(15972,15951,63);z()}L(16006,15951,104);z()}function bb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=q(0),o=0,s=0;f=I-304|0;k=f;I=f;d=j[a+4576>>2];a:{if((d|0)==(b|0)){c=0;if(j[a+4560>>2]==j[a+4556>>2]){break a}}if(!d){c=Ba(a+5776|0,j[a+4556>>2],p(b,1e3),1);break a}c=f;l=p(j[a+4580>>2],10)+5|0;d=p(l,d);f=p(b,l);h=c-((((d|0)>(f|0)?d:f)<<1)+15&-16)|0;o=h;I=h;if((d|0)>=1){c=d;while(1){g=c-1|0;s=(g<<1)+h|0;m=je(n[((g<<2)+a|0)+7180>>2]);b:{if(q(r(m))-32768?e:-32768;i[s>>1]=(e|0)<32767?e:32767;e=(c|0)>1;c=g;if(e){continue}break}}g=Ba(k,p(i[a+4576>>1],1e3),j[a+4556>>2],0);e=p(l,j[a+4556>>2]/1e3|0);c=o-((e<<1)+15&-16)|0;I=c;g=Z(k,c,h,d)+g|0;d=a+5776|0;g=g+Ba(d,j[a+4556>>2],p(b<<16>>16,1e3),1)|0;c=Z(d,h,c,e);if((f|0)>=1){while(1){b=f-1|0;n[((b<<2)+a|0)+7180>>2]=i[(b<<1)+h>>1];d=(f|0)>1;f=b;if(d){continue}break}}c=c+g|0}j[a+4560>>2]=j[a+4556>>2];I=k+304|0;return c}function gb(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;if((d|0)>=1){l=j[a+20>>2];g=j[a+16>>2];e=j[a+12>>2];h=j[a+8>>2];k=j[a+4>>2];f=j[a>>2];while(1){m=o<<2;q=i[(o<<1)+c>>1]<<10;n=q-f|0;n=(p(n&65535,1746)>>>16|0)+p(n>>16,1746)|0;s=f+n|0;f=s-k|0;t=(p(f&65535,14986)>>>16|0)+p(f>>16,14986)|0;f=k+t|0;k=f-h|0;f=((p(k&65535,-26453)>>16)+p(k>>16,-26453)|0)+f|0;h=(f>>9)+1>>1;i[m+b>>1]=(f|0)>33553919?32767:(h|0)>-32768?h:-32768;h=(m|2)+b|0;r=e;e=q-e|0;m=(p(e&65535,6854)>>>16|0)+p(e>>16,6854)|0;u=r+m|0;e=u-g|0;r=(p(e&65535,25769)>>>16|0)+p(e>>16,25769)|0;e=g+r|0;g=e-l|0;e=((p(g&65535,-9994)>>16)+p(g>>16,-9994)|0)+e|0;l=(e>>9)+1>>1;i[h>>1]=(e|0)>33553919?32767:(l|0)>-32768?l:-32768;l=e+g|0;h=f+k|0;g=u+r|0;k=s+t|0;e=m+q|0;f=q+n|0;o=o+1|0;if((o|0)!=(d|0)){continue}break}j[a+20>>2]=l;j[a+16>>2]=g;j[a+12>>2]=e;j[a+8>>2]=h;j[a+4>>2]=k;j[a>>2]=f}}function Ob(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0,m=0;a:{b:{if((d|0)>0){if((c|0)<=0){break b}if((c|0)<(d|0)){break a}while(1){j[(e<<2)+b>>2]=e;e=e+1|0;if((e|0)!=(d|0)){continue}break}f=1;if((d|0)>1){while(1){k=j[(f<<2)+a>>2];e=f;c:{while(1){g=e-1|0;h=g<<2;l=j[h+a>>2];if((l|0)<=(k|0)){break c}i=e<<2;j[i+a>>2]=l;j[b+i>>2]=j[b+h>>2];h=(e|0)>1;e=g;if(h){continue}break}e=0}e=e<<2;j[e+a>>2]=k;j[b+e>>2]=f;f=f+1|0;if((f|0)!=(d|0)){continue}break}}if((c|0)>(d|0)){k=d-2|0;l=((d<<2)+a|0)-4|0;f=d;while(1){h=j[(f<<2)+a>>2];if((h|0)>2]){e=k;g=e;d:{if((d|0)<2){break d}while(1){g=e<<2;i=j[g+a>>2];if((i|0)<=(h|0)){g=e;break d}m=g+4|0;j[m+a>>2]=i;j[b+m>>2]=j[b+g>>2];g=-1;i=(e|0)>0;e=e-1|0;if(i){continue}break}}e=(g<<2)+4|0;j[e+a>>2]=h;j[b+e>>2]=f}f=f+1|0;if((f|0)!=(c|0)){continue}break}}return}L(15635,15659,51);z()}L(15671,15659,52);z()}L(15695,15659,53);z()}function xa(a){var b=0,c=0,d=0,e=0,f=0,g=0;pe(+a);e=me(1)|0;me(0)|0;b=e;e=b>>>31|0;a:{b:{c:{d:{d=a;e:{f:{b=b&2147483647;g:{if(b>>>0>=1082532651){pe(+a);b=me(1)|0;b=b&2147483647;if((b|0)==2146435072&(me(0)|0)!=0|b>>>0>2146435072){return a}if(!(a>709.782712893384^1)){return a*8.98846567431158e+307}if(!(a<-745.1332191019411)|a<-708.3964185322641^1){break g}break b}if(b>>>0<1071001155){break d}if(b>>>0<1072734898){break f}}a=a*1.4426950408889634+o[(e<<3)+10928>>3];if(r(a)<2147483648){b=~~a;break e}b=-2147483648;break e}b=(e^1)-e|0}c=+(b|0);a=d+c*-.6931471803691238;f=c*1.9082149292705877e-10;d=a-f;break c}if(b>>>0<=1043333120){break a}b=0;d=a}c=d;g=a;c=c*c;a=d-c*(c*(c*(c*(c*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);c=g+(d*a/(2-a)-f)+1;if(!b){break b}c=ca(c,b)}return c}return a+1}function Dc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=b<<2;v=g+j[a+64>>2]|0;k=j[v>>2];b=0;w=g+j[a+60>>2]|0;g=j[w>>2];x=j[d>>2];a:{if((g|0)>=(x|0)){break a}s=j[a+12>>2];y=j[a+40>>2];z=j[a+36>>2];A=j[a+92>>2];B=j[a+76>>2];b=j[f>>2];d=(b|0)>0?b:0;t=j[a+24>>2];C=(t|0)<1;b=0;while(1){if((b|0)==(d|0)){b=d;break a}u=0;b:{if(C){l=0;m=0;o=0;break b}a=(g<<2)+c|0;r=(p(k,t)<<2)+B|0;f=0;o=0;m=0;l=0;while(1){h=f<<2;l=l+ +q(n[h+r>>2]*n[a+h>>2]);i=h|12;u=u+ +q(n[i+r>>2]*n[a+i>>2]);i=h|8;o=o+ +q(n[i+r>>2]*n[a+i>>2]);h=h|4;m=m+ +q(n[h+r>>2]*n[a+h>>2]);f=f+4|0;if((t|0)>(f|0)){continue}break}}n[(p(b,A)<<2)+e>>2]=l+m+o+u;a=k+y|0;k=a-(a>>>0>>0?0:s)|0;b=b+1|0;g=(g+z|0)+(a>>>0>=s>>>0)|0;if((x|0)>(g|0)){continue}break}}j[w>>2]=g;j[v>>2]=k;return b|0}function Id(a,b,c,d){var e=0,f=0,g=0,i=0,l=q(0),m=q(0),n=0,o=0,p=0;e=I-1696|0;I=e;h[a+4767|0]=4;g=j[a+4640>>2];i=g+j[a+4588>>2]|0;l=Ib(e+1632|0,c,d,i,j[a+4580>>2],g);a:{if(j[a+4664>>2]|!j[a+4632>>2]|j[a+4580>>2]!=4){break a}f=3;d=Ib(e+1536|0,(i<<3)+c|0,d,i,2,j[a+4640>>2]);Kb(b,e+1536|0,j[a+4640>>2]);n=a+4500|0;o=i<<1;l=q(l-d);m=q(3.4028234663852886e+38);while(1){g=f;La(e+1600|0,n,b,g,j[a+4640>>2]);Od(e+1536|0,e+1600|0,j[a+4640>>2]);qa(e,e+1536|0,c,o,j[a+4640>>2]);f=j[a+4640>>2];p=S((f<<2)+e|0,i-f|0);f=j[a+4640>>2];d=q(p+S(((f<<2)+e|0)+(i<<2)|0,i-f|0));b:{if(!(dm){break a}}f=g-1|0;m=d;if(g){continue}break}}c:{if(k[a+4767|0]==4){Kb(b,e+1632|0,j[a+4640>>2]);if(k[a+4767|0]==4){break c}}if(j[a+4580>>2]==4?!(j[a+4664>>2]|!j[a+4632>>2]):0){break c}L(16554,16719,103);z()}I=e+1696|0}function N(a,b,c,d){var e=0,f=0,g=0;f=j[a+28>>2];d=f>>>d|0;e=a;a:{if((b|0)>=1){b=b+c|0;c=b-1|0;j[a+32>>2]=(f+j[a+32>>2]|0)-p(d,k[c|0]);d=p(d,k[c|0]-k[b|0]|0);break a}d=f-p(d,k[b+c|0])|0}j[e+28>>2]=d;if(d>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=j[a+40>>2];if((e|0)>=0){b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c+e;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){d=-1;c=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g;d=0;b=j[a+36>>2]}b=b-1|0;j[c+36>>2]=b;j[a+44>>2]=j[a+44>>2]|d;if(b){continue}break}}j[a+40>>2]=f&255;d=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}d=d<<8;j[a+28>>2]=d;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(d>>>0<8388609){continue}break}}}function Wb(a,b,c){var d=0,e=0,f=0,g=q(0),h=0,i=q(0),k=0,l=0;a:{if((c|0)>0){if((c|0)>65){break a}while(1){j[(d<<2)+b>>2]=d;d=d+1|0;if((d|0)!=(c|0)){continue}break}e=1;if((c|0)>1){while(1){g=n[(e<<2)+a>>2];d=e;b:{while(1){f=d-1|0;h=f<<2;i=n[h+a>>2];if(i>2]=i;j[b+k>>2]=j[b+h>>2];h=(d|0)>1;d=f;if(h){continue}break}d=0}d=d<<2;n[d+a>>2]=g;j[b+d>>2]=e;e=e+1|0;if((e|0)!=(c|0)){continue}break}}if((c|0)<65){h=c-2|0;k=((c<<2)+a|0)-4|0;e=c;while(1){g=n[(e<<2)+a>>2];if(!(g>n[k>>2]^1)){d=h;f=d;c:{if((c|0)<2){break c}while(1){f=d<<2;i=n[f+a>>2];if(i>2]=i;j[b+l>>2]=j[b+f>>2];f=-1;l=(d|0)>0;d=d-1|0;if(l){continue}break}}d=(f<<2)+4|0;n[d+a>>2]=g;j[b+d>>2]=e}e=e+1|0;if((e|0)!=65){continue}break}}return}L(9912,9936,50);z()}L(9982,9936,52);z()}function Da(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=q(0);k=j[a+44>>2];m=j[a+4>>2];if(b){o=j[a+36>>2]}else{k=k<>2]-g|0}r=(f|0)>1?f:1;s=a- -64|0;i=p(b,k);t=m+i|0;while(1){if((b|0)>=1){u=p(i,l);v=(p(l,t)<<2)+c|0;g=0;while(1){ed(s,(p(g,k)<<2)+v|0,(g+u<<2)+d|0,j[a+60>>2],m,o,b);g=g+1|0;if((g|0)!=(b|0)){continue}break}}l=l+1|0;if((r|0)!=(l|0)){continue}break}if(!((e|0)!=1|(f|0)!=2|(i|0)<1)){g=0;while(1){a=(g<<2)+d|0;n[a>>2]=q(n[a>>2]*q(.5))+q(n[(g+i<<2)+d>>2]*q(.5));g=g+1|0;if((i|0)!=(g|0)){continue}break}}if((h|0)!=1){e=(e|0)>1?e:1;b=(i|0)/(h|0)|0;f=i-b<<2;w=q(h|0);a=0;while(1){c=p(a,i);g=0;if((b|0)>=1){while(1){h=(c+g<<2)+d|0;n[h>>2]=n[h>>2]*w;g=g+1|0;if((b|0)!=(g|0)){continue}break}}O((b+c<<2)+d|0,0,f);a=a+1|0;if((e|0)!=(a|0)){continue}break}}}function lc(a,b,c){var d=0,e=0,f=0,g=0;f=j[a+28>>2];d=f>>>15|0;e=a;a:{if(b){j[a+32>>2]=j[a+32>>2]+(f+p(d,b-32768|0)|0);c=p(d,c-b|0);break a}c=f+p(d,c-32768|0)|0}j[e+28>>2]=c;if(c>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;d=j[a+40>>2];if((d|0)>=0){b=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=c+d;e=0}else{e=-1}j[b+44>>2]=e|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){c=-1;e=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=g;c=0;b=j[a+36>>2]}b=b-1|0;j[e+36>>2]=b;j[a+44>>2]=j[a+44>>2]|c;if(b){continue}break}}j[a+40>>2]=f&255;c=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}c=c<<8;j[a+28>>2]=c;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(c>>>0<8388609){continue}break}}}function Dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=I-32|0;I=e;g=j[a+28>>2];j[e+16>>2]=g;d=j[a+20>>2];j[e+28>>2]=c;j[e+24>>2]=b;b=d-g|0;j[e+20>>2]=b;g=b+c|0;k=2;b=e+16|0;a:{b:{f=C(j[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}j[13231]=f;d=-1}d:{if(!d){while(1){d=j[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=j[b+4>>2];f=h>>>0>>0;i=(f<<3)+b|0;h=d-(f?h:0)|0;j[i>>2]=h+j[i>>2];i=(f?12:4)+b|0;j[i>>2]=j[i>>2]-h;g=g-d|0;b=f?b+8|0:b;k=k-f|0;f=C(j[a+60>>2],b|0,k|0,e+12|0)|0;d=0;e:{if(!f){break e}j[13231]=f;d=-1}if(!d){continue}break}}if((g|0)!=-1){break b}}b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];a=c;break a}j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a>>2]=j[a>>2]|32;a=0;if((k|0)==2){break a}a=c-j[b+4>>2]|0}I=e+32|0;return a|0}function va(a,b,c,d){var e=0,f=0,g=0;g=j[a+28>>2];f=(g>>>0)/(d>>>0)|0;e=a;a:{if(b){j[a+32>>2]=j[a+32>>2]+(g+p(f,b-d|0)|0);d=p(f,c-b|0);break a}d=g+p(f,c-d|0)|0}j[e+28>>2]=d;if(d>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=j[a+40>>2];if((e|0)>=0){b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c+e;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){d=-1;c=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g;d=0;b=j[a+36>>2]}b=b-1|0;j[c+36>>2]=b;j[a+44>>2]=j[a+44>>2]|d;if(b){continue}break}}j[a+40>>2]=f&255;d=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}d=d<<8;j[a+28>>2]=d;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(d>>>0<8388609){continue}break}}}function Y(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,k=0;e=b<<4;d=j[(c<<2)+a>>2];if((c|0)!=8){if((c|0)>=1){f=b<<20>>16;e=(e>>15)+1>>1;while(1){b=c-1|0;d=j[(b<<2)+a>>2]+((p(d>>16,f)+p(d,e)|0)+(p(d&65535,f)>>16)|0)|0;g=(c|0)>1;c=b;if(g){continue}break}}return d}b=b<<20>>16;c=(e>>15)+1>>1;d=j[a+28>>2]+((p(b,d>>16)+p(c,d)|0)+(p(b,d&65535)>>16)|0)|0;e=j[a>>2];f=j[a+4>>2];g=j[a+8>>2];h=j[a+12>>2];i=j[a+16>>2];k=j[a+20>>2];a=((j[a+24>>2]+p(c,d)|0)+p(b,d>>16)|0)+(p(b,d&65535)>>16)|0;a=((k+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((i+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((h+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((g+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;a=((f+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0;return((e+p(a,c)|0)+p(b,a>>16)|0)+(p(b,a&65535)>>16)|0}function Hb(a,b,c,d,e){var f=0,g=0,i=0,l=0,m=0,n=0,o=0;if((e|0)>=1){while(1){n=(m<<2)+b|0;Q(j[n>>2]);i=a+m|0;g=p((Q(j[n>>2])<<16)-136970240>>16,2251);f=g>>>16|0;h[i|0]=f;if(h[c|0]>g<<8>>24){f=f+1|0;h[i|0]=f}f=f<<24>>24>0?f:0;g=f<<24>>24<63?f:63;h[i|0]=g;f=h[c|0];a:{if(!(d|m)){o=i;i=f-4|0;g=g&255;f=(f|0)>67?63:(g|0)<(i|0)?i:g;h[o|0]=f;h[c|0]=f;break a}f=g-f|0;h[i|0]=f;g=h[c|0]+8|0;l=f<<24>>24;if((g|0)<(l|0)){f=g+((l-g|0)+1>>>1|0)|0;h[i|0]=f}f=f<<24>>24>-4?f:-4;l=f<<24>>24<36?f:36;h[i|0]=l;o=c;f=l<<24>>24;b:{if((f|0)>(g|0)){g=k[c|0]+((f<<1)-g|0)|0;h[c|0]=g;f=g<<24>>24<63?g:63;break b}f=l+k[c|0]|0}h[o|0]=f;h[i|0]=k[i|0]+4;f=k[c|0]}f=f<<24>>24;f=(p(f,7281)>>16)+p(f,29)|0;j[n>>2]=na(((f|0)<1877?f:1877)+2090|0);m=m+1|0;if((m|0)!=(e|0)){continue}break}}}function Md(a,b,c,d,e,f,g,h,k){var l=0,m=0,o=0,s=0,t=q(0),u=0;l=I-528|0;I=l;o=p(k,25);if((o|0)>0){while(1){s=m<<2;u=s+(l+80|0)|0;t=je(q(n[f+s>>2]*q(131072)));a:{if(q(r(t))>2]=s;m=m+1|0;if((o|0)!=(m|0)){continue}break}}b:{if((k|0)>=1){f=p(k,5);f=(f|0)>1?f:1;m=0;while(1){o=m<<2;s=o+l|0;t=je(q(n[g+o>>2]*q(131072)));c:{if(q(r(t))>2]=o;m=m+1|0;if((f|0)!=(m|0)){continue}break}Lb(l+480|0,b,c,d,l+524|0,l+80|0,l,h,k);if((k|0)<1){break b}b=p(k,5);b=(b|0)>1?b:1;m=0;while(1){n[(m<<2)+a>>2]=q(i[(l+480|0)+(m<<1)>>1])*q(6103515625e-14);m=m+1|0;if((b|0)!=(m|0)){continue}break}break b}Lb(l+480|0,b,c,d,l+524|0,l+80|0,l,h,k)}n[e>>2]=q(j[l+524>>2])*q(.0078125);I=l+528|0}function cd(a,b,c,d,e,f,g,h){var i=q(0),j=q(0),k=0,l=q(0),m=q(0);j=n[g>>2];l=n[f>>2];a:{if(!((e|0)!=1|h|n[f+4>>2]!=q(0))){if((c|0)<1){break a}f=0;while(1){i=q(n[(p(d,f)<<2)+a>>2]*q(32768));n[(f<<2)+b>>2]=i-j;j=q(l*i);f=f+1|0;if((f|0)!=(c|0)){continue}break}break a}k=(c|0)/(e|0)|0;if((e|0)!=1){O(b,0,c<<2)}b:{if((k|0)<1){break b}f=0;while(1){n[(p(e,f)<<2)+b>>2]=n[(p(d,f)<<2)+a>>2]*q(32768);f=f+1|0;if((k|0)!=(f|0)){continue}break}if(!h|(k|0)<1){break b}f=0;while(1){d=(p(e,f)<<2)+b|0;i=n[d>>2];a=i>q(65536);h=d;d=(a?q(65536):i)>2]=a?m:d?m:i;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if((c|0)<1){break a}f=0;while(1){a=(f<<2)+b|0;i=n[a>>2];n[a>>2]=i-j;j=q(l*i);f=f+1|0;if((f|0)!=(c|0)){continue}break}}n[g>>2]=j}function ma(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;pe(+a);b=me(1)|0;e=me(0)|0;a:{b:{c:{d:{if((b|0)>0?1:(b|0)>=0){f=b;if(b>>>0>1048575){break d}}if(!(b&2147483647|e)){return-1/(a*a)}if((b|0)>-1){break c}return(a-a)/0}if(f>>>0>2146435071){break a}b=1072693248;g=-1023;if((f|0)!=1072693248){b=f;break b}if(e){break b}return 0}pe(+(a*0x40000000000000));b=me(1)|0;e=me(0)|0;g=-1077}b=b+614242|0;d=+((b>>>20|0)+g|0);ne(0,e|0);ne(1,(b&1048575)+1072079006|0);a=+oe()+ -1;c=a/(a+2);h=d*.6931471803691238;i=a;j=d*1.9082149292705877e-10;k=c;d=a*(a*.5);c=c*c;a=c*c;a=h+(i+(j+k*(d+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-d))}return a}function T(a,b,c){var d=0,e=0,f=0,g=0;d=j[a+28>>2];c=d>>>c|0;d=d-c|0;a:{if(!b){c=d;break a}j[a+32>>2]=d+j[a+32>>2]}j[a+28>>2]=c;if(c>>>0<=8388608){b=j[a+32>>2];while(1){f=b>>>23|0;b:{if((f|0)!=255){c=b>>>31|0;e=j[a+40>>2];if((e|0)>=0){b=a;d=j[a+24>>2];if(m[a+4>>2]>d+j[a+8>>2]>>>0){j[a+24>>2]=d+1;h[d+j[a>>2]|0]=c+e;d=0}else{d=-1}j[b+44>>2]=d|j[a+44>>2]}b=j[a+36>>2];if(b){g=c-1|0;while(1){c=-1;d=a;e=j[a+24>>2];if(m[a+4>>2]>e+j[a+8>>2]>>>0){j[a+24>>2]=e+1;h[e+j[a>>2]|0]=g;c=0;b=j[a+36>>2]}b=b-1|0;j[d+36>>2]=b;j[a+44>>2]=j[a+44>>2]|c;if(b){continue}break}}j[a+40>>2]=f&255;c=j[a+28>>2];b=j[a+32>>2];break b}j[a+36>>2]=j[a+36>>2]+1}c=c<<8;j[a+28>>2]=c;b=b<<8&2147483392;j[a+32>>2]=b;j[a+20>>2]=j[a+20>>2]+8;if(c>>>0<8388609){continue}break}}}function U(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){return M(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}h[d|0]=k[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;h[d|0]=k[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;j[c+a>>2]=j[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;h[c+a|0]=k[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){j[d>>2]=j[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){h[d|0]=k[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Ec(a,b,c,d,e){var f=0,g=0,h=0,i=0;a:{if(!b|!c){break a}if(!(j[a>>2]!=(d|0)|j[a+4>>2]!=(e|0)|j[a+8>>2]!=(b|0))){if(j[a+12>>2]==(c|0)){break a}}j[a+8>>2]=b;j[a+4>>2]=e;j[a>>2]=d;g=j[a+12>>2];j[a+12>>2]=c;e=b;d=c;while(1){f=e;e=d;d=(f>>>0)%(e>>>0)|0;if(d){continue}break}d=(c>>>0)/(e>>>0)|0;j[a+12>>2]=d;j[a+8>>2]=(b>>>0)/(e>>>0);b:{if(!g|!j[a+20>>2]){break b}i=j[a+64>>2];e=0;while(1){c=(e<<2)+i|0;f=j[c>>2];b=(f>>>0)/(g>>>0)|0;f=f-p(b,g)|0;h=4294967295/(d>>>0)|0;if(f>>>0>h>>>0|b>>>0>h>>>0){break a}b=p(b,d);f=(p(d,f)>>>0)/(g>>>0)|0;if(b>>>0>(f^-1)>>>0){break a}b=b+f|0;j[c>>2]=b;d=b;b=j[a+12>>2];if(d>>>0>=b>>>0){j[c>>2]=b-1}e=e+1|0;if(e>>>0>=m[a+20>>2]){break b}d=j[a+12>>2];continue}}if(!j[a+52>>2]){return}mb(a)}}function Zd(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=(c|0)<1;a:{b:{while(1){d=0;e=0;if(!l){while(1){f=j[(d<<2)+b>>2];h=f>>31;f=h^h+f;h=(f|0)>(e|0);e=h?f:e;k=h?d:k;d=d+1|0;if((d|0)!=(c|0)){continue}break}}d=(e>>4)+1>>1;if((d|0)>=32768){d=(d|0)<163838?d:163838;Na(b,c,65470-(((d<<14)-536854528|0)/(p(d,k+1|0)>>2)|0)|0);g=g+1|0;if((g|0)!=10){continue}break b}break}if((g|0)==10){break b}d=0;if((c|0)<=0){break a}while(1){i[(d<<1)+a>>1]=(j[(d<<2)+b>>2]>>4)+1>>1;d=d+1|0;if((d|0)!=(c|0)){continue}break}break a}if((c|0)<1){break a}d=0;while(1){f=(d<<1)+a|0;k=(d<<2)+b|0;g=j[k>>2]>>4;e=32767;c:{if((g|0)>65534){break c}e=g+1>>1;e=(e|0)>-32768?e:-32768}i[f>>1]=e;j[k>>2]=e<<16>>16<<5;d=d+1|0;if((d|0)!=(c|0)){continue}break}}}function O(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;h[f-1|0]=b;h[a|0]=b;if(c>>>0<3){break a}h[f-2|0]=b;h[a+1|0]=b;h[f-3|0]=b;h[a+2|0]=b;if(c>>>0<7){break a}h[f-4|0]=b;h[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=p(b&255,16843009);j[e>>2]=d;b=c-f&-4;c=b+e|0;j[c-4>>2]=d;if(b>>>0<9){break a}j[e+8>>2]=d;j[e+4>>2]=d;j[c-8>>2]=d;j[c-12>>2]=d;if(b>>>0<25){break a}j[e+24>>2]=d;j[e+20>>2]=d;j[e+16>>2]=d;j[e+12>>2]=d;j[c-16>>2]=d;j[c-20>>2]=d;j[c-24>>2]=d;j[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=ie(d,0,1,1);f=J;b=b+e|0;while(1){j[b+24>>2]=d;e=f;j[b+28>>2]=e;j[b+16>>2]=d;j[b+20>>2]=e;j[b+8>>2]=d;j[b+12>>2]=e;j[b>>2]=d;j[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ee(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=I-416|0;I=f;O(f+208|0,0,200);f=O(f,0,200);if(!(e&1)){if((d|0)>=1){g=e<<3;l=g+f|0;u=g+(f+208|0)|0;m=+c;v=(e|0)<1;while(1){j=+n[(k<<2)+b>>2];g=0;if(!v){while(1){h=g<<3;p=h|8;q=p+(f+208|0)|0;r=o[q>>3];o[h+(f+208|0)>>3]=j;h=f+h|0;s=o[f+208>>3];o[h>>3]=o[h>>3]+j*s;g=g+2|0;t=o[(f+208|0)+(g<<3)>>3];i=i+(r-j)*m;o[q>>3]=i;h=f+p|0;o[h>>3]=s*i+o[h>>3];j=r+(t-i)*m;i=t;if((e|0)>(g|0)){continue}break}}o[u>>3]=j;i=o[f+208>>3];o[l>>3]=o[l>>3]+j*i;k=k+1|0;if((k|0)!=(d|0)){continue}break}}g=0;if((e|0)>=0){while(1){n[(g<<2)+a>>2]=o[f+(g<<3)>>3];b=(e|0)!=(g|0);g=g+1|0;if(b){continue}break}}I=f+416|0;return}L(10944,10981,49);z()} - - - -function ib(a,b,c){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];return;case 1:b=j[c>>2];j[c>>2]=b+4;b=j[b>>2];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 2:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=j[b>>2];j[a+4>>2]=0;return;case 3:b=j[c>>2]+7&-8;j[c>>2]=b+8;c=j[b+4>>2];j[a>>2]=j[b>>2];j[a+4>>2]=c;return;case 4:b=j[c>>2];j[c>>2]=b+4;b=i[b>>1];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 5:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=l[b>>1];j[a+4>>2]=0;return;case 6:b=j[c>>2];j[c>>2]=b+4;b=h[b|0];j[a>>2]=b;j[a+4>>2]=b>>31;return;case 7:b=j[c>>2];j[c>>2]=b+4;j[a>>2]=k[b|0];j[a+4>>2]=0;return;case 8:b=j[c>>2]+7&-8;j[c>>2]=b+8;o[a>>3]=o[b>>3];return;case 9:break b;default:break a}}K[0](a,c)}}function Fc(a,b,c,d,e,f,g){var h=0,i=0;a:{b:{if(!(!c|(!a|!b))){if(f>>>0<11){break b}}if(!g){break a}j[g>>2]=3;return 0}h=ta(96);if(!h){h=0;if(!g){break a}j[g>>2]=1;return 0}j[h>>2]=0;j[h+4>>2]=0;j[h+44>>2]=1065353216;j[h+16>>2]=-1;j[h+88>>2]=1;j[h+92>>2]=1;j[h+20>>2]=a;j[h+32>>2]=160;j[h+8>>2]=0;j[h+12>>2]=0;a=a<<2;i=ta(a);j[h+60>>2]=i;c:{if(!i){break c}i=ta(a);j[h+68>>2]=i;if(!i){break c}a=ta(a);j[h+64>>2]=a;if(!a){break c}j[h+16>>2]=f;Ec(h,b,c,d,e);a=mb(h);d:{if(!a){j[h+52>>2]=1;break d}R(j[h+72>>2]);R(j[h+76>>2]);R(j[h+60>>2]);R(j[h+68>>2]);R(j[h+64>>2]);R(h);h=0}if(!g){break a}j[g>>2]=a;return h}if(g){j[g>>2]=1}R(j[h+76>>2]);R(j[h+60>>2]);R(j[h+68>>2]);R(j[h+64>>2]);R(h);h=0}return h}function Mb(a,b,c,d,e){var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;a:{b:{if((e|0)>5){if(e&1){break b}if((d|0)<(e|0)){break a}if((d|0)>(e|0)){n=(e|0)<7;h=e;while(1){m=h<<1;f=m+b|0;j=f-2|0;k=((((p(i[c+2>>1],i[f-4>>1])+p(i[c>>1],i[j>>1])|0)+p(i[c+4>>1],i[f-6>>1])|0)+p(i[c+6>>1],i[f-8>>1])|0)+p(i[c+8>>1],i[f-10>>1])|0)+p(i[c+10>>1],i[f-12>>1])|0;g=6;if(!n){while(1){l=g<<1;k=(k+p(i[l+c>>1],i[j-l>>1])|0)+p(i[(l|2)+c>>1],i[((g^-1)<<1)+j>>1])|0;g=g+2|0;if((g|0)<(e|0)){continue}break}}f=((i[f>>1]<<12)-k>>11)+1>>1;f=(f|0)>-32768?f:-32768;i[a+m>>1]=(f|0)<32767?f:32767;h=h+1|0;if((h|0)!=(d|0)){continue}break}}O(a,0,e<<1);return}L(16065,16090,67);z()}L(16117,16090,68);z()}L(16148,16090,69);z()}function gc(a){var b=0,c=0,d=0,e=0,f=0,g=0;if(k[a+4541|0]==2){b=Q((p(j[a+4576>>2],65536e3)|0)/j[a+4544>>2]|0);c=j[a+4696>>2];d=Q(3932160);e=Q(3932160);f=j[a+8>>2];g=c<<16>>16;c=0-(c<<2)|0;c=(p(g,c&65532)>>16)+p(c>>16,g)|0;b=(((b-(f>>8)|0)+p(c>>16,b-d<<16>>16)|0)+(p(c&65535,b-e<<16>>16)>>16)|0)-2048|0;b=(b|0)<0?p(b,3):b;b=(b|0)>-51?b:-51;b=p(i[a+4532>>1],(b|0)<51?b:51);j[a+8>>2]=p(b>>16,6554)+f+(p(b&65535,6554)>>>16);d=Q(60);e=Q(100);c=j[a+8>>2];b=a;a:{b:{if(d<<8>e<<8){if((c|0)>Q(60)<<8){a=Q(60)<<8;break a}if(j[a+8>>2]>=Q(100)<<8){break b}a=Q(100)<<8;break a}if((c|0)>Q(100)<<8){a=Q(100)<<8;break a}if(j[a+8>>2]>=Q(60)<<8){break b}a=Q(60)<<8;break a}a=j[a+8>>2]}j[b+8>>2]=a}}function dc(a,b,c,d,e,f){var g=0,h=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;if((f|0)>=1){h=0-j[c+4>>2]|0;n=h&16383;c=0-j[c>>2]|0;o=c&16383;q=h<<2>>16;r=c<<2>>16;c=j[d+4>>2];k=j[d>>2];while(1){l=c;s=m<<1;c=i[s+a>>1];h=j[b>>2];h=(p(c,h>>16)+k|0)+(p(c,h&65535)>>16)<<2;k=h>>16;g=h&65532;t=((l+p(k,r)|0)+(p(g,r)>>16)|0)+((p(k,o)+(p(g,o)>>>16|0)>>13)+1>>1)|0;j[d>>2]=t;l=j[b+4>>2];g=(p(k,q)+(p(g,q)>>16)|0)+((p(k,n)+(p(g,n)>>>16|0)>>13)+1>>1)|0;j[d+4>>2]=g;k=(p(c,l>>16)+(p(c,l&65535)>>16)|0)+t|0;j[d>>2]=k;l=g;g=j[b+8>>2];c=l+((p(c,g&65535)>>16)+p(c,g>>16)|0)|0;j[d+4>>2]=c;g=h+16383>>14;i[e+s>>1]=(h|0)>536854528?32767:(g|0)>-32768?g:-32768;m=m+1|0;if((m|0)!=(f|0)){continue}break}}}function Cc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=q(0),l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b<<2;l=g+j[a+64>>2]|0;h=j[l>>2];b=0;m=g+j[a+60>>2]|0;g=j[m>>2];o=j[d>>2];a:{if((g|0)>=(o|0)){break a}i=j[a+12>>2];s=j[a+40>>2];t=j[a+36>>2];u=j[a+92>>2];v=j[a+76>>2];b=j[f>>2];d=(b|0)>0?b:0;f=j[a+24>>2];w=(f|0)<1;b=0;while(1){if((b|0)==(d|0)){b=d;break a}k=q(0);if(!w){x=(g<<2)+c|0;y=(p(f,h)<<2)+v|0;a=0;while(1){r=a<<2;k=q(k+q(n[r+y>>2]*n[x+r>>2]));a=a+1|0;if((f|0)!=(a|0)){continue}break}}n[(p(b,u)<<2)+e>>2]=k;a=h+s|0;h=a-(a>>>0>>0?0:i)|0;b=b+1|0;g=(g+t|0)+(a>>>0>=i>>>0)|0;if((o|0)>(g|0)){continue}break}}j[m>>2]=g;j[l>>2]=h;return b|0}function Jd(a,b,c,d,e,f,g,h){var i=q(0),k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=q(0);k=I-32|0;if((g|0)>=1){s=f+h|0;t=(s|0)<1;while(1){h=r<<2;u=n[h+e>>2];l=j[d+h>>2];h=p(r,20)+c|0;j[k+16>>2]=j[h+16>>2];m=j[h+4>>2];j[k>>2]=j[h>>2];j[k+4>>2]=m;m=j[h+12>>2];j[k+8>>2]=j[h+8>>2];j[k+12>>2]=m;if(!t){h=b-(l<<2)|0;m=0;while(1){o=m<<2;l=o+a|0;o=b+o|0;i=n[o>>2];j[l>>2]=j[o>>2];i=q(i-q(n[k>>2]*n[h+8>>2]));n[l>>2]=i;i=q(i-q(n[k+4>>2]*n[h+4>>2]));n[l>>2]=i;i=q(i-q(n[k+8>>2]*n[h>>2]));n[l>>2]=i;i=q(i-q(n[k+12>>2]*n[h-4>>2]));n[l>>2]=i;n[l>>2]=u*q(i-q(n[k+16>>2]*n[h-8>>2]));h=h+4|0;m=m+1|0;if((s|0)!=(m|0)){continue}break}}b=(f<<2)+b|0;a=(s<<2)+a|0;r=r+1|0;if((r|0)!=(g|0)){continue}break}}}function Ra(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=I-400|0;I=e;if(c>>>0<=24){while(1){f=(d<<4)+e|0;h=+n[(d<<2)+b>>2];o[f>>3]=h;o[f+8>>3]=h;f=(c|0)!=(d|0);d=d+1|0;if(f){continue}break}if(c){b=0;f=c;while(1){d=b;b=d+1|0;g=(b<<4)+e|0;i=o[e+8>>3];h=-o[g>>3]/(i>9.999999717180685e-10?i:9.999999717180685e-10);n[(d<<2)+a>>2]=h;a:{if((c|0)<=(d|0)){break a}j=o[g>>3];o[g>>3]=j+h*i;o[e+8>>3]=i+h*j;d=1;if((f|0)==1){break a}while(1){g=(b+d<<4)+e|0;i=o[g>>3];k=g;g=(d<<4)+e|0;j=o[g+8>>3];o[k>>3]=i+h*j;o[g+8>>3]=j+h*i;d=d+1|0;if((f|0)!=(d|0)){continue}break}}f=f-1|0;if((b|0)!=(c|0)){continue}break}}I=e+400|0;return q(o[e+8>>3])}L(9497,9557,44);z()}function Pb(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0;a:{if((c|0)>0){f=1;if(c&1){break a}e=i[b>>1];d=i[b+2>>1]-e|0;d=131072/(((d|0)>1?d:1)>>>0)|0;e=d+(131072/(((e|0)>1?e:1)>>>0)|0)|0;i[a>>1]=e>>>0<32767?e:32767;e=c-1|0;if((c|0)>=3){while(1){k=d;c=f<<1;g=c+2|0;h=g+b|0;d=i[h>>1]-i[b+c>>1]|0;j=131072/(((d|0)>1?d:1)>>>0)|0;d=k+j|0;i[a+c>>1]=d>>>0<32767?d:32767;f=f+2|0;c=i[(f<<1)+b>>1]-i[h>>1]|0;d=131072/(((c|0)>1?c:1)>>>0)|0;c=j+d|0;i[a+g>>1]=c>>>0<32767?c:32767;if((e|0)>(f|0)){continue}break}}c=e<<1;b=32768-i[c+b>>1]|0;b=(131072/(((b|0)>1?b:1)>>>0)|0)+d|0;i[a+c>>1]=b>>>0<32767?b:32767;return}L(15465,15489,51);z()}L(15519,15489,52);z()}function nb(a,b,c,d,e,f,g,h,i){var j=q(0),k=0,l=0;l=48e3/(i|0)|0;i=(e|0)/(l|0)|0;a:{if((g|0)!=1){e=0;if((i|0)<=0){break a}while(1){k=e<<3;j=n[(p(e,l)<<2)+h>>2];j=q(j*j);j=q(q(j*d)+q(q(q(1)-j)*c));n[k+b>>2]=n[a+k>>2]*j;k=k|4;n[k+b>>2]=n[a+k>>2]*j;e=e+1|0;if((i|0)!=(e|0)){continue}break}break a}if((i|0)<1){break a}e=0;while(1){k=e<<2;j=n[(p(e,l)<<2)+h>>2];j=q(j*j);n[k+b>>2]=n[a+k>>2]*q(q(j*d)+q(q(q(1)-j)*c));e=e+1|0;if((i|0)!=(e|0)){continue}break}}l=(g|0)>1?g:1;h=0;while(1){e=i;if((f|0)>(e|0)){while(1){k=p(e,g)+h<<2;n[k+b>>2]=n[a+k>>2]*d;e=e+1|0;if((f|0)!=(e|0)){continue}break}}h=h+1|0;if((l|0)!=(h|0)){continue}break}}function Pc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:{b:{if((c|0)>=1){while(1){n[(h<<2)+b>>2]=n[(p(d+h|0,g)+e<<2)+a>>2]*q(32768);h=h+1|0;if((h|0)!=(c|0)){continue}break}if((f|0)<=-1){break b}if((c|0)<1){break a}h=0;while(1){e=(h<<2)+b|0;n[e>>2]=n[e>>2]+q(n[(p(d+h|0,g)+f<<2)+a>>2]*q(32768));h=h+1|0;if((h|0)!=(c|0)){continue}break}break a}if((f|0)>-1){break a}}if((f|0)!=-2|(g|0)<2){break a}f=1;e=(c|0)<1;while(1){h=0;if(!e){while(1){i=(h<<2)+b|0;n[i>>2]=n[i>>2]+q(n[(p(d+h|0,g)+f<<2)+a>>2]*q(32768));h=h+1|0;if((h|0)!=(c|0)){continue}break}}f=f+1|0;if((g|0)!=(f|0)){continue}break}}}function xd(a,b,c,d,e,f,g,h){var i=0,k=0,l=0,m=q(0),o=0,s=0,t=0,u=0,w=0,x=0,y=q(0),z=q(0);if((b|0)<(c|0)){w=(h|0)>1?h:1;while(1){t=(b<<2)+f|0;i=j[t>>2];if((i|0)>=1){o=65536<>16;x=o-1|0;y=q(o|0);l=j[a+8>>2];h=0;while(1){s=g;m=q(v(q(q(n[(p(h,l)+b<<2)+e>>2]+q(.5))*y)));a:{if(q(r(m))0?k:0;W(s,k,i);l=j[a+8>>2];u=p(l,h)+b<<2;i=u+d|0;s=i;z=n[i>>2];i=j[t>>2];m=q(q(q(q(q(k|0)+q(.5))*q(1<<14-i))*q(6103515625e-14))+q(-.5));n[s>>2]=z+m;k=e+u|0;n[k>>2]=n[k>>2]-m;h=h+1|0;if((w|0)!=(h|0)){continue}break}}b=b+1|0;if((c|0)!=(b|0)){continue}break}}}function Z(a,b,c,d){var e=0,f=0,g=0;a:{e=j[a+284>>2];if((e|0)<=(d|0)){g=j[a+292>>2];if((e|0)<(g|0)){break a}f=a+168|0;e=e-g<<1;M(f+(g<<1)|0,c,e);b:{c:{switch(j[a+264>>2]-1|0){case 0:fb(a,b,f,j[a+284>>2]);fb(a,(j[a+288>>2]<<1)+b|0,c+e|0,d-j[a+284>>2]|0);break b;case 1:eb(a,b,f,j[a+284>>2]);eb(a,(j[a+288>>2]<<1)+b|0,c+e|0,d-j[a+284>>2]|0);break b;case 2:cb(a,b,f,j[a+284>>2]);cb(a,(j[a+288>>2]<<1)+b|0,c+e|0,d-j[a+284>>2]|0);break b;default:break c}}M(M(b,f,j[a+284>>2]<<1)+(j[a+288>>2]<<1)|0,c+e|0,d-j[a+284>>2]<<1)}a=j[a+292>>2];M(f,(d-a<<1)+c|0,a<<1);return 0}L(6521,6474,184);z()}L(6561,6474,186);z()}function ud(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;a:{if((c|0)>0){if((b|0)<=1){break a}k=b-1|0;g=j[(k<<2)+a>>2];e=g>>31;e=e^e+g;h=g>>>31|0;while(1){g=k-1|0;f=b-g|0;h=j[j[(((e|0)>(f|0)?f:e)<<2)+36320>>2]+(((e|0)<(f|0)?f:e)<<2)>>2]+h|0;i=j[(g<<2)+a>>2];l=i>>31;e=(l^i+l)+e|0;if((i|0)<=-1){i=h;h=e+1|0;h=i+j[j[(((e|0)<(f|0)?h:f)<<2)+36320>>2]+(((h|0)<(f|0)?f:h)<<2)>>2]|0}f=(k|0)>1;k=g;if(f){continue}break}g=d;a=c+1|0;d=(b|0)>(c|0);ga(g,h,j[j[((d?a:b)<<2)+36320>>2]+(((a|0)<(b|0)?b:a)<<2)>>2]+j[j[(((b|0)<(c|0)?b:c)<<2)+36320>>2]+((d?b:c)<<2)>>2]|0);return}L(36272,36295,459);z()}L(36380,36295,444);z()}function Vd(a,b,c){var d=0,e=0,f=0,g=0,m=0,n=0,o=0,q=0;g=I-80|0;I=g;Aa(g+32|0,g- -64|0,c,h[b|0]);d=l[c+2>>1];n=d<<16>>16;m=(n|0)<1;if(!m){o=i[c+4>>1];while(1){e=h[b+d|0];f=e<<10;e=(e|0)>0?f-102|0:(f|102)&e>>31;f=d-1|0;q=(p(e>>16,o)+(p(k[f+(g- -64|0)|0],q<<16>>16)>>8)|0)+(p(e&65534,o)>>16)|0;i[(f<<1)+g>>1]=q;e=(d|0)>1;d=f;if(e){continue}break}}if(!m){b=p(h[b|0],n);e=b+j[c+8>>2]|0;f=j[c+12>>2]+(b<<1)|0;d=0;while(1){m=d<<1;b=((i[m+g>>1]<<14)/i[f+m>>1]|0)+(k[d+e|0]<<7)|0;b=(b|0)>0?b:0;i[a+m>>1]=(b|0)<32767?b:32767;d=d+1|0;n=i[c+2>>1];if((d|0)<(n|0)){continue}break}}Nb(a,j[c+36>>2],n);I=g+80|0}function $b(a,b){var c=0,d=q(0),e=0,f=q(0),g=0,h=0,i=0,j=q(0),k=q(0),l=0,m=0;f=n[b>>2];h=O(a,0,16);a:{if(n[b>>2]==q(0)){break a}i=1;while(1){if((e|0)==4){break a}c=0;d=q(0);if(e){while(1){d=q(d+q(n[(c<<2)+h>>2]*n[(e-c<<2)+b>>2]));c=c+1|0;if((e|0)!=(c|0)){continue}break}}a=e+1|0;d=q(q(-q(d+n[(a<<2)+b>>2]))/f);n[(e<<2)+h>>2]=d;if(e){l=i>>>1|0;c=0;while(1){g=(c<<2)+h|0;j=n[g>>2];m=g;g=((c^-1)+e<<2)+h|0;k=n[g>>2];n[m>>2]=j+q(d*k);n[g>>2]=k+q(d*j);c=c+1|0;if((l|0)!=(c|0)){continue}break}}i=i+1|0;e=a;f=q(f-q(f*q(d*d)));if(f>2]*q(.0010000000474974513))^1){continue}break}}}function Oa(a){var b=0,c=0,d=0,e=0;a:{pe(+a);b=me(1)|0;me(0)|0;c=b;b=b&2147483647;b:{if(b>>>0>=1083174912){if(!((c|0)<0|b>>>0<1083179008)){return a*8.98846567431158e+307}if(b>>>0>=2146435072){return-1/a}if(a<=-1075^1){break a}d=0;if((c|0)<-1?1:(c|0)<=-1){break b}break a}if(b>>>0>1016070143){break a}d=a+1}return d}e=a+26388279066624;pe(+e);me(1)|0;c=(me(0)|0)+128|0;b=c<<4&4080;d=o[b+11024>>3];a=a-(e+ -26388279066624)-o[(b|8)+11024>>3];return ca(d+d*a*(a*(a*(a*(a*.0013333559164630223+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(c&-256)/256|0)}function ae(a,b,c){var d=0,e=q(0),f=0,g=0,h=0,i=0,j=0,k=0,l=q(0);j=4;h=a+16|0;f=S(h,b);n[c>>2]=f;d=1;while(1){e=n[h-(d<<2)>>2];l=q(e*e);e=n[(b-d<<2)+h>>2];f=f+ +q(l-q(e*e));n[(p(d,5)+d<<2)+c>>2]=f;d=d+1|0;if((d|0)!=5){continue}break}a=a+12|0;g=1;while(1){f=da(h,a,b);e=q(f);n[(p(g,5)<<2)+c>>2]=e;n[(g<<2)+c>>2]=e;d=1;if((5-g|0)>=2){while(1){k=d+g|0;i=d<<2;e=q(n[h-i>>2]*n[a-i>>2]);i=b-d<<2;f=f+ +q(e-q(n[i+h>>2]*n[a+i>>2]));e=q(f);n[(p(k,5)+d<<2)+c>>2]=e;n[(p(d,5)+k<<2)+c>>2]=e;d=d+1|0;if((j|0)!=(d|0)){continue}break}}j=j-1|0;a=a-4|0;g=g+1|0;if((g|0)!=5){continue}break}}function qd(a,b,c,d,e,f,g,h){var i=0,k=0,l=q(0),m=0;i=I;k=i;a:{if((c|0)>0){if((b|0)<=1){break a}i=i-((b<<2)+27&-16)|0;I=i;Ha(a,b,1,e,c,d);l=rd(a,i,c,b);ud(i,b,c,f);if(h){g=q(q(q(1)/q(y(l)))*g);f=0;while(1){h=f<<2;n[h+a>>2]=g*q(j[h+i>>2]);f=f+1|0;if((f|0)!=(b|0)){continue}break}Ha(a,b,-1,e,c,d)}d=1;if((e|0)>=2){a=(b>>>0)/(e>>>0)|0;b=(a|0)>1?a:1;d=0;c=0;while(1){m=p(a,c);f=0;h=0;while(1){h=j[i+(f+m<<2)>>2]|h;f=f+1|0;if((b|0)!=(f|0)){continue}break}d=((h|0)!=0)<>>0>1){d=c-1|0;if(d>>>0>=256){f=24-s(d)|0;c=b>>>f|0;va(a,c,c+1|0,(d>>>f|0)+1|0);if(!f){break a}g=(-1<>2];c=j[a+16>>2];e=f+c|0;b:{if(e>>>0<33){d=c;break b}while(1){i=a;d=j[a+4>>2];e=j[a+8>>2];if(d>>>0>e+j[a+24>>2]>>>0){e=e+1|0;j[a+8>>2]=e;h[j[a>>2]+(d-e|0)|0]=b;d=0}else{d=-1}j[i+44>>2]=d|j[a+44>>2];b=b>>>8|0;e=(c|0)>15;d=c-8|0;c=d;if(e){continue}break}e=d+f|0}j[a+16>>2]=e;j[a+12>>2]=g<>2]=j[a+20>>2]+f;return}va(a,b,b+1|0,c);return}L(6995,7019,180);z()}L(7033,7019,198);z()}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=I-16|0;I=f;a:{b:{c:{d:{if((a|0)<=15999){if((a|0)==8e3|(a|0)==12e3){break d}break c}if((a|0)==16e3|(a|0)==48e3){break d}if((a|0)!=24e3){break c}}if(b-1>>>0>1){break c}e=c-2048|0;if(e>>>0>3){break c}if((e|0)!=2){break b}}e=0;if(!d){break a}j[d>>2]=-1;break a}j[f+12>>2]=20216;j[f+12>>2]=j[f+12>>2]+3&-4;e=ha((j[f+12>>2]+p(((j[4500]<<2)+(j[4501]<<4)|0)+4096|0,b)|0)+18384|0);if(!e){e=0;if(!d){break a}j[d>>2]=-7;break a}a=Rc(e,a,b,c);if(d){j[d>>2]=a}if(!a){break a}R(e);e=0}I=f+16|0;return e|0}function yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=I;k=e;i=p(b,c);f=e-((i<<2)+15&-16)|0;I=f;if((c|0)>0){a:{if(!d){e=0;g=(b|0)<1;while(1){if(!g){h=p(b,e);d=0;while(1){j[(d+h<<2)+f>>2]=j[(p(c,d)+e<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}break a}g=(c<<2)+41976|0;e=0;h=(b|0)<1;while(1){if(!h){l=p(j[g+(e<<2)>>2],b);d=0;while(1){j[(d+l<<2)+f>>2]=j[(p(c,d)+e<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}}M(a,f,i<<2);I=k;return}L(41952,41800,591);z()}function hd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,k=0,l=0;e=I;k=e;i=p(b,c);f=e-((i<<2)+15&-16)|0;I=f;a:{if(!d){if((c|0)<1){break a}e=0;g=(b|0)<1;while(1){if(!g){h=p(b,e);d=0;while(1){j[(p(c,d)+e<<2)+f>>2]=j[(d+h<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}break a}if((c|0)<1){break a}g=(c<<2)+41976|0;e=0;h=(b|0)<1;while(1){if(!h){l=p(j[g+(e<<2)>>2],b);d=0;while(1){j[(p(c,d)+e<<2)+f>>2]=j[(d+l<<2)+a>>2];d=d+1|0;if((d|0)!=(b|0)){continue}break}}e=e+1|0;if((e|0)!=(c|0)){continue}break}}M(a,f,i<<2);I=k}function Va(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=d-1|0;h=s(d);f=31-h|0;a:{if((d|0)<2){e=d;break a}e=d;while(1){k=e;e=g<<1;m=i[(e|2)+c>>1];e=i[c+e>>1];e=k+(p(m,m)+p(e,e)>>>f|0)|0;g=g+2|0;if((l|0)>(g|0)){continue}break}g=d&-2}if((d|0)>(g|0)){k=e;e=i[(g<<1)+c>>1];e=k+(p(e,e)>>>f|0)|0}f=0;e=34-(h+s(e)|0)|0;h=(e|0)>0?e:0;if((d|0)<2){e=0}else{g=0;while(1){k=f;e=g<<1;f=i[(e|2)+c>>1];e=i[c+e>>1];f=k+(p(f,f)+p(e,e)>>>h|0)|0;g=g+2|0;if((l|0)>(g|0)){continue}break}e=d&-2}if((e|0)<(d|0)){c=i[(e<<1)+c>>1];f=(p(c,c)>>>h|0)+f|0}j[b>>2]=h;j[a>>2]=f}function Kc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,k=0;i=-1;f=j[a+144>>2];k=(f|0)/400|0;a:{if((k|0)>(c|0)){break a}g=c;h=j[a+156>>2];if((h|0)!=5e3){g=h-5001|0;if(g>>>0>8){break a}g=(h|0)<=5005?k<(c|0)){break a}}b:{if((p(g,100)|0)==(f|0)|(p(g,400)|0)==(f|0)|(p(g,200)|0)==(f|0)){break b}h=p(g,50);if((h|0)==(p(f,6)|0)|(h|0)==(p(f,5)|0)|((h|0)==f<<2|(h|0)==(p(f,3)|0))){break b}if((f|0)==(h|0)){break b}if((p(g,25)|0)!=(f|0)){break a}}i=g}return ob(a,b,i,d,e,24,b,c,-2,j[a+112>>2],4,1)|0}function Ka(a,b,c,d,e){var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;if((e|0)>=2){e=e>>1;o=(e|0)>1?e:1;f=j[b+4>>2];g=j[b>>2];e=0;while(1){l=e<<1;h=e<<2;m=i[(h|2)+a>>1]<<10;k=m-f|0;k=(p(k&65535,10788)>>>16|0)+p(k>>16,10788)|0;n=f+k|0;f=i[a+h>>1]<<10;g=f-g|0;h=((p(g&65535,-24290)>>16)+p(g>>16,-24290)|0)+f|0;f=n+h|0;i[l+c>>1]=(f|0)>67107839?32767:(f|0)<-67109888?-32768:(f>>>10|0)+1>>>1|0;f=n-h|0;i[d+l>>1]=(f|0)>67107839?32767:(f|0)<-67109888?-32768:(f>>>10|0)+1>>>1|0;f=k+m|0;g=g+h|0;e=e+1|0;if((o|0)!=(e|0)){continue}break}j[b+4>>2]=f;j[b>>2]=g}}function Ja(a,b,c){a:{a=O(a,0,20216);if(wa(a,b)){break a}if(wa(a+10064|0,b)){break a}j[a+20192>>2]=1;j[a+20196>>2]=1;j[c>>2]=1;j[c+4>>2]=1;j[c+8>>2]=j[a+4556>>2];j[c+12>>2]=j[a+4564>>2];j[c+16>>2]=j[a+4568>>2];j[c+20>>2]=j[a+4572>>2];j[c+24>>2]=j[a+4612>>2];j[c+28>>2]=j[a+4608>>2];j[c+32>>2]=j[a+4616>>2];j[c+36>>2]=j[a+4624>>2];j[c+40>>2]=j[a+6088>>2];j[c+48>>2]=j[a+6076>>2];j[c+52>>2]=j[a+4676>>2];b=j[a+4576>>2];j[c+72>>2]=p(b<<16>>16,1e3);j[c+76>>2]=j[a+4536>>2];j[c+80>>2]=(b|0)==16?!j[a+28>>2]:0;return 0}L(17487,17507,85);z()}function lb(a,b,c,d){var e=0,f=0,g=q(0),h=0,i=0,k=0,l=0,m=0,n=q(0),p=0,s=0,t=0,u=0;e=+b;h=r(e);if(h<1e-6){return a}i=+(c|0);if(h>i*.5){a=q(0)}else{n=q(a*b);p=j[d>>2];b=q(q(r(q((e+e)/i)))*q(j[d+4>>2]));g=q(v(b));a:{if(q(r(g))>3];i=o[d>>3];k=o[d+16>>3];e=o[d+24>>3];b=q(b-q(c|0));g=q(b*b);f=+n*3.141592653589793;s=Hc(f)*+a/f;t=e;f=+q(b*g);l=f*.1666666667;e=+b;m=l-e*.1666666667;u=k;k=+g*.5;f=k+e-f*.5;e=k+e*-.3333333333-l;a=q(s*(t*m+(u*f+(i*e+h*(1-m-f-e)))))}return a}function Mc(a,b){var c=0,d=0,e=0;c=I-208|0;I=c;j[c+204>>2]=b;O(c+160|0,0,40);j[c+200>>2]=j[c+204>>2];a:{if((Ca(0,c+200|0,c+80|0,c+160|0)|0)<0){break a}d=j[a+76>>2]>=0;b=j[a>>2];if(h[a+74|0]<=0){j[a>>2]=b&-33}e=b&32;b:{if(j[a+48>>2]){Ca(a,c+200|0,c+80|0,c+160|0);break b}j[a+48>>2]=80;j[a+16>>2]=c+80;j[a+28>>2]=c;j[a+20>>2]=c;b=j[a+44>>2];j[a+44>>2]=c;Ca(a,c+200|0,c+80|0,c+160|0);if(!b){break b}K[j[a+36>>2]](a,0,0)|0;j[a+48>>2]=0;j[a+44>>2]=b;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0}j[a>>2]=j[a>>2]|e;if(!d){break a}}I=c+208|0}function pd(a,b,c,d,e,f,g){var h=0,i=0,k=0,l=0;h=I;k=h;a:{if((c|0)>0){if((b|0)<=1){break a}h=h-((b<<2)+15&-16)|0;I=h;g=q(q(q(1)/q(y(td(h,b,c,f))))*g);f=0;while(1){i=f<<2;n[i+a>>2]=g*q(j[h+i>>2]);f=f+1|0;if((f|0)!=(b|0)){continue}break}Ha(a,b,-1,e,c,d);d=1;if((e|0)>=2){b=(b>>>0)/(e>>>0)|0;i=(b|0)>1?b:1;d=0;c=0;while(1){l=p(b,c);f=0;a=0;while(1){a=j[h+(f+l<<2)>>2]|a;f=f+1|0;if((i|0)!=(f|0)){continue}break}d=((a|0)!=0)<>2];if(h){g=1;e=p(16384-d|0,32736-c|0)>>>15|0;f=h>>31;i=f^f+h;c:{if(!e|(i|0)<2){break c}while(1){k=e<<1;e=p(k,d)>>>15|0;c=(c+k|0)+2|0;g=g+1|0;if((i|0)<=(g|0)){break c}if(e){continue}break}}d:{if(!e){e=b;b=i-g|0;d=((h>>>31|32768)-c>>1)-1|0;b=(b|0)<(d|0)?b:d;j[e>>2]=b+(f+g|0)^f;e=(c+f|0)+(b<<1|1)|0;c=(e|0)!=32768;break d}b=c;c=e+1|0;e=b+(c&(f^-1))|0}if(c+e>>>0>=32769){break b}if(!c){break a}}lc(a,e,c+e|0);return}L(32848,32879,88);z()}L(32894,32879,89);z()}function Ga(a,b,c,d,e,f){var g=q(0),h=0,k=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=q(0);t=(e|0)>1?e:1;u=j[a+44>>2]<>2];while(1){if((d|0)>=1){v=p(h,u);w=p(j[a+8>>2],h);m=l[o>>1];k=0;while(1){e=m<<16;g=q(0);r=k+1|0;m=i[(r<<1)+o>>1];e=e>>16;s=m-e<=1){x=((e<>2];g=q(z+q(g*g));e=e+1|0;if((s|0)!=(e|0)){continue}break}}n[(k+w<<2)+c>>2]=y(q(g+q(1.0000000272452012e-27)));k=r;if((k|0)!=(d|0)){continue}break}}h=h+1|0;if((t|0)!=(h|0)){continue}break}}function Xd(a,b,c,d,e,f){var g=0,h=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0;if(!(f&1)){if((e|0)>=1){u=(f|0)<2;while(1){o=f;h=0;q=0;if(!u){while(1){m=o-1|0;g=m<<1;n=p(l[g+b>>1]-(k[c+m|0]<<7)<<16>>16,i[d+g>>1]);s=n-(h>>1)|0;g=s>>31;m=o-2|0;h=m<<1;h=p(l[h+b>>1]-(k[c+m|0]<<7)<<16>>16,i[d+h>>1]);t=h-(n>>1)|0;n=t>>31;q=((g^g+s)+q|0)+(n^n+t)|0;g=(o|0)>3;o=m;if(g){continue}break}}j[(r<<2)+a>>2]=q;c=c+f|0;d=(f<<1)+d|0;r=r+1|0;if((r|0)!=(e|0)){continue}break}}return}L(15720,15761,49);z()}function ld(a,b,c,d,e,f,g){var h=0,k=0,l=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=q(0);s=(f|0)>1?f:1;t=p(j[a+44>>2],g);o=j[a+32>>2];while(1){if((e|0)>=1){u=p(k,t);v=p(j[a+8>>2],k);m=i[o>>1];l=0;while(1){f=p(g,m);h=l;l=h+1|0;m=i[(l<<1)+o>>1];r=p(m,g);if((f|0)<(r|0)){w=q(q(1)/q(n[(h+v<<2)+d>>2]+q(1.0000000272452012e-27)));while(1){h=f+u<<2;n[h+c>>2]=w*n[b+h>>2];f=f+1|0;if((r|0)>(f|0)){continue}break}}if((e|0)!=(l|0)){continue}break}}k=k+1|0;if((s|0)!=(k|0)){continue}break}}function jc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;c=j[a+32>>2];d=j[a+28>>2];b=d>>>2|0;g=c>>>0>>0;if(!g){c=c-b|0;j[a+32>>2]=c}b=g?b:d-b|0;j[a+28>>2]=b;if(b>>>0<=8388608){d=j[a+24>>2];i=j[a+40>>2];h=j[a+20>>2];m=j[a+4>>2];while(1){l=b<<8;j[a+28>>2]=l;h=h+8|0;j[a+20>>2]=h;e=0;if(d>>>0>>0){f=d+1|0;j[a+24>>2]=f;e=k[j[a>>2]+d|0];d=f}j[a+40>>2]=e;c=(c<<8&2147483392|(i<<8|e)>>>1&255)^255;j[a+32>>2]=c;f=b>>>0<32769;i=e;b=l;if(f){continue}break}}return g}function zc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;g=b<<2;h=g+j[a+64>>2]|0;c=j[h>>2];b=0;i=g+j[a+60>>2]|0;g=j[i>>2];k=j[d>>2];a:{if((g|0)>=(k|0)){break a}d=j[a+12>>2];l=j[a+40>>2];m=j[a+36>>2];n=j[a+92>>2];a=j[f>>2];a=(a|0)>0?a:0;while(1){if((a|0)==(b|0)){b=a;break a}j[(p(b,n)<<2)+e>>2]=0;f=c+l|0;c=f-(d>>>0>f>>>0?0:d)|0;b=b+1|0;g=(g+m|0)+(d>>>0<=f>>>0)|0;if((k|0)>(g|0)){continue}break}}j[i>>2]=g;j[h>>2]=c;return b|0}function sa(a,b,c,d){var e=q(0),f=q(0),g=0,h=q(0),i=0;a:{if(c-1>>>0<2){if(d&3){break a}if((d|0)>=1){e=q(q(3.1415927410125732)/q(d+1|0));h=q(q(2)-q(e*e));c=(c|0)<2;e=c?e:q(h*q(.5));f=c?q(0):q(1);while(1){c=i<<2;n[c+a>>2]=q(f+e)*q(n[b+c>>2]*q(.5));g=c|4;n[g+a>>2]=e*n[b+g>>2];g=c|8;f=q(q(h*e)-f);n[g+a>>2]=q(e+f)*q(n[b+g>>2]*q(.5));c=c|12;n[c+a>>2]=f*n[b+c>>2];e=q(q(h*f)-e);i=i+4|0;if((i|0)<(d|0)){continue}break}}return}L(9375,9424,48);z()}L(9459,9424,51);z()}function he(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=b;if(!c){J=0;return(a>>>0)/10|0}g=61-s(c)|0;f=0-g|0;e=g&63;d=e&31;if(e>>>0>=32){e=0;d=c>>>d|0}else{e=c>>>d|0;d=((1<>>d}f=f&63;c=f&31;if(f>>>0>=32){b=a<>>32-c|b<>>31;f=c;e=e<<1|d>>>31;c=0-(e+(c>>>0>9)|0)>>31;h=c&10;d=f-h|0;e=e-(f>>>0>>0)|0;b=b<<1|a>>>31;a=i|a<<1;h=c&1;i=h;g=g-1|0;if(g){continue}break}}J=b<<1|a>>>31;return h|a<<1}function qc(a){var b=0;j[a>>2]=0;j[a+4>>2]=0;j[a+56>>2]=0;j[a+60>>2]=5e3;j[a+32>>2]=0;j[a+36>>2]=0;j[a+24>>2]=0;j[a+28>>2]=0;j[a+16>>2]=0;j[a+20>>2]=0;j[a+8>>2]=0;j[a+12>>2]=0;j[a+96>>2]=25;j[a+100>>2]=16;j[a+80>>2]=858993;j[a+84>>2]=1342177;b=a- -64|0;j[b>>2]=2500;j[b+4>>2]=1600;j[a+104>>2]=12;j[a+108>>2]=15;j[a+88>>2]=1789569;j[a+92>>2]=50;j[a+72>>2]=1200;j[a+76>>2]=429496;j[a+40>>2]=25600;j[a+44>>2]=25600;j[a+48>>2]=25600;j[a+52>>2]=25600;return 0}function kd(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!j[j[13217]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){h[a+1|0]=b&63|128;h[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){h[a+2|0]=b&63|128;h[a|0]=b>>>12|224;h[a+1|0]=b>>>6&63|128;return 3}if(b-65536>>>0<=1048575){h[a+3|0]=b&63|128;h[a|0]=b>>>18|240;h[a+2|0]=b>>>6&63|128;h[a+1|0]=b>>>12&63|128;return 4}}j[13231]=25;a=-1}else{a=1}return a}h[a|0]=b;return 1}function Xa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,l=0;e=j[a+36>>2];f=p(e,d-c|0);g=j[a+32>>2]-f|0;j[a+32>>2]=g;c=b?p(e,c-b|0):j[a+28>>2]-f|0;j[a+28>>2]=c;if(c>>>0<=8388608){d=j[a+24>>2];e=j[a+40>>2];i=j[a+20>>2];l=j[a+4>>2];while(1){f=c<<8;j[a+28>>2]=f;i=i+8|0;j[a+20>>2]=i;b=0;if(d>>>0>>0){h=d+1|0;j[a+24>>2]=h;b=k[j[a>>2]+d|0];d=h}j[a+40>>2]=b;g=(g<<8&2147483392|(e<<8|b)>>>1&255)^255;j[a+32>>2]=g;h=c>>>0<32769;e=b;c=f;if(h){continue}break}}}function Pa(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0;if((d|0)>=2){d=d>>1;m=(d|0)>1?d:1;e=j[a+4>>2];f=j[a>>2];d=0;while(1){g=d<<2;h=i[g+c>>1]<<10;f=h-f|0;h=((p(f&65535,-25727)>>16)+p(f>>16,-25727)|0)+h|0;k=h+e|0;g=i[(g|2)+c>>1]<<10;e=g-e|0;e=(p(e&65535,9872)>>>16|0)+p(e>>16,9872)|0;k=k+e|0;l=(k>>10)+1>>1;i[(d<<1)+b>>1]=(k|0)>67107839?32767:(l|0)>-32768?l:-32768;e=e+g|0;f=f+h|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}j[a+4>>2]=e;j[a>>2]=f}}function sd(a,b){var c=0;c=(b|0)!=0;a:{b:{c:{if(!b|!(a&3)){break c}while(1){if(!k[a|0]){break b}a=a+1|0;b=b-1|0;c=(b|0)!=0;if(!b){break c}if(a&3){continue}break}}if(!c){break a}}d:{if(!k[a|0]|b>>>0<4){break d}while(1){c=j[a>>2];if((c^-1)&c-16843009&-2139062144){break d}a=a+4|0;b=b-4|0;if(b>>>0>3){continue}break}}if(!b){break a}while(1){if(!k[a|0]){return a}a=a+1|0;b=b-1|0;if(b){continue}break}}return 0}function Bb(a){var b=0,c=0,d=0;b=I-16|0;I=b;pe(+a);d=me(1)|0;me(0)|0;d=d&2147483647;a:{if(d>>>0<=1072243195){c=1;if(d>>>0<1044816030){break a}c=la(a,0);break a}c=a-a;if(d>>>0>=2146435072){break a}b:{switch(Cb(a,b)&3){case 0:c=la(o[b>>3],o[b+8>>3]);break a;case 1:c=-ka(o[b>>3],o[b+8>>3],1);break a;case 2:c=-la(o[b>>3],o[b+8>>3]);break a;default:break b}}c=ka(o[b>>3],o[b+8>>3],1)}a=c;I=b+16|0;return a}function W(a,b,c){var d=0,e=0,f=0,g=0,i=0;if(c){g=j[a+12>>2];f=j[a+16>>2];d=f+c|0;a:{if(d>>>0<33){e=f;break a}while(1){i=a;e=j[a+4>>2];d=j[a+8>>2];if(e>>>0>d+j[a+24>>2]>>>0){d=d+1|0;j[a+8>>2]=d;h[j[a>>2]+(e-d|0)|0]=g;e=0}else{e=-1}j[i+44>>2]=e|j[a+44>>2];g=g>>>8|0;d=(f|0)>15;e=f-8|0;f=e;if(d){continue}break}d=c+e|0}j[a+16>>2]=d;j[a+12>>2]=b<>2]=j[a+20>>2]+c;return}L(7033,7019,198);z()}function Hc(a){var b=0,c=0;b=I-16|0;I=b;pe(+a);c=me(1)|0;me(0)|0;c=c&2147483647;a:{if(c>>>0<=1072243195){if(c>>>0<1045430272){break a}a=ka(a,0,0);break a}if(c>>>0>=2146435072){a=a-a;break a}b:{switch(Cb(a,b)&3){case 0:a=ka(o[b>>3],o[b+8>>3],1);break a;case 1:a=la(o[b>>3],o[b+8>>3]);break a;case 2:a=-ka(o[b>>3],o[b+8>>3],1);break a;default:break b}}a=-la(o[b>>3],o[b+8>>3])}I=b+16|0;return a}function Fd(a,b,c,d,e){var f=0,g=0,i=0,k=0,l=0;if((e|0)>=1){while(1){f=h[b+i|0];l=c;a:{if(!(d|i)){g=h[c|0]-16|0;f=(f|0)>(g|0)?f:g;break a}g=h[c|0];k=g+8|0;f=f-4|0;if((k|0)<(f|0)){f=g+((f<<1)-k|0)|0;break a}f=f+g|0}f=f<<24>>24>0?f:0;f=f<<24>>24<63?f:63;h[l|0]=f;f=f&255;f=(p(f,7281)>>>16|0)+p(f,29)|0;j[(i<<2)+a>>2]=na((f>>>0<1877?f:1877)+2090|0);i=i+1|0;if((i|0)!=(e|0)){continue}break}}}function Ia(a,b,c,d,e,f){var g=0,h=0,i=0,k=0;k=(f|0)>1?f:1;while(1){if((b|0)>=1){h=p(j[a+8>>2],g);f=0;while(1){i=f+h<<2;n[e+i>>2]=q(ma(+n[i+d>>2])*1.4426950408889634)-n[(f<<2)+32928>>2];f=f+1|0;if((f|0)!=(b|0)){continue}break}}if((b|0)<(c|0)){h=p(j[a+8>>2],g);f=b;while(1){j[(f+h<<2)+e>>2]=-1050673152;f=f+1|0;if((f|0)!=(c|0)){continue}break}}g=g+1|0;if((k|0)!=(g|0)){continue}break}}function dd(a,b,c,d){var e=0;e=-1;a:{if(c>>>0>2){break a}e=-7;if(!a){break a}a=O(a,0,p(((j[4500]<<2)+(j[4501]<<4)|0)+4096|0,c)+244|0);j[a+28>>2]=1;j[a+32>>2]=0;j[a+8>>2]=c;j[a+4>>2]=c;j[a>>2]=17996;c=j[4502];j[a+24>>2]=5;j[a+60>>2]=24;j[a+12>>2]=0;j[a+16>>2]=1;j[a+40>>2]=-1;j[a+44>>2]=0;j[a+72>>2]=d;j[a+48>>2]=1;j[a+52>>2]=1;j[a+36>>2]=c;P(a,4028,0);j[a+28>>2]=sc(b);e=0}return e}function hc(a,b,c,d,e,f){var g=0,i=0,l=0;g=I-16|0;I=g;h[g+15|0]=0;if((c|0)>=8){d=p((d<<1)+e<<16>>16,7)+9232|0;c=c+8>>4;e=(c|0)>1?c:1;while(1){c=j[(i<<2)+f>>2];if((c|0)>=1){c=c&31;h[g+14|0]=k[d+(c>>>0<6?c:6)|0];c=0;while(1){l=k[b+c|0];if(l){N(a,(l<<24>>24>>>7|0)+1&255,g+14|0,8)}c=c+1|0;if((c|0)!=16){continue}break}}b=b+16|0;i=i+1|0;if((e|0)!=(i|0)){continue}break}}I=g+16|0}function rb(a,b,c){var d=0,e=0,f=0,g=0;e=I-16|0;I=e;d=-4;a:{if((c|0)<1){break a}b:{if(!j[a+4>>2]){h[a|0]=k[b|0];j[a+296>>2]=Vc(b);break b}if((k[b|0]^k[a|0])>>>0>3){break a}}f=Sc(b,c);if((f|0)<1){break a}g=j[a+4>>2];if((p(j[a+296>>2],g+f|0)|0)>960){break a}d=Tc(b,c,e+15|0,((g<<2)+a|0)+8|0,((g<<1)+a|0)+200|0);if((d|0)<1){break a}j[a+4>>2]=j[a+4>>2]+f;d=0}I=e+16|0;return d}function xc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,k=0,l=0;h=j[a+92>>2];i=j[c>>2];k=j[e>>2];f=j[a+20>>2];j[a+92>>2]=f;l=j[a+88>>2];j[a+88>>2]=f;if(f){f=0;while(1){j[e>>2]=k;j[c>>2]=i;a:{if(b){g=f<<2;kb(a,f,g+b|0,c,d+g|0,e);break a}kb(a,f,0,c,(f<<2)+d|0,e)}f=f+1|0;if(f>>>0>2]){continue}break}}j[a+92>>2]=h;j[a+88>>2]=l;return j[a+84>>2]==9|0}function zb(a,b,c){var d=0,e=0,f=q(0),g=q(0),h=0,i=0,j=0,k=0;if((c|0)>=1){d=b>>1;h=(d|0)>1?d:1;i=c<<1;d=0;j=(b|0)<2;while(1){b=0;if(!j){while(1){e=(p(b,i)+d<<2)+a|0;f=q(n[e>>2]*q(.7071067690849304));k=e;e=(p(b<<1|1,c)+d<<2)+a|0;g=q(n[e>>2]*q(.7071067690849304));n[k>>2]=f+g;n[e>>2]=f-g;b=b+1|0;if((h|0)!=(b|0)){continue}break}}d=d+1|0;if((d|0)!=(c|0)){continue}break}}}function Qa(a,b,c){var d=0,e=0,f=0,g=0,h=q(0),i=0,j=0,k=q(0),l=q(0),m=0,o=0;g=1;if((c|0)>=1){while(1){i=f<<2;h=n[i+b>>2];j=f+1|0;if(j&2147483646){m=g>>>1|0;d=0;while(1){e=(d<<2)+a|0;k=n[e>>2];o=e;e=((d^-1)+f<<2)+a|0;l=n[e>>2];n[o>>2]=k+q(h*l);n[e>>2]=l+q(h*k);d=d+1|0;if((m|0)!=(d|0)){continue}break}}n[a+i>>2]=-h;g=g+1|0;f=j;if((f|0)!=(c|0)){continue}break}}}function Uc(a,b,c){var d=0,e=0,f=0;a:{d=b;e=j[c+16>>2];if(!e){if($c(c)){break a}e=j[c+16>>2]}f=j[c+20>>2];if(e-f>>>0>>0){K[j[c+36>>2]](c,a,b)|0;return}b:{if(h[c+75|0]<0){break b}e=b;while(1){d=e;if(!d){break b}e=d-1|0;if(k[e+a|0]!=10){continue}break}if(K[j[c+36>>2]](c,a,d)>>>0>>0){break a}a=a+d|0;b=b-d|0;f=j[c+20>>2]}M(f,a,b);j[c+20>>2]=j[c+20>>2]+b}}function da(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;if((c|0)>3){h=c-3|0;while(1){d=e<<2;f=d|4;i=+n[a+d>>2]*+n[b+d>>2]+ +n[a+f>>2]*+n[b+f>>2];f=d|8;d=d|12;g=g+(i+ +n[f+a>>2]*+n[b+f>>2]+ +n[d+a>>2]*+n[b+d>>2]);e=e+4|0;if((h|0)>(e|0)){continue}break}e=c&-4}if((c|0)>(e|0)){while(1){d=e<<2;g=g+ +n[d+a>>2]*+n[b+d>>2];e=e+1|0;if((e|0)!=(c|0)){continue}break}}return g}function Na(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=c>>16;d=b-1|0;if((b|0)>=2){i=c-65536|0;b=0;while(1){f=(b<<2)+a|0;g=j[f>>2];h=g<<16>>16;j[f>>2]=(p(e,h)+(p(c&65535,h)>>16)|0)+p((g>>15)+1>>1,c);c=((p(c,i)>>15)+1>>1)+c|0;e=c>>16;b=b+1|0;if((d|0)!=(b|0)){continue}break}}b=(d<<2)+a|0;d=j[b>>2];a=d<<16>>16;j[b>>2]=(p(a,e)+(p(a,c&65535)>>16)|0)+p((d>>15)+1>>1,c)}function _b(a,b,c){var d=0,e=0,f=q(0),g=0,h=0;e=I;h=e;I=e-((c<<2)+15&-16)|0;if((c|0)>0){g=c-4|0;pa(a,a,b,g,5);e=0;while(1){f=q(0);d=e+g|0;if((d|0)<(c|0)){while(1){f=q(f+q(n[(d<<2)+a>>2]*n[(d-e<<2)+a>>2]));d=d+1|0;if((d|0)!=(c|0)){continue}break}}d=(e<<2)+b|0;n[d>>2]=f+n[d>>2];d=(e|0)!=4;e=e+1|0;if(d){continue}break}I=h;return}L(9687,9671,228);z()}function Nd(a,b,c,d){var e=0;e=I+ -64|0;I=e;Td(a,e,c,d);c=j[a+4640>>2];a:{if((c|0)<1){break a}a=0;while(1){n[(a<<2)+b>>2]=q(i[(a<<1)+e>>1])*q(.000244140625);a=a+1|0;if((c|0)!=(a|0)){continue}break}if((c|0)<1){break a}a=0;while(1){n[((a<<2)+b|0)- -64>>2]=q(i[((a<<1)+e|0)+32>>1])*q(.000244140625);a=a+1|0;if((c|0)!=(a|0)){continue}break}}I=e- -64|0}function ca(a,b){a:{if((b|0)>=1024){a=a*8.98846567431158e+307;if((b|0)<2047){b=b-1023|0;break a}a=a*8.98846567431158e+307;b=((b|0)<3069?b:3069)-2046|0;break a}if((b|0)>-1023){break a}a=a*2.2250738585072014e-308;if((b|0)>-2045){b=b+1022|0;break a}a=a*2.2250738585072014e-308;b=((b|0)>-3066?b:-3066)+2044|0}ne(0,0);ne(1,b+1023<<20);return a*+oe()}function Aa(a,b,c,d){var e=0,f=0,g=0;e=i[c+2>>1];if((e|0)>=1){e=j[c+24>>2]+((p(e&65535,d)|0)/2|0)|0;d=0;while(1){f=k[e|0];i[(d<<1)+a>>1]=p(f>>>1&7,9);h[b+d|0]=k[j[c+20>>2]+(p(i[c+2>>1]-1|0,f&1)+d|0)|0];g=d|1;i[(g<<1)+a>>1]=p(f>>>5|0,9);h[b+g|0]=k[j[c+20>>2]+(p(i[c+2>>1]-1|0,f>>>4&1)+g|0)|0];e=e+1|0;d=d+2|0;if((d|0)>1]){continue}break}}}function Fb(a,b){var c=0;pc(a,a+5098|0);c=j[a+4532>>2];a:{b:{c:{if(!b){if((c|0)<13){break c}j[a+4532>>2]=12;break c}if((c|0)>12){break b}}b=0;h[a+4765|0]=0;c=j[a+6084>>2];j[a+6084>>2]=c+1;if((c|0)>=10){if((c|0)<30){break a}j[a+6084>>2]=10}j[a+6080>>2]=0;break a}j[a+6080>>2]=0;j[a+6084>>2]=0;b=1;h[a+4765|0]=1}h[(j[a+5748>>2]+a|0)+4720|0]=b}function S(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if((b|0)>3){h=b-3|0;while(1){g=c;f=d<<2;c=+n[f+a>>2];e=c*c;c=+n[(f|4)+a>>2];e=e+c*c;c=+n[(f|8)+a>>2];e=e+c*c;c=+n[(f|12)+a>>2];c=g+(e+c*c);d=d+4|0;if((h|0)>(d|0)){continue}break}d=b&-4}if((b|0)>(d|0)){while(1){g=c;c=+n[(d<<2)+a>>2];c=g+c*c;d=d+1|0;if((d|0)!=(b|0)){continue}break}}return c}function _a(a,b){var c=0;a:{b:{c=h[b+5|0]+p(h[b+2|0],5)|0;if((c|0)<25){N(a,c,5776,8);c=h[b|0];if((c|0)>=3){break b}if(h[b+1|0]>=5){break a}N(a,c,5854,8);N(a,h[b+1|0],5861,8);c=h[b+3|0];if((c|0)>2){break b}if(h[b+4|0]>4){break a}N(a,c,5854,8);N(a,h[b+4|0],5861,8);return}L(7150,7175,44);z()}L(7201,7175,47);z()}L(7236,7175,48);z()}function Sb(a,b,c){var d=0,e=0,f=0,g=0;g=c&65532;if(g){while(1){d=e<<2;f=d+a|0;n[f>>2]=n[f>>2]*b;f=(d|4)+a|0;n[f>>2]=n[f>>2]*b;f=(d|8)+a|0;n[f>>2]=n[f>>2]*b;d=(d|12)+a|0;n[d>>2]=n[d>>2]*b;e=e+4|0;if(g>>>0>e>>>0){continue}break}}if((c|0)>(e|0)){while(1){d=(e<<2)+a|0;n[d>>2]=n[d>>2]*b;e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function $d(a,b,c,d,e,f){var g=q(0),h=0,i=0,k=q(0),l=0;if((f|0)>=1){l=e+5|0;while(1){i=(c-(j[(h<<2)+d>>2]<<2)|0)-8|0;ae(i,e,a);be(i,c,e,b);g=q(S(c,l));k=q(q(q(n[a>>2]+n[a+96>>2])*q(.014999999664723873))+q(1));g=q(q(1)/(g>k?g:k));Sb(a,g,25);Sb(b,g,5);b=b+20|0;a=a+100|0;c=(e<<2)+c|0;h=h+1|0;if((h|0)!=(f|0)){continue}break}}}function Hd(a,b,c,d,e,f,g){var h=q(0),i=0,j=0,k=0,l=0;i=I-768|0;I=i;j=e+g|0;k=j<<1;qa(i,c,b,k,g);h=n[d>>2];l=(g<<2)+i|0;n[a>>2]=S(l,e)*+q(h*h);h=n[d+4>>2];j=(j<<2)+l|0;n[a+4>>2]=S(j,e)*+q(h*h);if((f|0)==4){qa(i,c- -64|0,(k<<2)+b|0,k,g);h=n[d+8>>2];n[a+8>>2]=S(l,e)*+q(h*h);h=n[d+12>>2];n[a+12>>2]=S(j,e)*+q(h*h)}I=i+768|0}function ua(a){var b=0,c=0,d=0,e=0,f=0,g=0;e=j[a+12>>2];b=j[a+16>>2];a:{if(b>>>0>=1){c=b;break a}d=j[a+8>>2];f=j[a+4>>2];while(1){if(d>>>0>>0){d=d+1|0;j[a+8>>2]=d;c=k[j[a>>2]+(f-d|0)|0]}else{c=0}e=c<>2]=c-1;j[a+12>>2]=e>>>1;j[a+20>>2]=j[a+20>>2]+1;return e&1}function ce(a,b,c,d){var e=0,f=0,g=0,h=0;h=d&65532;if(h){while(1){e=f<<2;n[e+a>>2]=n[b+e>>2]*c;g=e|4;n[g+a>>2]=n[b+g>>2]*c;g=e|8;n[g+a>>2]=n[b+g>>2]*c;e=e|12;n[e+a>>2]=n[b+e>>2]*c;f=f+4|0;if(h>>>0>f>>>0){continue}break}}if((d|0)>(f|0)){while(1){e=f<<2;n[e+a>>2]=n[b+e>>2]*c;f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function Bd(a,b){var c=0,d=0,e=0;j[a+4608>>2]=b;e=j[a+4576>>2];b=j[a+4580>>2]==2?(((e|0)/-16|0)+b|0)-2e3|0:b;d=17024;c=106;a:{b:{switch(e-8|0){case 4:d=17136;c=154;break a;case 0:break a;default:break b}}d=17296;c=190}b=((b+200|0)/400|0)-10|0;b=(b|0)<(c|0)?b:c;if((b|0)>=1){b=p(k[b+d|0],21)}else{b=0}j[a+4716>>2]=b}function kc(a,b,c){var d=0,e=0,f=0;if(c>>>0<9){d=8-c|0;e=(-1<>2]){a=j[a>>2];h[a|0]=k[a|0]&(e^-1)|b<>2];if((f|0)>=0){j[a+40>>2]=(e^-1)&f|b<>2]<=-2147483648>>>c>>>0){j[a+32>>2]=j[a+32>>2]&(e<<23^-1)|b<<31-c;return}j[a+44>>2]=-1;return}L(7059,7019,217);z()}function Yd(a,b){var c=0,d=0,e=0,f=0,g=0;d=1;if((b|0)>=1){if((b|0)!=1){while(1){f=i[(d<<1)+a>>1];c=d;a:{while(1){g=c-1|0;e=i[(g<<1)+a>>1];if((e|0)<=(f|0)){break a}i[(c<<1)+a>>1]=e;e=(c|0)>1;c=g;if(e){continue}break}c=0}i[(c<<1)+a>>1]=f;d=d+1|0;if((d|0)!=(b|0)){continue}break}}return}L(15671,15659,144);z()}function Kd(a,b,c){var d=0,e=q(0),f=0;f=a+4769|0;d=0;a:{if(c){break a}e=q(q(n[b+708>>2]*q(j[a+5744>>2]+j[a+4616>>2]|0))*q(.10000000149011612));d=2;if(e>q(2)){break a}d=0;if(e>2]=q(i[(d<<1)+5848>>1])*q(6103515625e-14)}function rc(a,b,c,d){var e=0,f=0,g=0,h=0,m=0,n=0,o=0,q=0;e=j[a+8>>2];if((e|0)>=1){m=((c<<1)+d|0)-1|0;n=j[a+104>>2];h=j[a+32>>2];g=l[h>>1];while(1){o=g<<16;q=(f<<2)+b|0;e=k[(p(e,m)+f|0)+n|0]- -64|0;f=f+1|0;g=i[(f<<1)+h>>1];j[q>>2]=p(e,p(g-(o>>16)<>2;e=j[a+8>>2];if((e|0)>(f|0)){continue}break}}}function od(a,b,c){var d=0,e=q(0),f=q(0);a:{if((b|0)<1){break a}while(1){f=e;e=n[(d<<2)+a>>2];e=q(f+q(e*e));d=d+1|0;if((d|0)!=(b|0)){continue}break}if((b|0)<1){break a}c=q(q(q(1)/q(y(q(e+q(1.0000000036274937e-15)))))*c);d=0;while(1){n[a>>2]=c*n[a>>2];a=a+4|0;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function db(a,b,c,d,e){var f=0,g=0,h=0,k=0,l=0;if((e|0)>=1){f=j[a>>2];g=i[d+2>>1];h=i[d>>1];d=0;while(1){f=(i[(d<<1)+c>>1]<<8)+f|0;j[(d<<2)+b>>2]=f;l=j[a+4>>2];f=f<<2;k=f&65532;f=f>>16;j[a+4>>2]=(p(k,g)>>16)+p(f,g);f=(p(f,h)+l|0)+(p(h,k)>>16)|0;j[a>>2]=f;d=d+1|0;if((e|0)!=(d|0)){continue}break}}}function fd(a,b,c){var d=0,e=0,f=q(0),g=0,h=0,k=0,l=q(0);if((b|0)!=(c|0)){e=j[a>>2];if((e|0)>=1){f=n[a+4>>2];k=j[a+44>>2];while(1){g=(d<<3)+b|0;l=n[g>>2];h=(i[(d<<1)+k>>1]<<3)+c|0;n[h+4>>2]=f*n[g+4>>2];n[h>>2]=f*l;d=d+1|0;if((e|0)!=(d|0)){continue}break}}Ea(a,c);return}L(42376,42433,580);z()}function md(a,b){var c=0,d=0;a:{while(1){if(n[(c<<2)+42640>>2]>a){break a}c=c+1|0;if((c|0)!=21){continue}break}c=21}b:{c:{if((b|0)<(c|0)){d=b<<2;if(q(n[d+42640>>2]+n[d+42736>>2])>a){break c}}if((b|0)<=(c|0)){break b}d=(b<<2)-4|0;if(q(n[d+42640>>2]-n[d+42736>>2])>>0<1){d=a;break a}while(1){d=he(a,b);e=J;f=e;c=c-1|0;h[c|0]=a-ie(d,e,10,0)|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;h[c|0]=d-p(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function Kb(a,b,c){var d=0,e=0,f=0,g=q(0),h=0;e=I+ -64|0;I=e;if((c|0)>=1){while(1){d=f<<2;h=d+e|0;g=je(q(n[b+d>>2]*q(65536)));a:{if(q(r(g))>2]=d;f=f+1|0;if((f|0)!=(c|0)){continue}break}}_d(a,e,c);I=e- -64|0}function La(a,b,c,d,e){var f=0,g=0,h=0;a:{if((d|0)>-1){if((d|0)>4){break a}if((e|0)>0){while(1){g=f<<1;h=l[g+b>>1];i[a+g>>1]=(p(l[c+g>>1]-h<<16>>16,d)>>>2|0)+h;f=f+1|0;if((f|0)!=(e|0)){continue}break}}return}L(15552,15584,45);z()}L(15603,15584,46);z()}function la(a,b){var c=0,d=0,e=0,f=0;c=a*a;d=c*.5;e=1-d;f=1-e-d;d=c*c;return e+(f+(c*(c*(c*(c*2480158728947673e-20+ -.001388888888887411)+.0416666666666666)+d*d*(c*(c*-1.1359647557788195e-11+2.087572321298175e-9)+ -2.7557314351390663e-7))-a*b))}function pb(a,b,c){var d=0,e=0;d=I-304|0;I=d;e=-1;a:{if((b|0)<1){break a}e=0;if((b|0)==(c|0)){break a}e=-1;if((b|0)>(c|0)){break a}j[d+4>>2]=0;e=rb(d,U((a+c|0)-b|0,a,b),b);if(e){break a}a=qb(d,j[d+4>>2],a,c,1);e=a>>31&a}I=d+304|0;return e}function Ta(a,b){var c=0,d=0;if(!a){return ha(b)}if(b>>>0>=4294967232){j[13231]=48;return 0}c=ac(a-8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=ha(b);if(!c){return 0}d=j[a-4>>2];d=(d&3?-4:-8)+(d&-8)|0;M(c,a,b>>>0>d>>>0?d:b);R(a);return c}function sc(a){var b=0;a:{b:{c:{d:{if((a|0)<=15999){if((a|0)==8e3){break d}if((a|0)!=12e3){break c}return 4}if((a|0)==16e3){break b}b=1;if((a|0)==48e3){break a}if((a|0)!=24e3){break c}return 2}return 6}L(1659,1679,84);z()}b=3}return b}function ba(a){var b=0;a:{if((a|0)<=-1){b=0;if((a|0)<-191){break a}a=0-a|0;b=a>>>3&536870908;return j[b+1024>>2]-p(i[b+1056>>1],a&31)|0}b=32767;if((a|0)>191){break a}b=a>>>3&536870908;b=p(i[b+1056>>1],a&31)+j[b+1088>>2]|0}return b}function na(a){var b=0,c=0,d=0;b=0;a:{if((a|0)<0){break a}b=2147483647;if((a|0)>3966){break a}b=a&127;c=a>>>7|0;d=1<>16)+b<>7:p((p(p(128-b|0,b),-174)>>16)+b|0,d>>>7|0))|0}return b}function ge(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=p(e,f);g=c&65535;h=a&65535;i=p(g,h);f=(i>>>16|0)+p(f,g)|0;e=(f&65535)+p(e,h)|0;a=(p(b,c)+j|0)+p(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;J=a;return b}function ra(a,b,c){var d=q(0),e=0,f=0;e=b-1|0;a:{if((b|0)<2){d=c;break a}b=0;d=c;while(1){f=(b<<2)+a|0;n[f>>2]=d*n[f>>2];d=q(d*c);b=b+1|0;if((e|0)!=(b|0)){continue}break}}a=(e<<2)+a|0;n[a>>2]=d*n[a>>2]}function _(a,b,c,d,e){var f=0;f=I-256|0;I=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;O(f,b&255,d?c:256);if(!d){while(1){aa(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}aa(a,f,c)}I=f+256|0}function yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=I-16|0;I=e;a=D(j[a+60>>2],b|0,c|0,d&255,e+8|0)|0;b=0;a:{if(!a){break a}j[13231]=a;b=-1}a=b;I=e+16|0;J=a?-1:j[e+12>>2];return(a?-1:j[e+8>>2])|0}function $c(a){var b=0;b=k[a+74|0];h[a+74|0]=b-1|b;b=j[a>>2];if(b&8){j[a>>2]=b|32;return-1}j[a+4>>2]=0;j[a+8>>2]=0;b=j[a+44>>2];j[a+28>>2]=b;j[a+20>>2]=b;j[a+16>>2]=b+j[a+48>>2];return 0}function ab(a,b,c){j[a+24>>2]=0;j[a+28>>2]=-2147483648;j[a+16>>2]=0;j[a+20>>2]=33;j[a+8>>2]=0;j[a+12>>2]=0;j[a>>2]=b;j[a+32>>2]=0;j[a+36>>2]=0;j[a+40>>2]=-1;j[a+44>>2]=0;j[a+4>>2]=c}function Sc(a,b){var c=0;c=1;if((b|0)<1){return-1}a:{b:{switch((k[a|0]&3)-1|0){case 0:case 1:return 2;case 2:break b;default:break a}}c=-4;if((b|0)<2){break a}c=k[a+1|0]&63}return c}function Ab(a){var b=0,c=0,d=0,e=0,f=0;b=31-s(a)>>1;c=1<>>0>a>>>0;a=a-(d?0:f)|0;e=(d?0:c)+e|0;d=(b|0)>0;c=c>>>1|0;b=b-1|0;if(d){continue}break}return e}function $(a){var b=0,c=0;b=j[13136];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>te()<<16>>>0){if(!(H(a|0)|0)){break a}}j[13136]=a;return b}j[13231]=48;return-1}function Q(a){var b=0,c=0;b=s(a);c=24-b|0;a:{if(!c){break a}if(a>>>0<=127){a=a<<0-c|a>>>56-b;break a}a=a<>>c}a=a&127;return(a-(b<<7)+(p(p(a,128-a|0),179)>>>16)|0)+3968|0}function Od(a,b,c){var d=0;d=I-32|0;I=d;Ma(d,b,c);if((c|0)>=1){b=0;while(1){n[(b<<2)+a>>2]=q(i[(b<<1)+d>>1])*q(.000244140625);b=b+1|0;if((c|0)!=(b|0)){continue}break}}I=d+32|0}function Nc(a,b){var c=q(0),d=q(0),e=q(0),f=0;while(1){d=n[(f<<2)+a>>2];c=cd?e:d;f=f+1|0;if((f|0)!=720){continue}break}c=q(-c);return q(q(1)/q(1<=(c>2]]-48>>>0<10){while(1){b=j[a>>2];d=h[b|0];j[a>>2]=b+1;c=(p(c,10)+d|0)-48|0;if(h[b+1|0]-48>>>0<10){continue}break}}return c}function Vc(a){a=k[a|0];if(a&128){return(8e3<<(a>>>3&3))/400|0}if((a&96)==96){if(a&8){return 160}return 80}a=a>>>3&3;if((a|0)==3){return 480}return(8e3<>2];c=s(b);d=b>>>16-c|0;b=(d>>>12|0)-8|0;return((((j[a+20>>2]<<3)+(c<<3)|0)-(m[(b<<2)+32816>>2]>>0)|0)-b|0)-256|0}function fc(a,b,c,d){var e=0,f=0,g=0;if((d|0)>=1){while(1){g=e;e=f<<1;e=g+(p(i[e+b>>1],i[a+e>>1])>>c)|0;f=f+1|0;if((f|0)!=(d|0)){continue}break}}return e}function Sa(a,b,c,d){var e=0,f=0;e=(c|0)<(d|0)?c:d;if((e|0)>=1){d=0;while(1){f=d<<2;n[f+a>>2]=da(b,b+f|0,c-d|0);d=d+1|0;if((e|0)!=(d|0)){continue}break}}}function je(a){var b=q(0),c=q(0);b=q(v(a));c=q(a-b);if(!(cq(.5)){return a}c=a;a=q(b*q(.5));b=q(a-q(v(a)))==q(0)?b:c}return b}function fa(a,b){var c=0,d=0;c=j[a+8>>2];if(c+j[a+24>>2]>>>0>b>>>0){L(7097,7019,238);z()}d=j[a>>2];U((d+b|0)-c|0,(j[a+4>>2]+d|0)-c|0,c);j[a+4>>2]=b}function ta(a){var b=0,c=0;b=0;a:{if(!a){break a}c=a;b=a;if((a|1)>>>0<65536){break a}b=c}c=b;a=ha(b);if(!(!a|!(k[a-4|0]&3))){O(a,0,c)}return a}function Ya(a,b){var c=0,d=0;c=m[a+28>>2]/(b>>>0)|0;j[a+36>>2]=c;c=m[a+32>>2]/(c>>>0)|0;d=c+1|0;a=d-b|0;return((c^-1)+b|0)+(a>>>0>d>>>0?0:a)|0}function wa(a,b){a=O(a,0,10064);j[a+5092>>2]=b;b=Q(3932160);j[a+4664>>2]=1;b=(b<<8)-524288|0;j[a+12>>2]=b;j[a+8>>2]=b;return qc(a+36|0)}function wc(a,b,c,d){if(a|b){while(1){c=c-1|0;h[c|0]=k[(a&15)+1600|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function Gb(a,b){var c=0,d=0;if((b|0)>=1){while(1){d=h[a+c|0]+(d<<8)|0;c=c+1|0;if((c|0)!=(b|0)){continue}break}}return d}function vc(a,b,c){if(a|b){while(1){c=c-1|0;h[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function be(a,b,c,d){var e=0;a=a+16|0;while(1){n[(e<<2)+d>>2]=da(a,b,c);a=a-4|0;e=e+1|0;if((e|0)!=5){continue}break}}function sb(a,b){var c=0;if((a|0)<=251){h[b|0]=a;return 1}c=a|-4;h[b|0]=c;h[b+1|0]=a-(c&255)>>>2;return 2}function yc(a){a=a|0;R(j[a+72>>2]);R(j[a+76>>2]);R(j[a+60>>2]);R(j[a+68>>2]);R(j[a+64>>2]);R(a)}function L(a,b,c){var d=0;d=I-16|0;I=d;j[d+8>>2]=a;j[d+4>>2]=c;j[d>>2]=b;tc(j[278],d);E();z()}function ke(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a} - - - -function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Fc(a,b,c,b,c,d,e)|0}function tc(a,b){var c=0;c=I-16|0;I=c;j[c+12>>2]=b;Mc(a,b);I=c+16|0}function wb(a,b){if(!a){return 0}return kd(a,b)}function aa(a,b,c){if(!(k[a|0]&32)){Uc(b,c,a)}}function ie(a,b,c,d){a=ge(a,b,c,d);return a}function Ld(a){a=a|0;return F(j[a+60>>2])|0}function ub(a){O(a+12|0,0,13992)}function fb(a,b,c,d){gb(a,b,c,d)}function Za(a,b){N(a,b,5801,8)}function Ic(a){a=a|0;R(a)}function Ub(){} - - - - -// EMSCRIPTEN_END_FUNCS -a=k;var K=le([null,Ld,Dd,yd,Pc,Dc,Cc,Bc,Ac,zc]);function te(){return g.byteLength/65536|0}return{"h":Ub,"i":Qc,"j":Kc,"k":Jc,"l":Ic,"m":Gc,"n":yc,"o":xc,"p":ha,"q":R,"r":K}}return se(ue)} - - -// EMSCRIPTEN_END_ASM - - - - -)(asmLibraryArg)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module)})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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 INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":INITIAL_MEMORY/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;__ATINIT__.push({func:function(){___wasm_call_ctors()}});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(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){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)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}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+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var memoryInitializer="libopus-encoder.min.js.mem";function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var wasmBinaryFile="libopus-encoder.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}}catch(err){abort(err)}}function instantiateSync(file,info){var instance;var module;var binary;try{binary=getBinary(file);module=new WebAssembly.Module(binary);instance=new WebAssembly.Instance(module,info)}catch(e){var str=e.toString();err("failed to compile wasm module: "+str);if(str.indexOf("imported Memory")>=0||str.indexOf("memory import")>=0){err("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).")}throw e}return[instance,module]}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;runMemoryInitializer();wasmTable=Module["asm"]["r"];removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}var result=instantiateSync(wasmBinaryFile,info);receiveInstance(result[0],result[1]);return Module["asm"]}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}var asmLibraryArg={"d":_abort,"f":_emscripten_memcpy_big,"g":_emscripten_resize_heap,"e":_fd_close,"c":_fd_seek,"b":_fd_write,"a":wasmMemory};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=asm["h"];var _opus_encoder_create=Module["_opus_encoder_create"]=asm["i"];var _opus_encode_float=Module["_opus_encode_float"]=asm["j"];var _opus_encoder_ctl=Module["_opus_encoder_ctl"]=asm["k"];var _opus_encoder_destroy=Module["_opus_encoder_destroy"]=asm["l"];var _speex_resampler_init=Module["_speex_resampler_init"]=asm["m"];var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=asm["n"];var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=asm["o"];var _malloc=Module["_malloc"]=asm["p"];var _free=Module["_free"]=asm["q"];function runMemoryInitializer(){if(!memoryInitializer)return;if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,1024)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,1024);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){var e=new Error("could not load memory initializer "+memoryInitializer);throw e})};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}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();return Module},"OpusEncoderLib"); diff --git a/static/libopus-encoder.min.js.mem b/static/libopus-encoder.min.js.mem deleted file mode 100644 index d5aed015f3096cf1da6838731d36c72c722ff7b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51846 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 sp@`lNeSWb0jDTpF diff --git a/static/libopus-encoder.wasm.js b/static/libopus-encoder.wasm.js deleted file mode 100644 index fed27a1..0000000 --- a/static/libopus-encoder.wasm.js +++ /dev/null @@ -1,1815 +0,0 @@ - - -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module !== 'undefined' ? Module : {}; - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - -(function (root, factory, globalExport) { - - var lib, env; - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['require'], function (req) { - lib = factory(root, req); - return lib; - }); - } else if (typeof module === 'object' && module.exports) { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - - // use process.env (if available) for reading Opus environment settings: - env = typeof process !== 'undefined' && process && process.env? process.env : root; - lib = factory(env, module.require); - module.exports = lib; - } else { - // Browser globals - lib = factory(root); - root[globalExport] = lib; - } - -}(typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this, function (global, require) { -'use strict'; - -var Module = {}; -Module['isReady'] = false; -Module['onready'] = null; -Module['onRuntimeInitialized'] = function(){ - Module['isReady'] = true; - if(Module['onready']) setTimeout(Module['onready'], 0); -}; - -if(global && global.OPUS_SCRIPT_LOCATION){ - Module['locateFile'] = function(fileName){ - var path = global.OPUS_SCRIPT_LOCATION || ''; - if(path[fileName]) return path[fileName]; - path += path && !/\/$/.test(path)? '/' : ''; - return path + fileName; - }; -} - - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -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; -}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -var ENVIRONMENT_IS_WEB = false; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = false; -var ENVIRONMENT_IS_SHELL = false; -ENVIRONMENT_IS_WEB = typeof window === 'object'; -ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; -ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var read_, - readAsync, - readBinary, - setWindowTitle; - -var nodeFS; -var nodePath; - -if (ENVIRONMENT_IS_NODE) { - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require('path').dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - -// include: node_shell_read.js - - -read_ = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); -}; - -readBinary = function readBinary(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; -}; - -// end include: node_shell_read.js - 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) { - // suppress ExitStatus exceptions from showing an error - 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') { - // Prefer to use print/printErr where they exist, as they usually work better. - if (typeof console === 'undefined') console = /** @type{!Console} */({}); - console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); - console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print); - } - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document !== 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); - } else { - scriptDirectory = ''; - } - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { - -// include: web_or_worker_shell_read.js - - - read_ = function(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - readBinary = function(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = function(url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - return; - } - onerror(); - }; - xhr.onerror = onerror; - xhr.send(null); - }; - -// end include: web_or_worker_shell_read.js - } - - setWindowTitle = function(title) { document.title = title }; -} else -{ -} - -// Set up the out() and err() hooks, which are how we can print to stdout or -// stderr, respectively. -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.warn.bind(console); - -// Merge back in the overrides -for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. -moduleOverrides = null; - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments']; - -if (Module['thisProgram']) thisProgram = Module['thisProgram']; - -if (Module['quit']) quit_ = Module['quit']; - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message - - - - -var STACK_ALIGN = 16; - -function alignMemory(size, factor) { - if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default - return Math.ceil(size / factor) * factor; -} - -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; // A pointer - } else if (type[0] === 'i') { - var bits = Number(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); - } -} - -// include: runtime_functions.js - - -// Wraps a JS function as a wasm function with a given signature. -function convertJsFunctionToWasm(func, sig) { - - // If the type reflection proposal is available, use the new - // "WebAssembly.Function" constructor. - // Otherwise, construct a minimal wasm module importing the JS function and - // re-exporting it. - if (typeof WebAssembly.Function === "function") { - var typeNames = { - 'i': 'i32', - 'j': 'i64', - 'f': 'f32', - 'd': 'f64' - }; - var type = { - parameters: [], - results: sig[0] == 'v' ? [] : [typeNames[sig[0]]] - }; - for (var i = 1; i < sig.length; ++i) { - type.parameters.push(typeNames[sig[i]]); - } - return new WebAssembly.Function(type, func); - } - - // The module is static, with the exception of the type section, which is - // generated based on the signature passed in. - var typeSection = [ - 0x01, // id: section, - 0x00, // length: 0 (placeholder) - 0x01, // count: 1 - 0x60, // form: func - ]; - var sigRet = sig.slice(0, 1); - var sigParam = sig.slice(1); - var typeCodes = { - 'i': 0x7f, // i32 - 'j': 0x7e, // i64 - 'f': 0x7d, // f32 - 'd': 0x7c, // f64 - }; - - // Parameters, length + signatures - typeSection.push(sigParam.length); - for (var i = 0; i < sigParam.length; ++i) { - typeSection.push(typeCodes[sigParam[i]]); - } - - // Return values, length + signatures - // With no multi-return in MVP, either 0 (void) or 1 (anything else) - if (sigRet == 'v') { - typeSection.push(0x00); - } else { - typeSection = typeSection.concat([0x01, typeCodes[sigRet]]); - } - - // Write the overall length of the type section back into the section header - // (excepting the 2 bytes for the section id and length) - typeSection[1] = typeSection.length - 2; - - // Rest of the module is static - var bytes = new Uint8Array([ - 0x00, 0x61, 0x73, 0x6d, // magic ("\0asm") - 0x01, 0x00, 0x00, 0x00, // version: 1 - ].concat(typeSection, [ - 0x02, 0x07, // import section - // (import "e" "f" (func 0 (type 0))) - 0x01, 0x01, 0x65, 0x01, 0x66, 0x00, 0x00, - 0x07, 0x05, // export section - // (export "f" (func 0 (type 0))) - 0x01, 0x01, 0x66, 0x00, 0x00, - ])); - - // We can compile this wasm module synchronously because it is very small. - // This accepts an import (at "e.f"), that it reroutes to an export (at "f") - var module = new WebAssembly.Module(bytes); - var instance = new WebAssembly.Instance(module, { - 'e': { - 'f': func - } - }); - var wrappedFunc = instance.exports['f']; - return wrappedFunc; -} - -var freeTableIndexes = []; - -// Weak map of functions in the table to their indexes, created on first use. -var functionsInTableMap; - -function getEmptyTableSlot() { - // Reuse a free index if there is one, otherwise grow. - if (freeTableIndexes.length) { - return freeTableIndexes.pop(); - } - // Grow the table - try { - wasmTable.grow(1); - } catch (err) { - if (!(err instanceof RangeError)) { - throw err; - } - throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; - } - return wasmTable.length - 1; -} - -// Add a wasm function to the table. -function addFunctionWasm(func, sig) { - // Check if the function is already in the table, to ensure each function - // gets a unique index. First, create the map if this is the first use. - if (!functionsInTableMap) { - functionsInTableMap = new WeakMap(); - for (var i = 0; i < wasmTable.length; i++) { - var item = wasmTable.get(i); - // Ignore null values. - if (item) { - functionsInTableMap.set(item, i); - } - } - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func); - } - - // It's not in the table, add it now. - - var ret = getEmptyTableSlot(); - - // Set the new value. - try { - // Attempting to call this with JS function will cause of table.set() to fail - wasmTable.set(ret, func); - } catch (err) { - if (!(err instanceof TypeError)) { - throw err; - } - var wrapped = convertJsFunctionToWasm(func, sig); - wasmTable.set(ret, wrapped); - } - - functionsInTableMap.set(func, ret); - - return ret; -} - -function removeFunction(index) { - functionsInTableMap.delete(wasmTable.get(index)); - freeTableIndexes.push(index); -} - -// 'sig' parameter is required for the llvm backend but only when func is not -// already a WebAssembly function. -function addFunction(func, sig) { - - return addFunctionWasm(func, sig); -} - -// end include: runtime_functions.js -// include: runtime_debug.js - - -// end include: runtime_debug.js -function makeBigInt(low, high, unsigned) { - return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); -} - -var tempRet0 = 0; - -var setTempRet0 = function(value) { - tempRet0 = value; -}; - -var getTempRet0 = function() { - return tempRet0; -}; - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary; -if (Module['wasmBinary']) wasmBinary = Module['wasmBinary']; -var noExitRuntime = Module['noExitRuntime'] || true; - -if (typeof WebAssembly !== 'object') { - abort('no native wasm support detected'); -} - -// include: runtime_safe_heap.js - - -// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. -// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) - -/** @param {number} ptr - @param {number} value - @param {string} type - @param {number|boolean=} noSafe */ -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - 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.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>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); - } -} - -/** @param {number} ptr - @param {string} type - @param {number|boolean=} noSafe */ -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for getValue: ' + type); - } - return null; -} - -// end include: runtime_safe_heap.js -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); - return func; -} - -// C calling interface. -/** @param {string|null=} returnType - @param {Array=} argTypes - @param {Arguments|Array=} args - @param {Object=} opts */ -function ccall(ident, returnType, argTypes, args, opts) { - // For fast lookup of conversion functions - var toC = { - 'string': function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\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; - 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; -} - -/** @param {string=} returnType - @param {Array=} argTypes - @param {Object=} opts */ -function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = returnType !== 'string'; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments, opts); - } -} - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data. -// @allocator: How to allocate memory, see ALLOC_* -/** @type {function((Uint8Array|Array), number)} */ -function allocate(slab, allocator) { - var ret; - - if (allocator == ALLOC_STACK) { - ret = stackAlloc(slab.length); - } else { - ret = _malloc(slab.length); - } - - if (slab.subarray || slab.slice) { - HEAPU8.set(/** @type {!Uint8Array} */(slab), ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; -} - -// include: runtime_strings.js - - -// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; - -/** - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ArrayToString(heap, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) - while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { - return UTF8Decoder.decode(heap.subarray(idx, endPtr)); - } else { - var str = ''; - // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heap[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heap[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heap[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - } - return str; -} - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a -// copy of that string as a Javascript String object. -// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit -// this parameter to scan the string until the first \0 byte. If maxBytesToRead is -// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the -// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will -// not produce a string of exact length [ptr, ptr+maxBytesToRead[) -// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may -// throw JS JIT optimizations off, so it is worth to consider consistently using one -// style or the other. -/** - * @param {number} ptr - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; -} - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// heap: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. -// This count should include the null terminator, -// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) ++len; - else if (u <= 0x7FF) len += 2; - else if (u <= 0xFFFF) len += 3; - else len += 4; - } - return len; -} - -// end include: runtime_strings.js -// include: runtime_strings_extra.js - - -// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime. - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAPU8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; - -function UTF16ToString(ptr, maxBytesToRead) { - var endPtr = ptr; - // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. - // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. - var idx = endPtr >> 1; - var maxIdx = idx + maxBytesToRead / 2; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; - endPtr = idx << 1; - - if (endPtr - ptr > 32 && UTF16Decoder) { - return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); - } else { - var str = ''; - - // If maxBytesToRead is not passed explicitly, it will be undefined, and the for-loop's condition - // will always evaluate to true. The loop is then terminated on the first null char. - for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) break; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - - return str; - } -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)] = codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} - -function UTF32ToString(ptr, maxBytesToRead) { - var i = 0; - - var str = ''; - // If maxBytesToRead is not passed explicitly, it will be undefined, and this - // will always evaluate to true. This saves on code size. - while (!(i >= maxBytesToRead / 4)) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) break; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } - return str; -} - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)] = codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)] = 0; - return outPtr - startPtr; -} - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} - -// Allocate heap space for a JS string, and write it there. -// It is the responsibility of the caller to free() that memory. -function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Allocate stack space for a JS string, and write it there. -function allocateUTF8OnStack(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8Array(str, HEAP8, ret, size); - return ret; -} - -// Deprecated: This function should not be called because it is unsafe and does not provide -// a maximum length limit of how many bytes it is allowed to write. Prefer calling the -// function stringToUTF8Array() instead, which takes in a maximum length that can be used -// to be secure from out of bounds writes. -/** @deprecated - @param {boolean=} dontAddNull */ -function writeStringToMemory(string, buffer, dontAddNull) { - warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var /** @type {number} */ lastChar, /** @type {number} */ end; - if (dontAddNull) { - // stringToUTF8Array always appends null. If we don't want to do that, remember the - // character that existed at the location where the null will be placed, and restore - // that after the write (below). - end = buffer + lengthBytesUTF8(string); - lastChar = HEAP8[end]; - } - stringToUTF8(string, buffer, Infinity); - if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. -} - -function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer); -} - -/** @param {boolean=} dontAddNull */ -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)] = str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)] = 0; -} - -// end include: runtime_strings_extra.js -// Memory management - -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} - -var HEAP, -/** @type {ArrayBuffer} */ - buffer, -/** @type {Int8Array} */ - HEAP8, -/** @type {Uint8Array} */ - HEAPU8, -/** @type {Int16Array} */ - HEAP16, -/** @type {Uint16Array} */ - HEAPU16, -/** @type {Int32Array} */ - HEAP32, -/** @type {Uint32Array} */ - HEAPU32, -/** @type {Float32Array} */ - HEAPF32, -/** @type {Float64Array} */ - 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 TOTAL_STACK = 5242880; - -var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; - -// include: runtime_init_table.js -// In regular non-RELOCATABLE mode the table is exported -// from the wasm module and this will be assigned once -// the exports are available. -var wasmTable; - -// end include: runtime_init_table.js -// include: runtime_stack_check.js - - -// end include: runtime_stack_check.js -// include: runtime_assertions.js - - -// end include: runtime_assertions.js -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the main() is called - -var runtimeInitialized = false; -var runtimeExited = false; - -__ATINIT__.push({ func: function() { ___wasm_call_ctors() } }); - -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() { - runtimeInitialized = true; - - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - runtimeExited = true; -} - -function postRun() { - - 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 addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} - -function addOnExit(cb) { -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - -// include: runtime_math.js - - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc - -// end include: runtime_math.js -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - -} - -function removeRunDependency(id) { - runDependencies--; - - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - -/** @param {string|number=} what */ -function abort(what) { - if (Module['onAbort']) { - Module['onAbort'](what); - } - - what += ''; - err(what); - - ABORT = true; - EXITSTATUS = 1; - - what = 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// {{MEM_INITIALIZER}} - -// include: memoryprofiler.js - - -// end include: memoryprofiler.js -// include: URIUtils.js - - -function hasPrefix(str, prefix) { - return String.prototype.startsWith ? - str.startsWith(prefix) : - str.indexOf(prefix) === 0; -} - -// Prefix of data URIs emitted by SINGLE_FILE and related options. -var dataURIPrefix = 'data:application/octet-stream;base64,'; - -// Indicates whether filename is a base64 data URI. -function isDataURI(filename) { - return hasPrefix(filename, dataURIPrefix); -} - -var fileURIPrefix = "file://"; - -// Indicates whether filename is delivered via file protocol (as opposed to http/https) -function isFileURI(filename) { - return hasPrefix(filename, fileURIPrefix); -} - -// end include: URIUtils.js -var wasmBinaryFile = 'libopus-encoder.wasm.wasm'; -if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); -} - -function getBinary(file) { - try { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } else { - throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; - } - } - catch (err) { - abort(err); - } -} - -function getBinaryPromise() { - // If we don't have the binary yet, try to to load it asynchronously. - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (typeof fetch === 'function' - && !isFileURI(wasmBinaryFile) - ) { - 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(wasmBinaryFile); - }); - } - else { - if (readAsync) { - // fetch is not available or url is file => try XHR (readAsync uses XHR internally) - return new Promise(function(resolve, reject) { - readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) - }); - } - } - } - - // Otherwise, getBinary should be able to get it synchronously - return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); -} - -function instantiateSync(file, info) { - var instance; - var module; - var binary; - try { - binary = getBinary(file); - module = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module, info); - } catch (e) { - var str = e.toString(); - err('failed to compile wasm module: ' + str); - if (str.indexOf('imported Memory') >= 0 || - str.indexOf('memory import') >= 0) { - err('Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).'); - } - throw e; - } - return [instance, module]; -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -function createWasm() { - // prepare imports - var info = { - 'env': asmLibraryArg, - 'wasi_snapshot_preview1': asmLibraryArg, - }; - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - var exports = instance.exports; - - Module['asm'] = exports; - - wasmMemory = Module['asm']['memory']; - updateGlobalBufferAndViews(wasmMemory.buffer); - - wasmTable = Module['asm']['__indirect_function_table']; - - removeRunDependency('wasm-instantiate'); - } - // we can't run yet (except in a pthread, where we have a custom sync instantiator) - addRunDependency('wasm-instantiate'); - - function receiveInstantiatedSource(output) { - // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above USE_PTHREADS-enabled path. - 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); - }); - } - - // Prefer streaming instantiation if available. - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel - // to any other async startup actions they are performing. - if (Module['instantiateWasm']) { - try { - var exports = Module['instantiateWasm'](info, receiveInstance); - return exports; - } catch(e) { - err('Module.instantiateWasm callback failed with error: ' + e); - return false; - } - } - - var result = instantiateSync(wasmBinaryFile, info); - receiveInstance(result[0], result[1]); - return Module['asm']; // exports were assigned here -} - -// Globals used by JS i64 conversions (see makeSetValue) -var tempDouble; -var tempI64; - -// === Body === - -var ASM_CONSTS = { - -}; - - - - - - - function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(Module); // Pass the module as the first argument. - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } - } - - function demangle(func) { - 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 error = new Error(); - if (!error.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(); - } catch(e) { - error = e; - } - if (!error.stack) { - return '(no stack trace available)'; - } - } - return error.stack.toString(); - } - - function stackTrace() { - var js = jsStackTrace(); - if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); - return demangleAll(js); - } - - function _abort() { - abort(); - } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - - function _emscripten_get_heap_size() { - return HEAPU8.length; - } - - function abortOnCannotGrowMemory(requestedSize) { - abort('OOM'); - } - function _emscripten_resize_heap(requestedSize) { - abortOnCannotGrowMemory(requestedSize); - } - - var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream, curr) { - var buffer = SYSCALLS.buffers[stream]; - if (curr === 0 || curr === 10) { - (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); - buffer.length = 0; - } else { - buffer.push(curr); - } - },varargs:undefined,get:function() { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function(ptr) { - var ret = UTF8ToString(ptr); - return ret; - },get64:function(low, high) { - return low; - }}; - function _fd_close(fd) { - return 0; - } - - function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - } - - function flush_NO_FILESYSTEM() { - // flush anything remaining in the buffers during shutdown - if (typeof _fflush !== 'undefined') _fflush(0); - var buffers = SYSCALLS.buffers; - if (buffers[1].length) SYSCALLS.printChar(1, 10); - if (buffers[2].length) SYSCALLS.printChar(2, 10); - } - function _fd_write(fd, iov, iovcnt, pnum) { - // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 - var num = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - for (var j = 0; j < len; j++) { - SYSCALLS.printChar(fd, HEAPU8[ptr+j]); - } - num += len; - } - HEAP32[((pnum)>>2)] = num - return 0; - } - - function _setTempRet0($i) { - setTempRet0(($i) | 0); - } -var ASSERTIONS = false; - - - -/** @type {function(string, boolean=, number=)} */ -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; -} - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - if (ASSERTIONS) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - } - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} - - -var asmLibraryArg = { - "abort": _abort, - "emscripten_memcpy_big": _emscripten_memcpy_big, - "emscripten_resize_heap": _emscripten_resize_heap, - "fd_close": _fd_close, - "fd_seek": _fd_seek, - "fd_write": _fd_write, - "setTempRet0": _setTempRet0 -}; -var asm = createWasm(); -/** @type {function(...*):?} */ -var ___wasm_call_ctors = Module["___wasm_call_ctors"] = asm["__wasm_call_ctors"] - -/** @type {function(...*):?} */ -var _opus_encoder_create = Module["_opus_encoder_create"] = asm["opus_encoder_create"] - -/** @type {function(...*):?} */ -var _opus_encode_float = Module["_opus_encode_float"] = asm["opus_encode_float"] - -/** @type {function(...*):?} */ -var _opus_encoder_ctl = Module["_opus_encoder_ctl"] = asm["opus_encoder_ctl"] - -/** @type {function(...*):?} */ -var _opus_encoder_destroy = Module["_opus_encoder_destroy"] = asm["opus_encoder_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_init = Module["_speex_resampler_init"] = asm["speex_resampler_init"] - -/** @type {function(...*):?} */ -var _speex_resampler_destroy = Module["_speex_resampler_destroy"] = asm["speex_resampler_destroy"] - -/** @type {function(...*):?} */ -var _speex_resampler_process_interleaved_float = Module["_speex_resampler_process_interleaved_float"] = asm["speex_resampler_process_interleaved_float"] - -/** @type {function(...*):?} */ -var ___errno_location = Module["___errno_location"] = asm["__errno_location"] - -/** @type {function(...*):?} */ -var stackSave = Module["stackSave"] = asm["stackSave"] - -/** @type {function(...*):?} */ -var stackRestore = Module["stackRestore"] = asm["stackRestore"] - -/** @type {function(...*):?} */ -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"] - -/** @type {function(...*):?} */ -var _malloc = Module["_malloc"] = asm["malloc"] - -/** @type {function(...*):?} */ -var _free = Module["_free"] = asm["free"] - -/** @type {function(...*):?} */ -var dynCall_jiji = Module["dynCall_jiji"] = asm["dynCall_jiji"] - - - - - -// === Auto-generated postamble setup entry stuff === - - - -var calledRun; - -/** - * @constructor - * @this {ExitStatus} - */ -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -} - -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -}; - -/** @type {function(Array=)} */ -function run(args) { - args = args || arguments_; - - if (runDependencies > 0) { - return; - } - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - if (calledRun) return; - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else - { - doRun(); - } -} -Module['run'] = run; - -/** @param {boolean|number=} implicit */ -function exit(status, implicit) { - - // if this is just main exit-ing implicitly, and the status is 0, then we - // don't need to do anything here and can just leave. if the status is - // non-zero, though, then we need to report it. - // (we may have warned about this earlier, if a situation justifies doing so) - if (implicit && noExitRuntime && status === 0) { - return; - } - - if (noExitRuntime) { - } else { - - EXITSTATUS = status; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - - ABORT = true; - } - - 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()(); - } -} - -run(); - - - - - - -return Module; -}, 'OpusEncoderLib'));//END: UMD wrapper - diff --git a/static/libopus-encoder.wasm.wasm b/static/libopus-encoder.wasm.wasm deleted file mode 100644 index 482a74757cdc90dc590f150e77b793448959c332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123229 zcmeFa3z%KURp+}O=e^JAKCNy&td^~PwmL*kWLt@itT>L<<)E#1I1>Ft(VG3?Z_~HwoYj<`puNFi}E69O8fpW-v2>7(N3TF3dQW00A=5 z{ry+fKIimHHVm1M`+e7PpS^4EdaPQtYQ1Vz?dX;x2jeJ;;?GyFy}5FN|Dv1Y6Y+_g zQ@hnKiNt=Zdd+)M(akkW=w-NzZuaka67$~b()~U0JvY~VX5}t#qnjJyA(>m{t!j?Q z6-75^!)H8fkEBSBk0!ad_U`2}sFX@ZYZy)5>-%)vcazKU0PVduHwX1bH%|=i%bV!t zjpgmKYjpGGWlu(uCG_{wF#mbn+#3nS{DL)}M{0VIA>|R{a4%2~AtEt?CsIprLb@~3 zrgd?0$pfDt-%{k=D>Rg?SRxG3Nb4SBp*;^Jg(@eGTQjv2_o!~3r2awGI!ZdZM^7OE z!?0nRPTgz7#U&8Ty-WIa@6GF10h{XYEe97M?-kXl749kmh^vV79$)o6*0O#@ed#@b zaZmCqaXme7$FU6u4j#Gn@a=ak9Jpiu;R8o*|Gy6Gf75|m?uuf)TtD*i;DLj;-t}Gk zzw`DtM(Kt(-*V*k{YUP&<*p-dx^rRwU55`GyZykMU(tBOZToMXzw^j}C_YP$Hy^%z z;XstB{^~8?dFSDUXr1n}BL^0~@xZ~mzTv>a&ZxCU`8q8eIdEVuYNp?xye(Nb5vOU~ zs#GeqxEk|cIvuy-bRw<9X|t2W(IuNVSJO02;$9S2DshFWU5&ErRWEH;k|;`|BuQ$m zS}m$pB306;wxX@bu)$Qi4YueG4#;bQ;w4oV) z{n*&1Wa~Mbq6?$R9kpaU&eHMv%R1-2<{UwlOkG~7Y@~eFNwaKhOZM{ZFKMQ&cC*ur zXY2Z}Rc}tT;@!%yIfk3{v!JMTJrWdDIXZoTui1BdtDdicOCjLq}$#K`0QZp@-ECrUyi4iJiG0{k%hx|epmFj@zjyK4ji~!6m`qNyXL9-_B(E0i2gp_xcqrp zMdG&)<3LEep5bc}LV} z9$C2M*13N{w&?z(ZHaFHo;wd8h`v8*S=!B$J^F#9b`TVB*RH(b@PPwS=bZgCa@*~P z58S%2{|!g)xK$PIU%2Hv=MOM+w|&__9QCeJaTE@-E*i&`n@Qb%@Y^D&P92Y z$FH64M0+CFUC5*BE3{T#2kGd8gp75cu`>ER<#|)jBLO+*(nCdsR`S@Li4VEA ze9wK2`63o{WXvmb>KN}6r%Lp=;!9ItSJEI8mkL!j!t2Df2N}P6%C{^oE_RRis#I6&_u_OmkMruK=_Y^a z`b)!KDByB3(PpkXw%*WzUF1>reU;Skeu6iPm76q9lt{Yq<~$lF17pxj6MK3DWL;C4 zCBYc)RnA`0j>+Sn50bqEP?9{pAc{0#v5S4fF?h_=n>qp_J*4)jDm4td(~&v_#@%ec zr~;g?0tyq-scd^vF-+^OA=KNm_O1jp>RESJ()D*!yOJq?w@H|{w_A24Tl`(VE6M%c z%&ug{-)-NOZ1;CNb|pLf9b~!F-(9jRxy0Y?-j(e3cbD%q z^l%CEv8#9lh>-FM9nFL`#?+=oK%&xfMdgMOye>l|J-HxaDu6%TC6`4Ix$e@-A_#G5 zD8#8&XXwO6m6tLPq=-^B7Yb&$v^t+5R)LfTGS>N4# zNZ0G9i;7E+74fk`1fy=c6GvQpD2Fb1v%pk;{#|L`n2Kw7W}?9s(YP=0rbw^#wdXZ= zJg>a@5TpSj-BZ@yW^j>;9GJM!N0!GB6SYEXhebJHtq->nA-Pyj+MSFXPk3OPuZ1il zBW@^m!GYHW;EZ4qhYy9DL$IQPC$4?Wb$Li%T=kf1!20s&uo_U;l4H!(B0ii`kJ9lm zmn=)igS0ry(w?is;%+NDoV@u^QCrq!a{4YaP1I$>o9}t(v@thpqzXHuIqN%Fs(s-p z%A1TtQv*{45^J_saZejodU0|BT$6X9sA}qKX!B}bqi#5%h`0j087v6=YEo8pX$t^< zsR}IBCO9J@+ZqM+?&BWu4P-*z0MU)PuLXWxvf!S7x2GzovLa%vXx65hT=1U+)=@X7c2QBAKR?iG}GN0?cMDlQ;*#TwdFO`nD&VdMzGt(=MvlQ73l{ zXP{7HuDseTwhCt2piAS{Zi^XAK?|aNgN1T}s#D=bx8F-LP2pZWj~JyvMi^$*-sV-y z&P>khP7Jf1W$r|;0;zuF1iX}M)(4Ec4>7a>?@c7E+e(!ccjnBQI`fuX4G5OY;#c?d zUDqf(TF{(vi_dPgC!%bo6byWEaonCj+n{*-n8^Kbo*ZU|xOf42h}`=AF{bxnx24~! zXN<7$?imMQj*Lqp%8Gh6m$?8@AgspUo%X=S^n#H62FU zfs$2dGYNB_9P~S90+n+=(cCv);OG95G;=?s`y)8$F?2?H>Fg-+(aY99RcTIfU~8aUSgJ7Di@GEfQ&~i+iONm8NJXUFtwE$C%%$DR zptb?+scBDjB2rI=o=9sD=?FE`yeDDJ1!!7CTJuEO9O1u_1jm5u&@Ioby3CmY*DyW; zYe5i*|1f%inbG0E%#7z7b4M;voi(Hi>;^O3_wBX_!f*8YbHiL(ey?AqM4jHsLaSS>C`s15?b>~J*CF@JPyfzOSC5E?KK4lH)mKi1o5egU=nYuS5m5C* z1?>2>otFFZDFZX6vFH6QT1vk_b$TtL53YNC2k5Bgf+%8&bgG)1W#?3C@sYF_rL#ht z`kRP>A?mDlxVBTvtG$}~VmOk_gnA|Kq1`#^!dd|FbBFr9 z8mP`|H&LSIzA7$sL#I|kEffW)W7J#m;n#LxfO&F#rw$3x8YFOCCvGG6YO0xz52}GH z2pogk1AMJ`Dbp;OWh{2~^BM{g)BwCu7z)5_=CwIN7tg`x0!RQJ^-{GGcbo2nCX4{; zLFe|E?6tXWb91{2I+(1~d0nU0u4Iu$zSp_e-WAy#H!&H)P@A6rTPwrS7KYDq-1gl?~{O+B;W;3l-K7Z?J;)p zdLKQ62_w~Am_#v*Mlps`Zpf0t;MH>2N-c;26_WC3g~Y}AW7*nV|hbNdxT{ z@_ljIFHCM!`vtmE`%O#jS2KS^`(<3L@hy4f%IH#ItQ;39#HB`_(kIkyZ)h<%V6kd_ zGWe}yiD|}66f|SBcWK73F6c)Ja-J4u++yJ**P7yb?lF@`Xu4u>@*(w$j))A+4JA!< z(-CgEf)A?R#3i6gh!gvl^0PMIt)gydK5JqFEfs4Fs?y!P4kTf}lJ5dc;$Aw!I9@6i zGTnCylcRxqE%#2DQw8H310%}i5#$s z&EQ+mRsnmm(2g#m1xK^~}gwUUX5IAvISn|XvdHINBb(ttQ= zWI1s{A;P%1u{=95;-sJuU-85ldupM@V4>Akr%|)Vh87xauR)_&9s?Rhe_2MOke}RS zL*h)57bZ?530N^cxEgWFqz%N$tyyn1sbUdk*^oG8rinPmmJ;Wf>V`NCD{^a+lygCd z6Q4KlkWKR7a%do!=!59kvf8XebE|92Bk5oOfx_zF8tAYGU&IJhk+j!C|p5f|*mNSm{!#V-{$N$d|5~VBP`PGqx}1e4L_=r_%}_3xq(`?8vkB7H{fxj{JRqPH*=#>@^6S>+1#+kx8(KZ{F^BP z=9p=`Sk}1eW_HxYGd6JvSmI)ONg#E5YH&1|2R1vbL_jFBLrfI9G>xR?^#@v6L6`Er zLYJP!d;I}AG`b8_*)r9kCDkDnRr;)^I#lzPfHZ|AG9m*KsSe~pb>MlRN^^-xb+8xU zHc+J$`z2I~mcN`T!F!-ec*B4yvp|&tM<5kni?q0606-ZY+1P8x7(9;WZ0MGR9a6 zFs%^HwTSw?s^KA)UBaA_dJh~T9eT?uAPKG{VW|L-QhVXfa&@A3_<~{Ds)Te| zsVxPBObW6tQ$w{kmT$5!wYPi;GI54dp%hS?1K!<|i}byc zJ*?xPA8DC-v#QF|EA#u`JDn9tx2+Ws${?LCh~!`KDPZijw5XN6C05-hs8u|-+Xey_ z$(f~PoQH)JAmdmXj>FP0*XyUdtY%O|E+mzqCBG;Xx^R!X+ghcIMM}HVVDxS<%1q#2 zdc$-#qZ8duo@BpSSCG)Mf2O@k<{iQ(B@+&@TD7=_Qg$};NDE~N9wT(C1W@GYjK~g2 z;u@qK3`UkvfKpFo83w;GgUsq5zR+=%!)Odjw1%SVMKUHN%iM>Zd=zL7T6>6T%P$l_ z(F5I@;z@Uc(YL0{l?E|UZ;!~vrqfz&R5w=C%4o@C4a$$1El|EU&`U~ANBDp6r}oIARn6dfTM~jX1(xIP4mSUO^2P9TUJUzFeB7M{^+WNkU=R$*ZN`L)L=x)VF-ivR#X77-2CNW7LG+t^w>d@y zVdhbh_vl%t+J)qluN@bb@Pf#fY7^$6pPUSuus2vDt3poFSNy6jDLShqbF}@W*UYPc zSgxiiYelLJ6^i?l&af%Ovq`e&d~8)hjq_HyPKJw^Q3HfP z7|elIcY<=ZteHLDt}mU=REUa;N({PXl@^erG-KwIX~yPHW!_3tC(?S%re^g{H2BBL=IRf;wHVW~;*2{XWf!@y>FWsEfxTU{&GR1vo; z*`ye(>KxWIAc7aE6J03W>0A=iEKE1 zmlByr;2L`I3lf>B#L`-d1R^t)xJ(U+tfGD(XJJp}OXFl{{hm>XJ&jmi5q({u62C|y zd+{o<^n+zYW-76TiY_5Cv7C~C#4Bu&m{EZX1eMqm)~ZxDC?xe|#FfR+1(leQK^&6%zHre7T+6Y>$L@D$FyV2MVaA(UC$W5HJu z3h+yupjx|!`0(Z7k+=1eEc@=55N~V*cj88=*xY>d_})&uS+^3_=`r^e%t8f8y2Xa# zK^cTo4fT(_TMy08VMOvCZIbx5c%KnB zO<%F-A}YYjo=uji9K^m7HJ#$WOH~wMYR*e!99=fvvxN(D8V@HN#jg{{LMM2-<`lT+ zJy!{_?a8dQZciLikpQ1=+T92c=`84j!%F8s!LNWImZW4qih7F14GcoMKo}8E6fs$y zhBERd2+|rD9c?@OGSkYSheTBBF@rIuU=?~ymImCAJm8LaFjnt|?K4txPY|MFIve?S zNQSZ=q>jlW8>^C?w1t=#2Z%KLcn{-B<;vwPc#_N1p_w2dScb&7g!uvfoSdgAG3X$% zlD!%l@Bzg_s)x)kS9$^}P7c_T=)>WBp)&g4O}61{blFA}C*ZY?OrC+xmjm zZ<0EdU#HTCG+fI#s%nB(eN9X?cEo5LQ#`e5)pjKqbCS!CM{g&C+Z?*r7a-wSUfC0q!3=ul)BT54EPo|jI+llx=T&mkrex( z^iQLMbgYvf_s6c}M%e46{oV#HyZgO$3{{-WrnAXx-UauVj7ZQk^<4XlATQ?4Yy7oAe3A|K66AwYDbFs5VxI;immqfp zS3}!_ zh%st%GthnBAQKF~H{s$QAxi8!qc;S)PgtYKciIONV=B3Wp0p*ko9uNOb^yp7ah?l2 z{{G)$y|xq45rL1sLU7ZKgn*76?h$xEQ)T&Fftbjl(Sqs^&9vRia1R7%1zvZHKsLlK zgF7K8z7Lm0UNIEDFX@5;WEN8`_Vva`dzDWS3LEvN_!~Eb+4POzTNN+tt%M&!VE28` z$K8p2m^V>AK1Z=Jw|F|DGaB-`dot>GzpfY;bs(FCWy4)d$YR*tg~Bj*v31F#Fd69% zuTnn@;6`S{lJ3~ECEaNmT3NEysEChEb>Kx6d6Z#XOM61}TE@-^PYI$VDQ8x6w>V{6U98tE1-Dq#1s5Zofw&X6G@4KIEh?$~RGa5ue z%i&9h8*WmLK0-6He8MxV3OC6@UtTgzyp$vw*!d|M&#dw0Yt$I~z^FPQ=J=%^y0+d; zXfRsxvO9YNy~T5)>=<^L zGY{Q3ON;DkfTYps+%wVKSg*1^{5Q6Kyf!vAw!WrxQcc&dXN%|h^%e7P$3oUveQbTU zo;=dh-EXsY(QHqG_4Cu&-Xu^FF(dE;SRObqLPc)*doqQk^F zW#X|*)2NMC$iKqCXm2bNi0}4>GNBsQmkBF0mEkCC=?+6TL?3>U^g0R{@+G?G4>BitiyAWXm`gKm?WGkBo^lqG zSDyG+n%!4M`Q*LDBxBAL)o5u(HQZts6~dnUzMi;0Xz+^X@XQWkU?QK)*L7dk6XUai zhele^1cPqX_a;GFi%B>6dUytS29#c=%|I<48CXn&0Z>#U^fAhR0(YG*7#aMe=aQp^ z>BSSc)_SUr=?;%bx3rg`r4CSzPH8BSRXJ<|{?mQA^;4otp&;t;6`0iAp@8p7W|>vY zHSRNJ7$qfM%&sWfXvKhD*Mdm9o5Lofy+uYx+G=+W%@z_Nx~{2Y-lh{b5T;LfvQ5;i zLk|rKUIGP7-t-@-3bey?0@_}i#@b>NnG|wsDx)df;xcbA`shjd_$5pWnp5mnlg8=v zpn7q@BeXHjyEq?bbmKPLPAK|v8W;yaA*?!aF&$KhzsJMn(WMM)E8hT}fKtVc1rcEq z4o-*|$q{Wna2lmAk6><75Fh1YYQ|&}-%tk-r|=D}rou)%lMv1DL@q@sbTNAbvhb{R zQ>VJ5JRKe8WaB6^5_ZSpyzgZPUIO_F^R2wSce)r8e#Q}FaV_j=_^<7Yqe08vtXuL|Rv0i^=sxIxTxfW|qhkU3@Wt^z}~J&cLyZkH{2~ zma6wqel`Z0a){Nzue;l_m-^<}7wvsRwvK2Sx;xZ6^IPOe_TLjSCTd8_%Ty5IGo5qv z9S7iCu#IU+OZL3hMtkqYP>MZhc^Ytw46}9jkVH^ltE+*~QC-1QwuU8W57i{jL4t)pVe}S=JIDN&Nr0(<;w<_`}+~wwjBNkaKHG!6yV_) zLAUrf3bU7ic=|&zTwJabSL5&R+wO-u?&+v|5gV5{;^gzyu1>>Y#*}|PJVDRGKee7$ zuZsBZ+ZdbL;Eu8M8^2<64RYHC>(C}o96@1=b5fWLx~zxEx91u5 z_jUR&gK^bPVl1ZaJ%iLnQl|!~O_Y)X-awgbLG`t7)it3R{%EF=k6k-WZL!Swx@vBf zHCIpe&OxyWHIv#*D%4DB+9iSq0h&)qCIXC!>h)y;QJ7Db2?^?TWdgIH*D_ja@kj*6 zbOuO#)4rl&;-P#4bGxZp*+W%5SyWG+L=PE%DBnoxWZua)*;NEBG)P-&%&B;hC_N3P z7x(1VhgI;Q92dvQoEH_NKr%eU!*jwz#osjM{KJPHdT2Mr$KgjEOszHoeS&VaG}YJw zZeE&HHntziZ`Fh?hcZ=XTADrlK$QZ=29|_a35RRg{OtOCy~tw_wTA*k=nU|~;0!Sb zr^*L7RdCP%+nuFo#7DCM4FRkzLF7qcEblyY5{$J^(v~4C^s{PxRA1Zlv$Le1S@xsx z%7qX_egl8C(TnDDyufOM$bc7bLVMzp7tM=e96^jQ3ls||T%O3KC$WcQ9s^TMNY)iD zZ($ZKX+i4%>@XwN_$W*i1A2bmB}Yv*Ta#>tt*|DLW!X=}a5=g3bdiW!{382mcl&3# zzpzB49Jq3H0jw+Ep^V9;$<5q<@dLlO_~7S$qIGHVdZzj8+?5}Hn3qq)zRCxUO#;l<0jo#bkP&Qg!id=8&2L)bE>z6YLJ1=qoqDpaPkH_S*Wzf z8hJ0}F98g#6QN3a`t^fUnP-j-j{LafgcX(*Rb+_T<5s?0;JK{$=PK{ry3d!83sBDo05l z?6C=OG47R>q84Dxs^}uM*|`|FP+5jU{?!f=add**(6TM2-OMU&x}e2J7Afsv9j;9% zJ)8{I#1o<`j?OdgbvLfopnfgC0zk?UBwChL8?4J_c+zy1#F_C!hqXu+x#uBdmhGSz z$Z+rUutvdlmkxpQb=NdAe2t+#V}k)lm4m(y>H_3c$2i0zesg$BXJ-oYVBfb|XDdtw z>*sA{Kj|j4%KEN^Q`t+cQmU6)?HlQ(8l;zrhl=TLy|fcE)XSdqR`(_ACF&`nDBV}~ zQqckQazVZHb<;~VqZ&hfqrFTHdZMt1F6-s4pkV}O6JkADokzhRC&hJbQThY{AI6sEkg`mzKw1l47!F6q0vsS#meb|aNRl_QhDRhxZ(PfLc%if~ zp(VBP1v2gih+~`qV{5SXSUakClgGynXDBU1lF-Q0HOTiEH;Mbc|E`6#m^fyBj~y#A zy}^q|R0bfhhB)h&KCDVa&yt3Ew)n0J290P!DethEd{AX=!JYOjCui?3T3Gj}R{omq z!Ey6XX?D`6n6dgiU{1X{wxVH^Q9xhD0tRQ=&;)H^rddp^P@Z_1DuJi9(}Y@Y=G+Us zMo@7DCd(?crkPTR{X}s&=^Kp}B+?jSi_1Y!5~+Yb2R;+U<(PDp>Zoo)EqbKpN4q(| zW@6an7i^}6%@l|i+u|7RiO(A+V!C4vgQ=`*t9E(4JB9R79YjieVFs)lL%eOy^5k8YW~`zFln8L{dJkwGWC zkN`CUYUsl9AhQvwkSi9$%?A3-OS;XYP1jDVo9ZN@eJBKY1t|fdkfoOD0tBI_pS{S; zU)%;SVKE4E3HjmynRn}*LNw)VxfZ1d6^1oz_2xzqzUNCE7#8@P5RCK^J!rt0MLb#D zE^Kr;eeanWTEJ5%%3y(1)x5r(`alMSgsD$rq$2k@RL&KZiSs>O)`hmdJ^98LQ`fU= z)%8qS7c0culW#t2U4bb*M_uXiPNHmcjLb~r@C3RKjJcl~bARS7{^vVNe8Cb|3w)6A z8&S7aU;yq)o_i@H_I%u3*Nb_@gAal&JQ)qqAwFQfJk*O>&gajb$-M-unMyTd~^i0li$u>L_3C{+Ls9Y#Q!#$xW;Q@$eGe znE=|ZJ4_fU{Blq#Y0}qX$So;1MY6X8?$M82c2fs^l>t6A?mjW@&Nq+Fvv&UpKiEF; zsnNt|Miaj^n)sd3#P5wJet$Iahogx<9!*>!03P8GVDCV(FgoKnOwCr@wlVV~jyM|q6DNRP={H8z#Yl7>z2?3rz^Q(zeG zR|#D-V#D$?p;DC8L8Y7EH;Wbp3F#Aw0Rj0@{NOg3Q8@f&6;>5sLm$GFEwiv(U>P7; zxaYo3qP3SOSm-8!I0j%)fmKh`o6O$swbSOHJFeId1u-EpWFsrL5K&tB2>ZqErO76W z5ys~5cX?E70X8iW+MM(?(CaNI|6ssBL~@W9!r6tH&z#zx>=sI0bzb+IT(y4?IfC@c z{wf_ShiJ7c=r)ao2Bui>;?h+(j1Lp%(!f~aQt@sQ&VRvv#P=g%i;iFx45?s~5hKb$ zf^!_~A>r*l+mTq1s6VQEnYx60j^XqQLc;yPU->9f*$|e%1eVE)r80;#{h6Qhfuj~_ zssxscq)andGANLWSGC`L7CQR(XK)kBMrZv|;j0EFfx5)3c))(`>kTk0hog>rotj8+ z0Ef&-Cp6H1>Qk|0F{?-k40N5SL>%cLqV=zT?gV*4M5_|W64_A$z?ue_{Q?*@4*)}{ z)|zCMzJlLwJ|Q)4EFV|23M*ear>LEG6vPT{hh98PV;}y=?o32t8EUL;(4+_qkkW%; zg`wKk1cQGdEp}%gOIxdr{kEv6Ymrj}{6GTa?C0TZMR{IoGm`ev`AIHMl-+HTrwQ@f z$2mrU2a{d~Eyz_XyGgbL_F>WJ?sjO#NTdmf!DveqV?z+IFGc7WG{Ui4RrlyCESMHs zPJ-Yy!Ca8+mKYSbfhRU9t4PAEaw6++mr|`5K4M8_UYEz(>8IMe1!^df3hw zqg-)gC0)Tfpey_J!*}MZXD|+pum}w4$^FY&mUY%T%{73gVooOclXT!?L+V&jIX^MC zA4c@~NkiC_l1fLhU=8oK6N|~dtOWW+D3Rw)mV4gC;p>6b5=w|eOU+P$j$}$f83e>7 zIC^Z7nyRe9DW@l9h-QwdN?}UVJ!W#1C}$3z=EylCXw62ZAZYazU{QDj)@Odg=4?VPz2~Au>mj9yzD-TzZj8t%Gvb7PZHqW@z1^*<@18=Bqg zh4qgm#iZ9sE%vE4pyTmU`J56uFw@sTI1P}G!6rikLbj2YY+tGkWAj0CWKGD*h8B*w zBe#*EnL91RuQF782KlX5&rtIjINWuO3=N-wEqrTaX!#6NYi4Ns3=*QN!!YJEXe;3A z8M=%y-OQI|X!vf96O}^5)RF!WfjHNHe;vVlof^`lERs8>0@Q9nrawX(H*w%03Ld+ltHx^mp8A9f_JRoj@)wpZDv*3QPf zP>!qh1Fu=Dwsk(+tg>xcI~$WoIWE^vzIL_^KHF|(n^`*>Gfp`!(a-j^vu&1Vme6GV z?2zahB^G1ldN?2!e2fr_{jN?dEUao5k0+J{fAlNe$yd4`jLp;-P);=9gN*P>%6Wi= zvll@+_gl6Xrk(pN-wPAZqUC#G>bXbIy)gCMt!yt$J^1xr4E5ZlY%feb_^w|J^}I>h zUYL4rQ?|2Gj}h6;$_DkUH34Am%3%y)=i1rM^Vy6eT(WjHB!Ox(j<9>}Y=zHe9D!xA zwP2g^*^DF1uAS}c{5&y^aP>d&JdttNk=kcgW(FJWNca=_F3m-L+0Ibed!Mv4Q$f5r z^#H4f=A0z%b6L3wRKCBg4!3ro>*2h4jMFWO3jRxia1v9ieT2wzCyPwg5#PwbjbhOu z6}eH8fq%r@G8p6DEn_F`w2%4H`{uY(X5Ue~YUF6+X+@~!HQL5J|jR_zI{jg?zvYIUY-)Xw<~#% zR%g7I7<>PYUCAjukVwPwnh_&;c(bqVs{OiZpc%8Uf0QA|_a<~t?(*61? z-8+rF(`|5izXpIWEc7%Y<`!o8lAxQgKNI4WFJ$a6>j?)zMlY5q(3*#gA#>h~Ok_Ba zGKJQARda0v0ksN!dJs&@O=*n>kCIRPfw`A{BN-4qQ;W&+;}{6Cb1%j!oi*2w-ROH`vgdNA9htZq{QL9jk#RTC3EjM!Ex}(Ea{f5 z*o#3tzXNnbD0+A;OBc@xax^YmVAmwEI~dIu^dfa*+76hX}edAV0=-d28!>S$;ybrWLEVO8c8=e zYI5;W+jJzn2+rrWF_ROfN*v+QcJH~w{qQC3|1la;LEjbYh!&VMlG~F%-{x17%%!=w z+qe8Bp$Z88oNMVW4FI|OclY%wBF9PF%Xg|E_|>%(CgEC_MOFvs)=GqXj-00r&%3~) zD!nZF6f0j2o} z=H+z}Ww=dl%s0+Dr%?za;;G~L3z%IqELM4x3L>MLKl9Ho514j;XlaO6>sM9V0;l+i zL@NXdI3R#D_da;{nRfu}V?b^pXV2n?dXMnhMl$LOb^M}U5;t~o24K^9p$H=PRR6=@ zTb6!{_yoDE^jIj(%VFs@-%o&g1Woi}nF@==_;>Wox-Gy@m4GultlMxgEBHOU#QhEoVPp*m@bJ5JLWEq)1LK2s+-IL3t@CtQ zCk)T(#P@1-zV+;Nwrvf;{lcG=l?et#_!(yTMwnFwpjO#^XRoYFr`>N|tZDj1&-eer z=Inn+%wYS?uh*LoS;8pSn6F1P=YXX28prWz^&V&*EU|!qN4CI{MZ#o4D&dFVPTpN` z{ytI41Pd^{hQsE1c0Yw#s<}umO+DP9rNbvL%3~35p0LqQwyAsPFC53j@fzBnJZTPg z4%^nw6KP|t231`>Q_-g`!i^^1xTuNrhiA}B5Le&3OI`Z@RQ>y4y2{~dL?}M4sCm@u zWJVK#3QS_y=epoJk|PGIqzO{hwn|6t!3&V4T5JLimY!VPeT_{8J$!B(3M30EIBn8- zED56Pn9j)K8Y@l1SjBqLlF!`xWos5!R@Yn#afd>t3j@vIwSV9Y2 zS-*SDfkV-KECZzAR3|Cn=?4jkWm!WqL+cp~ymFGt zxhUjl+#**+u9fWHrgpT7T9ApF-T}lm;zn~k&5>DjXbvXXhn|&$%;t>8>DIr&oX{#= z%3v&3Z1)2trPwC3(85N2itLO|5+$+KP6@}R2FKb$&gQ3B&C~8c(`fXy!55lGC${5Y zaD^zyfa%j`2ZM{WS&&{aM>qn2UEHL^y){!(kSw~PUK^oMuU*P|8Qo#M6_i$AspX&X zbz^wg()~=?j*j-DH5(ZX7CR>OkwMzs;v1sBCL0YDYk>JCdTn6u`2FiXD1a}+@MRmu zg#l6KDdJ(YAeA~8tq!7KA>dtpT(tjuK|>OT$8e_!Y3Si;4o*ZTgW-XI%Hh$ifAfzT zo@BM*IXfDe94~5kDl3M^6wGpXmJfU7pWX0$UwOuY9~p&pCVV?!&W`WU_D6A?0W~m4 znmVEeCY_FGdQsEFaI(Efzb4}Vj^`Au%`~xgY+yHerdEyvQ)xI&;Co>lEdN^5Bst48 zv4U$%lSI?Rumj7o*qODaNis4`9vfv}u=&CK2n%}}9$1z*2R4Ufq&V;eQ8drGexB>j zwph&}lr&tD(8_2z{{LBHOngAbGyl6x?fuEf;%hQ1_AWjzQiRGE?Q3KjeMJ)zL%@VG z3BZ`J?K|#wS!G}=8axrRixYV`{l{!t&H{}M6;sLrvECor6WkO|D6BaM5I2m7ZasM$JHRGB>~92?5f@w3M8eN+Ka zehVg?+Dv;IoB}ksycyatos1DX-K$Z@etVbuzjwJ`^t$KYTH@C%@taH5suQt%1(a0F z&Jxl(=xi;VL^_aqWoP}o4xN?UThZC->YXJR^%%-W&3BgXlrSP%9am?C<|Un#C2Zfe z8FV)Bopqxf`swnJ9dOrVh!{y$todXt+7-3y^NkuA-_b~;uldQAi6c51p|YTztHPg@ z2ZD*@&O#E8WR$5$uRprXAPn+#vBp$w0Bk_BN z{Oc1fztb!w^}$*J))&nG(K7uH%cQ3fJX2!{3sF+q#2h1gA=?P0dsVV8)s~$-mdqxz zXs9~Pg#vt);f2Ows|tn#Lw2Q)mY{ zpjnlMzA@;#94*js?I8s|geTKtIOW)e6bAD)(aZEjeK>|k@b z{FOVHJFo*NUF<-1rtv;_p|n-7TJz3E!aCJbgnLR?OousZdCtz73fmwBiDe^5)6S$0 z^Uo+3CjzWMJH9DTXdu%GjX2CvO?A)w*-dRYh@|c^9oPXzCSw=k5?S^$ajXs6)X70M z%p;v}!?JskxN{UlNI8r+*XUlSSMVB_${6RKFF?P}4&zSTANUN+V?F-kLH3mF#I#y= zKIB4Bqt!Q>y%Ms+RsP4N?rpo>4)Z2FvRn5T+5N}uey8r$LAvo%)$qTpJ^mrs@n+5KnfM{ww=2eN3@A?_>Ai7ZfEHoVpOSVj73$;Udy; zz?3h{AX^Q#ZK*7&Z8|CmWemzn5FeT!6qfX4&S8@yS1g+aabYv>i^8USr8*uN_>+5&>RT z_X)$82wo39?4Y*C#Q=E^LXnf&h5$k8Ea7XhRDB2{#0IN}y%fT!n4`!r}a^r(Ws@z7C zhRd#TkX3^n{_e{Id^O!Y;ux`zx>hlFj}EnBbM>&8Hbo-h)+nN7T<8r8ZQ7h#JqW%QeJ;6WSOV8l1GM578jL&PE`~H+mrww`Jb5HuJA*|PYE#MQxmb&V;0RGp5dacXG(8(Xt5N!ukt zQap?IRj+%ZUEzOWOb6m0q-vYkVX;88g~R+D@i5D1Osq7U^7rv7?oY!Q z&RSs+%}-j_^+ioaJ;F&?!&hs@JoF|3SA&18FzW|hw?0q#NQFwTIqZ7NcU|*X2i28b zmty>4yROa#&4;do#ARII8yf z%#*pieO62wsSSw8hfSZ2h_Vq(g5YID)L2495+6hC85IS@dLkOdBnM1ENFt(!h$wI8 zwFMva&xS^jX8fBk{>bv+n^&f=qVtg7sGrz>aSdU@186uLDq^5-&Ilb1C*|8b9QzH; z#%^M->0g>C%z@OJX6CSDAHvx4+A+V?h-Q%5GQj8vyY#%#(?rPUEqyUQ(rUntyd~Sm zQ#tLF+`^Bch6|oS@xU`s8yIL&KXwO@b0{%K3+pADf^{UfVTf5Rn3vCq8$4Sd%!z-l zBdN1q{?ikY`z(K-HVf}REa!`|z@=J%MRPc4kcmec46?Be&fB*^7OLugkUjne+P3C| z4Kho03^>~%*$c_MVURU_7-SYdJd@!>pP?M@3z z92?C}7cIqby+l8Rq@lsFSIa!=7Vw5Rh574;NKEt%94l?55G*o<*@eQDBT~TvJX#x4 zxV0Pr&!I1-{mT@vQ!8L`Yz-;Bat#8zp8sSd1h}Vu&1)$NKljo2&~#()`teVcuj}P& z?Q$qfKlt(TH7bwvAmka1A{5FT&ws4UF+P%`k&myEW30?k&Bq3>hfToE22FHf7%Q6~ zN^Ov16R~J3bNJ01fXUvJ!RuisAroH#KCi*+Ap~jpnoi1}v9f;7O&CD1osByybFdf2 z=ip$9!RuiYaHBy5J0ZoD6*Nb3>_#74kt6%<(t<(t=lmPn2BWY8ojuf0?eqh_#?EDF zV~(Z52cO`hbhv?_eD<6c0KvUZ-;j2t6Bk%CV_fw@$Yab@V=Z^X*N8i@{TFaq`y3&pCb4CQ{@7LoofLMa zvwpP+wfZwU&eqTB405n&u=tj8Xpt_EjV|cwxA5gU+7T@#>U}JW(PyfynMuBb7tEBt zP^Kyd2SP`uRIthYtX*;++{38%Ho0H6>qhqhyH2`ava6`0#%V{|eYZZ}0BHJh0>>+> zSM_{dpJT7EZ1lAhE}UEm6OY-uj~{_;W$fF5DC9h7^$_`CH@#N>ImJZ<+WLXbwL>1s z1meK8`-c}(`ccSqKBf(bYzLDt;Mo@aD0Y72g;h197Yc(Pc>(>1Mf0PaK~gMGB9+*y17}baB?3qJNY0kGSuqU~l(08M4>(@S~w~psDtKxAjB+vXIBW z&(uHL70!?KZ*ru6JlmqT*1zEkHcxQ;B>t&7O>bmW*#TBlwK_Do>BXsGDB>-}%cff) zk8c_cx^dzeMf^Ny!WU- zU&-DgjyQx$ySB&*+a|%VD1jU!!B8l{fdeE!zY?1)0m_xwVhM&&;F}?DUCCEWrrt&2CF@OobAcTSCE*=n|Z1gAM z&iO*4Kgx!z=6p}HL0eg-m<^m{+;>kQDK&lAN~w`xJ5kYgKk`u+bBk=6G%cpjdgBg7 z)682t4uLblnLD5p*R^sJ#DrE#P1==d7C<#XK|52t>+CJ6(>=T6%M}0x73wH3|8bFs zJOa=?9waxzYDXna0g*es$Ag1{#q;$h89XpW)thJm7=&AJ_(X2PCj_|&1DN=LM(7i7 z-5;IymU;j-98$zSQQxofz0OND!C*Kwph6|<3@L_^AU(w-YYYAEztoseD4?J$)G-!h zLGB<9JX;9Z41jT#mmlc#fl<>O(P#eq4mp?bv2GVBdD@;G_;$tOtFDJ(MFbMCbF z9MD^xtyM##tOsiW(LH$W_r#Wx56wk7ou?KmME}TOyBkjtFIdVnX> z3)@IZ!qkHz(M~925I>1|aJfM~a=?qUhhda7#((*Y=MW>Rhr-Os9CM(tj?;cEcdsQ* zD0UZfck$k7Oc(OHcV0Y?u;Y=%y^~^ZEqtPZi-lty+;b5ZGvBZpbK+wXR1EAzKx`}^ zw3SUsZF~>+VM(E3WqF5pxxAI&RgHrZAz>k{U?bG^&Wpgc-_b+&E$es?>KJAPp%hzA`I{{=#uHzGUVK=(hUCJ|-b0sEECEkfFiD2TJ9% zX0fP*1tMJnOVuib;5{sMa?c7_G9VMKM`2*K&|pvrxdKftV+g?BvppdgUU-55(7JRf zVM47zjCKVToSVann%-%~2K}#+{ZMO-o!`=K6|mNlQ?$j0f2g?9{nsD>?t^7qCYa-S z3n>DUx#*kS7%|YH=A+aKwvW#tMaZQ0pdG6ojSDT9Kb?!_CnLKuyWfh_P6Q1jZC4thDTIKX#)Lz1`wu_ak|raruT^RN(XV6HjzVS(PTt^)R0PqnX|A>) z`OOZ8qsr~_z4{g{*;x+Oua2VN3ir`3^ET{)@O%KS;Q4?K(<#+b@XAs(bcQTKz}d=( z4vE!AA`8(hR48|MJM_M3U{aH!J{aoXi=J6))=$I%@)gL*(Nh}3+uBZSuS#V?%XN-DiP+U|w zM-}`7DsL~Td~i4vHWVuIe8vfosF=Pj8@RCNT+_i5S;PQ{_lW^`z9&+^`r_kgtRYxL zzTBw;B2hx@R$@)w9%O`cWj>t83w@J>iCytPdNeVjsr>UCHaXK3hfL=D}@ z5nE-Q_GK%`JJvuE4k|AfT!DBFefo%L5U>drY^G5Ul$c^NG1ufXCE|~anvR1xtU38c zO?X~vqjxzG;bcP`>(mx_DGry%^6JP$Q~~i=n($lUN$^O#%E#w6=P>hV)V{!0PDC8` zDb8!qr+@;E5ru#7ugOGYF!@bwA_9RXV(KR%GllNJvvK~71k)PbFxg>tNp>cE0WT8@ zXgi&Su}Yxpj1Em^j^kvt~gRx6%pv-(OFh!9)m6S0#0n*BOG zs~pF|!sj!-6);+m)q2coUySW_6hiOhA#F@D3d1*hnyV0*x4v1^V?UP}IWY7x-fzNSN zwZ8j-PJyaBh^*dNutAf@C#040LVqxEErrOvPZx^3YWRQzv5I4rr2A!m=NuH$3i(fjN zl*3_!l5uPp>hIVYx)>Dd<_ka}5YhWI{IowsPbP&*gJGOrYs31K;FOS%YG5~HSlRY^ zUWc|bK4(HLj7M(YJTr@2dXqk@!gd-dP){W8hgn)-t3ckmw#cT*Tgsww#2S-5h@)e4 zX&gi`^V{8Tlhuw-nSbjr3H9A&WSpL}7o_c;I_BQ@-Fb%I(J!#pIYt{I!$m#*Mo|y! zxMQAyyi31e2C_sK7ZF7IMf+IKGc4xCMK)w>XL2SUF#*`{`U$UBJqB2!DljqN>)MJu zkey0Mb{3rxrp{57M-kkdP{aY?CRTLBBTT&m20Tiifz3a~c}5tKNYSx;f^SWU=9jSf zvAJUG7@&AIKX#N8Upo9-2ZQGfbM&n-WAl7iL~MS{v-u8WO_cy9U7mw0MCKT&B1GPy z!Z4neP-W`!7)K@!x~vZ$g&v!xunv(iLwODAIqUvz}8EzP;kKM`&~Q^!PLhfcvt^}BaklT#S# zzyh`51kYJVobkeV3&Myllt*@z6I5b~!u)VX68s5|8xE9;#19-{_%ClT1YP{SB4XJM zY4_XJ*f{YiI(H|JE{e~?xxroLKtNkVre^uL5ZMd>zH2kY;Cf*yLsk3v8o^1LXq!Ai zNlzRzM^?9-SmmQ((i3Ux4Zzwx&g?O7s6 z$oEdde_+oHX_$uB^G@C`+Lbe|>v+3P~zY&qe z5bt#7Yg1MD;>alPCkCWP9lU1F!M7dzvcRI}ENZF94kBFfNVZW!xiqA?doNI6@9;iW zk}r(UE5=L061j_@kZcTYYk_Y+hf;xJ2r2jAS%E4)c_7R`u(c7VBB|1GIUjBB#4e`1T4U zN4~-Gv^hfsRb`y76Q_sZ3*<#Gaagune4YoB{sFU1xtUH@N;!}#NVfV>{DQ1pOofU$ z36FP8N`HmYo)cI$6Mh_l50MS363NYxLNl)8`j$ zet@;3Jy-!&V0Xb1V;}^a>4?4|LMA{74<$KFN(v=Y^Wenye4L&Gq0X4KeXK%4*=-Ma z4nbMB1G1E3&}|M>8|mqo;c2v|V3eNP@3Ni-aW5jTy*fUROa0X`eyqG9&7f=Qe0E>D zRu~9WjABOb2?Ip?(!q1lAvq`YAktPgdmtIjGLtZ6`o8YQym3gpI5{og2fvxAK0%4Y z=;RG`ieg}S{!}}h4LpF*^vP_Ld(P4^??c@mt;X_&rxKP`c+L;ZweLFNASbkOaVjl6 zL;FM#Nm|qbZIFU#)x_?Wmcb;}whz9ZVX)|0%54rHvDh4pBU#Dv+zelqC0G{2{7@wo z^fQ|vhN(WB)*Knf!HVggbaHW#3FOa~LdnvSJA01_BFWxgTg$~1))7%l+XW|pCbLvx zC;2uYf)?&l*^lGWEoD6-U~scC!))yn>r<8ihP#cA7M1aCDCm|$6ZOrPio5?pxven` zYf9HcT2Vi+nRFiS6vJlHHZ|NUkVfvo`^s|laC^2QS{|WkUqnaC`&-eJZv{0lP(ay= zmRI;7D2GwFkNa{g2q|3)>0#j^`ILn*TWIfe*coK8+rjfjc+TWIX&)m}1(s!51?|JWg;2d!famUH zUU|5uuLht~Go>-dGQK6|-pykDQ~X)jxckeHx>$jrpAFlE?omVn8ZizR$u=%52+$pZ zuD}ExstC{z0gk_Ul;=dTvkYH8_cxE8vKMq@^%nrXyrxs9SUJ!Kzi?9c_4>r!W1;$t z>pqy**}(8+;fe5CZ;My6>-;Vp1(orqt@A-74dUMEj}~tD$Avs|-S7N>#ztdKP35_o zgB6o|V&Uf=JQNS&9;?coW4Y8eijMe7VStonFVFsBYGQh~mYI zZGKM%FGRJ*P%%Zpwn2dJLpAbIzjx-yv3;48#E?orh6 z$fmYALe-0X8-BJR#$zaXPux+sow4YCS>Hrmn-0Os@U^sh-f!9c9P1TR(S}$sMcp6H7TI&=m(Ghot|r zqOP-#*xCEZ+e^xB?=&pzE|Zs7^71md+mf?liJHBauYx0#Bj>pa8|PrWe-6|Ap-)Hd zzgkeT`vq>5^yf-_HC`DGU~w)mcvhvHDMJ|fwk@fG{E{!Fsjb1bxJ@wiL|r`N7GeA_Sho^qcb zIqFyx(84jp&!iPZ;ZSw7z{0nGLQ`FDVc=dYO*Y>N9uJyX>U^mWn$c1-5f+NR;CTLO zj!#G-N_>)!b>a}E#3;+AwSXwu)cyeY>R`aQvjH0%0FNuqXks)cQw#D4N5xn4Wh4Ta zKA1>j(FaP3iciCO9D(YNBzOYEH@S)_Z3YXK%OMa}Jt!du-Ni=)XZG8P z5B&<5+on$*XgyVd!hS6ayVI7ra2m_%&`LDhHtmR2c_=L>XV9|>X2wVh+JV!UWoODE zOvJ85)ATI8XLm`}TtVdGn;QPTy(I!btjCa;Gg=^0xP+|4d+_e@p2M0B(wLkd@*StM zewgfY5i&a!Yz;D1u|=0_xVVM*hQmczj&I33X=uO`BlE&^RMSME(CeUK=)x9ZZCqLQ zwDTl?7bg8l{+{!E`!7QBk1hGts`yq(jQ+d9o-qA=_=RunEG-p6TkPv1>KC@B_zV=I zKPVG_tl<_rQ(fQ}Z%GHV731pMcu*hliec?Z`aC3*>^T`OqP5W7F;AUz7v<7t(rsCw zs2N?lGW4(VBB0SCkf8Vn0_AmmKL`eupR5+)#U_AN!BZKK zd=6O3eD|vB(#1W{l6)7Wr;u8;tL|KvUVhU5q7%zI!>di<)m!Zqzr3;l-^B1lD24cb!JC%1&;@hvC#EsoL$(n6;lEqd&EG)_> zHt=0x{{`h5%l--!Rw#EHF0nzJ-H)IJ_{xW)?`&m@^{vK;Mdw3?>>0FwqTeNR!BT^~ zn&)&rLD=%qQ@Av~A0dNP+__$^)Ld^;muq`HF83TN3T<521~7U0y55X+FB2b{!uF9w z!fs|%m}6Wj!X#bmt@GIE`pZUt+2k+hn_14>MjH`{+}OG83IdA z=3}~N5nJ~i-Lpuo`jqVKN2<1FLe4z-JYPN~}U(i6RyiSfC{aeTy3&nrju^5)Bd-DWW%R61HZV z(JX$9T&ScU(tzDh@%ITkqZx^7t4}G>78dR;QtVB7!s1ijf|U=c_l>yZ!7F8zcgQi# z+v4Jo!9Y$0wStd`BQnJv{Hj!NRA5N_z>}Q$%-`Re1p329H_WhdPL;E*OrJp1*Lv%j zVu=faozGtAFku+aG2G!p`Hu>UYR!wB-GUr1aHv!avhad_DokNmVjcNg=0B^^JN!Ak zldD&5el1D}xxp_HRF-hq0rGAnIu>o6Nk|Ras-+qfb+@91zwzI44A9iDG73s@LBsL}q~&CUuzv zyG^i*Z9xM>K%ty#XeivwCzl4NdH&nXruoC!{ zh=(=EbHDhJw@b(ak#y#K!Uo0qX!Xa8OP~pPG+$sW;oboel!?HCHP9RL@Q&-DD)Y&X zf4O9k4d$Y58UDe8TlKP|?HS28KC?{eKp7Kk9 zr-T!8OBVC9c4qG5%`HJ_kBa%BcpoajCCe#U(7m!q-~t?V!!jwp*n-wlH?O_HlYuK#;QAhu(t)SMMRF9?CUdZy-9|b`Hq)YB;G<3W|xUgSuOLhIfznJ z6B$ZHiDSBh_z;F50ig}%!k&PzQIxO-u~(o%;eZ=p%Gv_JWLXvET6rXw5A@kYV7Hj& z)zY>=oobYeP?1PEujU)BgA&w=Oi{BUV6g`awv;XO&Lw~+o$sB8mKRB7?`@?MJU<8M z5!KcsgMQ;l(dV9re&k1ssjJ@kj&C7ro=mAq4 zx(1u3*jD1Br@f<%@R*4Ed-EEDurB9&GIUPyZTQ-&N7N5y&1Qp&3?$(#oAa&q08HTr zAv9>5EemiOfcjA?&ZsTd%=yfdPhRnMDm_nC zao=@>@vsRq--bHZ>`f?E5Uxg;kK&VpDsD_~4`jG8pD<9~UNrZsa5I-e%836cvvWDZ zEvF9>YY`s?)k~2Y6WUkcdkMBjiQQL1JcXTTzOu?eeW)xW<2O>@($NYv*o=h92r!NS zgeeUw(i|NU!bn9j9Y9Sv>^ARksX(p>!G|@#C9488j?G5URHo-y`J9zqt!J+n2PWmrH z{=q4Gf>t=l;-8=z4xgNo(?}{J2NOv}qz%7XicdDImX?i;l(Ir#fwd-YrdP86k~T&x zC}Xr*ZlZG2*%CsJ(b-VUSSFzdEL;iS@}frEQWtQjE)c5l5s6Q-d5Nr+We{ntjEB-e zDWWig5(P!egkEfKc!;|O^EILw?zAo&R5^<6gSXY`Kvj)J+K8drD1#T-^i?fN+ny~% z6L5tEDUFj20$iLy5a}%BY&RvYoVA3o@@lRbfQ8>?T*}#1EBIbU;st=Mmiivhrme<% z;2B?X*#UL;{Qmb6 zZNw+;Z%`;=Y$tsyM)yqg*4I~Nua4}$=RX3%qep*|lV9R1Pka+ZLGqFCGK%zEb$sMZ z{RS4)78m)>Jh6dqxtm^xqz>`c_m)_!ir?Fb2Ss(3Oh~-`sz(JE08#eSZ}u~;;{NDA zzeFc3Odae0a?!Xty7}F&pS=3F_dF^(_Q#UH)!N>3$o<4e-+3nOzyHeo`|kV50Ps@< zpbpx2cF&`a7PUuy9*93WY%dV68_^QKtS#UVCJuY&3i7 zC#g)U%aNK-9}QK%``7M%s`<`e-SgW(og@}+phhj@_oz0#mSlLKdak^ze)f7F}J7qzYtymXnEu6T`&LQ z#9w~(TV5lcQ9pI{@4Ww=zrOqAhh9V0Q>S_mOO*X=F+DPyO9e?ZaBrZ5QdKIS1eFO- z;i>;hT;7;GvCIGEgfQOFL3PV@W|aSE3Hr0#v|Mb{N(<4(aR@j=Ca|9{JlNSVZ>IxL zR@wk&f&42|ww^KOP7&Qtc&4ILVW;%R_A@j0IG2A(P@=`{D+-n+2EXZoV*79lbdYG{ zHi5shG9Po#vhAD8X%2qjqBf?wZz5RnpgvYJ8Ja%*o4gHeicYpq&0_BM$#*S%xpVV`e{^YkyTicke zRawyu6qYQZVnkXOupZor&zVKdrz`V1_Y^0IW)1P4M~T=Z($_++G3!12LTX=Fb&H?j z$OJiE+wK&?Zz`X-fv?%Ob&`xWNT|2hceGlzhy#;%M8PU+GN-Z^_T6^(|5EqvadsWm zo$ucJJo}u}-KSfxmRgU!cegCbZdnSkCE3`Lwk%6RHinrAndI{s7{VjucDL@eWJw{x zSPgcJ51@>oA=HZkl({lEII&{}3^O{+M!0Mp;is$|#vfRM#;3bSSPnz)pr_QjDf(gM? zEsZCu_#q9&N{QMPLL?FC*;5$oAj$CT!E=iXj2?YHZ7To&=~lcrO8z?6rWP2x)nZR} zif)nLX=GIR!i8XRySuqxEYo2q?U$o`tJc4yWMinry$mJPL-x;az6%ZkuA0#-v`uh^;JDi~y5sD`jC(eOe>P&V{7?~J(hy?`(l&%*+Ql(` z8Gv4GQc+Zf2B~=+G}*LW${@cH_kp`s({xy4NG&j1Clp+-mWo=OTXZR9lBKwzth!^S ztY&}%DQ^g80mp--#dHUju>)Ms4T06mQSq#kG>DWEbS>C~6kua=FxU8Ej0zV58~EyL z)ifV8bs9Gaph3>I6OKD3om|V-lM@cSfO`G>&7SRdlh;IEkWHWn0_JltGIn|IQrZ&g z*pn=vQ8&L9#S26%i*l7^+Z36Ij3mTTSVzEo?7+V;hZagmg8H$x`K~noG6>$|32#xn zXbJ_cc#-xlU!ahOhfim*TaXJO8} zNaD$}gIQsp%zKIW!`ShsA8sDlIeyQtbiL(7ZTs|t^<;I-NXpAm&)BD%u?Ehsp@82S zXM?2;ZP}c8CdfYV3=BdOK}EU1wQ@Qg!U36F6c5>qnoNe#p%(+iuRfVLj~V(rtZ`4m z%9(yrP$uit(bF=~6V%PLXK}?IKg%gYrf9G!Pku;`Twyw1&Hz{;$GIGiaJ+yTc`B4l zCHIoX{l|?%YWN+B@Er)5x&7^SggQw3Rr?$Wj4d*`(Vu$e36H>ZMVn1@u^0ewMq%g1%QXDU;-$uC7iUM@$)M;Wuq4a|cAF`j#k}m1b}|Ln zRoa@C!7>_Ma`lztp*uxhvalI(JVSEmC~>By2R9M~5HAzbA6 zb7Vt%Hpp%-$^e7j3uw#FB9|9)eHRz>kB`q&@1mbj8Vqsqd8AqwQxkqsBvJkOPL
55wJCu3yfFr8sqiUk2YQmX&d=uZDWlT;x*hm1dBaL-CEVWapw>J_4mI1=6Ahy z8~O{u*)u;+Cz)fdF;dD4NmmA9Oqf(6EzJkyx<`YiL%sXT$=V5sS05p2+D|i&u?H z^Mo9Q;uUZXvHz>%WvB0iSLK54EFv;-9CnEp0(=1;`OB_w&t}B`ke<=@czL&MY4<;? zyb&kK0B9dT)`9pY)Vq*f;tT`CX-YFQi2n)MNMjohwhuFdn*JFP42~F$=vt6D5!@}| zGO-O7+jn~M1Yb)U-}4}9pB539iFm_d&s^ZMh0?^6ZF*r| z=en*WG_wp0?SYV-#uPWuW|S-( zA^*e<5X^oXW+{ew*4DJMSN!eYxZBhJ*}Z+q-G0a4e!|5=-S&0&_V?ZGbN=?UyM4vq z{yTU3pM1OSltyv1KMAxmp;7;0u^j+wD@!;+p6zxqQ^dNyG=%ew-xr4DP~_t5P|7ZP zTrF!kTsEzU-6_c5mI-nHi2>k!jH}IG;JL3r-j``Vpfd*3ia-F!EXh~Sy%)}j!RM#R_|g(-4o0>Pb4H2BKCrHT87oA1H( ziVIbr@IfGAbU*JHL^97%TQ=i9;jjDTz5bcqU32e^AKcdbMftg{pfoo67hC74|9xij z1lirImHJOvbolI{VSW{=c?LT($Ue1Ne?M)1pN7O$WM)Wz?;k!bm^M$krcbL!4^Oh@ zv2@#UJ$hj1wAMt3fuhvIEP@3iN*Na(I;}E~=>fw+C3&IXA@^+7s=s$w?>W@B*fcW? zefi4Z?$zd|)oyeyVM37tw^v(4_^q&NW$k-Dlo$B>CA|InC7fmXO0S9tF8rq2 z3!c~23|w8e-l&NhX0H&~Yz5~Rxc!%Sd;2e;XaA7Y57cB3RB(u1cKhSg^%>Ie*V{^!Dw!DUw4;kL~@}ANkcky=3V2nRjEVz;A+`|77F(Z#3WZk(qaM z3XVI-_DkP-{*}U;x)qvw`paKD$E7;6^OX-@^4{Hx{%+ee+9%r8sc!_MY;~GS!%yZ& z&E72xeI7(R=Z(;byZt7jJINIGg;Z|mS)lvQ<8rUY;m*TX{mSKkeZ_aLo=!_ARoI-> z-z&TsCw7oT_*4`5ZgKVMzv&cWasTan_TI-1{BN6oaqINX?~Q%^%h{t3KZgHy!%0G}u3*$&Li68dk0u6_* zwy1#j^%6w!X#HNFL@9Uf%gyh0r#bho_NYx292bLVN$C<~Pld8cOa2Pk3Rd<@1uQtN zO%Jq1)-s0Z8`u(tcJwgPg`#^DoB~`5jY=i97#w}xgB+|ObSfv~2IJ+c=u;JBot?IN zY=;}>u`h&<(8HQO76>y4VMthv8fK}rv(1`o(+7dL*eB~x(TDsp=8mbm4XPqDQ?;mf zw~vLP_f>161hO4pn1Lt!Isbl27QmyCPO@R1=`WM&X3e)k=e&Yv%sy`OiWyhf5&Sa^ zz1B`{(^;Oafp_!9UYx5i33Ga3MMldmetJE9Z05b1P*F}_Q0+kCZ2yA>l{Jx?~eZ7>031;es`+)&Fa|wx;*sd51)JV@n>}DxW#w4 zoKoj+A*ouluX(8c-}{%?x`jyEMRU5V_O+h3?~LfX$Qy@Xhxflc1mW`g;xH?1bUORi zu)G0!^!)Isgb%?G`nzQ^Ep3S&B6vN=>$bRfI<Pa60rLc4G48np&0I`$_L#$wDzF1>rvZn1M~;a1hLFH^8>BO?VQYR&Z%}W=JbBER62U!;Unu z&5I0dvqQ31DyI`4p;U$DwWl5%Q*m14u19!Rnm0ape6A~pMX~CMkFpssF3LSX*!U>C zvBpGzHE0dk=e@;J15%2i1dW-bCL9Q&6rVx3UKxDG!U0UxYrCHnaSpbXbB@Q5I z8cFXp-@NC>Z3^3-DLIWtxbS$rGjY)iLitQfnV{?=rE6;69Aaw}K-WO>qPTX4F)wnK z!_^3W(I+}xTlfG~I#e26Y+o9owMDdymS$z)SUwbqg^S-$4@+#Q1=}Oa)y%MCv82>T1#)1BLq*N^tGk_#-7b&jyLqam=o{7HYd(D6 z4>tQ=qwL+NS5}iXhMouMVnWQ~9>`u|H0*>K!O?uLy^u-GK8=rwT8;jJ(Dcw8E{%U2 zX-ynshfr-Qn~^?5d8hVV$k>Cx z21Hu%5;RJOq_SwgjT})7UND&Mo^-M3g#^OBLE!0cCw_JD1B%`261c>BXzPi(1}J+K z&0YztzCwT~jR7|gi(_OwfLh-nvdVZi{c8N^_J=C6-z z|Cco3Z~(-%ZAfF_M<6AVb<7N9^*`-#s}()-=b{^e?mPK>4k+M_=p(+g?J%9wmj=qF z^v4TwwOacEnDqi`<~Yd+APDjyOx}5dQ8WOT3cz{8V=96c$9Z?&@Zbk#cnUT=uQMvd z3p(YZ)p5q;f{>GCPHbpFW|lZ}iY^!Urzk~5GX7(YiU`T0sPLnps352c4k~FP1JbCp ze1Mh&>5K6JorSXyUkBHcg!vV$fAK>UfGA^%RpMn2np@k)-e`M>Fbg4H|3{zQ21hW; z7Y!-k3`eg8$Cw~W#pfs9Xhzoa#v~DUdi1#DhLcFhC_ULeIhj<^Qut4&A>O?jm!e4| z4#JQFW~(5c9l{Ay1G8o5(MQL^EhQ_r!!77ic>2!csl**kY>8fi%5^OP1=%rEw?wy@ zbdWu5;Ib@1jN$Dj)PPi_A0ud5j4|ZJ?{3T6&1=;L7wQe?)GMR#am@s32YEP+bg*f` zYD*LW7X(BpOAk_T&dbsW$jNgXyFibY2xwGne9ZN2f`xSmi-qOT;imP59k6-7HdUg(*H?jAi@*rS^f`zuv{M<&n^AO z1)f{>4*}g#49_;8EOPD`%>iBPw;^3rB<}p*+OQI=Akc#7IYzk}Mm{#*-8we`J#MtOyrz*!T z$I_@V%l%Ihf&xe-X$*AOcL-;>tfKSaBj3A55+<$R4k+<)`4{?~bg<@aSx@V(r)n|p zfZrv7Nku++v^_)eoLN!-TnBkYJ};LaXN{XSc!MrA9d=OH1s)O|d45R(B%x?6efiG| zK0wkDm5T!eBiKbko;4769-hDVG#*Zq*~xcyYyJ~`M;j=*?ZiyRg!Z^Ak;7bgwx|9j7r9%3^NH013Wja z(6XG9{7Xw`z^4d4pV%GF%^FRil@bv8u}A}>!d|}#KgL*ZH;C2fbCQ8$n|C~bT?SZ_ zt_AsXS}l;=gcdj!xK)|8P=Bt{XVcI#q6=T+;W)<3bo++16-`I1DA_UVY%T+oUGjiP z04DLFwATEvB$gKBy4`Pf?Ek}JVnbM5Yu>8tJMLs>x1gyHtsvjK0tqZ8sT0Y-5663m z6r$}?Nn}$kP-T{^5DrakNz*&h3R$o>tz4TiPvYkFb^LPJ}$@7-0==79`qyPm0vlqDCa=#Q zW>nN(C9)}L@uiL19*0|uWZ_m3R9s*IGh#Er0o`ba3+^Y@j5(=>t2x;9xU~T_{A!Na zaF*PGQ1hCr+R+yx3^k`#VnmCL94WGx+z=m1w)P*Ohg5D7VoU;3ZRyZHgpo^NUy?(y zkdcC3Bh4CtdxhT!v9GumtR>D9k)op`P# zK{tjxs+h}?DrC{iDi=$jI6YOfwxx-6BXtoH*iDnN$7oRb#At(wn>Xi$#cMWKavoAG z@Vs_YB{c>0XrWzA)$8|njwY@`-h&oZ1E5ewlvOR<+euCYnI(}FQgd!^CXK!U_a@iW zLp#JE9H(~*5OAj(aNH}xX;f*`C~PhVi9n|)%6q8~`2z%`I?*5V`&pjLg}SxVTRD5u z0fBo&t*DJQFlpFsE^^JG47i6ROF{JIz__>nYrU-h<-FsUz~orU5~LJ0=$9?T;z|fM zXEx*6bB4E@ry5dGtT>I9DmfRK8Nd+iNy~!_1%t&w#*hZAT{@IckW2lF6JyNw>(8N4 z^Ba0uUx(WuCB&~p6px(~Cwt|bwhHl=O?ri_N30%>G^Pfq8Qu5LzAp*Bu>^kQI)616DI` z9>BJmQ!xbk?&~Jrp#tv2Ng*`A-mgE0BxQMIAxEsylDEkI+P1j7EC5kTsfHCmtRC|r z+LcP%-@Q8PM&N;dr%w@&Z@i!b+1);S{J%S%OhiHMDF&LtUr=>p(p#Rudu}lWZGtJ z;Zb5r1Q>}T3rtNC!y|d@=oHl008eg<%}~3Ll`8wHP5qYo$qO8&B<@ZNbKf4}vlf--VsZyF3jP*CWg;pF`{aUF8EpLc`z#|?D9=$5#+BfM3AK5{dH zcGd1wi|#s6sQV*U`A6z$(GXs}+3kw?S#&b|%v<4)%=me5zyY+P)P^Gz9H9Q27{ORq&VanJowOc&rWVdM^oH23nAW^@n6 zRI{#wXw;9hB8=eH5AKLR5*J(KBPtOAp-jOj>JQ^snrm0&(}Q#c*$hZ24F{&8MOkgE zrxFJGpQ8Kz{mVi2fAi0ucRI!8sh5qo2Qu-(y!X}eAo1aXaAq2ZY!N`s~ zjY)cuHyFxea4?RRRc0^ru&m%2lO`V($WS#cn9(YtX^3;6G)+l8M}@>G2T74L{$B6} z-k{M#G8?!k669xU2n&>~d{|x1m7xQ0LMen=5z)G@@%Y~RaTA10z22N!z3PN!q=ZdW z!ggt@MqX=u5>FH^u(i=$A+M=OM}S@6V|cTn$HSlq8BG~s2QP;-smYMJFGCSM_JVa3 z_9m$N^sb7s6B<#No^~%ggMg7A64sMbEAF8ZifTH7DqPKtpw8gU!Q4A@#GP@7dk;MV zPYxS+v&h8aygHx*R1JRB9%2-QPEFV6 zsPC*iN%T<8$c-~x8D_>XuB2X-(AYGxK0J80g$x$6uK8R1OMu@JS6Y^#2hMEIHF9!%n*xdrb-=+ znLYs}Uy60hADn;EZH*1=9sJ+9)LU4g{_((T1>7Og-ZUtvn7!JiO6Fzfy>n^>X`Wrh zyujl^R@Vx(gV#us8gWUL{8JmUq-aPY(*C+?L1113T8m6Q$CqN&GZ#kcq&^d|ZLs_< zW7&*i90*;(!#|0sf&+p&WBvhzKP*JysS(-~@06R~J!M!v%9 zrj%$_CQB08$do_>Gf14)OKdw?%^t!-ihgeH1^P0Ugp6QD0hd@_qNEa#zYHL^xgMx< zIFDHv>Zi)DdGZ-J0|NZJzEZz8*89$q9)r{Tm2gU+Ct-g=gSchXksfEU;m*?Gghpm4 zy{5<$TZ(EsM*Vir`Z*dN{sY{S&a;FRw-sqYpDzj7+^(w`#3(aI@=L z(0D4=TZ-x&v6REM0+~iNJRbtnJYlqlzsR62%kj;5$SFe@K;UwwduzJ2hnGkL+PzUGY8ye*i48wLnK46R_=9B4|0+Kmdw#^{%1qk2)ELj`YGSaCO*3P(f@3ZX=DLEaq4Qch&Dsla zvyc72hY)_VS6S9x^FMF4)P}|QZP+nT58INV4kb#Mj_R>+SkFFHLA&MmJJ|nr09aWw z*FTr1163LQjIB=;Ily;EY`3C5IKa{eI+=9$Y%N8Iq+%D4H7JLf_;*dd_t@Ul=e_{| zMRmH35;b|>XW>SQww?*IN>ULj^WliAd4k2xe@9a$MI%|p=S=B=Su#nx+3=a@cP$1g2-ekbV#lenW9!jE0F0}I&VKZ!gbOTk`#XP?&A|Pt<`k*4-SimH1U}=4QP}0NoK~bCAYuSvU0V2f!lnTI4 zlLM!O5;iE=K(K+N$pLz95zu{M+s}zc)7exinx7-4N?JwT(0j|DW9jH0*oTw|{R*Kp zeu)9rVRK9yj(JSVtoCSpV#c*SMqn);rn#fW$U59!5%P0@W;fO`xV+ipcePlxPL#PEyE+TEHEBuJP*c9Eb-~LU}BN|xt z|1u6&Dc0koSBG@&yC@jO*-01&-432Xn@}bjGWivMu7;qKc!qw{7!{Q55uK?t33n*7-E)K z8A$7}pLU#d25Q#_Mqi@2{KZE9Vxzuzr2QgY%33CsEnOePdIj0IZ#Wn?GpC=Pe#?XL zya(?&gn*tu>$~%`@5WOhBA4e+0Z&_g+RG zir@kJjN``MwCYHts&iv|_om&0h&O0Po8szw*^&qG@Ibd^-7?R$pB=K+=m|Tp?)}C{ zx`-8)3LgklNCSrqIHr6EP?)Nz|7p~9zF0?;KZ~kmF%2LHO5Hw&%nC<>p!t?K+Q3nb zUbB*}vnSOmjds@+%?%>sPKvFG7PMvClv>iU3MTIXMIv4K>a-@IIiT|x5NWQRqGTkU z@)EtOm13<%>~}(s#dOgkO_=V6;$n)MPc;jKag}4fbh;nss^gK-DjbDTakNjwt@7($ zNv;%-gm7hrhfC9__DLb~$`;xfl=%*Rj4*pCsrsEQBoZdboSh;{d|yCDPD0U2^v&q zwad|ca|gyRxN{%exL;?#_4p46uUD~B^Vd~|7rn}TPfh4QEJP@)Eqbq10EC&2axQ8a zjDQ|xThtlIFq_4ruo)(>;efbTm1Yw)2k;3Hu)o9sgb5Ayl}4h>$I@vi;dBxj9MA~J ziO2v*V_S%T;y3c;gi;zVSysEnd2b!984BwL7R zaf~rzwo&ddLtmCU+?0^XZwPEZQ|F zXCW*?xx`8i>Aad6Zhj=}XaEi08i3DGfh>0l!yL6bW$XTYaFhz%)4T$-Edn!CoAFCk zG7@}tHMT!zV-MQAf{B|aTU;}(83d*SGhR$UDm0ggordBZixiYw!k>H=WJlTC%DNqj z+^~Zm=L-^b7p> z;tU__h|sOfS9*u#o;o^ygjVY`u+Gr+oI5CqMQiR6v&p+F4lnoR*cke9t| zuZ=9_o~pKQnFOr7wF<+TIiAdJG5k5Ea@*Gb*55wqZYN)HZ(SPqZw@BsYXLv*6K3Tpgjg@z26~yuETg@U zkP)X>Br-XiO>zzpf{SFv2%A9)^t#zMIn3ccyyVE5rAqfBF~WjyGKx;f?@Ep;QVnOB zqz4(&?1x<@cNVFEGl>lBwb3jo6yj)okR~xSpgaatNdArtt@clyJ~KZ$Ty(31Dgrwv8#A9T-UDFZjRQv ztBsqZjqYm8=4cB&oq`?~WV3-dpWk=klVkw(3OW&u1S{$AGC_Plyiwb@5MFC3y_PlO zCCpIrM9a4375g1EutAE zYv_6pT}N@I?S&KNLe!@Mf#pK;#0!PmLgdo5kQ0s#?2`^U(?bpkR}LktJzDvo607DKWi5l<7`UGp>XG zh0{H}(`9kY2QwuQ(bAw6Gh2yYBSTCp$VL7aigf#0DM0$wb00+Q;k(CSTkc#mb_r_M zo=t4QHJf0areFR(Gy&-7G00Hxkyy6JHUq0Y|`Kvl8Z)9 z)`F1UG1}6US=0QOl{h=ZsIU|xGT|FXrEU^}M|3u)N7mzHG+hTkU_dkor{U-jym=LXk{5avvuopcGR#kHJXsA(8#tI;%A`wSN?JJrC@Nnw&aYLw z#_4P9+QicX$-J0gOkd2N5-~4S4w5=qK`az~X_@SXJje@;J|F}G+J*uLjq@9NAbqkq z;5z`rsKmpgfLM-Kj{@SQa3w&b(U%h%Tcr6a6ccrYK2P=?Y!4<3#2^$%Fq2ycO5rVg zb$fa1NJW&e&(9*Jy@BiLLYQR2H1CfWc32?#0Q$fut63xD<`e=c_cQJphXwQ*QDAvA zGo71m5d4^Q0Tnf~jY=$LT#k$~Ogs^WqhnAidXN;>RK@l&E)((*1ffaGP{6eUu;3iC za=!|8*q~8&J~c$_9rN0%Grfm_Uu@i699PZ!Fmb;f!;EMVS6isD_JHZE0B?#8IcUy@ z#7_SMl0~ltiRZ0@bGi-BQ0;w80HtMG3JDvFUKlT2i;}>oy58cowBC{ki8lIMjKK94 zZNfgd?MMCKHdY~wd_~E|pv7_76XKg&)M`#$n%|t{6=>IVW*&%f&aF)f2wu=dj-j~@ zkTlG9U@~4i1l)Tp$<#Qap!B z@{iQ31@n-IvY{R!y#xaT!OcKCs2lCW5PROl?9BP3JwS;uIiUPjA)~h%7FI;I4Uu+g zZ9GgWv*mG$3&D6Sin;q$lCw)7mzDbX(-=)M*7SE~7@cTYc0U&ElI97sZ=7nzrUoxD zneHTZMb{X`zsD!iZIIRRN}h1s1)S4D#!b&NFD7MR>kBnROqov2f(d9`Hy7YuvyeXL zGz)2;jI+`-dKQ+ek#x1+5h{axNA1cWl?zkTxuq;D6gNJ|`Xfe>2B8<9oJd{sX;IGj z7Xy_TKRE?7?_ffUfYGTD=%Pq1`*HRZeB1~Nn{$Cu@I)vDYF=vmR^o?8yae^S z;w5K&Ub+kl#f@*a_8(x_eT{#AZ=oLl&*0@ht{L}}mmlJcxa5s6^(C2kq{%*=ZD|>O zD`Y$5oVI)@xeC_pm_Q@UCa=cfv2FL(n-iq z%o7cC6CYEn`pxavoAcLhQ0(hX?bn;~*9+TUU*3LwdH#B!{ra-@>&x=j%iFJiy8Zg6 z^Vf0v^&8r+-;lo^ZomGi_UoUr*ZAkKB;~#U;|mE6B^|UCUq-jb6{@k!Q9NWa->EJ~F2pS4#BK**LrSd4bL5Z=6m?dp*xstvbra>BcC&lU>!k$< z6;t>_-ny#_Zv`vt@osD=sCm%zJ+cdnbNNKmz>UvC&zL(L8MRUmIAu|5?g7u2>+l~v zV<{Gv=hbq36%t~>4mdM_0~)P>gB z;AS+wR%jO`3he;yN7GTDfEJ><$3Xuj!R%;FXhw&^Rm7(gM{l8N{>sCUO`Mg1#a}e6$gF&wya{o{YxMORRvdJ5 zje>Q#9j)sd%lEiV-@RX(r=94M>?EJD6eSIvWSt(Z)P~}VcylqjDQ8>6>+sh$-D&nc zQCJ|*)vhQrZRHoB zT=RU`o?ovI@I>%Z8ahBQNj60z_LAJKJcq6DoNJ!T9fhBky#*XY%u`)$1P9m+!?9_v zh|VT?fZy!ZZH~TxVF0kyZ7KtHPPxOMhp$LecL|}0spacmfvb-6;KU;owu9G(@G9?J zw;GR^vHeD=e1&8#lv#>4Ifu;|QgZO%;0V!JWay5j%b7TZM29qJna+7AnIL*9C&&sO zY21K}Hkj+?vV`%aH)wUK5#PW%Wd0bl4b@A7?DTUWjUgWoFuee19Xi3nv146%?U;$h zRQ!s6d(*{&pGPqUB<*@@NZ9R;c?Zv-Z_Ev^6!*1NUQWkwlsV_h^Nzdxh5E*e(uZ@XHK!e5WybS;##G>-RLLWN=+$4i;$ zqcJ#~=U%nc;2n06Qo4zg_~{CV;u|cbHut3SUKlmnhH+Cfrfo1W{hYzXXDx#%@LH-R zZ8uj9+`Vlu*;*v}s(YSxrO=nH!h>oWxd|%%X%D%d0V~E(^HOkRWTITztzvwO<>V+st^GmFg9*Z(jcRRK$R94?2$M*J9ImTWWh^?1-O7m+ zTrz+Hqwjl9-go9P6z>;{j4W)y$F6J<$gXT*$gXU$$gZ#@VLKuz>_|^s*pOP!py3`r zUEXLm-Jf}z?nOI}H2bY{&cyp&%U=Cra^+8Mvi;;=V(j&zW5YE@f^<{#QX&(b1wVML zTT0^j3Wb1ZVQX=2xZsgSP8dHu4X<}%{Sv?YF6+nU&mS$m*n_59B+2(SPLWB*B$FvTKtn=N6ZB5 z55!wo$I7uBugq6XkU=0^t0wD!5lJOfiyN}|IgYQ{?g&yt(}Sl9kG5jcUMaD0GnCtE z2{wMRsJ&W3Xo@-Zpk7gMzFGoaI#x^CUQ2N8S4-sIH1E)bR!jO{bG4+~t(Lerq-Ew1 zf4x-_PA#B!y{wO%ze-}H38gXfMLqqmwLH>I@8u=Cm~M!_U0`_xnbg(@&s!deP4+UD zix{i{t$dh=Y&{+_XH>LwNONS$zkrh)Rj9r4;R+)A^kvcyG@Q_4&~!7#c*W+feDq&v z<%2nEs~bJ9zq+BY)}D^l4L7uE`*l}0`a4!Pteb9i!}qjfb;F4C$64KY_3?zl{OX3S z|FOCOMl`N2stX6I*5P35pa5A%#&eA)(?J+CZyQWm@);3qS}AyzS`Ya+d!o);-RN%(Wxp0SJWRw53nsv3}Icq=OxX=<~2N1U2 zFCQq-%(8mryP#!ynPw>`0MirQYUPlcSOc6>)2tXPAD`*`IRENGADl@vBlzdCbBniw zMc5leBP@Dv8xDV0i(8rLnb)kwOzN9k!sr~2L@MMQRB$-9^#Z~C8mP!@`GU@fJLQW7 zc!*#6*KjgS{95&sG8$Z~406*gjRx(kOSFl=oK%;aiX0ov!fqN*~ zAfEZ@;dF)bL-Hd(B+m%?+M#FHFngT8ozM_BAULi(b>X|}Y5U-JvJ^RxZA8=Sp*_Xa zm;kw!Zg}z}I%b!r+?D2vWYyNWA{jKKqI)=Ou1KN{0Tg2w&lqoCN^mJ$X-iG2Zl0eD zIlfSKF$)eFHZ6sX$JdBJ%+=v+b`^uU9M6urkgG_G)E%tc>%7y;_;3m2vK{S1Z$RWt>m!LS^ut?(ip)$|ELZ zI**tY#xOk}<%_M9^N3xjN)5|^m2n=iS1Ys3$~ceMtCd-9Wt>Os)yk~2GFO?`>_TOd zAt}yl|HJa;b>ru5{ zd(Dg&n-ZBW9z(g>FpeteUHVjcHnF<%=sg>{_zi8I;hf0n5~MIX5i6&X)anlompETX z5EOXsxHp#K*AWCsEQhm)#5tV#*cg_1{R9_W@(^R;mJ+l+LG3)KJHvs$avxrdDJ%T% zW>i#w57}Hv3=!@TaZdBZa4aw`JNt{8%P%fF`-_*RTjqane3iU(z4#XN$6R*3@f+o` z;}(}4rOjn`g}#%^&PxHA2MVu~%g!%}>Cqy&?3OZgmq00NC^5n!H;cED*xqG#{#)m= zyPU6<^3^83T0=$Vva?3bWw+Edof|vEhjp}`KV3wIB$>H;WE?!fc#+ZJ zoJakmV4`MvQaW$ zP`8$hFX#bbNqbYo=4C$CSW+Lu;ul_t`ecypK38*$JWcE41KesZwcW4=9lhJ;By&kV zh`?m9_lOuP;9Ku6v0DV_o{@m{Et=yR5vf2{?`m*be|$BS#71bnT9P*R!4{mBy;_pC zyN!0olC<5ewL6xi?Jl-EmZa@&!0uR*wmZV)sD&kIyQ|tATA1BoX8%+tx2D3Iykk=`vmMTsPd_PI^jZkw(4 zy^{(mvr*sidl?_a3+?+YtP_)?Qbub}4V6$TMxO0a75rYWcQ7Nt zZ8ZoSznEMyHj&rYWp~-h2_zpo&Y&5bD&$AiMk8=TRs^7oWiMW>y&gE+6#GIn>+IF$7g_>= z9dnlhT+Uu;PnYtoR5Y{O;<5 z`{}WGar5IOXM);rXTvFv?A1a8#D+@=F3s&A4X|eksI#9QZIb^MK5OUI&3nY58xqRa z(Ri6+rzOyt*zq98@iLSPl?J&dQx0luKDNp+XS7GgZ-MEJwFQeI>C+%6VHBOH%DLam ztm#((DLhGn)#Y9Vv6^xCCj(HGV@FYV%&M5NlsQQCHR|et!c-0l)KBH0Hl%ULu6st8 zm~{43N1k*(g?mtzgIeZ1E!b1G#?EwJbc_H|ODBrE%G*g51Y2Wz2W4H#kmyw|iuH?|{)uCOHPJW{eX z-$0SIBI^BQ=qd(ORjjI2@v$&s49s{2dL}Fl1T+xB#9afy`3>-hw6?AR!FAqe+QEdx zb6>_CpmlzUw&S||rSf_Cn83hU0+HA%8Etm}B1mi2lAy)>R}73LWOS$6W&`8w7IHfu zD;bN@B(Y(~jv$~f%D%)fyrd%}f?bS*$ja{kbo_!rrBARZjSBS;ERePG5i5nBG6h#T zkfEfZR27MG7O`iL1XVnLshB@^oVAYdIH1uc6Hi`dvh}TA=m1E4dGDO3q{9&3b9pm3 zFX91vyVJF22w)$)4txT7^?=PM)mFFN9&y)YOSyM(bj(i8nAc^ac(Jj04XESg7Clh! z^_GyKl1)YQ!Q;|b+*E(Bor_AVS9O4J|E<1KM+K~n!CTwk&Df4E?ap#j(7puiZs&&W zz}Mce*=W?paQ-}^YJF>{GRXNJi9z_M+rIXrRkNiWZJVRCCOU4w&XuMF$=vWL4fZgO zqDcr$scE{6H9-iTbyr1jywiIK4#}R>;1SxKs|q#QUaczIy(&Ri&=_hfVLiJ8IcG3X zgEG~3H9w&#Dtz)Yr>TZ-N}!1yxrzXz&GWVx&-0Ks1i7&K`YpnKl=D0Z57b%0*a5WEOSJ!{73G@ z$1&T*uP6t}JL+WXvQC%nR)uzsFwV~I$Hc(kaTiBbj^yH;9h5udI1iZ${F(QVmMA{& zAqn(xMa_Axydc!k+3nIk~>4mG*xuIrABILb{BF)x=zh89Ez34n(vC2UQ)QLYzJGyiFPMaY6)sbbFmP7 zmVo5W^2ssbBTAcRFaQCH7iUh#eLEqsi9dY#%+~32*_3W(>zDRzol3i|D9o_wKj!yX zA>v$0!ANgZg#Vr0=2En9?x&U-At1D1@`SWsFBWAva%1|kMFg)J9=Ci60vpyk3gfVi z3k+pC_%I|Y#nJK9bos+hI>&X>kL>VJ&Pz}iY~?~HbuQNj^xG#>RyEP&!zXo?r|U5! z$RdY|4hns2@ye@T;mdI<1r$mNxLow`^c3fK*A8^L*S$7{Usy>x_T|I>P{U z=nk2w0XGDxBl(%A;@BQ7d|z|l=!;hW9C~X0*}RT22msNewzctE{fw&)sp=2ph^foH zwO+XdTEV>L_gEnvz&3F3aHeV-9^XJsRpzL3;3$MrBHJO#J!`-c@@Ixrau4UgGZ9jE zkR%jGL|KdG;x2y~%uM4cYE0delGkDSy|@jWL$n^r$XbFI&V z_n;tg;uwiduy9C3j-x0%Ou}C`{JvLUwFXRZI3Vr7Ho{PkIf+&Xt6A^5+>IY+Co1^} z53R7u>}t{oTaxnn23&a-ngo|_jupfyAU=mEQZp00h`HMdgvQBX{B=QCl*>H!;cA;c z_O`0aWPA6hW_Xn8N3?JX>Ej1%)A=L22$}To8hD}x$z|I&zJV> zhz0&>o!0`_7{yxvCxc*B05bz)m+B+ZGwCdp1 zK=m5^i{PqUp}IrgK3PT=5nYYxlXWINb3^)3Tz!zO`d^y}vyXl#%r-0E#eeF^cj1ne zmEkqT(s)q@lG0mbMG5F)Hj9oU-35WqDq}^zFA~vM(gjD3SDK#OcgIHE*2% zu;bO#gK434%4=M?k{laxfsCIhUYrl~4#lumBqYdCBqk>rChV-I92?A`QRU|pQrkWC z?@*~<1CJ#9u4kWT0KdlJKmV^KSfHXQozY(Zqp;-9??R|EkP~F0R?;4+KI%A(4&zD; zwA_4OTtK{_OX#)r8A>hEWz_Y_ho|k_XG)M}i4scu1Xf@Ub4rlN()C4W2x9L_I~MX< z^(%9^zMk_HLwGU1O1+s^A5rb(S1zk7(inA;i4)zQ#djr!x#p?&etIDVU8r+ zZj6qiW=?Q^Zd{cHcxT7Vu82uMPoyZp7nem!olX@lyN4Tlxhynf+_7#iX#{~L5wjCJ z&DD>Sf-X`u_^ggLKfrSY0C6<$Rw|j+{1zfa7{1e;-&LBQ(GeusUqFE0zBSCYijz1fV7L`j zY-xm{qRM0@==aoc-OeXwCcu(yf|nv}3$ci6H5YV(F)z)sU;wvozmqdTAG{{mzI@l6 zahIOhxz!U}kKdVK#dg)3QwBGNrC6S08R8VpPlYu7l)4S@l+j39S3OFbCwZ9NKP0@| z)fiRkIL0!_?zJb!I-Y!5Pu3NVHmrayC%Bv(;=^O+{rcLx6J~NHm}ZR_(i(D0T^7zM6 zj>LWC+%Aqg*3a7qB|JJ?x5izih=hs(OKv~N0tV_GN%*+aa@*HY?(}uI6Lg(0@M>C^ zJrA$a{9jRWHzw{w0W}mUFT}grA%%p`O5po~T3l70sCT(!HN#&8xhJ);Bu;?eZ zi+BcA=-e*i+1kERZlUY9O$ypc>fz>5JM@?HwR!ZwkUiRJ6!7rmaW(o-NuH!f-3_PO z>k#J26P$7U029Y8I@}lH#s|b8`|g_2=4G%~Ri&Kv=A;b8^P;R zhc|&MJ%*IsS}4_!L~}zLF)GNb4SZRXQz^<;N-+qsnx0B+K#a|75WNRG5E(NYKvZ5+ z2nXW1s(NW;G&?KNt4FsEtZ6ARxia&U{+b7j`FQNRdA3ZzD6Eak`iX&W8d?E>J5bKE z!hZ2Yi4yhdj$yrEAzh?|C)N zkK%}x=Dpy^T84KyZYTmZa+YNy^b16NX?Ywv*rMhKi1+JXElgv-c*HrhlExN{&Ct{C z=5K2m#}6qFtYz0@%zt;={2e9jEoXPFA5GIZS{JRAkC`gDAJTp7?vHXmtos3XKf(QK z-8bF+%Oj&HVKL^J=6hW+*Uyf$pwqCD9o`SDk=z=?3VSoiVmOwp1yjfllHH-;LXZ}Z zb98+|cBT#C9qW@=NS|Jvtji|Y(aWhN%lOBVG=tY0FWZ$?7`w$um$)7wf3jK^xH~y` zFp1UyjkMz^PECB70L4A)pn(Qa~IiFmBoFB;vD!mej@rt0OEHQ zTdLNJsd{WL;u8Wxz(2tCF~yph+-AIfVFcmWLfWjm!SQj;BMd=LGl3y?_i!k2Pk|^s#Ahh-Z!ch zYb;u+9321}nx6M)GH6@KC}%+H5fUj+pm4?6y(5|>+T5u-0Jb7fiV!|SP0NLr^}$gR zcwdRK;HVB>Z2WmmhUF=LSG-b^a8XPdlTL`nZj8(thexBHqPnAtX&UTnXy`*{bN;d8rDB?g&Sgj9WI zHPfb7dGovCwKsI*`EhpFKR#u$yrAv@n|fw_wC*|fma_s`h zwhNyma~R*`GC3^s669*6GwOYpf>#_ry+pb@>aMJInbB#F7IL`9iOa?m7-x@cw$XHC z9IFtXi)5iI&Ps4Y8($K&7J7G^(i5ra>2soPIl#2|GR z#|W)){9#`ll}iYv0{SNsL+(I@Ex zxJQRGVaIB(bAB~Yvw&L;FyTV1141^mNrO_N>x7WXa(2oDAj9G!YI(%CWH0}RK%amF z!3cz8q}HE0HnR>po4A>K{b0|l42RabAM9v%5~~-YZd{=O<4nev7Wr0}vMatOtEE#w zcJ##wZV0H=k6dUwn1SzAg|^n0ST})e?bO3K0RrRBpk!34t?ryZZB|OHG)A%*<*h$u z{wG5zFJhK7C!REfn6eBLehB56S?+A#D}zUIBk53^83cI;=VyC!;gB>GT#6=3q^IM@ z%!2ywgg!`$4^he{Oc|fWUU37NS)x_=Rd(Y(j3@SnVWdp_T9_2G?_$?^_7t%S+*69e zFbsHo)?R-KOHBsbv5%?5Ucs+9}=;e2sk0B$VleYR*kf#hKK zY_l8&Ojvi2y?nRSM(%!%rr_UVZ+h6Qr2yZ&+zLJW3@W9++3_JrgH6S=cn_oe#>`y7?TJEJv!x&vPk7fXi=jiR{$nZNpCZaXG=IQZaCOl*`y%9^+CHkf%>=P<{iu ze1yx5?(#_rT;?ukhth(dI4@KPSKH$rKSXoagCW_;mL7(>mR}3Hc}=(9nsGjF_O+v7 z_TTvT4fCwuv+AOMGy@L95AzKbp$|Qz53f89-<{0VK&P-?SoRa|JQQbnlm+C7SR3d4RyIW(4x{MZouR@5Cpi%Er>_g@F3~~ zp500W$`g|v;?+EZ*oa^ir4+I=97@HajdtpH?bALCPv>PSWiQ0;ZahG4W)K8!3i1Hy z+_*wDZW_!(Nw>(o3q0VbH)koGfEV_s!-xz!!~;}ezLTk!xM6f)L)1pSWz-#}VLkiro^-x#l0h#A z*pog71OV2_%8bM?P$OMK1Ek>rp<2$O8K!zlJTfdfpn$wQrp%6!DJZ6xSm3yKTybBz zTH@mVmVj62J?@g9qlHmxCSXbO$W4h5mP>Gj6S?jyriD>E%fQqaV+4zoHPHo2Aeiv= zW|lU(3m_W(#ys|H`lcou>$4-~;G-L?M;gnO@d@}Sl!D$D(wc{~Bfi(1ogvkk-Wmx& zHF|Bh;Tt1F*SO@n!QrYob%6dVZZ~8%ihdAD+Uk+4)}Dv4VsI=9y5*(gslg#PY)5mt#Q~VA@0))ER-Zj7DPuh+)}*t_r;ME23?I) zsz_nb)>nOQUA8KcW~t;B=r<1pGolEQai9ML2aqtbwe^E+WVY;Zi=aH8frC_tk7mL}Cjs~|`) z&o#4Q6qywykd#Tkx4XOyymzT~#}H}BF%SlXUOmLL#nj*mp;kW7U8IZ3aKaGV555Pz z6eqz$Gk$pN%Ag1Lg)%tO-)eKWtCpc8qlB|Rs6oK?cn;RBuZf!Qqs$RUIVWPW#8o_j z2Pp5+N>RT z=x;cMVaDZ4`L@4(*4;kwQTO&gyIa_=@2U?iahk7Y))+XcvBM45%_Y`2;f8pT2=mIy z7z;`f+yz|(K$lCcZu9g3U~#+p0PF;tiG3F1zUG_luoJski9Oc50Zz^fS`v?E(I8?@ zx{UUDHJt4UlIv+5hX+0c%Hk*_%KUp9Y}E(}=PvZ7aFpk!{^^e3~;i zqXx*Hh`a&QcV7(13n4kxUy|ti;XL^vnsSxVF{#}Aan2UbZ@XI(qWSY`eZWbRz#RE4n>*yN$V+)1c@J`R5BAYxa zxR>nMeKc&7)vSVx<8`sJ`#CVGA_NMu3z9`-CCBCY14Al*l`dyZsxTPupc1pR(e7(L`mdFbT zayTKkFARwb%2BO1u&a1I>E(E@ith6ug z70zo=|1#U1!!>p5#R9khcM9KP7U?-36!+B=O!N4nU8?D_EZDtY#}czg$WYnm{Gm1= z#&wvE;x*6OZgZL=cExVcx_3vkca(unZU zl0wIBxmJ!O99d|k!V$%o=&m;kLZkEm*yLyVcy`zO_sQ|0!BKETH9Pi{y-W0tP z+YAR4mTvVlW>4P{ zx`+5XjJEWo7Yx^T*aEetKOyf7+VV7bAO0878Vj&&2R@tzTs02k)ky}A{~W=X@i%7g0#D5)nQtW4$!9A zVMGeS;5iIjfd^$f2Nb_P8-YXz;Q?YfRD8Fl0gq?^!~V!k`(qmAvpR`Ki=)|xCL;6M zUn~1g`inj7ZC(qZJUbC(f6c$=-C zM2}|96+rig-p^j^g1eQ@%QLM4M4#&pTc7e};BVe~&9vYGAin+TFDqUNzq4)HgW7wmwY+VA_L(O>b*?b_`#a*>Z+qO=c=qurNGaTT_^MyI z{I9S0?$y%*J8ybBA>-B$|6q38^fY7<#^E&2`9oPsfA%Zyf41vWU)nak^AFztn=8J& z|LJX0(>sgb|HLOh`N==#lJc(H&VRb~zxIFcim-+N!G^RWPrV`Dp3A+lX36qNn~Ev!P9rLHyA;yf4J^VhpPHS zM7EDb2ZvzuBR!cFOCUM2M$0$M2@9&L1as#11ZhDRPaemQL#y(|_~Xy|b=U8XhmiMZ zAyx6ST&}&iYHq5Zb5|@xzSUi^cDqM~29U89MKyNx9~28M!FQvN&k+iE$fJ7N(OkmU3O}d>Ii&~ z$3VdX2|ox%2NbdbPVKeqIWn97`wvIj*A38;G5V-^I^&E-e$DJ^@6!izQca@=UDWLYPEBu_YW!lwSl`Ye*_DFLkgjw=ZdEK@v zt&iGRsV~ULiStlb8&xjHg0M|rSXdE z#TT)goLh~xP+XKm70wK5E=U1eyHBJm z-VQrMbaVI?vtBQnPkdrBU3miEB54tXQ%KW3I+4b_4z?Zt%`|CG&7^Z`Hke8!m?Hrl zN*vLkS~4A;n-CB|87&8=^SdNrpy5Mx$JR$1UHVUTr%Hwg%`fZcf^J5=N6v z1AL%^HQ;(Tk*plS2BFClvKW&|KwfNYyjj(NN*DvXnb9q4AidLMni?997Ya z-%M+5LaB8UicYJF7G^#{W7pV0b_@rE zuIO*@`0=!6sKjq2wAA%g&5-HWmc45e_eDFaL;X7ihp2W$rJ<}t>dQ`NuHTUML#B#( z=f~!>CJ2K7kEpp^vROqGONhR-aIOqn4L^&`Z>F3wHji^$1#g$j;U;LP)qOT#<&&KR zCFGFwXnovpOFnc^K=N^#Xd@u)^Ihi)c2%nDeb#kPFt*1R;CtAP+$J2wNzftkd7`Kz zI9vTIY`4CND%3Y+v7FO4b8Wcp$s56H5F?6PP)@Bmq(Ju|pE=#bjggOTx6-=x&h1{q zbx%!RpnH75qUomaOo)pj3$XA% zdb8xQ|Ip86AAs+YCVZTwf7@1_YwO!$NNYNc+6sAEIGGmPuZt(+!b#L8`)}v5MPFSy z6@Gu~^v+-YCr>OMf8u8!N6o(8)a>6u%~q*tq;|osc0RY|=wpBJ{reuB-udLeec;j0 z{8h4*(!c*tKRxl5TaG`5Mm|mB;WS!#y#y4Wu79O}G0^3+r+wv~%)i&-^(i)yRM3^8 ztT2`h?CanH3$kAtmr2*aoB^@Ne$C8T=5hfRgi4(SV&BrRkR@J)FUEGJH3<;b`45 zq(nHUTBcsWMiFuSGAh1t#C$mP0*FfBi5}Vx%p5#fyY9*Kl%?0AarSk&#{CZ3*uWz` zX&2y$4zw8ztGk|U;JgWTl#`cg%v6!3V`v<8s0Zn4U^YbIX?I zlodTA6*OixBJ4qpYaJbS*jDRkt%sN{ITSP7rkh{LZQgk1wc9}&mg2rIoRmUg|LM$8 z`nyExKa$?k1Po-~DhS79%Kuh@-zZ*qh@XWd)5Fum2syEe=lGBYvk61=pX!5b$)URC zgs`>wEMjpb2X%JaFT&Rt7m(c}M1gbukq*SesRCkjF|>AZ(aeGfV47l3J_u%9|qVP0aH zFTtsLu0*I3F1Hj&bf*XV!9BYzE`d?&YB#-W^_Lfn6|d0Yec2%R1=}?OooU+yGog;3 zS+pn`QwPS_5CNB?`)neE9*KNFKw^Wa=BC-qHszGLLZ3jdV{YdxpNQtQG#0v@laP|l zSXYud#(dQ(N81Dkc3InE1njSp`&F(oO(EPB3&d|*Ou+5Z@0_u5Az$|^#s9#GD{pw* zm6RC+NmX`|F=IvN`2@<0bUc;9d96!WV?XAcjJ}Xp_%g?u7H}@`x7^I%GSU=!DOFqLYHwuFrKME{XlYa{$f< z0$i{%<(4rD&WUMGWmWNCRj$G8zy$Y(3VvBcsh|pJA)_y=?61#u)jIU3TkIOG4}EE) zPAZN8O8x^J0hQ)!qIx zKS=(EJia@B>fP^J_6rX@`{+~}2~b|g(aH8xfCLi-ML&0Zxvk^Nt1tNF)sS+PSoVUl z0H4=%*G#*D*$Xz!Q&kYT3ffI~ZSVNYmp?rH z)rsORNOcZu8;{)l$NdJ|f1Et=xsUby#XQ(rPX$|{6D{_o!RE`%gRS*cUw+W_s>CRr z5foTp^9N^X2ZqkhgTf6NPgPfOK8BWdVCd{TDEyZWLpSFb`u>;B{Cd%rG&K6b&Rd`Q zqkS9yV}AvNU!O9=C2EjW;m(&`Zgh56-Z@RH?>2EB(=Z(|6uAPj7 zlP6p4&28!p=8I&Sas!Nss|Kz<7oLtp)=UMfty1Tloy1V*+t4n|Gd;0$u zAwX&gN!^bYk`NdZJFz?olAZYPbTz~h5})kGn0D-Bn1M;4)v`(ABr@^NvRUs8R=hSd zU?Z|P#tF8GV^5ehJJu$|!|XC^O~P(SLhyWl=iXOU-I6eNGN0YgXA#x!z5DLFf6hJk zoO91P_uMCMaI1gqBR{|MAzqgjlqEDrdGkqECQOk{VL}36qv?1vb1N_Kgg$aF@Z(sm zdESxPf;v887Fz_nN1n`m^odxqVSyRc4uvbq*TR#1@%h|BSmat@k#v6EPe+@KIs5Me z=|hypTohG0W)^XHl(+(}yE~ynlQy$`=AV&Ujx{aR-JZ}25$k3n;5=bik>bSP{5#gX z3}5=OQk}N4kk3~iRi#C;#}KmX?mp}xVRS98^pZ$fihZ>1fst2xa?Zcwl?vV}B3CH? zMn0@#1xZ_RvgUlq7507bTVMalUH|US_dK-k|NO+pfA-x!|4G)Fh;W5{cfIzR!+*By z%dA|#_0vzXhTWi*>%VxV+Sk|j;R)Df&Hj=lYMb^WeVLQDoYe(CncIZX1*`3R_!@l$F_;Hi58$*WhM<3G&195>}aZa8*k%bR7;wfk+ zNZx)>Aey%IiT+CtH-%&o8@d880_->8CVY(HywQX&!vd-LvakKO02Rg{F)JtgML}CX znB-7R{tk=$bFCjpBT( z6;ZYBI zXAHDx7XK~Wj*lJ2=$2o)}!!&C@$=(^=+G*NH z^j03eNHDaYXe32zziFjq%MIp*0!V*IZiQ~%!rPfSrb)1OtXp@TkVRa z$dUG2hEg%4X@;H9PO{)BEDrx25rsw9bFU^AiyxHwM$OekR`zP5<+J$Nv>Ep>xEu%+ zN|tD0^OYjSRYXp*4+*(**RuQ9$gAgiTBizUuRCJr+~yF$W?wa?B=T)-SLu;4WyT(l zWus+rJMglIG81!_;Mz~m6V-q{v!Pvdk9Mnj1V*pIiYqj!(~R-mm_18PvuCN*>}dxs zpv6MGGCFQ3(Sl>Rm-84dueAr7o&x$hc z;7gSHQ3EfUL^pj`Wx>^~6QL~74};Le9B$+)Q{cpJ84^Jgn3tZ}9VHBvQ5%6wAhe+VmI=2R9|^@H%A~;u zrmoTTF2mMQf@b=5mISqeMjw7}m`!7adwk<@Po`ral+sF!G!j@k>UYrM#rWp>!Rz+& zxhM<#O~k6C(-=sUwo1%+_fm3Nn@&FfPuFY!g_!~fGQ@ZIVqTr%mIhRxkV7^3HLlgi z!56ueh*ee|I1THDANt06WY$Dc#I#Pe@~p*L3cxZ;qE#bXyRSw%aTaCXnSt7GPq6aJ zH2`ZBy^Ra}A^;I#X^r!$h+hW@YEPRP9)&m^$6>Fbnw$U#Qs)jh#KppK$xs3<5}Se6 zmFa8&dE+SrjPLXNhIhFAr(g1qe{7Gx-hd!>zNEv>{8$JNW?6qInzBB1M2eHm40NK{7QL*-%2c z`~|#QGZ_#%PyG?dC_>3BEzp$gsSR0QsN>%?jhIZ+E^8s9$5Mg`pOj8%azVJ{lZLHt z&ICkF%z!q=Yea$;R1j+Q)LbYkYOY0q70Nufg+gl)fuvKiwJgVf!MqB_WFJa6RZ|vx z7@&p4D!R)kH%)ANz-Sv3rTqcxK+--p^}V@Mv4YE+2n*4IW%GWj?Um>E&d>S#_%oX) z2qvcF_jEq8hvd_z^kkgI_EzXCm{H>^-G{Gqn|)<<%<1nFb7dsyfAZJKelJ(!iM1f$ z8*>egh3)m78CAMF&8I6|?tM5MVZ%IO1f1#aC3x|M69}Uaq#F{J5F!Lx0M(p{su6T7 zHeP+FpW5OzdCmD^`JTMrrLU1Pt-mLr8WNW~ia;1>gbgY72mm?>5+T@%89{#-hNNKG zp-;Nb*>{xf%n{sYfyXY)b;{-BuqJovqS+P8f5Wa6txz&)BwMXmn)<09^B9JUtE+1} zf#A=b^Ime^jf03+Gb|y@=b~eVMMIZ`t^j-FC!if$u|H1$hJ*r8L=IWnpF&7O*nVNl zw-cPYWBY5UlZv!wQc}IvHkx&vm_`~CcfbvRegy4MVR#>Tiiz0`PeY zy3fX(uZtfBoACJwA*3D|!a35`Wyv9edczLqA_J z9*F-&?uE8Y6xXMzMaJnA-0QwwJ|?I#yJ#%^kR+p^J1pG0Z^l8{uG4n%CJECz8y!K9 zZC%7KAX*L5oex^fJ~G9qUt%@2Qvs_P4wq9%devK(<78>(cBBP%Z)$@ivDP3p@)y>i zFdCA>dJ1`-|^K=yGZRn#Gm0qY;%IT;Pr~vF{@Q9#fTI>)=-s@FRtfy zD;zJ;Tv}itaKN2`S#)shq5Jsax8E5W$lMGzHo6 zw`xCe(d1aH!fBmKHgPWcVsVb_`BLOHdw2P3wmoKX4uy9;Q>iCQaD2uEKF#CRyd(v{ zuC11A)f&YSpN@;s96xzo-wC%$g8&q-*QD+{k*s6)QByQrmW(1)`R_RFgN**mg!ob? z$QQ3B$c9vb2S7V^Qyz1JcqkrAu5`KUkH_1noorC4TAYBlS2EV4lx78~z8X{P1YsYV z6)snW5?G3k5O>QJsi65f;f&P%)}m1zmwKRid$4(XL-TeQZ6DD&wXe#Vomf5}t#Ad` zFX)*C?|EIdH3BUC{9`sa;BrTNliMnt(vak*>G)ccn&K^* z0`+(|WQ+))>i|qWSxs^4G zdjaiL99If9^U`Q4koHLob{qzqeL720TUzPN;3_*5lD+kW(>`&4nysK@$+^AsYIr}A z%!KV_T?5q|#w$T*XXXfKs6!xhDypcVo6t+t5~&UZB}@^UFL5k&qbMeHKA%oL$DTRy*7i+n7to0IFC*9rpsvH|yNU?^ zp}1Q>As#JEl7a^&hwidO+06c5+B8avVj%eEQQnRnpl;fxPzYTnr7U-w-IX==eh)Gt zoYpw#Ho8N)fzxXTO$8Twcaz2F&QP}3trIKbV*ONkune6Q*-JB)@yrn5EIsDNAo{dm zwTZ%7dQ6y{qy~VNHL+h=^QZ&!e=77@>c8cB_x^;FBx`OBwgSUXjheaHu^Yq+)k%|G zP=NDjl3?aEC_zFYvV)i4mJ`X~57`xEYpmD%z^%>joyw;de(c`V`Yv7y8M691LwyJ$ zZfW+(DD`RO_)y@ve^M3;W@tMZ)hnSm>Zylihno~oVmA33M^GFXDp!(oxO^AmRF_tBnWPLj^`h9>liIM;hfy{3`+BB?(?>MW_-8>#0> zeH*E-Q2vfa>T{$XR!O9eH&UM^_3fm-Nb1fk)s3t#oGJjl zF^~JAyWJ*{f(7^xYwohA-%VAY$;bc57v~C-)TpUMBXb%y+B2vt>mPQwcmy~3GE9pV z%mbK=lnU4UJpLEp_=5{1~nCG9;v-5*;hUZ)LY+-I0NS=@A*}~j1gghS& zIKnE6k&oX&vG)V>ce)0&(+7F}Y1bT+Gd%x{YmVH*Jip5|$CuE7$-7+>3m)b9J+6r> z=XidvYhaXn$Bx21V%lL;@9A;}8C4DA``is-K;Q4-y=x)Fl?m!T0%f{xI{C*gb(`zS zG#}R3&XvjnSasJ4Z8x|#3wfdvceV9Q2<;Ihl!Z3yt#`K=a#y+gv5;%May@FfcDlC* zyc>6i!`%+|ws5!I{Y1FC#{GD>+vwgJ?yh!k3G=3=0-x^M0p8L#Hhs`YHhMACy6bc| z3!4H@>}~SIK}gjCo+utHj+lei^RB@W*)N80)+;tRO*(toEf#dy!8RoJ2)AqoT;be& z;v6_XpRAaR>lxD5j995jhV*RKd?QFc_&P{F`VWERb*BbfbLZX(T@;wAg5^D72!B$b zW|L~w{gmB76Wy(LH_F`+yQ?zlN9``>cDi@!4x%;gemdOka6c37w!3$QyKCIL!`(*r zo^W@ydvEJ--s6XJ)VmZf5awS21Hy<7p9$wry8dp zNPu7^mnJ~0cljT72E`K%@*K@H8qHEKP1Ih$Oon-OA}d&|5-iqU=XOLBCGK(q@d4neUC?kZbbj}UaS5-(A}7le1Qlrt54 zpvwQcyQgK5mMz1wD;{#_@)Z?MHEHuYv&Hj%RJ<&s(vsG!+%2`xLZdvO(TDmP;vSJ@ zy?TRWIaEB=pO8uo`fT4JRXd(wuzX_&*=jQxP-xTX6tX8^w3OUqY+1}PRSXI~7-d&C zszb5!HsLGh>sSrVd)_Du5+j-@T@e0{U9YqQMEGlbfY>a3t z@}ZXIl@pCD0-RsF58Bean>jXUOLMA~)ya+?Z0wc`$7EWNFKcM-M{6i{u*)~p??3$q zX=qp4dn`To3`3$X%62HIW}I&Xic)PN@0+!ouCYAD9P#ruhYagIx2tPCXN7g z9|z(D*vly3oTbqKkB_ms7*6j-!=)*t@Q`ij3VWb1Wrj$zt{25N8>ksA2!o%Kep7%Z z54~gzL9TvKy!us<0l#`&oSY*o3IlRthKI6sRllbBFY2HV(BheDY(a5f&x-=s)~dF+ z+twDQ7Pk4QkaJ9#lSwyAmh5}poJ=4@!Sq%k{X@sh@Z1@uE-nK$`EBYB5OLIN)tGS2 z(Qlo)-OVh`41VgeCRjLi145Xto8xsojssOij%6he!ApM|TfdE;SAK0rvkV3BlL0UMEyBU7N49GbI%1_nk^S|{u+t(x`?2}XS22p6M^V?Q#w$%+m)r~ITm-JcrJgst9yZ2#v2s9E>IdkA`(|nda-v| zVkjFp6@D3%S{mb_Y@8GPDP;VtpftxKUmT4Wy#N_|r2vrQzat4bJu3s#VP%CDR;FlH zmu6-KV`j2$rgYpzH5H>u**Js&L3YCw>o|Q|P;K-hR2zwX1|Ax!4e&EnyErOVQE^m@ zo+XZ|2`m8l$yY%y#|)G&ER2m%!_{ZGq9nC|E93JJ0iOJk+B`wJ1k0)}gQ5bgc`*WU z!4zSTwNQUKgDb8?-~axHjwQrrIe=t>%D-n?5`b0Roz9-i9ZI@ulpDjv5d$-u6cP&auQF0Z z3wf`hUu>&;R|k6m0_w@I1v-?cX~ce3ecn;X9*UMj!>>V`Px|yOJo|J6ZC~`DiZnBG@Py`B;EXph7XDdFobc#Upr&7>Wa_z36(_<>)oxu-jnrYE?k}vVq z@Cc;uMPx6^LD{M|E1N(7y}oQNzHAK2`2%P%g?I}FNKK;x6ZpgfB2CqZ2pu-k7EY2` zgh|R1{#-#j!y?n6dIuh0iu@JUNCbyrfXb)@`n)a=L$uLZiZ#nvpB#<`T>m_umFE)v z@1J_h4a;^Nkxo!Qt;=U^ zV_-(8s>`rNCCQyg2-0`T6FoWtuFTm3m^qzfjdeqs23A)tl))L8)oQ*MIOceOymGsP#{Gc z9(?2gXP86?QDd5r0j)D=t&B(^`T(R;HYy|Nf}6x|4r)N>-?gZYE^o`G6qo-8s7!=F z&eAqw4ksVXb?1X}@atxfd#$U|vJes%X;`;BFOj zS3xfwp2gFg$Kch)Oen-%Hpp<2it;Fw7MDQ?D3@G37)=6ZHm-u)0Hh#676K(1IVH?W zLE3x@BnGQSO8(kHyy=*gnei?)3dvZ1P8_Fo>Z)*Gv$8CbE})wz#Ki4PHHAHCFNH#z-W!lzHqDR+g%J+@^t~d?V zPwHGsqT#d~udZs+!ZL_g74EE>rLh*Y0KvJEZGLycCUuThVos<)640BYYY~0pj`%FC z^iA)Qc1ebw&d7675+ugud9{Bu=|PUO%l`l66U^ zG~>RI_SS5^2A`MF@NEdap+o>+bd-zHy51(OYiXvn(1y}i1sL&SvJtzJr4ZAHE&|z# z@ZnHWsL4kN?##@p5rrpY)UFfgyU){!>nnXIs6%AGWS&Zvhq8XCJlLjN>snY&XwRZN zJr=Nn*7P9#Fj%3X@*W_N1*P@Yxv|EBIdHC)O!Uu(e>J#rd^ZOzIGZrcC!LMJ$=ewL zZafu)5Qx|~`HEM17>bOMN`iJW={;bzNd`#@1p{~jOPPFjh?&ujU`9+`mZBC?wB0K^ z+SwYLmX0$g3wJU)C*++wNa31s3IW2h)q5|P+_0&7F7GjD!TaiyN@cL=mx573Ozp9Z zj9Zk9%P^OYC7jH_(O}^{6jB5N64oWA6G3~aHu7!*l(Q}_P)s|$_Yor`Pct3F0-1HQ z*Xqw>K;xf3^XEja`_6YC`!k#x3Seb)tY*T9$QH;u}Uaq5_ww1`@Tn z$ib6mB?VowJb}TSJ2q8+kN%fEf9fos{-O92oj1m0&B`z09gFxAvp-`>>Q&%YZ;(G( zuYY(p^&{3P#9Y9p%J&X5LrgXpQeaf3rPGkC!dS>KNeW4C`w(@>_P8!<|~nGsc8=>g*)qZ{q-y_2bn& z(XT-Y4Nn*Yi1|YCSK3qvRidqO9KKlIau47Zr$^9GQ zqfp@#z8pkRA$mb54JU_)5nT5}WY*fT=F0e2lo&~UEo>74sf`@XFQ~@#VpdM8MhpGNpLg$25IG5dKq+bi|6Lk>DI!!xhh(3Tksug|BR!|PWuW?G` zTWA6>;LDqs9U!-=%THH-JkC`VMh(-H+(f5wP|WGFgtEv0QrZIBVjux2&`ydxf=6ku zh&&FXX;AcJ9ksq&qPsGg$W5F-x($oVx<*kDU5kM?lN791geB1zp>NV@SD#|VP?xM~ ziXpfy8SXSjZOxSsL*H#sT|qHX{73$iIuK#*Blr0>DV8#v4@Ogc3*YsiOuU`_^o#}S zM6E-hM^Y3sm`J99O52>L3BO1qvM?w46%5O=MPxzNk0qtCSydAV4se1Q2rq~h@Pf{ZnT{si zrI`+IJXz;VphZll@V>;m`Lj$%+*U=M|5YlA-p5HwVmg|QO{P=6h>?hS8!x@HZnLSG zxAUUB&5pf3(_t7it%!D}r81g|K`tx~q})eOY${P5A;MZfZVu={8Itn9fd3n{zpi-f}E+ zXl$Za&Ls!}jS^N-f-JhLp)g@nWT~EvBm<}_2DGML(Y#%1w+bwU_lCV(NiL-Eo0Bz? zZrI4IoW|(RSstRGnfRCt zp%1K{M4<{pb3G?S;fp5~Hrds5+(ZsSx>BBn;=hpg88%+KCFl-L;!zPK5M=gKMEZmKPH*MqYoGPEOIx0quZ5R!#=wvk!fN z?8^sX8Q{jn-yK2@$CHxBx{DFRlUNj8fyUQBiIxi%8*~mzU3WwS5me&lkQ$t>W~}o` zDP9IVmS}7TR1_7^;Q$UoYHK`!30n!|=sMPb3flg=sc5~#d$wB8Z}m;+>T_;rBSEo3)Vj8>~ z;E3FoQPP_do<8KJvSqG~dFAzzP~-q!hb(ys@B)9}%hH%iAkF9Sj9`M|JRJN-amY4& z90twMirdDFLBmbpy8`S%rvoN&u&trT@Ql!&lf(5i-9VK=k1B*bS9(Ad#1FyP`UxFq zq6(IhCaU0AEmUbURAJvqh9}I5VGUl5@#bJb97A=~xR?xm_syh*II60Jj1p1!r>W2y z#&v}?7wNDa^&W_7RkjH`g|xn%Hz&iy_a`nk%^a|13fl(|$p<{dLE{pGHGCWl;M`m_ z5md1zsC5SN0oyG@OSx%nDK58K$}(z*p!H-}$N`8!=mDWyUe4n&1cd&t;Kd-FF??s} zGdw1gzZ-5r>pFACiBygPBn&!PzJdDf$ruMw(o4Xw5_wvvH6m~f)g5n$UXLqHD@K95 zki?at)5P0%D-P9YqBWUwY(*qW)1*cl z7`_Dme$56P`lsv6B1Vou8i*5S1&{;MZW*gH6k$$2*3L$O?g+(v|I|myTLmQu)m0@z zqQ4c`gaSs^JQDN@&~@J+mM#Y^lLoNeHr}T>h@E3&!I1nTRyE{NN+hy{>!8F8B=WPi zerW~d#DD0B+CkF>4mJt^&kR`Xx#r8al1H_%a^MchE`=xJ@+ZoOcY1~aE5ODE`D4rn z=zNLsUINTkfE^r8I_g$vqBVJ5a?c2dM*wg|t0jE>CMmT$2(03+50w&Rvw zqD1C}o#!FW#2FA>KvatrhLqxfu83sDq;Q!PmxZ7EIp*;5%30AQC~oACfUojX)~QCZ za4~1L;cZ{A0hG)tosmsN$ps~wHc0Rt z1PGefbP|Hj0ikdPH+VbxDbGl{slxWg@VanP+UF5Qt#FbD%OFqL!4&G2mY7q2~kxkpM(Y?r0ShfEXzoqV1Lu3BU!p9H$9d^%!xA)oO69ZS8u-`-rHx-$n4!KZ^rRZ<}* z?6|QbVA0bq5et+0ov97PJFrEd4n-%auW?i|lF$tz@IyXX?UWOR)Ruf#>}>8j^E)l1 z`PjKA84)(NWZ@yte(XT0jRi3ze(ItisP`0eQN94zfG{vBOkIq$Sg|+=L``B`Xsth& zl)=V3L7}y{xI}IW)W{TXv(+_k(^aUt8d-?y#S2A-APbqVJ0*>(jp^=C01e#`jVJ9{BhL&2@-&w4hnc04tyuL)6jCxOrxt~LSuE+x`S&At3j5Z^i`aV z4P+-^5F{;=$ax}Oqgk{yUI#YDbe(JxT=LGj7yiS#I|ZXXRwmrBi{63; zTyin3KnRriLViLRndKuS9gQw5`jv(Qb^5iuU7+c%wELyt`PdBpNk_g0HQ}E}Em^ zg5<9BBMC{NNX=Iqrl`(u_l+bX%9^swfQw~}JzfGcdS3=acO|%>*r5yOR>pdY*}bN5 zWueqW;e-_^ixfY$raIV)5X4#>6Nwb|lqN{GNd`G#YmFL1oJRz8VQkqJ-a&=sxQ7?n zxUxf=e%oNtA)9o-P=h85sV)@&#V!sSs$mlXfa@O3iI1in_yg$DPsS?4FqPBxH-oE{ zt~hpt%FrOpQ3t3#FLdUieJ<&2PYS@_`}R zLeF`#hBc9k?M?*2V-h^XwnSPDq8O@?;p#zfLLBL~whd8zbCCSlRUN6>jKfZW(1zTr zjLZG7uOPCM9#{H|s~E1eqH@YBM6kT;Z3vPLhB3KhqtCmEyqhg!o1f^pWQ)g?D-2_D z>=C!=e9USjz?Q+yS8H7NhFjc)zC+u%0wyxeVdTjt#r?n)k3 zKw?#d2AuOHa0^bVn&Qjd3cjR{<)8@5sDHAxYa_I$jbpvkT9L*KpkMXN)xZpNlERF;@YeecyyA53Q>eB zix{kAPT{XIBYnC7Uz;e0mO5HvvXJ5eLDmIy&_&a+m2MEsVp`-tc&p7g=q^y@!=5Vwep2Y8hX9$YBQ2 zA+#j0Y9j|OK+^>0U}iHong3oT!NE;-NgVM`vOpy>%Nz|P&xxjOma}_RE|LXPj+8Wk zGGbdA!;Qs}5j+(`0z+x1DygP9zY`oi5*cYPmK8sDeQTibSaK|~9KBxAISxF z9!*CZt6be0LJ@yUEy4_qd;k};3oLxFN?;x}$9UiZE||b= ziwx=NFIkMO!ZB`{MvP#+w&pun2AM2s86Ic!4}(nTpA2^xd1$Ebh9}xM31@B3Wv_j| zjHV-fXv{*l z;6)RwrG7KJ9wY9JlYLG{Qb~Xj3WdaBB^Hx0f<nnEFXjsPPz4K{Bjjd!z=T{-2 zJse^uX>3u0m|+J~(#1MH}%Be2EtZ~p-L$tDnHyY^KGWs!5 zD!dUq0(GlZa+>Q>sAlYIR#&v3nNStBvuz@7l+H>{&!OF^{!e)=MHLiD*g+H<9dG5P z9qvyr=cmih8|u@sFPs=G?*u*3L*md_p>&Y%7^g) zsqSDYVPD1 zo2yOZ6}BRTo*<8@%e;t;c3sV(;g@^2sY0}*Mc?Tw;P$d;g@;>u_knJ0jr83rrf0s_ zi`d5#QN{7$t8_QYxCFTKbvC1P%khPFmMR#oFAs4!DBaj?003_*aPmvEO`zQku2X9xua8D=V?)iPGAX=#QPP0$kl zw_(1|qz|JX?!u61FJ=-Lo=BN^@+=-Md81vtH6oVal>~KQB?i}QFH9mqnDT~XCgQKy z(RkWf(0q!-qgeMFiw>=WDLqHCIMp?JCo^`IY4~;?e?jhC9N;jqBf3QnEQ|V`;lx&X z+$;i~dhMsk_1*0Pogzs@Kj-f_p7#-|QzGZ{J{)e>?TF5VTel;6Fx+yI?)~8wvT{$j zQH#3ST%PjS%)|HDgXKx!eH-*zyZ$q=|VGU<_@%6_JL561O4xsS2=-0u7NsM5-6pL>OsQ0yp+p zc!_!>g(D^kB~5pvebGoNmo6Yt<7U6CKL_lOlRpeiE!or2B&X0EvtMRI8xG`1^u+$- z5OM8OTTltjUs!>GAz{Y(;x5~B%s8%-(#o$KngaYjbYdpOFBYB`KmXu-KF8vGde(uI zCVt!B><$Eg9iC$WEuAuSq7*|ap%jQYYZ14JO|%rj7%U|$k1oW7(1rDqF1EB-h48^A z&P(k`Rl4UmW0iscr7{(4hwS2H9gJ??WQNpsPVjz}>>v!cN=9+{kfI&bw^epz{74a@hQP(YWzoYQtOL&V5%EY_)*&8n01Pc6YowhhTGg+@omaeO z1)dwzZUv>@maND2s|Hx6$T^=)f^(;YRL&3fUueeg#fjUJ6?D&G%2<&`q!8QM>Mh5s zUBv#e2o*nTtoxpc(t9iBXEheDRve&N7~zN|6Uf0Ohs3n0^;Zz zAu~DA>ln2z6BYPX+_IVYO6(h3Pue*Y>kW_9y{k1UG<3ft)FHX(nAa6UVgA_1qaJ>V1WU-&(|K zRN`oqG^ex0*2-j!FmOY3-W*pL9io!eQPHRkOOx^2lC{Q{#6iG|E=Z4hqy+`~J$5S` zRg@(i1;-ZYBU+jT#o~rR=zMvAb@D#TYioL$uR@p)_AQ zj%L4-_HjlCa0<@Lfpa_U1!c@5p}6K7AqgB5ZwUYF#%!{?*F+R?!! z=6g_0rbu?eC@o^zwJ~|*bt_j`n;@$}wAG24lyt^5<~Zp#w{gKoVANLFEddMr(4MUY zjuVTM(3=HEm@|VbR)51Tk6Q}zE!}s~^PW`< zsBjT@VUV4MYQp!}C5F4d@9}}7$Et`m0q@3zcPft#;xTmG(>I`WKpMeA#}s`ht;`&< z*lmPrN&O&)KI-KcBGdS{J?l z^U0ol>u>#)-}}GUy*%;IyWO6B2mkl~cJN;w_>UaQwENx1%ki~zZJ#;fbmJcgC|yk( zgjnWgt{5<8-IByUS=Lh6k=}Hsq4T_ zht5~Oomb44e)*nJW{*B@VH)YOy8461w~0GD%5IIuqm^hSNd(b~jO=+rCIj=DkjiZ_ z+?Jub$vSW>BX_Y*RHidK!4Q0-G;e;?(glkcw1aG1suFsJ(#Wf@c4&U(;vL|<@GIdH z`MFbq?fpMkeLjzJA)zTtd1WsSR)1egz6f*d zDG{rVc2jGajw?)wb(#`ocTG9jdzsqJ4KN8b{imP_3^+a*v^H_8G)1#l-O*S%{cVs! z%<;)??+PyGZmO`zk;o`%z8ovi;7ngbCuT=W?9~V7JUQDNE=O=$v*e@6Xbqs?!q)C|r^E?q(CsdFR4;)A zzNyFYo;b^Xa%sPDlNpAww#z&uF-m*rA zWHiO#4l|oU?VCfhKKGY@x0^QUA_hg}g|nw=3;K{yH@jSD z7q#0aZ5k$4+iaQ>P9UkPh{wYP@d6nFT6)u7TB{cElZ&iujMzs*e5DdpCE@q2G~nuQeBgT~k|FwLYo+YqG6njAE&s>0(DB0*ifw22GIHok zVXFNfHr3qbGzTzkv!$;GaYvHS>~-_;F4|yVD#zP|$RMw|Zu^Yb?eNPCQjN>VhuaBw z$>5%3yaud|*54;&(Z{wJranfT#P&K1a!t_6_}BpLf;UC14RkTFzzYKI-PYWRmKnipuUp%R!z55}Vuk@I_cM>RN@>StoG z(xVR}MOoQ|v#cNYur$C5fH!UUApNdqF8gnT67eBp;83 z4#N_n)c&&D1Ychu!i*+)IFgv;C=6a~|C;KTh4Nac!;su+(6e_Yu$)mpx|-G3EB;8{ zFf52ZQ9apcr2%*R^fDEDJ*nDlkzOrB6vpAfZ4_bHtrg)oR(kF?>Ce@W=pHKU#iC)9 z13T_^>Zn%#w|snn@uk?6DvPFd05-AOC2l42Bb_~ycdKs`Lqxhuzs4>{`m>7CkcpA} z5YsUR{QG>oiRwqR2S5>g-Ac1;3E(TeXIIcV<9(>HXUU+kXF3TM5*H{a*g7akj5wpH zEB%0Z|F%|Q)AI2`!BlRYOVl1KhF;_x;(+$91N@LI^5I)&6wn7JY%N{O`xkJF-zgfR zAEH1Epju^);bb$SCfYr^3GKZpNia3Jj^mcW4Hr4{Sq$ZK#`1G5P#fm0_X2&IfcBOX= zM#mw`_z2Oi=wrvUP6o!&gGCTlY}O@B9g#FdEERbp@>!6+3aFtf@?OOl>KHNngqcb; z0M}>m48tDhsg-yXjS8fScAa;yCv(47OXE3koT3)jr>a;wQPmsl~zKH#ZXQy zn{w(ksLc4$VT~VNH49pef2=v{GggzVBO$g7A}h9AxbX42)gyLdMw9el0AOou<)p4f zlpXS|1aEM2dug^-!CgjPKyh>GkI1f4`kBGG^f`|oD*imTJKa9vgwZMJ!qd_MrpnGx zC2EFL15x@*Uyaf>mWzf>v|?jgVqI9cjXz`Iq>Ifhq>Iq`nj}=Y8r&>bx0#2Wm!!Qq zvBTh*wxgREFrOd4ltrDe(Plp3BnU7K0EW zFAICw*u-K}dEqoJ7bN7fD8)%L-HPH3N#Ak6E=V*cMW@jPnS15ao>UIHPNB0jpM2yh z;wlmP6j%T!D@@0EByor;P2wpj)U_Ve&P)xpn5|RmZZ^Q1KVm(VtnJ zV!ryNyp4$V?r3BP=)mC+pds;A0rgft`f^xkvo$Sy-}InaW1B5(vb>N_+ibq5L^N*V zRqWc+YH)Uvif3QeLPSf#Gn2?(8`AGzC?Zpi`B(L{>!eoSvwP<4gE_?@4`X2PAJK}i z!n+*KD`1Rv{8Y3ai+ozUdE_(I8~cBtkt~Xm$hIx8BoY=0fQ5C9DAU$9 zo-{E^hHqS1)Y)=Slq3jLK^Dgu-#CMoa=E?pVlcB4A4{%4Ot1O_d}ujwI?@tm1XBM$ z(CmA`Jur=BhxVxt8op0`$<0pS#CFB}smH31GzTt&DII2%3Cv4o$ zA-Q4$4#F{*h@m5luh=2LLl)OSf)gcTR3IUH;-Q5Vl3F&Kv_RDi)M|Y3z=i0Wo}rt* zd{R}QD1d!5MB+Kp&Joq#R-BVZlgQc*epuckoN|V=FL^(zan9K(x9b$sdpU=>wKGNT z4w^}yI}{JlX7gH1?y)m2`Ji_(rNa)%Mqvb58HPo|-*cS0%wX}+N2{+t}^9QUS-~sPr4r4_iMkZ|Nh;?yQC_H2<4-@O||U0PC-@* zC(h0%T_!BP`3UXrYK3$WU=(eT1AXEF;?rnHYp)#6IaPn2>%6P5GB2uNZ=jtB7Yk$}o2aYFIAqXcz-NaXL(@hdb4vQj@gwc-~yzD~c$ zV|{8jRgqQ~$cSUzo-?Jh|5uyafXJTC{*7!k{8e>lrylIQWjjcLwYcWc0c!NJGZ?k~ z5hwG9DODoj`5dzq*fA3x2c=mg@d-u-d^;>%DTlP1jP`1lc#Yc^MZ%t*y8Lhe$h_>C z`os1&l-yGoP$u9Da$d(MG%<~_ltrkC*6DQmAE2*TPx->}fyA+*Tw`W`&M;E?NOFn} z7Y&dL$|&0_PGc@&<5DSz>JkA-hO!`6yILn?W-NKbNno zx^DthRGtm+gCz@SYr$}CJNdLOa7DK2LGdtsnrTKW1*>-QHea@QW{T7to?sjx?k*C?hHK=Olm9WtGE zGh7>>xgf8WH)ClvOZcnEC-jGe^WQA^gn@L>fAXJ;GYV>ede&9_4dqVOs(+MEI*`Fs zccQ3z2yR+vb5S#uoxRfBkpw#7Ic7Fox&E=lyfpxWP0+xZWq9>>VOSJbL0u3I_$4GX zee*yYMb1oR=}k-Kw+=yzeP;NINFPODNh&@rQAZfJv1YSm%3lqD>HtY_@`C> zfRzZ1#!qS;gBl%Vxq5?^c^V<#r~+#NEs^W`yOe`dor3h0tDi;XKr614kU5IYq)?dj z>s!-ez>IA*gnkID^Ma_DzrsD|ChQMrHEcT5V62!piZo(*ju6i(h$RHF%3s2u;}<7h zo592hhOaGBh?ss?A~0%F>b=04O=?X)a_t;9}@>OG=g$KR1KEUC&QcV(M^zno6@_S(=#Wip{eXm&*gor-*ct@ z7Eh?mV`{O_6cK>sCaf6g)I)Fsxij@M1)$$VEMp{(*dPn&< z7no7}px2{fy)uU(&?%e@GfjEzaGVNbAy00&8%fj%GFQ@y`D9n2BFuzdN+iAnuiY?6 z!fSw2aibb)EKQ2)H^A;8Nr>!%XqnQXU}V06I&-i(!?&~8!PT2T<{(;(;r_+#+|ObY zp|enI*gH?Dw%=q~-Y;PX+*K(*iyxM9rr+<-`l3614aQL{Yg$2DjWNzAJvRT$(H`v{ zEL~1c&BO}s4iJ{KWKmrx1CV)NLw34BT?r$bqimEiY>u7R@u)o}beh;;wF3cK^L}(1 z^u3p`x(NZfd+$K0AbtRABLz zbkkm^H#d>x$n{8!C{b!D+=TKKR<;jysp_*6zH--TfyOys1_D+hJx%enr&T;=AnU+D ztR2~gJ46#U_2;Lxyg#>RJ{}SR;0}d|FN}$M-Ozm~f{N*fO9!P4g1;)6<0NC@5xBYu z=`{!1v6D0Hm2TqwU|R!ysKfOeCYdvDm+R#mD7gUc}lH8CeDHb1)TN*Cn`Iw>$xd3udEB|)K5-5l$M)vb}^0LhC?h5{v4Ij>x zIXssJV9jW48*U(-l-C}JEJkUC^VdI7abyPJ%^v>D?oq(!L7>{E7$(&eSM2ZR>JXCZ zSsd!BpNFy_@*RYvbg~%4L5kl}e#`hR=hdo%=1jRnfPx9n#D0>ZV!_U%S~w^PypiTg z)P)%Z5SqJDx>$G%BE6g&&ro!+War!nTZ`qMKwUuC5s@O~GE(=f9&?vhV8Y45}V@fZj6`g48SeS<|b2)!=?j0;vvjL-lzNGnIW&xVZy>{KltcyoD zHG&|v{jTdV9aP|7LCE@lHET!uE^6!l9njvdO3G|HefDb>T#d7$0U8S)rUSUhyihPr z4uT%WG0`*mKFx{_5#^vDGUsl@>ZkLEfJPgG$HQ098vk;E{X*LN#1|TLP0pUQHp4k5 zv~=C?Y2B5}$@so<>SI&yS@NgX0;>ma@BhfTKX~$qGmXCgcfa*H4XGlyb+7^P*{^&5 zpZ^@0|Ihyu9{<7~|7GEF=d&}_H!(b1aC3%q=l%3wC7OW}nT=Uc^}OD%BILGC8k4}! z4;BvPQ@8>hsNTi708*RuGe97#SRi4wnOhJiPIWQz8e_q-Z4zP+c%pdjt)0z&cBzux zAYU)#m8vY3LR9E5kyu*@2MuYV3i6c)jQE=Cf?UeDgz_oU5H{~*Viz>ga;qMHR!t+# z{6|71oqo15GeiI>TtE5<<_fcJ<4|?V)Z961=K$sCDAmsRPJs;SGij=($JB^gnQFES z*tXG7P1wIz(9+3rrA$g~IAN)w&70=6UoL-Rcys|dT})b=gf%0ncR^A|<8`Kzw*3KN zp~%6)OT*F5+^$HLoB5MdW~o>rGz*B;>gvHn1Tm$n^|Q9;zMamjFhC~5I9#NhJ%Ok_ zb9U+->;Ldtc2tw(6=vegUhR&C(GAVv$#mw!kqFSKRse^1sZH!j5Q@J4WbB~vrs|_U zqseRto{8mrsunnajF**xO2G6jvcmDc9&!$<%LoC8biDKRz^e4@iv6N2Ngx~nMw8YLqd8#!>XBSFJ9F=y79 z)_H;VS7yU1sVJ2@CTubY1QTtmHj#lI7|Xr`NLnGw6)DO>V6|t;sr-YIL6D}P_2Ionv3T88tZ<%%5t3|9J4|`y!v?7JaHvQ2F zsS>GkJ7mofNw5^=Sj&J7*OFyQDA62^56__j0ck;{wXD*O>Wh`7FG9^Z5qeD;&p!Q7 z!g0iGJe~}D8k|jS!*maqz*2&DtdT^UrWV^3vWW@baq5RnLQS89U~dFFXA24?8;S&X zx5Z@&3+#K872$irLkJl12_iJDZ`o4AJ7`d%fzjwSDV!&lVaVujcpLhiy@jh-TZTeI zXk31A2i2w*7b;ZTem6nl;~82(T~Ed?fL~fve%E4!1xBRk)4y zOD>k$p&+?Q-Uvi;yPhEG$d2^=I20@RO>Vg?WY{9q-D#K;77N~6h(n8bwi>BZs56Q(W*Eppqa^fDCxB#R zG{18IjKEwfA>{-dhDt-gD=*FWdgNP&py$e;sa!53cT?Tz@3Lpf)Mew%gUIVmRYg)E zT4h2+6qYuuSscn8);!)4ZMVd)49|7ffp$NWKRJ_cY50!YW#N|6mNak2DAuo_42%6@ zd-jVT#|L}mo_Pp!M~X~YJ3CKsPH6Or7?D`(5JxhisS_pn(`DZ50ycb8!+RCa(he{}sZ=xm5?OXGEbSNSB+E1#fR znoeMGT-2-!?54$7L{plIkvG_5^h~%+g{DY8J(6%t^sudUxzT}7JxN&q4KW_{iot+p zpuPbxNuGATZ zQVW@{q>im;G;{K2R9)!taWt8G`x3ly%3m+R-Y;q$pqhhuO+nbhbd{z68PI;x!gh90_FjUuZbaN^U{CmF3Pn|3sR#dgOy5$~8&9 zEX+7Jn}(Lf5vBJMZIH$^E|8(f8y$a#L02zG26U7*Lk(61)UVJ|jgNpO$|4z}wbD>n zXriVYg^9%PHu0*pnJjqKL<}JMh(>$EtM|v8Fdq(UjV%t0Q_UxBx~72&8|NUOB|fQT z6lC8r!jIYro-u~#&~~35Eb9@4&)4nKP06y*lq?G^l4a5f9MaiWOv#iK_-1wj_^=K7 zthnSCfJfW>DJ$1r6bM-*7~Myvl3BXVTM*$@h91JcwE)k+#f)$EI)}c&yigbS`l9~M zK5?o3qNDtOwZE6?W4ZiVcduc07XKnsCHkw6hA~^LD@0sC1_I?6?sA~vj8__0AX$d` zZ6GNp+c2{;^lw{?{v05XGpW0Q{!$2Am`@CMLUN(MFT{rs(TP2AHU$<;0EH&SsM(fH z0LC$3ulH_d{bn*g>P7`a@m14MLVBpqMq_1c_#&B?LY~%Y40GBw zUlw3a3vlcZUm^W&zlNGm%1&L;p=R)_mcIrpvL9v@sRNKyg}5+;Pd|j)R4r>tT(FBnPEu4 z4#70c>BZQwU|Lyr<~5V5fKeTTl(9t~g&?|bWoQd96VsE#VD^c%P#-x8R1C!edM%;| zEv)wkQ65hb*m<*n@(8^elqb|7TWSjmTVLKd<>~$bl*fYzL#v3gAYweb%U~1hm}O1y zQ*04y@HPy^J}R;&O&1X*V{aD`C03o6CQ9WuOq4X!E@tQ0OdIU{vP7v|6MO5z38T*y zdNAf9 zA1Ey2l1;ydyYe5(-$jvN_9u2Bt%=VyYXVOo&CV5e)dKID$X2X~d(m4#OY zE&nqWiG0bAB2@MZIouXI(rveKl9!ID?Ap%($`Xn86MuyFcm*dBY8Y~-FI_urLE|_z zLtloct@iYMcv@#q-waRAo}LL$GIJEtr^1uYN-Ly~hbK;-;OVpWl=Sa_efIzNV*EOz zTde>-YOF0oP&vo8J9;8+ix5RwKhPU3xzro9T?WylOIyZ?PmSOPoaDhP@I891upL^H z*S0=~-k>w3xqju=>3Zm|PI(s1(a-kLbDcxp72u>pks3NwMHSl6q{%TE`>jf$rk>WC zC^xHw`dklYC98y>>ilcBAPlcxNzp2qTvSQN!b&=_N@yU#YH@0ENV1EoNDEfhEMC~7E>v)qtDB7~{%)jc!kITi3dbp6y!HelQXc+f6F+_0W(*@~by^p7&sb6kMF@hS z2hxwhLfEY@A3wr|v-82<3Pv(ou{XQt@nY-AX0aD7rVD9g%n430YLyzMr0Y6YD-Eqd7xNK+A>`*$T*)|0EfSrxvqYdVHZr}r&aEHk{mS5L=NTpzx6 zI=)uV#B|w4iQ8_AubJwe8QR6L5cyd@b|01M1P7D4Z9drnm?kIZ<9&?O)$W=@o?(1y zmjsktirdhqRLuo$?%Pa=0`f4eEll`*yW*9R#pf$Aw`Tt?r}=y(brQ6gxypWBIo1ux zdE5>b9$+DtrPy5=s|mF7p!QF}KO+9p(fc+Fub>2U!Cgxs&m#I8(;$3_%%z$O979n3 z^SoRa&+M8@t{CUS?6j|S(oZSfC`N_GGJ+@l z=_9XsEdoBEZrgOypNWnI<~9%KIuIn~@yn;_clb&yN(IRKc^f$46*4AmS`xh^Q!}|p zMWU4qmo0y{xvBJAhrBig-RlI+0AU=d3$(fpI4R)SHhKFCs&r3)MOF|IJ70j$-?y3j ziXhC@8Mli?FfoeP7;w(J0vPFs^y&OA>L$9cE3s>ac9&XM`!d?rWbJxtvUWYeD@_P+ zlvqletX)q{)~=@}Yu6JkvF~zX#{|nVxbwGny86c`7C~o3-`QT7_ij~lP5L6Q(P{c# zIDuwRA0-9JtyPtP53V0MjSvUf01obSVh4GO$&$Iub}*QEO^%=&<`568weu7~zyKZo z(L0~?%}sp|r_Cc$M}52ZD^KXpgzE*tv`3APhUWc9A?2v2#8M2=xOaKz3MYh2DoFh&)(0J zJ`?v$$0|1)s{7DT-DV9v6%T6OUZwE(Pa0^kPcPxBGt4edxF<^pjeItH&Kh-p zmJl+WU-bN3_MCn2APK3uO^E$7+5KIFE@-)bDZ3}nrwDu4EjJtvJYkxNihZR-)*Za%ZoDx;!MK#RI>}2Sksde?+Z#LRZGnnr`Wpg6% zp$H?NQCr9^4D_B|>C?Fx=4&ZEkND7|N#32F`6`5l7^FQO#>ozjEPCZ%&pArwnpuvi4X74t$1d5M?&`T`R(Dhg1a>i_3Y4Te9ulS`&cJ+ zy1~a>U*=iAeDch@&F;cRfeQQ5*^v{N09<)crjo}wAn;g&JrCh2{^hJ8*w-(o4F59r~7e^_G=k6vMK z*4o4DR(n`y4^R7t_4aW8mG)+XJv`?hHuB){dyeVu*37xJb8g+7TR-PE%(;z*V<~R= z!*BZ!zxl5U-`IWTw?21z>Qf)Mi%=IPWcWYxh&Y^I#mdgmX2kX2-Dl$<7@V5=^q1D| zm^%%{9!fhEjA_Jkf|o!Xp{_guS35+T)woks71m`d2lvHWaR6jC5E$HJW5VbCY%*v2 zy%`kXac*SZSVO`hGQnwDbF^ep898hip5%x!-f!|~w}U1;dlPhR7>GI?*l6nPO-N}4 zh(o^{HYZkbA=dlshhQtKxG|7!OmyltBFOi%h%1~RC{}DUq-2m~Qo1TY@JHRHv)T^J z=02t~4BhZT^(t2nSYe-@lKrcQ7@|ZHKYi;n_FhMuF{C+%H47Tb z%EC}F-h>7#o=(qSJIxBL(IS;8ARy0JwvXfC?ZF6!lP;i7&V_f@!s}Xg#+>;?a$w>9 zlmo5%Qwr(#wX**{3;12R9E}krF!^IZ3%_g-fR3t)hnbl&Gox@bng-ln*k*4upy&N9 z`!E0tiQc#>VJ60yWVcQx1`w+77;`b zsEBIQL*G6jT8{+4T#gM2eC>PSlbJ50`0iyX>ag#7mLh0)z+@>`k>XpCrKnxLiCKyo z?c1NFs7JnYS&F*rd!D5T79K2FiU8$dmZb=a9-vu@K$RdwqU$yb{EfBtkro*ldisc+eLRBn;f>{j&&V5H%W;o73czAZkDq7K<7h zb$I;6qK239ZSCl9P1LYk?U3`+C=(diVPF(yI=!$1oC3kLyMz6_hHed_HI$ZbfVd*0 zh|EJbaDWr*<)5)TNSy?ad6PVtpZd=hUu5XP-FzRqfThr?o_QWBZU=2g@kW4mEoD*h zNWcMiweboP@~t3U1ip>#?WR5G4%o*#e?)FA(#G9{$6%w8NDhQ+YoYzpEJ!mX<+=8z zpt^aK=*~UvimA^&^uSKfLPGBz9gj4*3=wFZR8%hI&xMq69o#SH4LR?jw$dzfQ}gnU z51j}J5=C&V7*vmNMKWo_x4Km0EI}Im;M@2DM#m9Iif4L%D&81ND**tir%3{nxHFG( z+Eb%ul%4%42ageJ;%xv+!Uv&z@LEXww9T#rgafcdlO>xPNGlJ-I~@YvhG=%z)W7)k zeUFJLtbVL|T+YpBPyx5Fqgkn0f(B~yDSh+NUFa0FhzBC%zwqRon)FffX^CaqRA5JN zs>7aBoja`U;Txh?4{Pi;M6VoXFuA^bm_gxs;V=>%*Ov~1I9y*m4CZis;V|=s>-odX z7Ou}9j@Rh=+~IhwuHQTyuhaF}!|{4upE(?F(DmuV@y3EN0Fy!0afVJBbl`ICmyGjd z)KJJ?Jl;q}x*?&|njmUaX-yC@s38y6($aM7nqW^qNH@~9rut`5UMIpIg@9?tpv)ftu@HI9x$_MZ-W?+^Za-++AR3oc(O*RvpaQG>+)v7pE`^{#)~sMby(`E)`HLNOjc(F z?;Vdm8w!45JXzN)_^I(^y}tkG&SV2x>SnAo9B}8)`FkfnH7B`qS)r5T(c^Ce{9`&& z^+t`IN_fgAa4u}ctyaQ0pMVOl!ilmZJiZff*g-fd{SUQU193IUllj z(ew6kCI?rvsZZ(ohH>T)*Np&4&!`oi)^*7^)PyTL<6h+%M!S>sj?t`_#-U$&2Oayg zuDpGQw3qZ9lEEW~xAW}N@87vSdL-nz@Lza)55TI5?OlAIl9N-DlR^n4>~jdcg$|kn z*(8L}ks>HyKuCaeLMSRo5Tv7kpa@)zh=?G{MJ|F64ayZ1(dY%QC`jy}lqf|?;Jojf z*(V7S?tQ=a-v3WX_MX{O)~s2xX3d&4YmjES{$7IjGCloHq%YCauR{8rdYVf}vr2zI ziuX%;`rSx>R8PMK>38dCt|HAE{rxMvU)9s^L;A0}0RPSv2@&fqzlWYGC(%c*NXQ@a z5`&i*Y_K9>_Y`|Ef@KWGu1FX;b25Wx8Emv7Vb4E5VdB#awpo$TaO3w3{>Wgf6$#N9 z4>55mgRNI2)coxq44z=HYXYvWVcM$;s8BFmjpKR_vb5Sh!8g7eQ!N~h zkTapf6I~ga#}Jps3DNtP`4F*`5uojP_auBDy`%^+%ZF>FU*hDyR&W@zolD#PrIPMG z1xImz8r6IBXm_bWD@E9)ZN^vi9(>1q^A%)0^w{h7Q-sCK=KHbS_HZkT`-Tc$u}97O zPC1Vu<^-p>VnhjLQhn}@LV49z?U?Rqt77w%`?KQiXpU)3_+DEM(-|JEFuQ-i&NKIW zX$|ygkV9-M2R4fXTg>th5d6zfo(+qU>c&u-N819jGj^(z15sonsPdNm4|Ec0iWlr|G5sN$!RTXH!kOfmAJf!1xmHr zVM6DH{g70Fz%IgHP?xd=`WEsMk_82vjOdAQRr@mu#og*a0pvy^dH}R9Wp1lCBJd#+ zo=CbFVGkk!#S8%s1kWT8q=iCF?qJZHO2kSv5+78%kf8K72p0{N=tXzfwBo(k=YZ{q zj#S;*O*nin;AD2DSE+(%dDFFUUn=p%3t61d5%74Fz??7)qL(UIlGEXnc>D#0*f9X! zXg?wBEM!U87nXRFepv2~H=dKyowNK`yy;l07H79(OvjJB_!|d3Ku=CbC){rgC~t_9 zItEptf(RFtgVGdjW}erGFyCSR;Wxmh%sA~H1?MIlsTfzS6a|Ag_!Wyr%_`Esq=6-4|6ZmL8Bm0Yi40m?Cf!EMy7QUHu>d~5r8UMKe{n4$ z_c0Cf7DT#D(Pm=N#B;7jG>EW;N!U32;B2J=x@^z}w$`vkj#%qttSJMaVuw~Mu8C7W zdTK0!Ogx1qO0W{7Y@EH(476#7Xbh6#$T?>F(&OyI`KmN~U@ z0~Enbi$q46_uQ5U%{PLirGr|O?nG`FnZa<5r)ONKPIdAS3r#u2fm591)2jtrLW#*P zTvORfF?d6??vuUto(S6Erv;nsefb5>Iz2r6gM%~Z0Jd5U(TWw}Vb1BX0>R)CfIb;* z3x$D!lR(4Q1!yP zD|ywL2Z+I?^AeFRB2u&t%5KsDgrp1{N=5bhnIoZ%=8>TRE^)Cfjf6-iyu%ML8&o@7 z#nAp7e2Hd+#@;S@?>Xp8UOORZf`>0fmBbD_OXG99oK$z0w>43vUmu#d#dYgxDBV03z^t?v| z0Pr2xrL)aWlu4pcZFD}OHvvYJq*Q|kE#%n1q5C9c34$diyTd5D25_KZMjUQt+YqAb zSF!LVZU6#W-Nz*^G;qL&H1Ee_Ghwlfh6;qh&@XXY2j%RPOE}R7uyYi|59ZSwk>=k!&{{nGlv%nWW2$-g5a32MlMFs9N zxV1@81WVX#6yaQ+V?G}%q%hRH;l312+CDOPoW z1YvqDuQkJwW=0sjPAUso5Qb4cPC|k%z`Xua5aMquOJu;HkcHtOEB+H+fUf7JtOK5^ zU^q_3B_zyEI0ZP~VE4~BrA@HVXC~B*@g#2cut+D(R`@fOSb@MIN5fyRg24+OikvLe zW23VqrlVs58(G6-p`0SCf*c?`3vkx8GX(QxNJl^jP7kx$m^TFSMFViw64M0e8|;u? zf>pE!(}ncIQBfS~#PQv~y|H4vrsp(v3mk%DU3tb*BjUK=C~1R!7%N18&G z#k@TFY3E)Iy8=WERLWeprN@Xxw_%zFUNKAYMkb(80ZXvrlrrCF9$&1WY%%F%U^2>r z))ihm#c9xBgvrGDOPg$%_=Cc!*JEo?p|0`|I08euIge)&V}=ZNsh$c36I?i>7n6C7 zSpacH6pUY-9mcdIxFNWLjt{kh1{lRFAoMzd*iT4=!y$4URHhWOAKfvq3UE9OTMtks z7-4WA67ni~U2s6J5gi5Jj(o5&I`5UNFn}s{g*km7zz)`kE*$I3;BEKdr1U};?0DSB zAr2eZ?U)oy;8U{&pCWG*&egzvRU-r^#`Bdd#w6JudK(0U5l`R%2qt=PKd)J);8j9k zjpT`NbbQW$`MCic{!b={F`+iPk~BM(1esXBfB?4$m<0e9@&gp-FBj82*&;2sv35L( ztA0q_c*k-JVDSaJ8RA7Q3`8enXa?>CnBe6#!y82Q$%UC{2M-4Ttq?5DxKY-HKj^*vEM)xr+ClHmcomd7^f%p>SfZsHLEHk0Js(I+wiRQELXk3;ppSh?7 zdByxde8Gn^poQ{*Pm3tl3j-rXn*}>-krbR6FV=MTRs)I`g<(!)nNC7Xx4sJ8M)HoR z9=6WBGOWku4-B2*rBCTmaI>JG*w~psi1&ii!JT1ej$&Z5j9Q^U#gvP654wwl!~>o6v32>|h7O9QN&8L9M`1Ly7T&c;=uHL5XF+g%GY zMlkHg3chZDA9fZQ%=wE=RU< zU=Z&RJ}wcLq6MHHEFz%lVbKQdx&iO`TAVxF!;EO)>p6IS4k4kCFK6J1cR5~=)S3?^ z3`^XHb7G<__jfD=ubG{U#o)wdxY-6VS{!qYfx$qk;SpH*gUmW9Dmp1DRY(!AN>ap& zBt@hWYg92%by746QUt>%DPjfAV-&zXCK65xCT%t_P40*&kY*4pK6TQ>*#jIs50EA# zb&@8dbkf9dGCSN(FQtj91wJARWIw9tboT`Vs8@d~rScTIrs%wWg zX!S}04=V|lp^^zE#}$cW1Edg4 z48Xe_8Yl`xDNf~3O@&{)L+qB~g)se<$160j6PznS3d>SaKN5~{JU615m}sfv4E$DA z#4wIOfoIikw||jifS#TyHk83zfE(P?jkPKG%4twBpI6(TIRh16@B|W?;V&%vzi4riBw;^F1DVo$V8Vj8H#JZ^18%;8?W%QzOt75!f8#dl>BRux-L_L8XF;0430IqeULfp!(4| zoZFC7Qb<$dk31=b5eE8#SWH7r3_i31SG41bG;-L2?i%h(Vz0uWW2vYU^^9=^;TAWT z9GI~W{E1IE+yMSz8?elfF#X-xxRzX;G^uEWxUN%o@Dz%MP-#=q5ZH7=^$G=T70}UC zob1}+t-Jam;h*_`k{3)HB)}HKJ`Rm%-*FOle^0%Ir@qsqvj^Z0O;jLg$cjJ!p=#aL zo(K{`1a=;mkt8@nE~SR5F_#2w5CJkfv<$+1Q)3|&1?a7r+L{?$2|>COND~Vu#IMQ$ zcm6e47|3B#3ek3&(>bSvX#4Pj(s7*AoDS#D;4R#JKlB%ay!N*ny8 zHAk%Ia)46|?xjJ!0&U}`jKX4E1U{1ivd}tOi521sKEdf6Di%!%;6o=p3JD6EHA6Vi zLSGprouchKFJO1&4}%9{AZu6qy#9M7%41=Lt zBNJ9kL0Vfb7VBxR3ta=Yal!|o zUN_`coY$tOs?V(;3$S-It1Md>7rDS5pEg0WiE+yz3f2eK%KICa%j?>4KXX2N2{*p7 z_t6N}N>!E-sx0KeB?Gv=HDAL$qFSk8avn**3~ zGyL4<=iy5pD3v{x1m>q2@`T<4Yt`O>1(FR%9(?OyF%I2>2Gt)=tfB#{4B#EJz}$p4 zc_5vFAHKNH8;}BQ09^{un=)-v=z{TR>GATBi;g83v?J~`gQpRQYDA_MnZdY>Oehx# zq#n&O!v0R!Wjv_;<4)p1PC*= zJ+(4IjL=9?Hn+1r#4a^>?a&9K!FKH+rY7rDYP~o~&4KQds;-NQ_=72jc@WfKe82<+ zZkSWrD+cHcuR|Z77%$9<^}Sd`f~eU+A{I(|4TVBwqLqYZY9Z4&PiZAf#b_?eMu*f* z$03zk88naJIK?`sEE~P&fi*dR{43TxIKhp1l8jSroY#|p?FMVbK&agb%gboWe#8{q z#Q{?ei7D)GWU9bW6ex==!SRo|Zj$n^!Kg;TL$0~B<={;odUXYUp)l~MK!D7Hi}Y&g zEE)#@GCWbpb~>1YGYTUnG(m~4mn3B)+KI!Kl;M@$h$Z03invxUqN-1*S~62)Hj#$HfF z3$_~&uSbZ)Bw*mV%A^P%)a0+C5CG~xvR>j`jCd39p>FZnWvs(U@Hm5~8SpMrpz{r$ zhN^VXsj4m$y;h?Mn43M#@F_~I1)q%AsQ@86#2ca&hbKm`CuraF32seJ#ax#dfCoQ=bePZYzD0zl$j2wcooIDD;wn8{B;%-D$lF=OKkWa$w~XBCsS9O-C~ z1!uj{86;>ZP6fiy3iz}HuhW9Ez`nfDz{Ke6!t%;uucRMH>RMG#6L$8HszFPd@7b8v~BC@_E- zu6Xg`^&EZvABwx9u^!|2Cbz(RDEP%xsw;SVtxG!)LHgIO!jxFDIho&UK?x|jCT1S+ zc%D!%3Dveki3J%VM@&cQ11N4Aau+z;BjPCa7sZ2*5mVq1qI8g2r6Vw zuz0A?m<}~Em7UWft17XQ`HPwr1ci8H)qXszXlIKRy_U}~5n`6F!!d;E1l9i~!KX-o zDu8;K0#^MWLWU>fi3WpY7_EOQ>encHl4p${bYoXR_%+B zK9xkyY6%MefZ0$m%F($d7A6*IlqjCK#EA}I&QnvTT*M*B9Z!ok=cbsGm3NJ(o{OnL?4mpLZg8zi0tB88&DYJQX*J&1z1v9Hn4?hEmIYu6Xshr80s;SJjx=C z3G)wpPDXo!<#db(>Ia{K#t2u^LC9ir;FS|&!=`Qjm8B(P3+i*6onTknw9#Hlt+;Z6gA(K~#?;WsUj>IIx#qt51 z5`*+8*2-uhTD4qXD9N^>h)-#xTtOKi$jTq4=N!XcCQ->=7Mxj(G13l%Yh-7KkRDKn zd?mzZ_z4Lxplah0n6*Ic^jE|wPqb0&u_H0%!V0ynSeaBNqj3>jSNGkyn}g#ypgZUvkP*5^e8G{}US3Sw&E@=~ny3zFf|5aE zHQfoS+tUh$yhhcN?v*k+yopp;wwb+=+}1%;4?zg@#t`OQT5n^HGN_&mrsY{e4`1MH z8m0)eI-mg>1WT2>GDx~SN6v)Q??Zo29I80C!o>%^Ud_hUtLRRQiGRZ(Dz5Gm<`R<` z!f1ioMOXM2P!6qwuhyyV)dm<8iKRs@NJ~`D6%;Eohz&2i3E3R|$aExV;#UOf&`8|6!=2=BZpKg-!*!G{aQYoC$Xp1@xtGqzi+In~=b6D;7if_6Z*Eoi&S(-H}4R8~L`1TbcmdCaOP zMqHZ5)Umi7P0xrsG=*m(8gAg!s4T4=dTAa|1f2&IR?r$1D)NAPh> zeJk#94pn2R4T6BZ>Y0QwJvO+6eeyicm+jQL5Wv-zP!&G|X&n}&IT#AOs*a|E4Ny8r zlHPFT)&NxZTA!0%?GK?7Ygab67fZvjp0~CQ9AWDY^3l=sO7$Pd_ zu97ICKCNooaf!7+ieL*Bt;Dh*VAN?w>7+6?6ys4|cH?Ov(HW==h!&OM!nJgmjn}PO zbIU3@A#ZS79oSIVbnv}QTK!O7ll?&RO*UN+ML=Pw zH&7V;Ky_EK8NjsKv%^VC4#LK&$9LAL25)g6^IOBi1UI7BTRNZH!4Z z($gAjlrWG->!!1Iuot26^wgE>S5F6MmFj~Zfa&5F>rax5*eIY-$7oy3IZ46p?_8_UQN zsw9kQUi*zhNaX*o8_66+m&T(&C8{vlg^E zxHVcR62<62TP zmM8snA3)tld(Gk$YVku}H{Gq6=@W==A_M*8h&Sb-x+}rVbOkx(7r3w?XNy!@FaS{z zw@PvHH9=m$T-E>}1Vd@x0+(g*($tk;qjynH0P#dV^Z+ikBbTD+7Z56h#!Rd}b@2^X zl!^YJh$q_ars=YHhhzX5%839qoSFO#QOcav$*4lp0RaPloI0i{m=nha#X-XMIH^uT zy%f%%X;Z~00p%7iHfhf-F=^kp#QlOyDn^3GNdPd-!rFjYJJHfWsHBQDkyVAa%X(^4?cbebd~r8fG@tMiR9Eb7jKPpp zprFKB49pRgqXf1Rs^`d_os4n%P=|U1%K+Y+o-8gK0h|bcC*V$W<|0rOJt3n2xsgI_ z2HEtKs~tRL^Ls(D3@#+NK?SGa3?R7#+AG#9=rL-$d0C*&BcP{1E{trsk%W6>5D+{< z0gqrn@CXGwLL?)PP{1QZfILD0Nmb7yD9V!;SR^l~#~}{!CIhj87g$72ZzNejCdPd| zoflY`&_Z5-m|IuRNz@7*t-|e&)LWe;RG;^22iy9Hk&j9x!4~v9#BBp(B zJ++<~-}qAiXM@}x^VXp)5oT}|FLAI%xnjW8?7$SK6H%m;F>}erbdv>`vtlTwi*Ck* zCCbK(&Z2u^81i{g4(o&11V;FlKZ#*HM%Q)6)0$Nu==#kvD)2)QjT?;HP3cf9Io+?* zCWehmCK$OiFcnw75enRnEF@iQ6-agzfCwuSNDXK*XVL#-cwjf=GRCVCDx)r}hiGRZ z=PLp-T_rS#$&e86VRc6?FZl{=s?a-JyHPD72$o}CkTF*ET+$1Z?7$ao3pfF}!NCy0 z4Y0;`a7Bl5$8bjF%TckmCpOS+XU!Z;F4z+*)Y)O-qd-@PRD}lq1;aAyOBt8Glt~XP zWVo?n$`>7Y=RyYjTx=!*iCC_trn80)M^O4KE1nhRe1>jcUZV zHR4;DF|bpP?bTAoZ=h13R7MBLMkg9@Jx;j#vMG~;m{nJbW}N25STA8on^;mwpaSOY z*Au9O(G|b06!jPDpYahwm!Q-@rD&cM)?B1yQ8#8Zv6ci3qIPVv-c~;{z|_M`6rey! zXE87;FQ{l(K>!?*M416_>?D*}A=AE%@Z%n2s$M~{+bbFYYeixHCW>8yPlfy>au!zo zREST@E9zP_b>+-l!XWW1+-Y@KCo_HZu!LYAk=n zs#-8O?2B<-Ew)ibG6;y?45ZM-com|Y?cv2vS4V0c=H6<0voAw)i0ei-i!TAnOh=>4Gk+ zAjgt*U|y4xk{ittDi+a9FUaZWy{?w-|-4i;w z0lK*lrXo{3JNC}H|EDDrX+p(lrFkZBiY^P18Y-gYsA&QppO~~DZ8APk7KHaG%50SF z0^KUMHq_>t)1Bl{n^TcWSxd$?gt>4Mw6LNWy-bL1S`AR3re?^69QB7ub>T8yGff2} zgtt=sLW>JtNPc*`hRcI<2GBG}ouj_5!jY1p6&T&g81(oINslZ+sOMlRO%saQvMQ&} z{Y2})dj(ur)5-0bew5lLq-#+S`fK?8yyT)O*mzsoIzMGFuh*0@sn*pMn2 zksd|C)(8BT{AiQli=~nw$@G#93g$Cj$Wh{TB5aD`WE+_wjo|PyGruk}m&nX$7B;6E z0y~z;Kru{(*ur9_TPvBbUWpXXMCD|L+bg0mCloST%n5~hG>&1(fs0uiyJ~6^c&*hG z_i=0>Ln}|Qgwi76I?YC5QVrMMW4X%%1!(&kAOrXa485n2?V%fB)KD2VU(Q1D@w-sF0e|n7tT^_lnD}-08__9E>g=ms0^kw zr~)vPa03)aQsa05*`hWp5E$qT!8SNwF-~*^kc7H8(~JpV3q}@tp#n}!41@4VPKojp zK!o}eJcsfzclwTFcDoIScdgV-q)W_`ZNsz;%1rV%2+4BQ!~{Bs&KQhH zryCffVKVW8=jqyDo(HVjI~D1m&ZV{(m! zu|aHPWBOVJEggG>cJ4e9u%1uRV6OYupCz3L zTS1Sszk|jP1qfq7xr!nJF>m}QE5V9eH=#C7m|XvbgjH%pil?zdZOrA5fbbJ83ZNx{ zKZa#oU)YneByefbREH^=T|`$%=}5w@T+wrEt}daYJH-(DKa|jEvGxDDD;2Rs289MB z^r~&(Sd`qviMausL`;CdNE1z-_0!u12I%G#;FczD7Rh2TKVY*Nm^VQlYo#ba6cY3S zSwI<^fsG7aSO+}=R+~7CiR}g)#zckayj9qbQ;i-Pv5^s@0Haz1c2=|sz`8+?#{3PD zmlvX_F2_&U=DpL{SH$S2f_T=|hJ!gMjGI7^jiETjnNLtMESUlogBJpTjWGKqL&j?% zG^Ck)0S~U72|!GlSrC!{GEBRn=Ynd}hF5zAM<>oirPD&#E-i$yPnQ{3SA+sghx=Eq zwBeeS`#7Tb<#bmhh@!v%rJSr1aRnl7M!-)9x0E{>XGka$y%D5J3imUJcCjVDM(DjO zH1IayU5vCuepW-0;pbzS0r|zzGeijXkBN%aODrp@s52Mnwq;7DWfCGAkGRo_9jvJG z2R`#JL1zU{@1hR_IEr)s#<>$AY#j4wur6a^7?4+Tc4gBs-|!d}H0gn9RB6$|DmAMpNvlGYA-yt)kirLgVdKnW`3~n{4aHPvqsT z=M6!XV+6L#HjslLY%D;9CJXjiAbM*45WODutT@!fy<)4js0r>k)vSFnhOOGNCjHE_ zfl5n0@3C6agxeI@mZlMcI3bE+X*CBkT)E_1jsc{<9x_zCw#&rq8KhZYD-R}wx1fqQ zV}2mcB;tZp8c?CoDC8E4DBKl9y2lG(bj(vjxBNU(=S&ps~m4v15o1Z`|Vc ze~~p>z<8F&7C$lIBnD;IPk4v{hkGb_Vr7X_VNkjBbu}lkCgA}rRG40g_86VbE6X+N<*G)ONwaO%z!XN7h7)NV5k_aTYO-McE3+AN8%pT`fB>RVWV?0n z#Gq=XT{3wQt6io(S@6wVt@PFKOh)1d%Oi&uJqc#bx|&u~mjI7PBL#R!0pQj{eW)uH zbvtu2(Tp#!GB--&2%|9SF)%Whf1t4eIV&_RH^a2tD7dbe5=uYA2XmGOGZP>Rw7bcj zu%HSFjojxE9U{sHs{-t@heWl=EU-UAGz&sVpf~S=b)*njpAo3NQDv6u2mm@a&D_@o z9SS>l9z0HA3VQVT!}ss|LGs|A$Vssif0Tcs7$ixdLTLQKCBP)G~`+*gN49L`lG zY&1ItRbU0Mw9HQmMELKFlup-)x@=es1(*W|D{r- z5S8*6tjJQoGD~%JqFp=%jLKp~@_LoY@6s%!5H-XGYJj8E08rJ{@T1b#g#pbfn#yL; z0_6=fOFy?O>cv_%P{>{CMG8@G(?Gr0)D2{*u3ogPwyc&Xe>G4P7Q47(0)1DzGUr_? zLkdyZD)xfN16$|+SX;XG6B-JWL^f2M`Y}3dR_3`&JxC$ySz1v~jmkWCX%%#`tYeL& zL+myN;JQm4NFnN=7Ff0g$CRqiW8l#N&3OBu6o;CScc#EY_}%hWj4h-P_00@a2iN&` zsV=~+kpg`rm@I`8v!0VtJVck|;@x}*z)}ozoZ`eXqWTgmfDqeSqQn3cICu14^6+F5 zYrzUGkSU}xQ+2%o4(9Ib!jhdGvRQTrmcRd{9;6WUY_6yVyVHR@)m5{wNrq zvR>AMB~c*HT{<2qL_O;(>VYwHAWwDmV8}pG#qRFdr zjbR!xbNSEkFX~Fq=aNvbx7&Vmy{SkT$Sj(n>ys2mGeS18p>0 z9}m`8K_oxHrc^4}^|cbqgkUJP6!E^BN`oNQ1nmnl2B=TyVF(CFM4{joXw+TENu)s9 zF{p>cUsC_u}^lPliBw-o-L0lirqUt*odb63Gxn0m{u*DUJyIQ6a~QUo5QL}>#Y1)2#y#<^+=3@nujOUA)<7~X(lv1E6uSkD1= z^r5tcbr7MWXU}apK2}!AmP39>9d6+bfot)Q$ybI_h7+4x8(C1AoqifUX z7kr^uj|avnVX`TfOhDX}iR#fYB!3Vqd<8PcA>@D(N;SN-N;ST=Sbw?1OWG*Em)>kVhyFyE*=V@8Ivg|)h5G)dJ}bdP1EoS840fzzGBxF z2Zwu4IwviWiXoZiEKR9 zD4Y;LFkGTTUxgE;u=GO*YP^((91#+CwrWPlQLlwlwjQJQr-%+hwBRHH_k;S931aA> zHdq3LdNCA4-Q0fy${>uOi{-I50EY@@dhi|HA^R@Yi@LEpZPsS;=ny`*g^8y~!ug-w zYegMK?QxuzP_1u?vkO$T85s+*#V%0rTdHd{9C0x_dS5G%%>>+t=_j^h4afmx6aC!e zf%QO3qMpwDEa^Mc5NH&!RP!6SsSUJYtU>_Om2$#yJ~m@CF?QX&OO-4e_?`BaUMq;; zwt9mAr(QWK79ES*Hf60l0BqF?As$OWwi{y=6Z~dg<^+egQyGgp2cv<_zgOBT-oNW3M0|3=H?P5oRWUv7J|#1%fH$ z;}ixA2!MGMX@xPK?529EHIuHg0D|yVgMleqi~|=zveN|H5wGB}j&jdEJIxNtHVAFi)j(MJrIw?q>X`lHCRX;1U>;6UAjAY5-0?SM4q2xk7wX;El^0BEG?5B=8L;^x~Vfnr~#?%!jS9 zJIaKgD^9xD%;mC-mVXwtrrbyb7cEpB=+VMmoC<@H3vO+2=jp$ z?$5HTu_eo{4*zRci|MX5xnZ)HoM48|uEtSn%;59kh~CCHW-Ax0D%(%P@&cyTl-F4<-hwoU#1{gD`(Yq`+W^#2}0f zi8^NhgFl#~1oNrHUSRN49Xgd?=}~Lu?N}89$YK1;0D|wZssrfGk@J@!Bhc*h+TWtz z35o=@iP0#a#-`FO2aIlndun`xP=~!+NXKx?N+H>vnemodYqeM^MO7V60Vc_zRyj06 zDqln8$il>okyS^7-?R)I#1b9NtK3XgQdYiJ$zP>Zii{yRkzit3+*7u~@fEI{W9M;^ zBW6CYK_7Lz2NsMKj^Q{4c?=C9&77fs#*$J*SOXE%i`5PgfGseXu$<;k!s4yXacO}S z_LI1~{F%Mp=nW`Peggf`uF|>^Ve2Y<3kEw4v;d4W`Xx2^CDdiXwXa*=g=uDerg>@C zUL*@ukys2<*!uEvD4gpi&PilEx{hHAQGvr0ksvZ>oQB?@YT1i0gY^aluMUao>88{ZQtpfe= zi%vb3l?YjI*%c-WkVsYX*^7x7zc^r1NkCr9-j{YE9cDe=-~)4)YRCt&yYSThU&+Vn zIA*xRZ?_~4A+uo$7cwAqh=u?cvOxMH`@#8jKI|2|-Nez|6y%FXjGWX*0a=0>QB=e) zZFyK0`T~%}~PX&Fs-lJ%M}Dsak1vR-ru zhXXWMd>925jaBQ*}qy84AHy z&Rfa6x{FIXOgWh_(jlJ{MUTLVU^W_ES|!01Qc;PMzS)f(3(1p=t834m5Vrc0nj1JZG88%)($BrT=DekhAWo*)<= zyDSk_W@6pQVgXMz#p?d8h1$-E(`LXEOT~g$tk*_C^CFN5WxRu0FyX#CTyn3gQ46};oJso7np~*BO5HV z1)R5pIc>OxmLd_>)1Ya+Z$JZ-8_-2Si@pprh@vnniOyo5(Kt!(Ga>3g_+@Rf+aO|5 zHDZIN9?-)m3)f-O)CSiPunYBWvjw^hDS=|U=r~$J!G#W+g%(lQ!2V+%dSU--bA
M08D1cl>%agi&{|_%=xy{)u5jzNlIKt)o=HHryFkh-Zl9-(4Ej}``@g>bt{ zI)knV4|FN@4oC#-3yB-<*|_w@!|a}K6h~0-l?_2GQ|KR{Yhwoov7X4@qCMzyQ89&t+^jTI#I^&jd!Hq{ z2QZcxy+PcYa05rL>bm|{RRg04mD}QQytByEU(x1R9g*>hf?J4`9-)d7Zc&u}Mn(BX z(F(1O8s`*6c^<#L@f(d_Cw_w!ZNJr#8?PwOj8>GQTtzweh@$M6r6@786(#wIqO@wE zs%q?r*cnRG?5UZV&5%h6Q|wAuSQuY}_(xG}{Nvys{tHt=?f7o82P+1}=0Lp7fSX3v=L_2Ajj+RI~+lM-752U{-A6mGAiU54*zW_j(@fg{#Ec7pDrMU8%5b2(Ljo#h(9(rUlsht|8Ts8hleZL4u>No5D?#OiuQxU zVE`l-9F7`*Pa%+~K*BD8{F_q%`I^)59Dv0?@uw=3N^IM9?K^br)VWJntw%y)&!nWW z`C~KHrjxSsQ}eRNW;Rn(^YU`?)JfTDqbV)b%t_g)YNPS@AYfO^dTTL4~ zDKizZvC6pA%=|X|(|R21LW~HWN zre;sbpQuckl$p`yek~CI-C0U?IaHrd?V>hUnK5PXkmTM;Lz`AxbW63pDyU9TVy7xf zZY@PoKll6jduL6lfGj6FKQAX!_4w2Q!}|4;kd2#|IxZt+ocxqBDLZ#6QFmwlSlAx9 z9UX37zjWs4u4m`Y$bNWOa$MV{YE(q1%VDzyTY}6cqe1zi13$ zol)(Q$If`>^+TuXwCwp{-hvl*9{J8yv*V!jC)V#g@?&UJ%lHSUJhl12w-L3w4IV#Z z#pZXvtl6O5zzH*++j97a8ueRg=`)|*dZ0AAZQrqvJoU;upZ^pQ)gftg{?nU^zp3Nx z)_3f*6|cU3Jj&B0Y2@UmUpa89hPQq4*r_YF9{4u0e!GMRr!L?8&yzJ9#P&#;x)OEN z_O$PxKmUcDhe~VIOB$X&bM=<@kJs^Zj2|*}&9+aztLxQLGUu#&m-kxJa_H( zL*IB?_y&y5Tle=PKh>(=Y3$6!FTeHqPtlFLJTPs}3p)<|Qloy`?!$7PdU^l1bz}Qa zc=Cm}4*dIc{Wg8Z&3tbAhbPW?n)~{Veq`MnpM6)q*-QMe8x^O6z*t7JPe9|LJa(1`BZPshHCq(_zk>2hqbZxS)M1AW4MR(ha){fS8 zwtQPHQFA`t@@?z!{y|8qkSA=X@Wz_U0fA!O<$T`xygl0SG*Xu%?tAM%>wC^0o%`)q z>`w!(W7dO+>1gfhc*W7%PWao|RwC{o;CtRV%h}r=Y5(5(B*NS9GaB%nckTqdfwr+7 zJ)MV~>uoMz^Z@F98<0O~earQQ({5X8A8wcUiLni|rno+Hed{Q5lv`g2-lk)xpR2K} ziFLNUtAj22-nzwh*0w#Q(Dg#_c>8^hQvxgN0q0T2A=I1f*lAA(ycewR0HU0b-XUj# z|BjSP0p$UKj|I+Qu6Dpda|9ZAJRw|4%p7v&!G1rfwxg1b3)#+ zwhn&My5GLZKH2^`dg+XPgmV+hjdpwvj68^ZPg;-eST!ee%&@@&`}^+g+NFKl*jCM( zHEkT@Z4h03v^szO-!Nx-FX*pZI3U#&16UYSHF*uIyQo zzvr7hi^q?jKR(Tym^eOh^Wl?UZ+>;{!ih;6uWVhkWYM~>zggnHb@O}(nWO(!`PU8Q z%k`3b%_8Q?`@QUZDL?!6V5@lfZRdkwe7Rb>b!@bmxz27&X%uY0N%y*r^Db;>&9$uH zrk4Ng=+H6Z<^3U1y-xCNLvL@74S0U>c<&Znx8dcZS-oQKc>*t+vU_*!Ht`F;|Hfll z=fv?_{X`o7T~|zs1;6|;>(3(wOeL7lBU_I*6j&9d7*b3;=I#Rg7UDM^vcz)ymf|geU-q|cMMqAa3yW;j{@wu(WIQ(i*^Rr8l$O~;aoOp8V{+#_^}@EIPfnb* z)@amT8~E_##}}{L{8sVjUpqs+ox2Yho;hvqs#o_M{^qPZLXGJ%aAfARg=@FI^T~;G zj(RQb>GQy(84I3$W#@r^egC_~?P(p?cT~n>i`Kuk=iry$IU=H4c140m7OZ*gosYl% z)frL0b=O`a#?P3y>Xlswzd93Et6}Rd{YRxgHXrbQ^6j~huvQ(r_kAE^%Dm^c?)&s) znay3lX_sCjCQM(nc5Bg*Z_l|SVq&}Y8$M~;yk}qC^YPbboniGm^}6q&iH|Q_y>Zt^ zC(nh}YtwDu*eP?KTDN)U`z5E&TSKB-bsO+d&g`dOe6#qoQy0Rb+jbi`Dr5S*6@_oS z`^kylLLy>X`TC8_d}Q(3*HQj?XLy5Fas5VSJhpi4*1eycJnIT;(4u3~kO_HnSEKzW z&V|)%*!-RWqqAo%S+`~1r=?}qP;a}0A>*dZU5Wnqy!3+0-K%pX=@w3T3DD;icR~!qR3!KxCCfd;s(*X0ufqk5?XF2w{W;x$?G;kh9 zjzB$Raq?%s{oROnBc?enySifPaXHC&MxZ`2p0l?7U|;>hI=YwI_uJQ_R+jsU<8YO7 zHrZoB4g(s(*VS>wUIuu7L7H!z-#A}!oOizI$cTJ4;w(-$e25xmIcqv&U9ULE+-HLU zMmr|kk4JQh3=Z!Xw%&H1;}^7JtaG-V>^j=P?@R6NoXG+c5_Yy;VkS#}OLs3oO%2dS zwkQj*bajjejD&ZVv#Vo!$o7!eoehwNUy~6(4JET|rXOz)0sa;^iM45{pJlt8tXuv> z+Ji#NLhHNsxoTn(c^`S(p+AWE;b=oNT3k0WI^ua}Q0QdWSm%9?VXntqoKhyE4g9*_ z?s6Xq`35*;-Gtx_zQ|ufa0TsuH{ut^ao6ik;=cebxerqne+WgK{h0fhyCtTx1;AV^ zy!n{$WIqo_Et^n&8CuI}W+yOuA94@C&vIaq^zsbS)e37K%DPz_;gL8^2As&|6JG!?4L%l;b*-xMq$%3|70#lqp%yjqnuKl7m2|3G` zwMd9MMRtuiW}WCd67rlY0+aQ5=X0(Bz~OpK;rl`VkGWDq+Cdzt?;>>(3XUk2GTVL@ z)AlQK!=$F*9Yb$T<8V;@*ls8uuZr`!( zjg5bQk*ecb=ZT`7C!e>;Zy6d!fl4#F~j&Y%;hoOF&i^p*t2ublC=09 znClgTTC!x>du#Trn>c3c#7${wY4b2~Vd3gl24xM%*t29pYRS=MOSV1#*n}9yD~cgj zKGnnpk4>LGq36Si6J|`Cme%Xx`3wKHd)M5p5kR+5a;}^dzd2G+3 zN%J3GFmc!Tx3|t8pOl!?qlb5H{HCm^1pe>sml(fjpfUY&$~+5;nD{^#mkM;yN3o-WVluK z&ix_c<-(4U(LodM}zRGzuY*85{^( zp{5ANbEJ?X+)7&GtvDPGnF6Ak8mTB_@LRy&8j4baU$v$zaMZ`|ezoh=+V9u@Jmc)6 zmp&=)V4Ck(7%@I7t$rW1N0W^mul;%D@}*zD`1qqk|9oTcy z`S%B#W@Qg%Nn26g8~B}}6vQj1U$84bD;G}||3ewCltHc;uN;X}Vik4kFr^sZkE~5= zuN>Q2Fsy}AT3lE#CLSr8x`QE+D)tF~gxr7R$NGFu9sGpzfwkr+K9j=Q+RvFDj^y)e zVM9E!k?zR>ObvIHuQ#U-bku6lm!QUAH^#L%6xx}(#fFQOg6TU>DkkXm~bV}uNs#4 zUo5ZdeyoeEO;IKqU5Bpto8aj47yj4%GnC!RKX3hT(;Q^35#Nw$e(v_+fs5$vNTm++ zS>O4O`OE#9@*w(loZsp{>c7v}#?rxlP-u0S{>R}#|1>Fo_|N)(_ZyWcr4fG1{CoVX z{eSnjQ(_D`#xG6QpxwG^Oi@;4OgIn*rI1xIC|CTy`oH&=;;%_*i9Xt_TvUA6Kig(F zXo$GH`sWA2FE(pn84BHSVOz(a!9~jEo0E(arcYJI`oFkg&F`R`R5oA9&o1|e8Grrb zr?e9P730#fS4MC5FEUNNU>Wi^|0kv=E~NEZ?LTN*Qr6_&=lunyv46bL`W1hW>9b1@ zdH49o8DIKyP0cU-uNhvtzSB{i21KZG@=~Xa&C1P8%}dG6n>1}~ern42oaxyqNxcW( zMQ?I@E+nF~9Sp6KT`^k1?M^dz0Q6?&U`XH2;NUweo|N4$HJkdSA+5S4O@WRkB_sLK zYE(4%Ec7>tshMLRQRDt=`m`x5NUED=&QvRdZQH50hdb%IB3(-~E@yn|xN2J~^jWRC zO-abgZk_#b%9N=Or{%E%QQ+M^cBrN;y2eW{N|d83)SwxwwxDLLr|Os6v~YJ~H6e$+ zIAc=&BSdYi+PJY=B?{PU8(R%rq5`P+awp}Fo7i(o{-mt2)IjzdlrS)Fd}OC|eIR&3m1`bZ_Ik=kAQquCfwUs){R46>Nt4C_e!;|u-bgK@Ulx%*A^Yu(f z8S+5?lpei@4ymq|{E3sMwCa|VmNunDihNJa9-qQ+oG)d{q(@V$$&{_esqH$-exCwe zY-&yl;6ulQ>{G{A+xe4bj8wDL(IbJ((a7Dtno=v0v=vE)4DC6%=fITvhG_$arVJU@ zBLxwIhLDperMWFbIo;hlS3EDNmKh7=@7MVp&?Odjb+o^J`Paj}+BI+7(9@uPy}EUx zYS*e+16qPGcW8)<6GDYL@~v@7uP!a1V6foKXIDq!!B>{g%o;Pam#=+uwN|KA`Te_p z9o+lo#^;}!_gLPfF(U>g$9HYlvazRr?MS!N7GzXDsRu~#TZZ4zxr-OCTeoc+u4KK( zammSb@&H!uEI^5wr$&0ysNml_(<`Q z(t7owrp0eOe)-RAsT~YPh_Uai*UVM^XK3@N5W}r*&HlX7NGms8H}?p>>JDjq(<4*E z*+k7IwVeK#_`27x**mugGhi>-V7c6<R;bBe!`?=FTv zBOa>%r{WxEF5*rv=M*)5ox}!?GKSkU(x4AlD^ADFUcOmj}2GIjd6dxz(A&&eJ1_{>=|=RERwt$DL&&whONqfb6DKXuyl z6_4LPbH-!Sw`|MET8~Yg?f5Omuhp&I$qVuy$xR)I;gFhN!3(NH#i=^~(+9w$?D3Pv zrB11K4CqPv^%y*u{3w=;v`SInH0`Px78P7&%7A`Dl2Q_SV6+N$5@2cMI2d-5#^nb% zjbgPsh2jhJF{^!@@X*`n{=-SFYTh1mY(xH#dt0crk)B3lr>$V5WH2#~{E}VF8 z{q$j78`TOG`hNe-8&}SqI{em}nGg5v+_Zj;P>QjCp4gC{(7ax_(?(@Kb`$n1jtzze zT{8-g9HERE_}8;dLe8e!Vg~man37enqHx=hBS%X85D`je^|`m_*k!u{S@7I8WmxZi zqo%CbcBB+Z_;1tv$!V!+8PjGhUa@Wy2H}xsOLxsr9Wrp(*cnVE6O|S}J0o?}1EbTX z%`ebor9rK3wX%?cK+W)tu>0O&(Ppky- z;dA>e8#rij%Eb98<3`RJ-S4p}kKrgDK0IeAP`+%g{00&C((Yu3a`nrC=E2I<@3stz z3Q}&I{qXTl;U?w!`G37QxM66Ja{ZUXn+ryCjIt=@=fB#sDzjJ9aIR%Z8Y9p$9RfAi}3lLs~y zjEZX*ZlzlF=Cwb5D%rU*yI*YG5K6V$@&g2Kj`CSM53RDSXMLjbQ!w2SJ?^2@(`&g$DlIT*Zo_1rh_zg#f7TcZd8-mUAu ze}ClfD{=<5j}EnPrLz5>61>Bmlwar6QZDcAZC9@Udrq?;rTp}^`)iw&n`MXQbO|*o zH!mIE_)udzpIP+ZT@RT-PBNgEz}BoP7Ug^U+*Fktv1(&(mkOp_4F{I&HXsPf5GCl|{raX*pc4`tWx1+A zOc^(EYTjKdt`G>TZUjr{DHD#x?)D>7CQV66o0JLp>aN99+0#zR%&lHR%&t~C%$b&& zmpL}Ko3A?2F>CCM6d}YStJpLbfod@b_>oBa>J!Cr*vhpk*DHZ1*K$?EcZbLkU<@W3LTX^2E|LJ7QuDRT`y>}u9tIDb?!OEaq z304W~l922O(Px!}JT50M^{)Lg?zZKY7*~UOru6SUASGd7|3UqFj;N;RtK9FUX)I9)t@;98QUci;Ikp6@>X1zXkCyBv1wc*FsYKg#OmUp>mUb88Nhy8r zPReYmN?zPpZ5v?TRXD-)v3a?v<5R{?&CdbxOQJhi5b`dT-j%lP5mY!^P3QW_42IcATn6zwd{89$2&TLLj_v z-~4CpyEe8TC$aB+k$=(AtvKhZ`H$95?iJm;0< zwcP{Xm7?-b{@t-?U?6`R-|rK8-2YpO9xgTclC!q{JtkKVmozErGWy$rlM3{(a&n(i z|Mf0=mIuN=#LY1LHYM_nXMJ-obe z(Y*sc>vZvZJzQ!mI{m?lc?&M;;Sn)K1L}4g+QfWX@4xoGI>DcB`yw(B4)r~Lq~G(4 z8tLI;PfEV)QzJGk&FsV*2J?!q~+c)yXT9=0F;W1v{n=2C69iOO&540;< z{c_vmA3vgpm4-#TQx_jUxL6MtG%r#{%-C46F7W-_zJ?o`_xR~`J>0at?|Rgi?*zT8 zhj;ey%}w}6&32#Z;gZ%x{nD%trI+gAL26O(j2h3s@p~YDQ(s8SrX{zGXJmV~*DHF~ zzrryxQV*8~63C1A2IOW8Xh__l?T`GLZl5zNZ@g5H;?!9xkcnGhPf{_Rw`b9ADGd z|EJN9r8$4q`}gv`E4!aM_h_^pF17iZwC;0uU92Ads=05pJ*nWM9(uT}PSLtX-FBFU z>ESUBU&O%%O@)r+2|Ke#qyu4-6gp1yv``ysP zgKGMgzrCzkaL8}6eMj5)UR$&_^HWt1=Z5?G))}~aLwh~ktH1A;UT@c!m!yZgbSb*$ zfuEM;J)nn`HF4?x{JmLrrXDV_`vyI9D$raXWf9`D5uyJzQ)qGFe`V-TsOm z&UF=~<*a?XbhjQ}?(+Hf_gx}!yKpd@R*Bn_ii0Ivc^R{yxdZ>Z&7fcR>9|FdkSs7 z>xZl@hSb%=r8SD4T@TxgXX1p+FCR=D-Ix5*dXOHDwG~awnh?`9RSzpa?Mv);@Wy?Q>fx)wMUCG+ zGX0UK^>FUReW#ai-0am6oPTML9~y1&Vla-_br;8 zeY!@19*+GgZo<$jc_{<*aQ8Yz4?bDrU)vwh!}E+qs~g0H*i-fJnBU{-{CTojMy?)? zso`t2Ij_ah$MkUFnSCYerq=GcKo7_N9Cs)7xntSoXkGs8~hm|$^V!Jk2 zcks19et%r~!fTl${-K8tUEjAj^T(dQ7wh5T<8d{U^IEL@L=US$zOP1iZFuijdbs5J zzKfs#tKHcj^ziF-eVbl8mGa63J$%|+RQAQKH`8wD;aFEu--iEg8XNq(#P^`z<3^4Q zFEK>uVdZSxwdN0P{U%xu@2lxM);6=asJR}FKOHyA{72;GPI?&p=uE5E-dNj150{>f z>(X}MGph##(*G7W`Keb9t$9!n#|HUMeK2|G#xyIqO{SSM>Kv;50{1cUOk-i+sK#oaI)L?!-9yb&%ddMyY?y? zI@&z1bgv%%F~*lruj%SGhxD*&FWRwZV%r5r^>D!tac$#wKJ-he9xnbhuFLUq@1S#f zc)7v%=aDY+_FvP(GwK#Sz3kzI_gemt_*~V>7rl8#$9Kc^FyvS5sDLPlN>D_}AQB{J zSX9KEG3T5U22|K-Bj%hl=A1L8uNv2L&$-8Q@Av!j_dMV7l+tYPOm)@!cK5#1Gp$`? z)U|Prviz!xOpN+?_fCnjysw$UrgD1b-s#Hn)uxIDcZ@$STC6N@)sQV{d@gpv24%Ux zRN;L6`dRsIWx1=B>}$(xr=r8ka$bd5 zmglxpn2uBUod2pU+vqFW@9IKdf8YO(pS`U@Yt^flw#|N*i|?c;c3zaK?-H#n zA2pRZt#@`tfugdjZlBe+m1P?<*-5`v zcT!#`%d5Q=lZrN~_N-NwZ@MZfm&P45)%fr`Uc1}NW_9}9MpIu|rtd?Zo(;^uwN;kG zn<`A!`Ct3kMOmKPR`z^P3D%;r47IK;#z%x}`2G3(rz+w68V{4uKV>b2J{Y}pAFeDH z>nhCbCdMY^D9bfAGH~6$b9t$<>}IV{-7@3u-7;m_q@gVB!j(5xE0ksb)(T;F(zC*C z%5t%~?5?H#rR(fZxv9c-zrk+z(|^h!yK(Esyz-mMa!N

etfx|5YO=1uE)Rau_zDZ6X3NpHksW!cS8as2sBlNFzoF^mwNt8o?&+^A zhg&G-*aePqj8v9?rpl(+Y8=_0sw|s0D2mqgxfnR|&*vYxrj{+<_F=Xqu6S(W_RoTRFG7YM5rIX}GYZRm&YM zoLf{icWu7Qpp(H;eI5NGy(i85nr&^W(==K4Xp`1WGIXl7^|hlLZ*KIZp)Ve#*k62MO~3&~*M?_=%5= zh{_1-XZu^bs?&Vx?g>j7K_XAgUyu2ZkC2l0w>2gIBqVbQ`LD zsg&{f>xt6ia${fSzjyxdWDjNeyI{(780myR>jV|wv>=6=T~ntv?) zAD2=7RQhw}n!o$IcJ~o6u{_Fjt;T}V;Yy1>=$^8=aHph=psU>JVReW4>$&TEOUk6r z+x!O!^3RD={`KPZpJg&UbpL5>Of-*+5`KTVUh-FmETTE6{^LcSXntN2C;y^rrjs(9 z5f&d!TIrvQ4Soaqg+<3ClKqE^E(0v~} z|8*zifL zwDgRy-->)hEWf@+>-K1Q2i5sgh>bX8o@k`G4cU9|^sCMp~kBL0O;QYo|Jx^a=3)O$?LHe>#GHa)+~tZrO~9{UfCR zJKoa!M3|G9~Oj`n*M**^~CK5~qp zwNpdeysNB-Pv3xnpB`k>H*Vg#Q*-zJgGY~_JbV7) z)$6zK-hce`nH9aFMCojKHUOZ~_ zn9_0MCrp|=b=vfqWwYkYoi~5sqQy(dft9OPuUWfp!^TaUw`|>3zJ15eT@|~@kE$w# z#K@I{hYnYhGsjPmJEzH?^W@Ow%jD8^^6B=Snwq=!?mu`)emy0}Uc7wu`VIN^;p3;z zXJ{yEuv-o<6?*1A+z)9ugK26%!YqkeHmpz0A%fH;d#WM~yBi9b4z< z6!LTixjOrguS=FL`{V8U4N8CO9Io@2yR6_YbDz1>ft(sS-Q`L1-Hd(Yh` z|EU2lc>{P0coTRV>KgIu-@)`>*YCsJ{d@hj7iyChlkt~sgW#pS>)2XM?mjFcIXNaV zy>8^8!S7#(C!!GVPs2QOXc-}`Ana7Ph?F3%yfRrw+kdGj>|{)dXc38%bJ_U{q@-~HnK;lCgMA0heQ9QjAZe{qCX z19Gp-YE$ z&4lF(%BGBw=cXsdhKB_BdeQkhwH7w6T0D2^_|b(~DZ`_O2KVDmTQ@tZd{ytSswm&I zcE#d(Wg{sPZ>9=bOH}Ee<+>joYQ7FdUynjyL?KY#y8^>oO?K>G+1gnn{-*P&m%%RM zqsm?CS*f|&+;no?A!fU_TCv#m+`GfBKTF@bF4&+WQ`=-ED>>jP8}KMv)@1xB+1MpB zWhcs4$<9f;WzOuREMUuBS+fbBWsTdbi`PErieX)h#bH-Eh!gHRiZ=Z{#WLdnk$FXm zQ>s(Mt#jmJ|G{I$aP6t$+=sKp+#8FLpoy%Gdp~I+aBkQc1F9VA|9UPj@hq!pxoIT&69fL=~6#@SlSQYCI;XX$6$Ad^L%`KJRcVgEx>N~3vl6}LR1_m#8TrTyq!{n z8!C$M%!eX0vy@|Lpd6(FiFi*igjDaWY?>3nwf0r*sJ-tV_QDjOvuOY5&3A~ zl#ipd^HKIN554#1;qobY=o?ADcgw>v^*pq>mWxK~b1@_@7oYaZ#iPx0@#~`;%-@lN zej{@*-8ToHHP6BF``LJEQ#LwhXX97QMoo=uOg@u^?Pq6U=g=&i)FumEA7!H3`b?aY zl!+cTndts51IxB&pi4#uI&{szvG3EdV|hB7rKDq)bvm|umWIt%r(twN8fvymL$%AP z7(6ucL7aIO9@yi^&7;o))Utr~|@*TkZoPb}KMh`~9NV=%Z=3}&B>#*azSc(GwL>TZa_ zZQfCY|47ss6^ZAJBJut12+ST3fuS$Mab;;Z`Wc7g;EFIj;TMLB9}dM!`9m?K$xuvQ zJp|7?55f7TL$Nv{6bF46jQvUn<7R`wn6@?q7deJtr=x?=Ja`a}eK-*NrVm6p3`B#; z!PvY-FpgRogh8EyaOR#sbnYIAy-x<yJ-U`lI|)KOB|c58wUr z$1|h-v8B2{o*&;AYqk2~w8?&0*4PglO!dW=jeXI5N*`2f)CXNA_Qty!z47Z99~`aX zgYu$Y`0A@Sp2_gWcCWqg>13Pc-j?3G2$H{X& z@O48EJX-9IEkC&7!&o=8xQ6)92hp%f#FHIG{JcQCozck7 z88JQ-|> zdv{r&t)2zirJEx=YlfGt%`kUDdtCFV9Y%Px!*z?=V&NB4ywl$l&unaizV+MS;4l;X zQelkkb&T;|Tx+ypMyR82gd-DMVaWkQY}wopyC=0oIM4$7>9;`p;mvWI!T|T{7+_qK zKCalQhgs@+cz0kke6X%5%4>CTyN@mw&u@Z{pX%TfM;$B~tBsYH8sn6eK*xm1y9`)9SdTxjF_!*2e`K)Nu3%Rn(TLqHIh()IOzx zrOi}u*b_e)$e38u!`Zuxq$5+vC>=$vr_GfYLoR4CC;}7E6Rqw>b z9o~vBw!RjpcY7sH+w($v;`&^i&z_3w+@FYg2Oo)dx<3>(4&4{0cfThV9HDl%5vP|2QcYW}Fb` zJv%0vhaVL!E>(+5dL0%gkf#5_=73neVxQPTpNWsgDn#qAmEzm@y`t^)-QwF`6=LT- zJH=P#JH*bj%f)x~wuw%uTSV2{o5UcWjbi6r>&0np)`@wO)`+h^trA~{uM`W8FBj+7 zEfd`qE)nxo7mGa-7mCX+%onFS&lB~R%@J+XXNz|e%S6lbGej+i>EhT0Q^m!xpy6=!%28YKwdCX^9onG{gW=O)PsZh;M9u$m&n{Bul;bT4v|`RMvO;J=vMZH)K0y zmt^&3o|f%+j;+`Yq-G$*DRmi zu3CkQTy3|Ea;@Fp*Y#(+mabOX$6V&EadGKXczMrx&(z8dx9?Z3o@8D%(sD@E-N^A( zOKnzGz4#$jZ9jgks%G|wsxI5q6*Kkq6qE8z6-{e8D_ZxEDORoVQ7qCNsQ8%}qmWLg zDV`Y=D-4g8Dqdz!R)m_DDWWdVSNtehMps4FDz4RRRy3KiQ*qq6O7Zj20mb?m#}r3p zXB7cYE-QRy+)}J`d7v2b;F%(A(p$wXyDy6Q*MBPd?^BV!>(-aNVj4)c6%D1m8amRg zK~1H(>-D8)wJoHxK1Pz)d=tsS&uNm1T^O0(PZI!#`(A7aVe>$=L|JsxGjF8Sv&Cp>PeqAzHn3D0_kOH&ciMRA zy7fdU<@h9NW$Y9wLuHzDXVG-&f#XbRtz>cTo8;yBL)y9br{rh=tnw_d2jc}+ z?xDike^X&D+v~AU!&TV;Q#Cf=ni~5!wLWw7RA)xt)!FiG8th1H12)M}lf5~k$=;9F zVly2YvUATGvW<%xv3CBAnWKs}d$L`d*~aLw=K4+8oa!cQYnCpHGHc2?=D#|yLyJ1HCoa}(#x-kpFsl>GZQ7ab z*wUG$_qJgbk8GHHWEXbA(3Z{HY0IAZ*)hdqJEmLQl|3=&#&AnFrtfLbl5g6xo@owj zp}HeWUFgUT+c>e=hn(1>U}skT%$a>JaA5};yRv#qUDrKFJCn|KXNyC6uuu1Uumg!bncBymtg671J*nr# z#!v8Ki*&qM``O;i#IP5evZNOq(bk9UU+u$6Eqk-74ZT^Ebsv_uxert6?8|C5`?APR ze#~i;A1mt6m)WiB%L2{(*`wwD>_O{(%zu7AW}(-gB~9(mS~nQLTt*FG2WtnginIWx z|15yr2@hntR|47AK0&Nve-Jab4`#4Fn0XitWG|);WIu&LEGK;s8}wihTOJU?`W*^k zv37&my=8;hLG4hcSs2PHo`$lcfkT+Me+X;daVQI(J(PX@HI)4t7RH913uAUp;Vg1# zID20|f;~)(V9w_w*c`qcLTUMFODm6y1 zPJtuXm!%_^;foP$mVF9~D^6k4j-@bd-Bk8yP%3M>ES1f9oXS$I)7a9qG-g(j#)NNa z%vMZiyNlCV*@1L+s9px^)gyzMmSiyhgBk3+kjd6!COcn{$^7?ZvNj(xSx=iRrWl^Z z#;wd^t8Zm7ef?~9%{QC9F3D!WmD#Mx+iYfJmc#Nwa+uYW9M)lf4l8`0!`igZW%@z6 zEVMM2z1x|~u0P0Sx=r)ge78K7o|MNH&C6r@hx6E-*Lmzqi+mQ*J)gBq%x9)$`7Ez8 zpPAgtX9gMtEY!Myz3ErLE@T!kwRr`sw6cH&-YQ_}KMUBM)`e`oSjbikDP*1>Z zLN;SpA-izCkVU>KWZ0mH#kVbDcU_Cvn!qBqH>rpjjwxct78J2V+lpADBSmcajUqPY zbrIXCB4@UGa`xR!&YC*PS(dk)nGck+c5!l+oGE8&qvh<$R5@$0P|jwpk+ZOJIm@V$ zvnz+?Y|Lpn8+lpIj^2{9ArItC_Ds%(zm~K6@8xXWXF02^rO*A4vqL}W_g`{WOW%E+ z=)3Q_uk@XjzVo)G@4Ibp$Z^mKIqu&r$H6P)XfaWa<|%Rv=`TmtMUDd-%d!0v`rgip zFmz@S9*r)-c)KEW|5b>6j~3$WDTUaqe<7aGrSGa|3-Iy80`%=sfUm#iM(!33=FQWiFoXo{Qx*Ie0TK2m9#epz4}zRCUUxV`kxlfGn)Oor#}f zGBNX62KGqIz?kRhcs(v1SKLj*0|V30=~OBpwF<#+-h=Q*^gvuv z6pRmN1>xECff%I-z-6Zf;G`S<(fn~g%zWdIxu5%D*YAF~;ioU&`Pm0Ae(#NwzWAW# zyI$D;sW-;l_Cl|7p7?ElPb}Hm10OEzjwWM0(0PPAb`5mHrcQ`gTZ%ZY))mdJy5NrO z&S*c`3AaQ$qN%e3&TM3lYInL~!Dc)Bns1Avyt-hECN_BBYA2L0w#J~yj_BR41BN`X z#A(Yd@cB@4Ol@I??a#Nv2IJdeThSCV-s{R zmkJj35U|yXUt;p!?_%xguj28VPvV2u@5O%K--s>izY@I~Jr`@5JP}_ueJEx(y(f;< zxg)mIx+xBf7*E&KRv^+%o)hs~lH^x_tdhaQE zhPjE2jyZ|PZS2Hpvpb4uwe7`Gp~m9*s^(&rp{^*;(GrD=s-jWocUfAa*D}khyRz6} z7iE6BM`Rj%_sDjKZIqSNTOymWYPw9_vqYwQJV}BSf5Mt7_jb3c?hk38Xlv0okBcGQ@j^^W}w1|mPyZKY3p68}Zr|Qp=wmZ+2UL`J&G8QeC zWG9zNZeLeQ>Fw4^XM8tEy)rjT*XM7Oa-_Q_cqrALeIhANJeQswd?n@V zc`Jo){2vL3twYJq{iSxCX ztb8yyUs^MD^Um!4 zP#bo(tP4AS)RvvDwPV+ z7r3!uJKb6JNe?F6>&^^5_F(nud$L2#yjV~hZ?>yLFLu|?hh22)%_htGumE_QuI`w0@?fNsH<^$OA1_A8zmjHJ9VIcE88^ls}2Q!Do1KGlngV@r@5GJ}0 zW|>Bz%>8pHTYh>7D_b#?HOmTPrk>$!Z_@~N?REr{uZd*qlA>5Z7n+;Ai)LoqVpy-F zSoY8?j(xcm$BJhRWBEPe*^~G2?BLSjtYPm2w(ng6yFDk7MLQ=k|LaL?X?8LjpgV%a zt{*{jloYn^dTU`-}vu-OeVSwcxBoBBPIK^n~! z9%QlVfNa+MKsGDyn8Rk4<*>@HIm{w7mtCvOWv80wF_rW@mU}#pbvDjt?NamEzxJ9ei3e)T!dQIMTq+gvA<6tdLJ!73zq`?ygVNjzw)rS zAL+MqbFuZs9BiPLgH1bRqo-#UZVbvqzt9YH3?_ZmD-D}kr(!FO6kL2Y8CNY%Lbs4a zEYeEAgz|W7(RUcmz8j10;$u*J5`_~(Bk@^vI3}5gp;^%ov^X&s$21PX0p0^~MNSY- zToQmLivE~&&L3CY^h3q%K6vAb4>mpOjRjjgvD1_u=pOBXr@Oe}i%&8dmt4?em=kVl z=72hTx{}s!i`i;D4r`11j+o#^i`KYqlp$Wc)Es?G_0eir zQ=GX*2UpfK!u+OM=;Wq>KVsGJ@mLkK_WUIdPW>v*nf_jEx8|kTv;48>y8W)$XZ;P* zuP%wl^3RA;&@u6j#X&LUU6oj|eV6zxajQ78^?Gr}(G_BP!XhzIeU5l|;WY6`hY8}I z9izn~Bl5&H2}xp;&~VYR`vCEWiKl4t$x$>r*g;%5uC-|G)kF;bRZmQgdMP`gI4`^2 zc(?3!@FLl_d81@i8~e&)TD6qT(>&&CwZ_GDf6nE-);&_Ig0I}K>NC<@QKmgaq31JR z5mJApBB@eRm=3$9@YDLBxZh7*>O8lZ^!Z8~X_ZcAX|=nn6g|9`84RE)|&rb7K=<)Au-oo-EVei(T*2izS5gW;$WMYc4 zj@@57jIC)foSBCwuz-z;%=lFj%WFS^4eX!7He{r-xJhYDJ};d;UXa0N&CFy)#aV22 zWH$AIIjnR2T(xUJvOHT_}^Y}t0-YR5no<*$H$|831QxWqO ze?ZVDDcB2(OU)&xs!vvG84Kd<`9yaQ$ zgTwY{VuF?$cAE54ymj%N`1ai+QU2t*xVqxBI4<&l==Xf5Xce$d?6+j0_~Z0cG3ntb z@$|6-F>*;i(Z=6Fyin6hd>g1DMh-h8D}ed3cHg{ZhAS&w-)9F^M$6t-Rql&Y#0^=a zXr{QSsP|1nN|(2lx;~akE3F4gW`1dsu4$<>UTvn-^~@6KQo%;auHhc3W&UAl@R4)U zsaLlo|JP5YBh??JX?uW~<<@7k1q++JwF!$gGhlm1wqkSlw_$n@&6v;g4lL+`4I8|$ z8ynrznf*8=vhQ8Hv#MM#R=A)yE1B1q8K)0m%glpW)UFU#-Fhgq36EgfdC}}@LL5`? zHk=t>N@VMLk6;dSQ(5HRbarf8Cetsr37%*-vVI&`$|)VZ^AqX7peXBStQi1>TI z0WU9$W^F8Ox;e?*JbHTd>fOiBzkguxpuwR-!y}bTc4#?MZhk>gv4w%Toon}AeFp>& z9vZ>d9F0iN%H`{v#!j3vy=?Zp1xr?}Ubk`cw(V_Ob#eC_6qS&cQ&ci;^7L8rmaN*a zb;lmXz9XkDT)lbs;gi=Nzv;Dc?i-O(IKFJr>dm_p2alb(cK`YNZ%x`_(D3|;b60Jv zJbe1{?ME+bTNpd^9vq)pJYmNCWotL@*drZ1d*$}S=Wjm#(rM>DD7kprl1+OKow;`J z*}GaTOP{#nIUCuzyKjFr=+HNL!iv3T?tf}%?iH0kZRM`&%MafEXwb1=>XfznEMX-!80l{fTGlorCii?7sN2e%FZco6o*ca~eKp-(xkG5sQz%S96G)Sy`jz zn!4=t7ghJXEj6m$<-4B!h7m3NP`>yBulDTOQ(nHdRM!5_AK%dH%$YOQ)fLk`EO-t6 zqFQ_Q@84fhv2lW%8Lz=#RO`&ilPCA@-!aw0g4f_Ls>NTtrn@<>!CzGC4jkCMd(%XBb6$hLsMfLS>gvkMEt5Pf!2R8ML2Hj?IP3!xp;$1Xha%R1 zo3K=HgQfIPg>Ye?paH{(3KqgR!2-s?6Yv(+3f}Y}LJeV8;iS+EGTiF`)^h!a3sXbfF7OhqusA z*e3LYZO}wW70wAQAQ!HIlQ2(kqPKB7V1G19E7&iKemO@a38u0D}?T_ z0_q7-!a>@cB>_%A2VtVn0Vcw8=q+pzdcy|L5)yPqP{+J zfVvPT91*l(1e}4+!c?I%Ooi9bSJ)!-g)N{hj1bNU29OO`z(JTJIKUkE48cN$5DXPy zAY=)|J{{E5J}26DiKO06)fCOLKS86lj67BsI&&1Bbn&dvSSq>QR8y zU~4Xp`WYd)zRW@2h9jgB;~ZS5T_8R4%*I!vOQh_mEEH=eNcNc|_YI#e*%V}8pNn&( z)SPt8b670Z8=i(0GgnF<{8O>&$$F`;bqc!MZME_xh!4Oj>Go}H>HeuF}Obco+Px0#?;g&(&Q(`dVHeIJqxzPsT4!`95S+zACo8#XP> z0b`civiGXpkc`pqNPlDW9#S1fb&)>9=(9-2V00{`V=_86(m5EN3+bGU&W+>)BVUkw zV&of=kBodp@|ltENNr%$7Nj;YY8%PA{Ta0tsm+YqjuZn%u|SFmqu3zDh*7MNVn+1= zDTa(E{MblM%)mI zBaFBrBhE15j*K|Oh)Xi!6eDiQh+~YnCL_)<;+~8+$cT$F;v^$(x)Mhjan+SL%fMzb zt!6CdSPuw@|Blng2%zfu=;BDb;;%(z?G0!#6 zInO=E0LKEy1jh!)2*(P?495<~5XTb76vr0F7{?mN9LFBVAjcxdB*!MlD90+tEXOX# zFvl{-G{-i_ILA82JjXug0Otbd1m_0l2IL}k3{`aa$VD&tw#H}XDG8SlEjllP&@eAM-= zypL7ptFG_meXug0b$v7Mqm}sc%!c#wqzyH}>%{P|2sdv5}9F zO1{;NoqP;c^097gA7|pp$pQ#(W`53P359-EtKE^Bii@LF& z&jFPEN!{Fl&k>aUP2Jpq&molk5i0wqy153mxo+-3F{qo1@HvUHf2*6T@HvaJ|ErtJ z5QppLHWcH!xelN6DErU4xe%WdDf`#Dxe{@>Ztg@mteZi=Z5Eq=Zfcy=Z@!)=aT1? z=a%P~=bGo7=bmGLV}WCWV}oOaV})aeV~1miV~JymV~b;qV~t~uV~=ByW07N$W0PZ) zW0hl;W0zx?W0_-`W1C}~W1VB3W1n+?bAfY$bAxk)bA@w;bBA+?bBS|`bBl9~bB%M3 zbB}Y7bCGkBbCYwF#@jm1(ybqKW5_hpuynwU^r)qzNSS~?X<1uI%~FM~q%)O~($oxk zkZQD&bfb0%xK(;m{C8i9<|phcty8G$cpJDW(| zv4$a}3n@q$QUP01bY_sIqYECS&nzc}#*{?sQKZYJmuDsvO9?Kt47)A zM)`=L{IsVG1yYXmC@(!JGntf?mXsGC%8Vvu!yJ@jvJ@p%AYr^MkwYR4gKThs24veI{tLaA-_3l)GtA6GU=+#spU2l2_1@s1w})H zB49!>aHRG(q6oC77^qRZji}|_C=z-U3u}so3i;lWytk#+=u&&Es70F83R7x_Go4qP zT47G@P$%Dw$$JNCjRCc%Gqs36b&PW8TCdK_hE!Xbzm>%*S}DcyIuGeRfLRj(9OlyV zfN4xt-3btP7@+4Bfc>Pd^QQ{``+cFYi5>W+9d@=3_Kv?F+e{C5PNbWQ|9VqyEZ;T6 zefdZgt;o}E07uDoldUIPPBx!x8rdYWg=DkIW{^!$mdoh>31olj@bX+T{(j28oBOm; zDq8PUyyfmAJ&N6n-HJsrx8hL0(7vI5A$>C}(=F00N?Mk*oZe(v!>yXzw3=_XnP5NG zzNA~J;~0k$hZ0$uXSmP6-UEYu26+tb9_^B7n`4pJKB9x4?Et@kegk_4`2>4~^cvzb z#3#ujtzD*Rrs>os({*PwUEXk&X1ThezNE3OfkC-_I>vfL_Kflwb|i}@{A>uu86-DtPw>_!u{^~*8M zr+>hJ(Ef2^xOaH>m|h9qsSa6P3%h1@&2$*sWxV+!lj%kgZG0^NVrj_iLuN)soG48| z+L#j|g;t22?IZGM(oY+sqIE@&15QjbT4oP*~^Kf!WaD|jNVfsfrrL66E# zu<$7jCT1z%UK9qGr#r!b(N3`NgA+^)D*=nI3ix8|0=Iw70qwa&tIn@MGh`wp87IM+ zB710X!W=yNR={FvkoB`L*lV5%51$_aS^iu2?4%Ae`cHsw3D3ZITNr2znG81df*}99 zC%oB^047yu!2ZL0xWCQ_hDJ;W4Z}w;W?l>|Z59TT-G)K&)n8zq?hEzncY)(UdT?xQ zI^^FAhlEM{pv56CI2Csg8a%lPgGO7y#H>TGy47sxvE>%D2tEg^L^V)T{{^%J6b{%v zfw_HeLuH{Yn8^-8>x9>^RD}YPMwP0hN4SFu!VP~^y zIM`wlY&vuRI{La(mpcSX3q9d}sx>UAo)31B06WeXz>YO@z#;GwToFIP3Z3TQoAn){ z7g<5dl?@P8@CEX=27`g#W7yX#2wW~-gEb|N(5~$XxI7^nLITu+6!&0!ueJmNHHTC9W%^L9Y})$brQTMjD@jD`r;aWEl02ewQKfe}{} zV7)pDKClxodE{#_+aCvk$9ux@YxZEV_BI5AMT8YCuMWs z-lGzj*JTcjdzk=XVfIk@qcM2T-vMze6CpLt111l#g(Z5sq3U4+nB1j3e9mwJ8?{!@ zh;AeAtuYKbz8VN#>!(4+V--+bZU>(WS3|OQ8Z6O&4O7Zi!;a~n;M{`oj*F8}KaaFpT|b0KF0l!N`0s%#OE&>XRE`Q?me=c5gV0yEYy=rul>F zN(r*n%iz6D3cz=Bc$T^rVh{9!=o%T!xiuPA;2h{)_5&J~PJ%A(w_%3UBDj?@2@EP8 zgT@^f&~xYjp~Xufqj|gd^kkfR392 z&c9QIUYX|beAg$qVOj~A&DO(sv(6AbItv=O*g@m6me9|6Js7Px09#&ehEOwINIKvP z)_DtIU(g(=hohmvn@`ZeZ4xAPnFmfg)S;n?9$Y;*7(UK81l5~*gWvI0u*TsOJX&WD z8)lTjEstT)BI-6|O?nN(CiaK#HymK|vJG%YuM2GrxC|P8yAIL5vG7u@0xV-}AUKGD z*Dsnde%%9^(tEI&c?UKW+d%B3PoR224{A;8!?g!SAltqYf(@sF{iz1v=kXMpN-M#x z?M`^Jz9saHSqta)uL3R9hQT?fpzYTz$e*YR;|f#Tu@l9vA^5J>l;J8yrhH4K^os155ltUon=0TH*r;xwRD9jPQa;-Se;~v;UJWaQ!=M>%gJQ>7aMDD8)LW%+?Dj5T;UB>_rU?k@2{38vMkwER z7WxHxL+fviVOH8fSW({v_PKR~`Zx2TrsqlUv#f>7$B)93_wG;-eH#`;UxjN@7g#yx zAY>1`2=Vt1!<*|(VXw0*csBQhz|1f>ulNYbGpb=@ryX-IE=ooA$j;c*!rUyW@_w*f*~1@u&EqQB`*RoEg!0z42REW)`4aE z9oTtnFMUbr2lvVwLB`&8@USo(GOkX5MtU7#Wb=kl6k7&@r9Ldl%Yq+2BnayH8m`gU z{o-0vn7DTj9GdeTx~w&ax5)>g?65stT^j^D*6xHeCmVzAcxxCD+!Zdk< zj>5?An()nMICO4x6$b1m0l#^ZAi(q_SOwmMebtvitHo?+nX((=XGMcqNH}2sS0Hbq z4Ig$kf$t|iLf0y5vRCkA$Vs?0G#uh+E7=)#ui==%ZipDT0PY4?LBG+}a8=ZSTdCe) z-Rc%>X}%2Fbo7Kl@2|kMyt%MAU?21?t%aca-{E2IW*Bd3500BmA#UbP2z;_0MwvOn z@y83GU!#>U&u$y6yV4lq)x065{0+#*t$}fU=D^o;_Rwa=cE}&)19Q)`0k9GX*qNl*B0FO2Ew3Z4QOLk3Qk_5Vf_6^@Nn@( z==IGFeg!>+R@%qm@Sq7$R@(tC>^}_JhtI%`kj>zAxD>{8kAya*F3>Tz40IyKf>ob< zDDK!2x-(rEXEqITT*t%OLl5BLjeI!dd;rWoJcG}1gn=0hVpenj+01RADA0nH{ceK! zttg1Udkf~5wScvjvtZb13uy3i2lQBC0)BIkL&~TqC@N?R+Iwta&BrOwEa)+`d8+|C zX-+eu$QM?%=m$H$Zh%pDF2n3w5uk6cLg!opqn9s(w3kWXG&v7O?Oq27wxQr@J{X|u zOZtkR4c|Wmf-uMzYEp~A{r!9utuVK5ZNBmeFj)7<5b3|-xt?G6SFP}VCv#kQd9>jh zC;H#bqV$yQN+1P~c332nlZ_-BO*V#XEZKOniDZ+>rjku3n@Ki{Y!2BxvIS&|$d-^TBU?eX zifj$pIqA2dEEd00>4gSX%~f-+;J4d>}X#5LWI%`vb{= zlt3yVOCW0?TOfNNM<5N53y>QS83V&m3=IXsKw&@= zfF=P=0h$Ih9cU)dY@oS7^MMuuy#llth#W$`6i5#whB{aSc>sk1Ed+W4Xgd(mInfiT z6DcH?a^gf<0g1DXr(T#f;$*kC6>RX~g3{mUJoNnB_%pfDb^ z8PH5Vv z4^&VmHR#C_bZ!Oh2J{#zcFqQD$`5l))B}Fum=2`AHy08 z0`AIv80r=VbsP_Mod|WF1a+SRI+zN&cnNee9dt7jbTkWeH3xJy4|F#lbO;U6_A=;n z5$JXa==fF8^-|Ee9&{fLZLl2LA`;pp3fg8Rw9zVPtJTnEvCww$(1y^63zMKtQ=o0v zLK~+-TdxN@-2gV529yE#ZSdO+Vedhl478*MaUEjbk5F zf$p=Z6!2h!VN4i`6S35DKE zhVKZUzzLQ|fWJkdifRgV!70sYUJR5mkAb-B;28Kl40Pcd15wQkRAJ9VsneP0!kbK# zd6)EYM8!ddawy=;WXb5O>I98{6TL8%%p z!Uor3DL6#x4PZO|Ox4tPowu79whj2vz(p zLa8If=)yiR%CwQ7_r8=MYdD`a?Mo@}GE}iohPp<`(ZFeVyql&#+-C}8ov1`uXn`_* zv_KV;RVcMe1^W)EQ5fvK@m{GVvi{r(4NSI1VSU!9;*<^QO0q?1{&py%(++Vj+9T^N z4(P&SM?`r#p$bZaQu8$E!f9ue2_5mhjjqUgg&Rtn?~XDj3_}%xTGZw3fd)nlhxj89 z*T)lC2aQB{q8G|o;EgI)`k>T|Q3&sbY2^h!DBmAhOGcxCv4JQoE(le8AB?&R;8mq# z2+D{EMcgAgWDV2i3onHsYTtNN(K7+1zB&nAxG))IYNtZ|ry*MEvBiPF?OvInhLWcxwIE<2wGR|?3$5}4oKj9$?P9~-z zgovLjLLSKyl;I~sVKxeMXt)L9uTZ1R2UaL7))w(Y9MGY08kD)g6;bWOkjIe`h`-+( zWjyyo8LtN+zDFqX7&jhKKTbiJ%VwfO3G*S(#VBm=GU&%E5PxnwIy8PQ3fq&0GFH8h zJPvM0{MU9O>cbxpHTqY?k354stgfMqmmi@pmqK)CQyt=`_Ml9GfC>w-ruYgE>d+^_ zROZ>2C~D_xl!s3|#n0G8WqkT2l@WcI;tMk=kGGyu)TMeVvxvhuROrayUkPS}ZC}91 zoSDGj4{T)|`spV|*vmH<8Qdy{#}z)4|LF)OwRRShN=;<)cYnq7s6EHbh%RG>*-2Q3 z1VJqR*a%kU@olWI_2*dpuWMO{WcKXLnptehXA|3_^c0&ftz&2W?#jt1UCQC_`kLcW znZ=>*D7cyP=5Y_Df5zp%{)8LWY{Sc(7|!D_J;XaSzJ(Xor{iaQzLoDGd&cLl8!4c& z(gl>~69NDIkwTBgcZC@-#lkT5IMJa?dqn)BlsNOYK^!*xwwQm{UvlW;9!aJ^ETvAq zCH1&oFXhjSkY&usm1W$UFXtEBlY6`~OF><~r^q}$UwLRwu9AN+!XoT)gGJ`yjVk_X znfj362X)xzA(k2Pr+aLPrzCHim zhYpzwr#gmB<2&(B+;KXz_X|y?b+|J%+{eY^8N-!7Hpew%?s2!zU>uzUHY$ZNQx4bdKT{dzm*lVsP+aa(bS8($Q`dt<66f9x`*psuA#@bqz^@SB24(S&A(B&FS3 zn)WO~mhtUX`IgbX%5%S+uvnp)t@hZ-uu_KIxBe^S58G`Q&)aY37CYuGbanoy^Ig}D zNy1@&?E1~4WaUOrl}&>8o{=B;?(?`6Fk*LL@KU$?A@4%`+Xew%8D6V3eP z@{YO3zSFJSHFGv=o=@kOV(a+Ub@lV1@5~u;l2y^*gkg( z8AJ?JwU&v#`3}|+Kz|;YAVx){N~F1Lhw6UUqLfdA(Bi2xkw^CmyC>Eh5@(V|>}$kKYL`}On2)l?-W~d5nJLQ6!dV|rx z+*c9Ry#+~A9-uei2l#l$X)5zsEJJ!v&wS(K-K>H2p&aVeeBQQidj(D5izN8Rt%^*y zzbv;I{2iJyEZhfre)Oik9Wz$C+*Z{PjO z6#1?r%fb$9&v2QmMt{M*#PW~T=$rOzwEBa+l=wcZYI# zue`GC!mGb9GO~wpI^KC*T-ATnHf>AI=#1aXR$4N@&CC=HNP<^wcDAnHK0RaIh~0ig z{00B|3I*n$Fr|U-@8qjL%tw=w42k5NPp7Ex=omxf7^mqvA3=D`3jG@?;c>}Y52rYT zAu`D+JQ?=-4^K*VijOlmC6Gg>jbF^yyz#Fe%V+6E{jW@t*Ty?VM#mcB$R__u|3iqB zxc^g(f7ZZM_uVG0kvHyNj^eiWG zq`}}HMNteUlW8Kv6iI#jLh!}Qx9>H!^#04<;YrDf(UAryk^X}z0sY4ubYXfxzYBxu zEBy!4Sy(TDVAX}upR_lLL)xGG!8C$??*P+WI-U?*k_LutIv+l`B&`^Tr2FqS6P>)$ zkQ`2G9JcQULs-cicXN{MjDdNZmKPDyuc|gKG`WLB_RRM zN-;zlWnLW(2ZBUJ{rlM|v7w>=cI--0GVIz;pLP-h=U;?^#%b#%7rpWLfkZH3SjOUPbeK|FVICGA_=Uucx!F!D;`Qdivdq&1K-BIJbA3&NUfX3 z(ay%&QmwL3D&#VmR4NgRMervS3gJj1KK;idf5sn7bN=?ne&LVx-~OPh|K}g$e>YNc zYyxSce`$diTPiL-G1dbrM*jR7DREDCW0$adm5p7qs)VbkZ%{RKSXA`o`v_Z#YKuD< zt?U6FpU-PiH01Zl+fc87A&_=51`u1^*GTm+xuq=}*FNQyhEi@@aTnuBO&_OP)4?rP zHCwgS*7vlE?%lm7o1 zU+|b8%u{tsnmjwX#V!3E*8LfZw%aykwt{x<2u`JkpuS8X=L;IzExOf#F2A~3S3Z;S z>lP`;-FYrYT^^0LEa`xv(L3j6r?{dvs=milSUQDqr-#ir+EKz&-5QhEC3fdK4?I<| zDxVe9I8E=T&JK8&I9Z4;9Ae8_t+Z0Evb;gg>CY?faLUL*MP;mN%kJYYm!0w|#cc!G zeey1`aBQ7`Q;)>V?kc6QK|JuQ_SU45o2XY)(eLi!+T_J(Y3%G2Rd(Fy>2MNqMfL4J z<&Ji%P(0?AmE9Ec)ss0cU6xH*-Q4qsowRiwU7{u~gY#TyhioJi#S$r8)b)Lm0j{L8 zxsTOX*ELX4W?kN|sV=Kvb#PTS#e$Anp{;;jFX?48^mKK!NbRZi#&#FiuIenggIYD9 zZgcAFVz;v$YVB+DMZMje7D3P10V}?;@}i^CwtV^{k6}-E9Lr)^g@ZFMw@)D}QulUH z7JT+QA3S6lEaY^Z9L`q8Y1ma66=*Qb>%wLr*qEo`~n zU}cy046@F3@lh}aMhb>m<%)TYJZmAhq>XD)ocl;pU)m8Cs=k%m=;~#W<8-;Z`&mJK zX^>&0u(Yb=vc&_2k8J~`rI>f5E_P~{fXgMK?ivBJmQg`9|U%i=@o(BIh zqBNiMX9T9FEl!6k4fp?Su_5f|H1|_;7ag4K_h5UuWd6ZVtXy_3-*x|y*ZeETM%F&% zv;0RdZD)y@>p8D)Khs(-R9BiVmUnScNFWI_os&*@0`)^p3r+s6>org(Xiu(8*?5xv9jiV!6W2K|}Ex z+j@%ndJu;>rfZ;)-69k8Hw$~2ZFCQXi+Z4oYhPB>(4z6|6l$zyNtF)$mF!V$SNrC+ z`vs~exvhbDqdO^AIr4KH%WVx{IW_yR+Z#Kn#_N^cihfIuS9iOGOIFi8R~ftO*g4VU zzGF8JS9(`#RFejTYDr^bb!nUMsbhITU9YXvU3PnJb*D=a^|YzY)2`uZm7Gyk-qO;* zkrY+%>xOl*90wk?m45%QNwubW;(LWr<8Wqj-zi(bgwLAuqFxzBG|J2Q(BvHjpM*sNw+oMJ|vXeg(|r-Sp%{zaZ{aL zQDvi>mDoX0EEKk@L+nQOWnb#q!7nVksgm}%J#KTW^S+o~_Oa^xSg*d;Lme#Twr8_~ z%X5#nb2ulh_q1sqQsSC|T3L5rTW^^=?`eO5LRn6gRQERDX#2HK=)A;FC?DaPR%pM1 zZz~=bG`X4CDsW?ps@uKn1Qs@x3O-lj+|%XQd|g=I+0fOVEhs2_%;pPw1-`94UVJVk zl)l=)y=%!S-h~<@y!MLXGnX9G5~~b7H@mC3*M})ekQeV5t42|%Ywc{k>R2e}R9ai{ zd+SDWr6-8{Z5vsTU=NC%*Jh?ulPxGd#%mQvMkoL@+D4Z zN*b9fqz!IXRYjV-i`L>_N(*h-&#R=>$}YZxvdXq)gndajKf9oykT1O7S#{e>Uj4+S z>8Z@w@kw1nC+`j@thvjMxYBb=P$cT%&T&-~@t3=1K4-O*R@${FWCQj20t+t7UTEFrDj8`- zH9Bxyy4xzn1Gd8~eA;?j?1V-2jwR~;+D5iRYiZxoMoUEr=VqQ=U*ChiXE*vh+P(WN zhj;x^Hvb~Gl4sK(6*(5?wiH}vHCQO9;-2oJ<~*bp6uUJjIBd&jg%U-}<=baGi)D)5 z3dvlX&Z@uszm~5pw2@PmBkeCDBe^US)uls{H=WpF`abm*x-Po}OXDa-CXBEwr5sN73^ZiwXxGv!$b!(PHJ+ zuHjfTR(5yS^{7<>VQD!Qv0WZ#-7stJg0iOuC4a2tLjqgb$?$u)5r5^1yk0CG~H5L=L$7n-sURn z7pZQK>~Hr{)lVpGac~kv-oUd(Q{53XVd9A`H4c;9&bti}J5bLrzgvS3THwB)k!__JNU37nubWePw4wmTfJ0*{qsYr>eRc9#xfD7Y3TB zDVS~1r>b%+RP@_AdiCV=JXh3bw=+eI{%S3|JH(Y~Una1=$+j8hQkm!QgI#Y;Sxz@w zl{bepr zqga;iu2urS99EZ&+jHTAdOO+k;qscNc9K@%BktoSMUQ*--QpVlZn4O6`t`29-hq74 zJ)uo~X@f@GthG9wCy;lmWwP$p;%0%iN+j)T5?}8vrurIeeS5||tK-_Mt@({t&tzZz zqj~sJ8)5g=w#m1Z{Ne&(-h-OzY=JkcO77!vUm}n?SM@)zENp2nFYlGPH>1|BE(_0r z!m>tIcfEwoDzW2sN!w~4J(DeP{;OEMkvDO6gX*jsTZ%`e9auPmE8}w>U3(lXtZFL> zDM#Gll>*BOURSoV!G&d;^Mma(XNIiOnp?w`3#yCx4VTL`sxfz(C*@jj=k#9aE(>V& zhL#G6I@T-VtKB+#-57mMFhx*yKeni-7nGsWvNl0|e{Z9Wq?_AK1@xC#@{7BByMrd9 zg4%|TO0S-;ydU1Nu(btF@M$h;~F!JeNiaKja(XAelm{_?{z3CIRkd0s7Rh?V@|GqlzuZRTWGg;r%iswVGK+?W;EQaD(y>14 zVI!+TzNvB;ix*gtKdh0-pE9-R21iigbht**DHWAgR;!aE4|NT zJuSZWJZGTgdXMiYkKSHQ^?=4%p?xBvy89LKVV=UUD~|-Ps`!`Mc$3_$id8mcRH@bY zPR<|BR-R*is|%LHPC|VH*=k{rwTPNJ8*beSv8t_>J@Y#&Y49DUYrp_Y;!vd4I<@6L z`)iD~>SmSJOMyhA_wM?Oy*Af3P}Dd9IlByV8JJ{cTl~EDPexW(x3VL|v!>l`L}Q;r z(*?&Hirq8DSzFb2oo#owz2d5oIXLI!If?>qO3Lr0xAauE9S-cg(^k-4bmFO{XZFpE zoyw{vsqL66JV^oN)6uq>8DPmORWnM?xr(@fHH$0;Y8sdxPVLP-*Cqt3Ec?rTuUw~6 zJRjc0d{i+b-&c6^2j;fg9&hObxouy0mw@|H_PDN|%6pZ4?Y0e_eUdVbc$i&RuD#4t z8Q8~fxi(^iBii4fyv}N^a68=cp{5~d%CEhgwtDZ|)_k8YD3wK@pt09V?s&QWu2s8e zijA<31z#((74G@&a$Y_|wZ5=?gd~5U!>y6iaA~4iE~?-_b4mqOGlTY;d*v@cFiE`(jZ|i=%tZnD+Lj{vM&|_tIQ7 zqhi|a)*DWlDnE^Xd0=^YaAEK5%c_DO?o2vxD>qAYqITw^u9ruAR`6B!d+q4-$U7(R zXJi zxK-M9;U#TjiBsdf=Y3=M-hKS|a#QEC{DNj-Uk>Zz&29H;B-g1CnKoKQdwFxy^XF|& zS?3sPF0-TfPN^NITIO7F`(|f1n`hD3kY&qs?72VCmn@u8^dQ!^y7ijVcwWW+o9)UI z`Qbj#>Wg#ATkRyG)*^R?fR$|_yUZ9jj4jn@FW+0*uCZ$?s~>i$yIUvhbU!Du9agr! zzWc)bix$c@jg>rT7Po2i&W@zLzJ4ywwr<&Nyl2B7F{;pn&W;w}<}w!QYA=u zlvR(b&ppp~ikh3|I^hv@?sl(>h24~wpLZP17xAkY61ysH#YnC^57jx^Xv-Sq>>5j} zWjFlmn!73A{FiUJGj2a?2|4_}6Sq}8x$8Uk6GgSsQZ7duu!!ld=&Y{tbL$WnTG!Y* zS|~bNC{<<4Flk%KGli6AtNL!BderyJ+tnT{Tc^%`6I&Bmzt7>_Fi!I{SSFmd;yA=CXT*k>szCBG1 zAx{FSUZ%iH)-tlIJ?ryPjHZjNr=4;i32us8%AQ>ub7|+IpZ>_{NOzLrcs-#j5r(K%HcDH@yT7__GO^>kU{4Cc#j~ZTq zK9P z7RhYJ%R8#8)mds=#+YWo?@t0NE>9hBxLSd2?q}N+hwvH(>T5^T_Lio7X+L>f*|371 zgW0!jJR2+-_tYJoFOPbBg%XT(z16F6_c=`|RTo%2muxHK-JC}`4_P*89SXSDX&61y z^6D*_4S$86;y$>Veooq$E@D{l?`Mx-W;f<`SC=;aRn6%Uww}+ny_8kw-Z!jMTParg zUa1Z!>88|wA$d+x`eB6b6FNa&5+L|lB)l?Dfh`p~7{ah^2OZNlU0(QnP5R}u^oI1b zl^yAtk!kGt3(^m#Kk~Vi?v>WCA?4|oA2QAk{P?TWD(?4Z;H@VR$pl_V!h83ycRCru zy&QI?OK8=G{h@AOwuTlbJL`_vy`+2Y_J+>?&n>zWYj^8PFZ`-I`u-)I+l@y$t2aw^ zR$sL0t_v90?kza?X_pM&jJ3oU>+JC!dsn=m-vfJX_r`@!{c%KAFm8NbhaYu}$A?{} zU`y$AoPBl{KI%OWuUfSb-;G~{cZ`1(e_XZ{Pk(h8oJqDEN8X6UJFiCJ_`NG}$D&m@ zy?He*h>OL-`*HZDWdbgo@&+z~v)X3D{`+4pPR61!DR_Xt27h>S4LVKI zPY6uIKTS@M&H=nrnug2E!G&`Y zKCMo}lWXC8z&bc1p&<>gYlMBAo6_)QI7i_^OB(*O750X0OT(|X!}$pvY4{${TG;Ek z59o6^Z-Ea#N>2l71zOybhK~YKa0cN5ps#`QfE@bL@Eo8`KqrAJfcX7scr4ITpp8J= zfPMvf2vh>p3Z#O4Y2ASWfu;a08l-4&-yEbZ;O=~ZjsPZf?ghFF`0tbte*Z=d;Q#-X z{`;%`fB6Iu_G>>w_yMnciGR@AS$@Hfa&82Fy4`Qg?PXiXg!kMS^UX&7*jwp-V;{Rk zj9u%sb?m_p4~?C4`o`Gz4%CjV^x}v79AzKU!SD_y8%UYEZW;5z=n>ml{}oRHwg>X3-xeIWr{Ua0K0JoHYfZD{x$_t0AsSgPk3655|W zCG@KQ{7@XE4~^ckI&_lPy3puPHifSD`5?5gV_WElWnYG_@7fi5%(5<7JAUWKXl(FrmmU8(_Pys(mfw1 z*ZH@rbd%25=;WU`>J}us>Ta#@(D|+M(tWhvPd9I8knXP=p*lOx1l{5}Q+011oT>X= zJYP32eUXlbUe_(y8lh`;jn=u{jMKTUPu3j?d=r)!rt1z@ZPImRZ`N(T^S*A*wJo~9 zs~_t+Zfw^bfB3o1z3?lYw0VavhPPX1=dw>X5ca+9e&mn3V_SaG*_}G7TTuF|?vd(* z?$4Kg*Hv!%Q`dFwoKD<(QCA#tMfY<0HQkh}H+5e~?&^9LJlZ$0mf_b+k9mThkM37nDI?COEFe-6iA&-BDp!AP7K=Z$an_~5R0eQ}-C zAOHAe0A|?+!g(7(c#+*09Qw^z{I)U_58tALPgCQtDlrTP7LCViXHLYIPffx#c2jVF z+EiRyFb#hi0%s*?8MWbMT0qx!7JaA14_WVDW*4xTg4J+-tiCd(T~r zlQu2EH-32)OLAVr6Z)6pMUHwrJ!Bc~T@a2}MK8yjQzLN5=19DEs{wD^76tOd871$n z#O-fI<8NbE;SU$D#t+8D;Mp#*m_^0mrkpt3ax@;>ZAie=V2plCl!#B-g1Q5yaW#>-nU7J9?jMfyAW;7mS5laJ6cAXtw}-wa{h5Pf&mf=j-42LX)(ngg^9 zC;{kwpuIpBfg0fmvP zng}L-B<%kRCwY>xNqHncQYMjylt;=UG7))5c|;Z>FOi4HKx8HLAoU`3C3PfqBlRNn zB=sglF!3W{Bo2v7(vY+yFH#06o5(@RCFPL3Ntr|zA|sKD$U({_G7#B_%>VqNO1_xK z!m0uC-G1imiIenG7muGeZ6f*L9g&ils3!|Q)<#DruOty>&sjKMKR#^M#8;+GTrgD+ z*GYs!Nr@5O@d+tOFMMPF_mYyLV^-@)abD4J$%aHYn0!vl13){0fU8h)XP%xK6W-ZsS7Q4Lh-wDSXB!v1P-I)Hxgu0tX@~&iWha zYgj!_h@>{z{+!9sVSp|!HM#`zV3jx_@-qxl0-}q!`x^fCnz8c|za8H!#y?L9r~RA;<7M6q$Cuky(te~flk}$@4EXJf ztMK=bcHE%f!KISmv0sb1XiO-)t;@+Ku4S0#;z>e~e2E6c|<;mP1>+$)$k?r5r)ZwR}#Em&EsKZ+- z?-{tfT6{7;{zOT6HC}|0EjoUx!p?~c{YNdT#B=`oIr?OCIbKwHin_kB41YdpSj-tz zil>ZtY5McGit(ZSC95Jk3h_^ezWU*OWjh`wH{2Yv{ie9M?eS$Bo zirauceT4U(|8Z5c@Bto?s1N47dIt~tX1Vt#9oO+b?#*8;o37xS%a5dQeJK+=|8+iQ zf#56--;6dphMmIO@)I2Y2snl(ymMpstjmY6X8rmC`MU3L%M@+p*^006;yOu1Rm#U$ z!;tKI=??7pF!+}_f5u&hVzYis{JrtlcZfe|z@pfSuhZJ=@%xIAsUail@s63Tzl%oI z;gi2!{Bt*_7T^9xVjXq78b3?*yp|GLh36i2KJ)V73jD?B8#A9V%W=x#itjsSmg2Q& zXa1H?im@`I+HvB;LJZqRJjn6Q$Mbcph5Mi8;v8OhCf@ZFA6&&L+Osta$GL8>@;Lec zFKI|^pTNJ1ZPBt3uXx?SbH7||`^nuacuVb)qd7Gfan%!#*Eb5z-~!9;taz`Jm?O@Z zfr5U;H_uHhYxO>e52!lpzFxNvPj8$5Fm=M$`15;vT0f#b!6+^;bl~9II6vBY@||x| zaN*{yw~Dk8xc5-g!abs~*V32Q*WyEWErXS!8hohw4b6M;RXDMHyMy4D3jE|j^p)tWGJNsJ?=8NlD#5{f zQQ1qKMY#HH+k!j%LcDO*W8d*JpWz8h^LzFj$;Q$p?U|c(kFg^=@8$&YL%erIpo>-5 zUA%S6n=M7%*Ky;|Q{U~GaRn!r40F64coEl!e|X0^{trBM*20_U!{fLz-0NoLD@U=b z-<{#ksXyQ|(Xm~(H|@sGp2_js8a~H5`Ezy7)-8DHCH>9=z8QE9@3(9=HyLMKAAX)? zYrxOy4}bPc-aKr3bH{hFlLIj<3ICEQ{F-%ruIS-At!BNL`1UWjRUQu;aPFfkO}^hW z;H*Abj`XDlym8N&xL3>SF=^$T)%Do^X_H$@ejQ$w7GE2ptHU>{12UIwt;K6yCsAHE zYp}!Fjk&_EYCPut1^=}+)ws>gCB5If3OA3N@OJ3fN-W{d&(996z#YxM>`x6Y$1|?~ z<#fZl4BtJyZhMS#DIWM{i8ZAx!QS7Fs}wgP~`0@G?KaXD#=h;uibfD^%-a{LP__@kTt zfxZv!oiVZpuUz`egZF_I?Fvy^&9?P_0CtDZGXYF zztuSX_~lRdtAk;aKKtwd)~)kySj69tA6Fcia{c)p9CL4`W$>CExV0&}a^S`nSSmbu zAobdIywEbH+u_Vs-2eSC?Qb3L;*j6JtlsFh3IEV@^7evRZ{Zb=3)b#|ah820O*J+p z0Vk&&|8`gWO8ls?1$}xk9Cysi>;BPYF&tcUq%L*bT--DsZSTG`8L$8C&U{@u99TE^ zQ|HEQK5$rh+_E<gj*Cu)mQP6XGphIH zu!;I<;ODQTwN2P5hUEES`nf^+hyXe5Nv9cH<2hOxvC6#> zGhRg}f=-i?K)N?Q2Tx3zAT&gfDLm*aI(Z`B$iQTMl6VM0Z;zWS9gGI+e8EgtBup7f z7ZDjX)x@NL-ApqvWJ&N#)`RI1!jmIb(uG8a$3TwBNz(^Q&?l_~u~*M9C5wdh^fN7u z!ou@{A%5@)16s!rIm`B60%D^h_3?2rsk3Et;H(+*Cqws12#;7j$EZG|3ZV4J=mhp<)Y743Yk2g;9`|1{kXbRs4$4DhEp= zYm$=|8KVt)(Z3Q%T5PP`)H(V!;fc}V%VS{dNlA{6idr(5XG*L->5W9tOLSE7t414* zj*Fx1Gd@xeqvwh^1N3|tRt&EhjVsBhC|GJ8NvkQEbg-rB7j;GdYJd)W-Dn?!X=coW zp+Y}%zTPO+@@R-i3Q301j4Z7mwageW;~(ON8_R}H5RRlW2&c2Xzt>X*B927?l$VZ!nI;t9`=>7iDb7~Fq$zg2uaJzB*iM68w= zp-IRXSwb{1UXtF}ZDJL4T%-3oQW1SboXE%~8Nw4IR>n&c4P*?2L@CS3pqC(}D{g>h zT#-tIf5Vyfh>jclwTV6n?uf+JU|0ubt{`y|+0fNS`6LIfh9@R~Et#tNLVKjLAd&Bz zM)Qk{kA^#B(#r4zgIU#3!umn;Bc=!=FU$MbS(%&*R8PU$mL!KMVo-@P2zSfbL z8wZCbIu~;WX~ynES8T?DIV5H}W$Yp^*nyvK1|_6b8RkoR{wB&e3K%(h#Ce-C7BJ{# zSOX(aLVQf>JCxDJhyg`KCvT?A_7okr#*heACS#6%MR;_aKH}ZMVn`vrVee7Kk%%5_ zUY@I8YlvR4GC4^f6P_3!9sd5H5cFLZih{A_1Il=x_*;WV$C(=ZL(2Q#EW#WCI%NzD z88In_B&b&MsL@*}qc&+7;FllEqhnywwso*pgOYtj8T&8IMjB%1;fx*(J{}ZuFocYU z+g|iC4qBfKsyrbv9>&fjJ&B#PoiZBTzjVD%2jkD0KNpHJ78mguWwiDe?TD5E2I=+=*41eEV4L8#Z%_ajx1u9cz<$jG$#;W6 zLxVqbL_-uk0PG)ZPFgR~co-C}l~%aEwSvf=Mp@N>NWbPqN`>N(A@mWO6Hpk|Tbhm{j@B0E<0E zvGvdlNxxI$C@gAl8mw5Lnu}O0J z_jwN}bp*_GOn&rpA+1wb`cB&#{1%P2gGZELh>ysk6eLw_B+O}|;uGN>3Xi~#K`Af% zWcDP)L!dG`gu*B&HNm>g0H0?8&J^Dd;0lGNp#Z{E`ivc8Y96WiFG)dKii4qOQtm!)vX`~uTMJM`?0C)*eOWFLZKV4EC z<@C=$c&OGx+pI7OQ%|}pd^Z`a2|PwOP;%PGWCx`5MoRe~e#U{W2}XiJRl&Ftp4?1X zn3`v>2h-neS||nSuH>Bo+$!Lv3OO5EDa8vp>f^x9*BII;t3f5lro<#i8^>*FH!zTdUb5P@K z+>r5K!y)yG7{exp^WW3IFp(R~TW78ak zR{DDkkH4ohg`0=FNMi%N&)~zPFkk$y}Dy4sVxlHhCV7GIgz4#7}O{x<;#W5 zeBhlRT@cK-Y5DkloSBI0l^73?+u;;{5O|GZ3_)M!5cFdWL4WoT4B!mG(cB>z$Qyz| z{2>@D5DXRJBQ)btA~W_Co3Wq7jQyo%93V5}(Q-2mRG4v)(u{*GhOn=X%8W;;&Dht{ zjQy<4*x%ZW18mHAw5=Hj+L>{Xy%`5P3}HVXM>8JfWX8T4Gxl>fV}BPj4sbQ&(QalO z=x)YA!^}8XJB0mxJj{61a5MHDVa9%*X6!%Gj03#Pc(k_}2l|+C&?qww_8r0jK7M8l zKeIKpdw_3%8T*YkWB))i4hS;i(ZOaMIL3^F#+q?($Pgaw6KckzbY|>}&Dd|88T*Hs zalm*p9zDT~11Fks&?GYso;-vDeWtLzNH3bor5&$P(*}X>OM}2~`XKP1F$iF{m@0|T zE7Gt$Wd(gJegL0)$tP;K0wQZpz90_#eGl}Dr*RuY25gZ*@B7CHWP|{O@4kpSz$BlG z*(?TpT}QP*i~z=Ba7uxweaw7t*bK&MaKw-`BZ#pEASs2qz=Um>VDBuJH7R|aJ1`X6 zbqFI4*|v`zM6t;hee7To&K^VH82Ipv*krRl_E-YBWS>5^jzmB_a^=qe56;IFouz>6 z&^O2k$S!?=iS$CUQy=FOY8k=d1b=G85d?3iF%p^T&aERKQqUd)1TtM{SrQ3!h3%sd zmx#q2MtsSl0D2!mBP$_#JPrCA4=&S#E!_pK^dPywzGp}V%M#FeAPKBFpyQEJ*g9+J z2jC*fJ-D2Q)UZzwVu#74&%l*$f=eZkq7^POSGXW3UiLb;usuBaQxZuKsT1sT28acx zLz6}oGhp90K(63gjWq6m$e02QX;`K!lc?o&U>O0-DF9yvNbO_I0SB5e+7!=)83}N1()!QM>>gkX%$}%KA=y4 zX2H^w^$>$`9GE}=%#mzzPzz#CAn6Qn;UL({8JziWxeu`zfgIA3*8x%oxL3eovv_&n z@VJZyaOhmz*i0wLg#kBPqlX8ZISw%A8%U}lApxB40a^p3_HkkBJ7__^Ng9*#J;9qf zij*d(fC`KutS@1OBrj$Ffv^c7m(-98bz@Nz!C!=O;QBu7nF2p>p#PlU${07ns6bQZ z*B}DpJd+0wF*n9lHghir@__C3z`q4*!g_lMvVVXmOCT6hK&Gr$%y5e_AL2Wb_+A)G zBw1jFGiXRBn`nli1YZ0FlCe`EK>*Ftk$i?AZEL$p{(p6XJe&rI_$^^Ck%$~E`0X=? zP6qaSGaCu)H)eJduwM}N3XzYq7ufA)_B^m3nb~K+E+t|ZBX{$BuviL5aCls$A2?AE$ly|J=6$Gz7`AXU=D?zJ;34S-@R3h|h#ZQn zeWd?P*7Y2`8TQnDh@zSe_yWnx5%MBmw$)i+vJgsI5s7b^GKMTke9Omhk>d1KG2+OKN%soGWA2p4|1evI5BtA=IhFltwd_}pC2w4}xm2?x6Ttqnx9c^cFh|AD@ z193U9RVDHu>^Kr)Qv_@f=nmN~C(*y7jGf{;bEh!E&2%W88QlxMqakfa`{`alTbL2j zwnsxd+A4n_7Hvmc^8u2~j<$27FKyIDNE@^f(l$mzWJwa!jkk_ye}t4ZBt)Cnj@eV^!FMoj@neaDDN`RZF{>`(;hXwejO8*z1zZzAOD&<_E0 zRaM5uqjz(L0JDN?NRi%j!^^&hd>x=@R-lY70wD8%B{45O@avr@ieI>94ykj4ftIsmpw+N*#h`eg2y^(4x8eH zx@wM@uuiKvZ^GD9bK8W&d^CB0{~&3{`)k?()A>vY(vY!=9;qgUXnFwOBylE>(|if? za)H=WUPEHi;B?PmAMM^S}DF7V< zVtYHw*uyp70;COR1k&sSOgE+{OYON1;*WV9I;Zo@B+6E94?E0dNOP~1-_e3xQ{?g`6kGc z^ATJQKoIvOMFJNqCj%r4rMTmea<&PF@sx{Ac)Uy*0a#7qOt4bMn(#!eas%KP$e24R zNV(bMKRHDCz6np6q1> z1hLrbNFJ1+b_gR?6JSmdB^V%XFbRi!tN@Pr0^}F42^>qH8n&`U936>(L@-^@sYjF@gbk|XOA>I29}7DDiLBi0f8 zDUA_-(G*xY4Sj*W5hpz5EX;}8$txI?;Au zPnp?sz}_^oQ=mGx3A>C=dkP*j9}@NzTJR!ZpPNJVpr6X2wCVY9fCy0t??b=K+@IVUtva0cLQ z!fFzjZ)0}=c>7~;aUgrvpC#Y}*r|~`5?U{V3yDi~!kNvsTM4{f61kA)Q-=yjK%P9U zr^1EA1G&NKt?d>7kF3dKCwn%WJ@D(m04GdtR|vcf9IJ(D0oZrK#X$)i3sO0(1|TEJ z2PI5^bTfhZPYEwWELy@M07DXzxH^dYPYLa5>4+R8jxUKbD2LsU4ECga`xnce1j{|& zBV|{++6+KJW)0bcJ<{br2QXCr9Ed;ZU(0t`4Dp6EMB@EZLob6bc>!UP%;p%R8IsOn zEO10P2m0P-)Q}Tt!>G9kjU!U>DK*`Q4imuINJHAwBE|zpMAVQ*OeY2WvjKNPoFVZ@ zhR~tR4X7cC+e>`@x6+)5U0)td&6H5iHrF6u+OP*;t5FDa?t_eZU_~^rHvwM&F1cVg zE)PKoF1h65G!HJGgY#Bwr2w zoHcOKC?G=VFl5JlPk9{T(RaG{k@5oIsgQvC0Z;kZgg+E1YXIw^t8%x)7*9sx}2PE3|vvRG@#C&>A zuAK=Co#wNPa_vGB^Z6CIc9n_w;<{YB4j5X-FK^4Wn@r4C_vPB{rf6Sh$+i1U%s1I` z?MV}}qt<=QqAv!_w6Wr6s#pnF^8TCs`Q z*D2SkP0V+_a;+OMw4nQuLhEk|`JScFjyEws@D$p4rf3I53a#E0@}o?lU1eepS}3#` zCgzZpLi?qO`N>Y9Jz!!EJ1Ml}20+Vp#8siaZ(@#W74WnCL2-WeRA|{S0@AYm;-k>2 zfT7d;>aWmxn3!Wh3N6_+pAPvg1Y|QY$HytOt4+*_i3)9^i8(n{q1^}!5s7bYf%%ApTu4@E&ja%fVKUPd+C?z*Oac$?rSCy%VCbx`lq$86z|12d*D96T zSX0RL7`1ktiMf%W)_!1OZYHa>Uz?cQ>(tsGOw66P)Y{)o%-wXgHq*pBct@?xGBH{2 ztF`68#E`!5c&l354vd~i@bnY4_B;$Xv~0O&Ewz7{n7oUY+FK^(*%eD|o{1^AZmF#_ zF@?7+wQVM*=)R?v2c3EeWX~FUIoZ7+Q$-+Gyzjjy1K_b1Jvf2rd zBSp4fnycLxV)E;~Emu3wl0F~hY8OIGFZBH^SG&}b9lp%fo?}VBZ*#R*+BE%t$klGJ zWWX=E+PkdTz~6I@tFG>>4fN9D4!RLBOX180TWfyETPcj3mad_`eQ9mHPvRHt4VEgQpGFi z7x16l+o^cR;(g*3A6h)wtN794DT#_SNzJ7+HC4gyggDyYCijgh+FSXwTtyd)r&m_= zws=NW#XyVqYgJKa@yvD=yMs+W`&T=@T3)Uixw@=OAGqwCZGX5f~`1 zPmsDh|H%bT#mg2i^eWy4tHk7@RK;h+$~bv^i;91N%@w=2RmFcTUedZEO_oM}LYs=_ z7N6L*qN~LxwX5iB@zVAc!!15}y9Raj8sPE*HiJDh)?gY8i!uKxdL7qFx?h)NMBQTP znu-LV3)!YSITa!JENs$UtGcdC*H+}<{iN&cR8)e833uTMN)==ek!~Am+k@3r>F%jm zZC^`zM6uc-5Y6>;&s?l_jMen2jMYxEWc#XE?S7W@ZWXJYYe}DWvD#xS>02GEJqe-_ zOYcxiyOggPs6+!?-CztD+s)(jYhLrf#}gZZTUle!0f+9Ni1|V&xSMHzL*( zCR;nsy~I1RT^WI`dE)mug5ndu_kld|dxxm_#4q61ED!bcR77`ad8o&`5V?gAKLklP zDF>P-e$`Umj z0vMO#O9b(E2%g0zF(^I0Q=)G$j+~mYe@X1%ghwL(fdf^dpVKOQ5Ym(OCk95X!p9)B zB0G-lAcQ&?sR zd#13;6821CM@!f#8ihp zQ#i~L_DtafYsQ`_oNWnvrtm~d*fWKfTf&|x++YcNrtmgP*fWLqL3BgZW6u=+Uit+%-A!9pFqsqVb2tP3rVHWuxH{$ zecav=Vb2s^z(u9|gC2XPP*<4Anmtpv7V?}l?3qG-Xu6k3DnZkctGxkhjyj3v` zd!{gD345ln$`bZWVMj~YGljh^Vb2tfguKcE;IU^4CqQ%q&C{MK(zs`uQHQvboyqmf zgVtKuYd~*8S*5poa4pcR0(&^YMzEPF<5Iz6;K3T1@lo)Um9veC&msLRE`M*gviaW5 z!RI#pP$&4#;<{AuyT!wDK?3uS)e*z1f}F)8Y6E_OywE`-2LyFiK5B3sDjzfGeGOvdd zE&~5un0;S(I)q~fnl3qw7yCZb!bZf5*YvV8t)U= zZM=EF*yY?q%tpyyM+v`iT6Hjukcye-$>GA>o` zl(K5?xWEN&(B-(m333)M^n&K#J0)L~3Oa(#^?N)%YGAVhEp8PIvUo}BV3frtve{g0O!AAV0fe@ z>;c2Y5Y2m^Jz%)pYS;sYt1Mv;7+!7(d%$qLCF}viO_s0+4DW|%^nC3BOV@9r0j_Q^ zp&Q~}PNY@d4s2{IlSvxJS~Rc*Kyh?lZ2lc!PKwa9Mso<|$&_zx`-9|+cLQ@?E@ z2qqOl-hyfiwzpu21!F9jY{5Ym9A&{t7Mule68BPEye|19xDcokPDHX`_$|Tww(v#Kfqsw7SE$<4EWekN$mMq=-{?Dcz4IuO$aA)sd2>4Ek<+prH*ni?;2=Ja zky^|C+Z;OPA}Ag@_6Kt4m`+qYbetk(!Oie^Dc8EkNE!ER7Iwm&gV?Pe?4Z0+u;UiN z&9%UqWn2u237jipT*bdOnN|Vsjm_XXDy1>oPlsfSjK z9@_G3mm@-YD_Eu+5z?Ppydp~f2mFj|&dR0hXl}@|%n>2I8GM!SIctK6+i_c!t5HXU zU=~DG&=Dax))I~g!P$^AWyTR9*kTDsgy4B=#t|WS%@U3X!9OkGh!Fe=F?HmK5V$nf z5RM2z6No94BSKJZ2}gvWpCud-0(FovJp1ZP5K zvnc3@5L^g3N<>G5kj6RDV;-xHlX-w^nIpn$us&SA-h?bigmesOR)Ia7bOx*x-ndk{ zJ=j!ne3Y)Savc%0fnATl+bzoxAw3Fc(hqgg<1DUArKeatESEk2yqaVj5z>cQJfb#z z0@!rW$N}kPRz7NQdb!2Bj7^_s@#tykE5W9I91%)Q5d@Tf01Q3J5w|!YLr=Z_RWH2-V;+4GE_J(}+gI3>Ke5s*1r3qEZ-4@5{kxGx>1} zxC(eHkW;`qqC_lt6O!CUg7|#|-MP>>1;`DlBal--o+uSdz9ch#oz;oUJ>V^b-mEOA zfb=Bbf+TcrCq2XBed6f@EuQS9kF$76BE14^uK1~`^o8IhO1p2AUT5Xga_O5ao?e;0 z!{QlL>3c2SuT}aHi)Xe=KMywf>|gEV)bgZi6lwrWA9zlvmB3)Pft*voMhu^-p$eyD zIR&J50S-(-7dYv?EMDlPr-MgIz9^NR3pO+G_!jA-z-EzI+$w#N#YdGAbmzB zj=)^hoC4BkgD=8{Q$Q0=0qOJM!=&r%q%Q#PAbH}D{ zwfNBS=_f5dVz2ZY79Ta)OkUHLW2dD*vT`=J&UZA>bFNAe#&S%N$hnU2G_JS@h~wJ` zdSc>khp#_I?jYGuCuryRLx~b&2!gJd_D$>!j01V7^aJU*xzH5G=SydzV^Q*@5w~5V zT$(!Zol&lmvL}B3jg;Ft@qJLFNurj(joOmA*=zBi#9lURV*8}mBTubD~Q~y@+4&{0wL5jrj zzMdW{I6y}2JIok0wJLomqCPTZff9!-O%DIjsc2Kl^hHFIWrT01+!zBTwMOY% z&>ko4d`31ZW|1*jIO!))u9osf@^7SU;-ue2xlzi+eAA+l@@gmjE6V4jTt&8-hS`pG z(oK34l~>|ziZa~;!M|m_(Ra7WT2(Za2-PPjoO7wU7aNOVd*!!8nVV2a_yj9vo~j^I$R9&VvnLI}h%(a^}GU7BdeXx0reG zti{ZOS1e{8YyjW;=0Uq`vA4|- zJKVBtik5lMnaIq8gSfzR#ZI0xNiJXnslvf+RY#ZMBYnFr7NuI^Zyd1l6^jgvkM zrI`n-nIu+O$T#Msm!W-LLwgt6rVW!a5iYaJNBB|(%JiKGewX#D)Plh*O#~iQ%9G1; zwhJ^7UcfMN4&0u5*i3|l#PQ1r=o60CzB^wNp?(?6HCP58lj#m-8N44zf8Rw!f4@M) zGWa2pSq6JBHTZCKb6)7fvMY6-+f<#?Gc#b_x0V6B^ZI=Bjq>EcfU}6C)+Mb@WFyI z#-O{?efQf&%9InIhq8^7`?3BvQYM}F2`J^=>CWaOk%w@uzA9we;G58O{0T@B(+SpL zi&wimIWJX#>ysA}ap&h2qNPY(Esg&pleiN+fr%NJ0ls?^l?dKJU}`nccW*`D$b;2$ zR+~xt1Ioxbv#;Y^QH#Gjar|KdGikdrX;nsjm$z;(X+M)`VbX2`GHKr=V$yz3#H3B` zP@J^AeRpG{Tq>P-JCv)aiAx=~HBx4ISZ-79L`UiI!vrfB=DWQlIK&Ee;o6trGz1?g zzp=i%96_nd4B6Ev|B!Mb9}10>k?DBOPq)&gp7XWok^3-@obmk}XKyw<^NIEMBLDH# z5Uwe{FzD_?iLiJ$_CIeui|Nov=UHteot%!a)#y@6+qHAu~coO2p1SvyUb0>@)jAj+BP` z`GpAU>&OURtCG6}o7g@s2KC=#Tlgczc9wuM)Bt9PXm~DxA)%0*f z%+_2zpY6R5zN=(mZ*sm*mVQlH?*T-e^o8289)h*<3NGs^*jXi(brkHPVscF?aGetE zZs=~%zM?%0eHz-YM1O(~D$!dj9cQN!)pNv=_0-AMPSF%9)$R|~Zcf?mGMT%vzIO9U zwL7F#yF*oexoOD}HvyaIgUtM;)g@`EE1YWWMxEE$i+Hi|N^` z*;l07hU9W^l`xYfd6^|lmgIGixHL?bLulSAHopBRbNQ@rTlk*151r45^w_p(oy^%6n9iSDC5j zZnCa;1x+(0-qp}q&A7Xx42-t&Tug48!VS~)fBfN1D{J}-)|Vn{b{#>}AsA~8H@lA@ zpM^aka5_NmT*%)Dcw0d3IiCWYs!zE_){&vpd<&)cBU`xCr$tIZMuEoLi7Sk2_~K0v zMnWyk;I+~W8ABe0Iqo@~*}!|T_B0@J?jn4XUHZ$!zfI+HPg!lRfP-%Fam#P$c--<6 zQSot02Pq3aUM+z5cx8x+K3+RXxr6cX+Cj>-#zl)~F*bj@OpQkCR{M(-b^L)c{i6hH z3_L=x(-)G?6|6Pz0Kv}Y{O;tr6hylj+6%f^w7aO2{DvSkQ^@d#=o8Pm$h7=q%p#{5 zOXnIksRM{F*%#+v&M&1EV$cw>>gTl~GAqQsSp7t9S|QE?H(ViB!tDyN23)^FY=YPo z;$Cq53h|sJS|MJCXdamr;v=ik3h}iiS|NV1L@Pv`dYRm`LS!t_3Q+~o4FBIN#Gxvy zutFRNWQCYX#0s&1=>M`ptXJB?3UQ^N?P33n9Et{1G)+X1pS3U*RUvg#ABR?W?-N4(Ak-YJ7F>bUG9f`xVCHNhT|mTfD+ zPX&7_-?DE6c@Ys%znbK2uObSoNnFyLoeO43>C5d3@BHjuidNmh94gdywQ5`b5mW9E zY1Sx@@`s=YiC$oG-$(FbO}-{mfM;M*p$(*I<5hQ(SH&8rY3Jq2pyEcTY09O_pyD^^ z;mYI^L&sNfa8Zqo)~qt0k-4|2tZ5rm^(#y>tu9ShAkqrcR1RudVVY@mX=YZITM>N< z%lBx`tt$a}i2O(36F`c#<%1T~0N_-8&$ZE9uM+4s4R99V*!>aTav;IS1Wt=ImGpOS zxdc@qI9bR98mZ#abUH$_Dz&P{K2g_lovchyu)1CbHxmRsWe{s^KCjwn^;)8uIJctX zT~cL)u|=3fPIf5wu2`1Z5}QA47JI0K;3UCu z>re*6hXKc5An8ECJq;WyI6=1IZj9qZ(Mh6F>>xh&4xpFzI=Be7TJSEw$$mPNzN#xb z9+N_#WKQlRxPKZ!@;eL?vGfO6?;-vbgW@<>&99@3TT9iu%~WrHmAui6=?uY58t!1S z;O(kucnsA$NOZHQUi&%JYDnC1cC%oPz&s?2EVxMEbR-)rcmfc;q2Naa<#RDm8{1pZ z1K^bZJd`%0o_NEzz~A>B>ZH@b_%W(l7k&He^aXC~NTHhaQq`21-0q9uHOG<(w$K0lg$WC@=i&AzdO z&yQxmK{QGUa~x5=W}>shtjFvaU$F9qxEF69Af+#5PJwfUu2n}~{`|%oT@i7IgbRWq zs)+SBKgRsmeq$E|#r?+4K=vDhh>H7-IZ_t(8~aJQ#hpM@+;5yBWnsT@yp;HU5czTU z93sz)pGWRD$Yx;tQs7$I+~ls7P0G8I$o)GT0w?A_BK)MTN`KBM;8PO&TLqsMOzbok z_?)1Ve2*ZmJxLA14PA9L$3%jH&_%4(34{$O+2B zIGFdq{y}Vgd5`#Kq@N>?ybs5F7nGT*OjQ7Y^u-=&A z<2`c3NLH5wSl%NiLQHGqJ#xM!@*dd$`AlZ=9(l_Wd5?Ty&E!4uoh9-fNzx@IH+hdV zh195y@*ZhxiM&U8STlK#47EhwBNHr<_lWx1oMirI!h(^^ED({i^ERpxfH`YwvBfndXyhoC|6w}Ciq>Ux= z9_eF=yhnyxBJYujmdJbLFiYe;vJ6tA>d1R!oh9-fx!sz{d*lgA70BcmW@?#O#&JmeQ?&F~ znpz_7ks3?nJ+gx(@*WvxiM&VlvP9k^Gc1w!$dQ)Fd*oEeOm)1xM^;0gRt@AmvM-mR zse!ylW?3TdkvW#gdt{*{@*Y`ciM&TvSt9R|>mZM($y(kcw?npyl)Ohe_^cpK<{w<+ z>@;?OjpOq5@gDJaPqzk|RRHgi&R{cB@E+L-Y^sR&$S^CH_sFrNe*}S#_lUo9dKS>6 zAL^tJu^8`>V=cyeqvyzlPzB$b7s<{sF#QSl%O_Kpqp3_sBPp7e(Yf@(ZL!gC*~g zBzYMk?~$eu(-ZO@X>EzTN4i)d?~y?^jl4%jS|aa}iPp?`kEp?Asy8>3&GYp}B$8%k z@nO3#-Xlt3_sH$wx0Dv| zkq50D?~%V-jQ7Y37UMngn#FjJylXMuBVT|`KKtW6qLwFBqk{KHVYEZ71g1Z%_lV>? zbSO*l42Y}V$9u#-E`0#-VnjaPBl9iBdt?##TFLPqSq4@iKHekeg3Tg>_sC@y<2|z8 zV!TK0vKa4?CoRT%WUIw^k8HE}WV}b}>x%bCJ;r-P*bF?+S3}jnkYRX_yh_z}<|0n? zE8mVto4WKhEFN;3U{jag0R9OZHg!$d)TM8Muayq(5xpSe7U3@3uiFgyn+V<`4}vv^ zwW$lXTEeC-cneY^4V${)Gpk`!7kp<4o4Vk4OW4!}@**&~v8fBnEn!m^w1Q~#%%;xF zZZlBUdqe|;$B5c%Yz^K7U6-Z&E z3fO5jX|ChkkznE!kCa0=rMq=XRM?phGdpuLY{L)bVByb|!H6RT_0jK+G;oomqXhG- zI9-}~v#WB+{{yPcrfX=`T4cKO;LeYl-vVxa4?&AwE&0AXpk)Q%d4N-;Hx&(#;jvNk z-ryFCQ0X;AEvEr?1GJh(Fj*$cVx5}LmCbdijs#^;!@{d2t7xVLqulW&; z-%{|}-vrwTUZ?4j=qR{B&`Hiz@CODtUFID+Np)K>kBtMfHjho_^TgzFdnpe&{E=KK zs{`tK54~#M{xp$n+|yOh!gM&JbWmF^X?_wNWJdce(T@C^znb{@&gn{f({W{v)9Esx z?)>EM!Tfs3uT+WokD!}HuP`*%n$4T2921@V9O$c}*PTKp`8CjYMK71O(|>^`&xeqI zE&1)|W7hg1`rr!MaKL#C=JlBtgHb<;toh3d-X*C0oWN=AWgTZOkFqX07sLBA%_Dg8 zyn^irYP%CKye4>({Mu%*Z97Q8R0RhUI7uy2IW;}hhSn_D#SgL0THseH6SKw}`iaT2 zIcvA)R5u}v1>;ENTt(QD|6BOipY8^l1NtWjID@NzcYvJ1UnEL;?sr6-)729{0p0Gd zW_l{-JxaAkBDEKEv?s;P_q(I@=0A(VKif!-Wr+Rr4OAvhB8!E)L^$SG)nmU!J#><- zl*vJ{LS_dkGbgo`ApSPNSu*UIK8>iCJ0$2stTNo8PS78$jNM^gu(QP@Qo(5OZjz6R zf{Eba!lQG+bc@GS26L_b?p49z7LRKc9A)vucENEL?_C`n4>tKst_@DKcxpE%HHplV ztB`mTiY=I6y5kxnQj#!QFFdJ$Zx-HHJwYrjA*+e+rDSp|POy#xU+|2|| zR!iq3)Hj{OGq2@t?jd-&ZXzz{-<#v-P9ZMqN1o>Znk>L{D<&1QkX(W!dk2C39!BF$ zsm^VY{Zh0~OJUUiKs6BJO|LTQoKY!}x9(^zGz@Kfw^PN>Dzx{kQhUw9P-t%fzN%g@ zFmt7C@7bokYS0hl8l6ppRySzS)f7|Tp!;ounjKSY&}V;c&`dP-4N7ngmm0JX)&HSE zb;ml+=?xmxOAWfH(4dPsX|ff~R}H3eKRYL+eYEiE&M<~c;>aI`l_dr5s8 zmr&4YD`?}|25mHJt{t>XNn{4?N=&y>NW~LK8V%ZKXzJVe5!zB4o#XzGZF~yV%?;W( zR5iP{(8g;`8#fz?Y2!TxHetE)HyUV~8*f*fq~=4&%)%}U_yAo_gKlonpcfksT00V% z293pZs~R*GNuvf`h^D?l^U#(WbStX=J!qAWYc@SxyeJ$0v$0 z5Y5~PeNgmv6_MEneMEGV>B^`*A9$i0Ma#$XiSZc)dH4Idy})H%(C-Jx>0V>SXqfIe zRICIn1!T`A&|l3W50QDb z8)Q9M{qb6%cV9ETYp%N2)IlQb0Ni=YyVeMi&O`m?91q9 zWtSNbeOL4sL&sHfyHE4&N6o#=VyKywKPhc1t=ykb;71V8j}@2i6=Y#9oX=6cjH==; zB#kbdK1)bom+x25mM)wzs0J#(KP}&;Fyzjb6HxL!pu%UxceXIAswkt5jS8z%f?{EX z4+HZ#F%@y21_hOMBcZ7WEwj_K-HD_vi&Zq3r!9{{=A`nhG0i8bRQXJJ&Z-K+*avi7 zd1M|wM(L?oB(I`xf&PF%aPLU9##|arEEFW zWRyO;H-bc6@?mfxP*F}w556;iuZ>a9ZhPQ9rU@>ps z*l00t-?+zO-oEh|*yOW6UU$P)-DTvOQqAKR5S)yj`@vTO7Xi5+d=vngRLMGr*I6@>lf;c-SBe~G}%A--<%l*WA!X{P_X%;kzTS}{G!n> zBw+S@LB#9{Q80Vj5*>@N9M*LXc291Q%jw{>vW@q*X1E#8#4MPA;8vwe@Usgm*$BJ$ zHb}Td2_GZypCU-SLa>Mgcwf8+JPL^S#cU#8x^OCysX-fZ(rXHW%aH_hgIkT{OXaPs zicJe|McYZ*8sF6mze?@qUgM)EM@Y%n4z@K?@}kq*#l&Syw#RfOg5tHm9LTkQ8d34uzd_2v`xe$pxz@c*%D88#!>EP7La=5qCHWT!b~13SV69++_jk8b%I^J033Hy^7uI7} zSn@npfCpvTa{_rK_5If;MY}3x@^$FTCAvL3o>xW9o8ywBpkJ4$?me|S(56kja!TRN z%*lnw|0Arm}Z~)0)uxM%hQLd|EE6 zscvkhS7u+act%zBEsOVSmHp7-neDRQfK5Jp$dnCN9lxf8vhNAv|0TE?Js&b^-?hNl z=14Ve@;f+H7j~oug`m*LF7UFR1a5Mg*5iudE+VdI_&gH>f~~MqXTTNqBB$311w$`!x1a7fJ=lly za_RgFV66apxpe+r$Y3g?mrLjWWeI*P`P2*=9iYLFB|pd#{8;k4K};I_Sn~S$07LL& z$scS9ek}Q8A*PP_vE)y(1V5Jixz-Fnmi*P0;K!1`-4gs*@=scVA4~oPOYmdKzhMb} zEcuTu!H*^XohA6OxLgoKClEomVAXJ__5@-gP4lq$CBUPYVc#p?`#QvEctQP z3_q6qG^@dnC4aCb__5?qv;;qv{Ax?^W657*34Sd3J1oJECI6fy__5?ahM4N$$C8iF zEE4=!@=YM7ukmBa*I0rdOMZwY__5@tS%M!+evT#hvE+}i1V5JiVu-mU@MFoZwgf+x z{CbFfazZbc&OZjxvl+cyI{!Ar)Br!0{68(hk0t*jL{Dz?a_RgZ5Hol1W67uYcbvVY z!H*?h37I8=A4~pLNH&Dv$CBR+FJ@9r~CWcpKKeu>9ZT462aFsD~KsH8}#%9#utoBX@?=m(U zT0DAMwguSK4+oY~n{Z$mNahcrOzzlBFTc+A1HY*PdpP-l;7^5dV9Aey=xwrk`E`CA z#L=X|fh9i~V)Dj;C4aCbII!f8g$!0LabU@xU>erron+Ff1M>bu;lNs zW^!OLYjl;?XdGBfBN`DiN;4a@uF8q$siS`E52uywfL(w%t+XLZ#G)QZ%K8w*^+C6B zCiR?Eq3W8PJf2CSGuU-Xa@;)*Lw+UGIeAJsuZ_;O0{(=E*G6YMTfETA_6El_VHc&c zL%?Rdj&G6O1#GUx#jUb?S-hlmc0Y?xXp=p{;uG6uPqz4^cG(pcFKwT_#A4h%N_A~m z@A87&bkopSgASCtM<1&83)fV-U-P$!^xEj`G{E=Bd2MudfAC(yU8`E~+UV?T_#fh( zo$NfYe(NCJh4tcaNM5AdhWrAsx=^o;&abcpcaQuUh-Qgi8=YTkHMo1^Z?Xh;kNjp! zaQDb>u>^OI{L_};?vZ~LqTPUbZFFfuCmIZYb)mgx02|_7Jd&&4CP~a|dDXqa5cY;`omQ_HeqnEt`u$q%p@Ce!^-f z*c?vVAB1V)Ef~##98NrTkcW9&k%OG-oXr%=kAQS9LN`PYJe#qJK?^-)1braWmC%sFNBCR#x0fOzFD?29HRkrh|8rd{mU0 z16JBe%L>b2XC+e~PWIc46ym2aS zCm7fYYD1nKq+k?5MXVEFF$9!9Owk`;>tgGjldb%a(R~hC_6-7VFe=cW&1YA&WtFBt zp|Pt>V}GaQg0xw8a(+W}wTzr5O-^HOHOOGP>Y(jD?@rscKrR<|>uG3%@s=3Zo^Bf~py_zkfH1(Hvt-7(< zCg^HuuQBu;sAA6lTd2GHagi%u1+Q7)`U`&~-9=N*Ol$J9NG1-&L7r zi&;=j^PdzgOEH0)UD37J=PxMhj4r+9>eQE#<_fI5j4aGm_&uQhDjZAYurgQS5hxm5 zg&AEm8)ZiNWmK;jg(2L5iwAMJ~SCHR? zGpM>M@k-0=4e+dfgtg)uvfUz}w@5uLa1!8EK>7Owhm)wk5`Eqx`xTr&)97|!@2x_k z3(L-rB&%<5b~*j7WGp*Rq4;xy2Ppa5#Rl)$t=Qo9fKr1`fYmqnU^3J#2`X|7 zBvu`BPgUHJJ231*1Zxf!JXf&Op+IkyV3(Od$5)s*1A*`PQYIycuaQNsn7dZ-_UjS3 zBj*8o%f#J7u#bV`1^b?=TAIgNsk=Z!5XO6^`xEtw4+(B2lW|zYhdRN7;C+R8GWeOr zJQ@5Kc%kGx8BCCFCfUS!GANHkgLyJ2$3&BsCxh)R=E-13i+M8G*{H zVm{7&eT6--krLVcX>a*9&>N6C68JLE-I92MDCwnC+V8-4cVGTS$#V!&7ZV&vc3$6< zGMWZ-H-~SYiN6aUJ$Cr-M;zOu(1GJj2Yw*Qc#Vbkh2X^FG^~k31kV)A8h8QFyuhoO zp=+U;8WO$8e2Pu+vpvAsfdpl#5rnzqIKqO-FEW|h(8Mz)Zpow_S5<7^h9+@i5;rF0 zN0QaT6*z?w$7cB1Ma0?D2%7A}Y&{R)7@O7Dw1LECHn7Q-^tW66tpBawioU(lA5hRY zxsB{qPJ=wYw>AeBZJzt9P1CcA^_cy?%jt{Wlyh(~kAMC(kG-wUoT5#dF8)(p7TR*= z{qJ%vvid{+xBf0$#$m-WI{mebH>}O!MVpa-wfW7KGyi{=)BNmWdyg#Uall{m7-VgZ zD%zaf$fn{)k8$Ad|6kx#9x;zKrLJi?Gq&kW>eE#3v2Ci0)bX{-_$}c{U4rq&n8pUj z3TxC(Gm*P%B^qMjjeYy28qJ5W3WSf(tSAc1SG-o(pu>CYBTVasLci zsMO8yc&`v-{_N%c0^-;L*IeTZOQkL{rJ5`Gc$FGmMPHli{DfO{o%8hGF)P3ce-ph1 zYSxAm9@k~Bi**41u~U4$uS3E<3Wg}ym7riS9uzz6&jw9Crl69M+7>(gFGkBKuVl1R zMrZuR=!#wqjW)<=`Cp8lYGm|~j8^=`=*LDz+hlZ>-=uP8qx1bHk0bq4z4VH>QoZKLaMfROE9>3RXsL|W z{KaTcBcrQjbb;Sw3erCnxuB8ZJu(L&~`MO|TwP4lwVF=_utEw~8p~c{9&0xS8=R zIdRop$lT8UoWqE^^rl|^5W%h?F!2H%n-Dcmc>RoE_n-Ng_p1bZ7}!U!X9D|V{QT^j z%CFD!*rfig;gqtsZqB9p_TgTr=ni^zn3@2cCE8a-rRGDAFBxABT~bfeJ8Id}U$7(j z^YnCY1cj%kA(@58Nf&9qlDQ27Jv|*o`~w1isFR%xo{5E?p3bzGr>Aqlj+(>M(-Xm} zr=FfJx0t7=Ypgv_PcN~Ur>9p~%+u4g7W4G8eq%(g4~mCCrgA>rw%Dsv2w z2c$X5FO#nLxdYI+Jc-sF*|X8O zOfuu5xAB>A*~^SecaCCaT=p^JG6rhKWp5RgnhQ1KQZT*%YR1LT9L-=$^d?Pc@+|?6 zEA(LZQ|iuBQ8ns4U~F^6cSNaVnaYb|WLu^rk*XQxM4J-C+YwBrz1%nN3fvROee;n- z+&Awp3k~qmaBhzdS5{-K@JtDNIlFW1dCpEP31ce}MNY@V9jDzgUg1T&!#Uhb)^#-< z!i_uK1Ud#7@1wUTIEMjam&f-fO2oVqiQG;#$YcIW;o3{U{^f$5uM}J_*hLopCc&

sIuxkI0q z!DE7Tk_I?%nELH{AByl{#%HsXBUDcKFX+}1)$0=V<)4B!ihw#lhi&_@W=X!^hoZxw z9Yl9io1@-EvuKF5KNf@CWH9$T*Dz7RrB#ox16f0_`}6@8d{2GAF|o zg1grM!?9?tuh)e0p|^{UHQLjm_lk}grF4%A7IM5C%~SR15-*fAx1-rwPcysGlB)A? zzMjulfsSmE-5Z|WUjb9oDSLn>ECA$Q0-Pc+j`JuJh80Cgvnz4oA$E^$`RAnlnMWq+ zSb#~o9AJ``D`|>@tb6QVlF4b;Bx?#V$@&9I$!e8s!C#Usu*uH0$!@jDnoM!oww}wi zcrxJTRYmZb1=OXWYPz}zjARi*Xn<0EXjSnw*ql{VITiOYm%X~m`Ir;}O)n>TEIf5Q zLHr2}60xSw5czeLSIAB#l}C_8r6!q^T!*mPEM{Y`#E|^!7!E?580zFd2k#<0%*$7x zH+V!U-wJ%7uSa!X%T|1Z+mmiWJj_+FN3*9m2!d-51yN(r0JMUcF% z&~B{`PSYil99@uX!lck0rcX>@tde&rhvC>)N!a}FqE3soq)jE0-4P|Y)CFH!1>G}Vj19Yk=s^nG15V~zBilVhY; z;m!qt7Sz?Pw4lCamzxTSu)DcOMVzzM3W^Ut=-YBHB&ekl0!elV76wP_*FUrtjf>Q?E@OKnqjHC^$hu z*9!=GE0~~QhJwQtEK+cqg7Xzzt>8uiCp}92vnRpTe7osnplF;W_yI*TtQmel(QHfb1Bw<~f*(+HCdAYWKcHx}CHMhF>#P}mK+&C+;0F{v zVF`Xf(c6~b2NZp134TD)mzLlM6#Z%men3&;*kTj#1B#kjf*(-S#uEI1qE43J2Nd;# zn2O>D6pgeR{D7i~mf!~z9bnDy1B&Kb4Sqn;VoUG?idI>IA5e6?CHMhFcUyuVQ1o|8 z@B@n8w*)_+=vRoT4t_vUGd_b1!4D{^ftbO<4=CEv68wOo36|go6wS8;KcHxdCHMhF zr&@v^P;?&TPz^ACK+%(y;0F}F1z9Z(en8Pld}i&!5k|j;6kP-{HNX!jT5kz{K+#6X zM490S6x|Cka|b`5=rPEC(%=Uay#P5x1V5l??m`}Nq#^hLMe`vhYy5zsVQXz1?#B8dCV0O+VBL-?O+b6@G50e3wwY~{cr~=H4S&5`DFeIN^i$NzlId<1}@ix z>)}MZgWCw>4irs=bQQrJC^`VrUj%oc=un8s8+V{+u_d?zMQ1`xPv8y|oo@;5K+%Wz^tu4arj8F{Bb35i?jb8?=r=R0<=f_oq_dkt|Rg zaSj3w0dmCYO~kwZjzrSrID+`e1P^f4afmt_xEaXz7p^Db3H-$}yFz9g2oB*2@@D1u zRz~sDIg}czi&X9H@-8MwM!RkW&8d5aU z5*(bOaS+Wy9|xysn$_Uo6wS5-2d8MhB{(=m$6JDfQ?$$y9Gs$+5RIPsHKfudnrJYg zs~b${hM3>#)Ix3twlv7Lo8of*Jb~pc(KE+yqK0FEvPyJw!l_`h)9LPo`pT%mJ@`%3 z!yulQ5jXj~7Izg&ro_Z6?NnJdR$cgE&&)byOCfNnDT$%(@Wi(CVTTGiNT6 zi{^4_9vVf?Is}=iJ2~cAFT;H{6*G?USqgEos*UqH|J>c=0ht#&mU1JL`!#F$45#dG z$WAU(W^5)RD2~k-AY-!&QE_Yzm9j842THltogro1vsu^4a-w3>ZjrLkwCki?>s}>gVcI<}WntPq zF69>Y9wH7)%gOdzDGTSJ&!oJ`eUpgu(7%c7%YgjUN%h3n_h5?(ClNvX{nb^mWGmrW zgBZbNJHZ1CtQI_wb*=LlXzH(ZSI>GtE17gXm6c3bT(j?kZ-%(AP zM1urV>trxQ28DOdc{d>N&W)KeeRW8Y_;(ht>Kmyp-pbfa;d_M7FW`HHR~hVN?BJVQ zdM}`HJD7^}SqiK+6;VEJ$2SwyNws%t46K$xCu8u1q~;3GemRuS0%^=_EZfTD{Fk)m zPJG#q&|gH&^xkIxohiSBysihAKLEG`;24t)n9wX z*U-XJQ9cLB2S_U31bij%E#Mb{dDyrNT*XpAR^VDdbAfvS)dKOl!eXBr345A~a0NR4 z;kok1$VDe_$7sH?n)$i%y+~^`P7^h7rmD76`$|*m!^y5tYx#*TlxkSZ%DLdC$0#_7 zprUeE;Q*i0a-F+`-)dEvi94Mm>S4Vi>^PUd1awqdVfYUq+iVb z;}5^Cyz(7*`J1Hq9MJSff{MFf`YE7_{{k`q{+g&}@{eg$vx-qvO0{dMPsk>!nKp=j ztyNP~BbB|9vgbD_yRyFArYf^(!}1L`#XFL?G>eZy!|u`XnZ@g^#%XpN7vBsfxB-U%^7j!qRrjC7O7L*=XHXY{ z7lpK_6`!8H3QtcFeNTuSc_u3H`XFtsBXMtCIF0 z=r<*LCiIsQEgMB~r`U3nDZ#p*=^=&F-xZJ+poz>9&L`OYRv z#KIehc&CAC?<{2mJZEJ)^?QaK*=-SibT#j_B(A%X)s3My{r(w(V!v+#((i8*75hDQ zD#}8?|0?BL_j@S|{l1-)h0R5CAe)PbsJOWpA!T86F<8o*+#W;>$~Yps;hkEK@g$Xc zf7L$bA0a%edyMdC!2=9jAb4PJq=_YhW;2jjCTO-3iE~QQ3ro@~OK^P&-coN{e4?g_ zm%0;aqWBub^ur~Rezb(0!1f=X&(T%CqhZT^!)ZhvFXU45I|7~m4`=McmRZz1{qx5O79N(57VNGH`gMXm3~V9TQ!t93pDGvYGm?xl z*D#~Hi0-I@vps;vVU_tC@*O2N579F_Qr=+Eo%U9$E1}(&DHDxBrWuRx_VqNo6VPO` zBl3Qd@4icd%y+f&8OSF|zQ^8@Pb+`dqc`9#5#8q)(WjxOiJH+>bLaV$@fOY~Rh=c0u&zZWbN z(sg$hsFL9cQ1A45?P_RNv{1ntpv^@K*>tEkEW4fh*QU@M(>6DoiarR>ji63X3G_hn z3ZQ%i;5~t>0bdB5h|P}zYXA-tzWg3QDDXU>nLug`4r&0i?TD={uH}d4a>K}FJ;@51 zk!XAft9)(_X^qA)RU56U9p5xJl$=b}UIaXaZLS-@RPA_xsoF}w7pTeuI?YtA9l%s= z1i(~nD!^3jY(Rb02COSqfT|rxE~Tn1wi>GTgVi`q`qQX`uVduN-+i=0MQj9u%JBqF z)90@y_=KQY8I4+dO%b%Zwg}c)@Sp`h0i68fT%^fKRqaVsrN_X953c5Vdex#oK})%U zxsLlbc8OT4&xlgV7Bv_eP26cd9Na=dYnjSZ#Az;l^CO_~;|VS~4bUg9>{bC|mp9kF zy%y3Jvu}PGIKG~s)iMe=yv=~rfo*TYHlKhVDgrnz_ZKuzm9;fRw=uyJ?xA3`2tiPE|K=T>oodGC(_WzEK&!At3 zil0Fpr7S$~YX#(Eri`fgz;9 z+XcIQi;cfTu)Bd91$$^$;@>RT^Ebiug1xkhPQ1nCev0T0H8denwuj@KRiZmX*Ochd z&?`#x8t9FpeYI>S?<;BEM)Pnz<+Ho^XRAL;x^ac-k1th!&r5DoQ$CVox#8CsJ{I@`lM=eq4QL*7FaImaw_oM&#sWt4dJ4SXQE*y|R^0|<&U zWHXQ%vWciTL*A9LFhgFIa*O*UQE`U+B4uHQd@JQz_X{Fshw>d; z(s=)A!Gl!_&Nn$zlX=fz6COn0nsVove%k~!H9AD4gtzR;*XfmXUI%iCPC&LW1wApX ztKG@0B*^|k8n*aO_7%W-Kv|Y#n*@#o+z)Vay6I;A%InC_o73cW1WoR*4;~hJLV*f) zl6M1B+6W|7>B5aI(F#?w@^!Q>p2cK^&%uYV_}2vY!~F@(_|b&?3ZUxD?>pr$1S^?8 zE|tF#tP=e3QT{e7=OI%m-?)>UiGexvaNn$hCe1roM$ST{R^vKn5p{}G&z~i!{Wn>fAfV@rtX7XSqs+*;iSYG1+2j+yN@*`)75@t2rCiHx$NYdeX6`R} z-OmPApNFy6Ua+HqpV^NU(*z)5ZgIPp#hJkPlt z>^U1u1^Xb1oF@r4-o^Hdc*CuZvx}^wb7bvWZY$UXaje>#s;DDpYsVWeSffeqbrtNy zG;sXZ6S?~&S}U5+o9*@x?JAmln^HKCAmFWZ++;1TRGNS0)a*I!JCa{)78a57GvUK` zGr;F^uZ)xv=;!$M5b9^Sxw^+7i<$ey-Wh@&w!_jpL9n_?aDiaQe^H8$d)-vA&N|5_ zj-r0&i`Gh+*aTfI+9e=a;#KISC2hrCIMW?s9m)-_01j^e9 zJ|+miAczmcfS2s;LgagqipuD6X>LM%E~laJcmoVkDjBp!6{?HO>g~J<@|;&pKW)Gw za&}^dTyih{Lp+iiFz1}O1$F?BMakP1Z&XzM1{SWoeqtSUQMjiF*4(I^7tpG!L_0qu zdN%at5`6%At7w<4(!LD6y+nV8-d#@}e={~~;BJ3knVk)cuTLx|^1bAR{QYmZW{JxjUvF6G*{lxrW8YswC+oodIc zl$Q#_`*Nv}S4xFw`{TG~cwbW?t~xvRx}e#atxQ4R%>+FV1OpX}P%w@loW+csDzF-G zkbqt~IUm4l>ImB1UU-RW?1N0O9v*B`aK8dw$>A2PUlRBh@Qy%YZ=7TSPV@u8v!vHb z75gL;{7xJsV+2hUn02NV*0r#3cR(M30{}w+yv~d8!aKODru1KA0R;32>ofD>I!c;cP3fjIVcCfGn6=!NFNg9@G^2w%hc6@lbF9C`&>1HJ$_ znVUBAS#U8|;e8f74RFfl(X;Wo+-+zIfriuZ?}R7+MvyobgG9{y4x{JH@5DtEy8=<< z^j_^aztSDM5 z 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

aO8K5fP?Yk6jG!px#~49T%1<_eqLiOu1Vt&o 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%0AOr=x)%>W-tKW~>{{|+O=yM! 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

)Ltca2ErOmh_wYmn=6LSN@&Z9M#w%2 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ⅆ!MiVRUf~#?Se- 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 ZRKy6P9gFCz@vJ{OLoGr)x13K~{ulj#zf}ML diff --git a/svelte.config.js b/svelte.config.js index 794d526..c1c9318 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,5 +1,12 @@ -import adapter from '@sveltejs/adapter-static'; +import adapter from "@sveltejs/adapter-static"; -const config = { kit: { adapter: adapter() } }; +const config = { + kit: { adapter: adapter() }, + compilerOptions: { + warningFilter: (warning) => + !warning.filename?.includes("node_modules") && + !warning.code.startsWith("a11y"), + }, +}; export default config;