pdfjs-dist
Version:
Generic build of Mozilla's PDF.js library.
12 lines (10 loc) • 462 kB
JavaScript
/* THIS FILE IS GENERATED - DO NOT EDIT */
var OpenJPEG = (() => {
return (
function(moduleArg = {}) {
var moduleRtn;
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;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(Ba){var a;var b=new Uint8Array(123);for(var c=25;c>=0;--c){b[48+c]=52+c;b[65+c]=c;b[97+c]=26+c}b[43]=62;b[47]=63;function i(j,k,l){var d,e,c=0,f=k,g=l.length,h=k+(g*3>>2)-(l[g-2]=="=")-(l[g-1]=="=");for(;c<g;c+=4){d=b[l.charCodeAt(c+1)];e=b[l.charCodeAt(c+2)];j[f++]=b[l.charCodeAt(c)]<<2|d>>4;if(f<h)j[f++]=d<<4|e>>2;if(f<h)j[f++]=e<<6|b[l.charCodeAt(c+3)]}return j}function m(n){i(a,1024,"Y2Fubm90IGFsbG9jYXRlIG9wal90Y2Rfc2VnX2RhdGFfY2h1bmtfdCogYXJyYXkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABVbmtub3duIGZvcm1hdABGYWlsZWQgdG8gc2V0dXAgdGhlIHJlZHVjdGlvbiBmYWN0b3IARmFpbGVkIHRvIHNldHVwIHRoZSBkZWNvZGVyAEZhaWxlZCB0byByZWFkIHRoZSBoZWFkZXIAbmFuACpsX3RpbGVfbGVuID4gVUlOVF9NQVggLSBPUEpfQ09NTU9OX0NCTEtfREFUQV9FWFRSQSAtIHBfajJrLT5tX3NwZWNpZmljX3BhcmFtLm1fZGVjb2Rlci5tX3NvdF9sZW5ndGgAaW5mAEZhaWxlZCB0byBkZWNvZGUgdGhlIGltYWdlAEludmFsaWQgYWNjZXNzIHRvIHBpLT5pbmNsdWRlAC90bXAvb3BlbmpwZWcvc3JjL2Jpbi9jb21tb24vY29sb3IuYwBBTExfQ1BVUwBPUEpfTlVNX1RIUkVBRFMATkFOAE9KUF9ET19OT1RfRElTUExBWV9USUxFX0lOREVYX0lGX1RMTQBJTkYAcF9qMmstPm1fc3BlY2lmaWNfcGFyYW0ubV9kZWNvZGVyLm1fc290X2xlbmd0aCA+IFVJTlRfTUFYIC0gT1BKX0NPTU1PTl9DQkxLX0RBVEFfRVhUUkEACQkJIHByZWNjaW50c2l6ZSAodyxoKT0ACQkJIHN0ZXBzaXplcyAobSxlKT0AU09UIG1hcmtlciBmb3IgdGlsZSAldSBkZWNsYXJlcyBtb3JlIHRpbGUtcGFydHMgdGhhbiBmb3VuZCBpbiBUTE0gbWFya2VyLgAobnVsbCkAKCVkLCVkKSAAJXN9CgAJCSB9CgBbREVWXSBEdW1wIGFuIGltYWdlX2NvbXBfaGVhZGVyIHN0cnVjdCB7CgBbREVWXSBEdW1wIGFuIGltYWdlX2hlYWRlciBzdHJ1Y3QgewoASW1hZ2UgaW5mbyB7CgAJIGRlZmF1bHQgdGlsZSB7CgAlcwkgY29tcG9uZW50ICVkIHsKAAkJIGNvbXAgJWQgewoACSBUaWxlIGluZGV4OiB7CgAJIE1hcmtlciBsaXN0OiB7CgBDb2Rlc3RyZWFtIGluZGV4IGZyb20gbWFpbiBoZWFkZXI6IHsKAENvZGVzdHJlYW0gaW5mbyBmcm9tIG1haW4gaGVhZGVyOiB7CgBTdHJlYW0gZXJyb3Igd2hpbGUgcmVhZGluZyBKUDIgSGVhZGVyIGJveAoARm91bmQgYSBtaXNwbGFjZWQgJyVjJWMlYyVjJyBib3ggb3V0c2lkZSBqcDJoIGJveAoATWFsZm9ybWVkIEpQMiBmaWxlIGZvcm1hdDogZmlyc3QgYm94IG11c3QgYmUgSlBFRyAyMDAwIHNpZ25hdHVyZSBib3gKAE1hbGZvcm1lZCBKUDIgZmlsZSBmb3JtYXQ6IHNlY29uZCBib3ggbXVzdCBiZSBmaWxlIHR5cGUgYm94CgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUganBlZzIwMDAgYm94CgBOb3QgZW5vdWdoIG1lbW9yeSB3aXRoIEZUWVAgQm94CgBBIG1hcmtlciBJRCB3YXMgZXhwZWN0ZWQgKDB4ZmYtLSkgaW5zdGVhZCBvZiAlLjh4CgAJCSBtY3Q9JXgKAAkJCSBjYmxrc3R5PSUjeAoACQkJIGNzdHk9JSN4CgAJCSBwcmc9JSN4CgBJbnRlZ2VyIG92ZXJmbG93CgAJIHRkeD0ldSwgdGR5PSV1CgAJIHR3PSV1LCB0aD0ldQoACSB0eDA9JXUsIHR5MD0ldQoASW52YWxpZCBjb21wb25lbnQgaW5kZXg6ICV1CgBTdHJlYW0gdG9vIHNob3J0CgBNYXJrZXIgaGFuZGxlciBmdW5jdGlvbiBmYWlsZWQgdG8gcmVhZCB0aGUgbWFya2VyIHNlZ21lbnQKAE5vdCBlbm91Z2ggbWVtb3J5IGZvciBjdXJyZW50IHByZWNpbmN0IGNvZGVibG9jayBlbGVtZW50CgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQKAEVycm9yIHJlYWRpbmcgU1FjZCBvciBTUWNjIGVsZW1lbnQKAEEgQlBDQyBoZWFkZXIgYm94IGlzIGF2YWlsYWJsZSBhbHRob3VnaCBCUEMgZ2l2ZW4gYnkgdGhlIElIRFIgYm94ICglZCkgaW5kaWNhdGUgY29tcG9uZW50cyBiaXQgZGVwdGggaXMgY29uc3RhbnQKAEVycm9yIHdpdGggU0laIG1hcmtlcjogaWxsZWdhbCB0aWxlIG9mZnNldAoASW52YWxpZCBwcmVjaW5jdAoATm90IGVub3VnaCBtZW1vcnkgdG8gaGFuZGxlIGJhbmQgcHJlY2ludHMKAEZhaWxlZCB0byBkZWNvZGUgYWxsIHVzZWQgY29tcG9uZW50cwoAU2l6ZSBvZiBjb2RlIGJsb2NrIGRhdGEgZXhjZWVkcyBzeXN0ZW0gbGltaXRzCgBTaXplIG9mIHRpbGUgZGF0YSBleGNlZWRzIHN5c3RlbSBsaW1pdHMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBNQ1QgbWFya2VycwoAQ29ycnVwdGVkIFBQTSBtYXJrZXJzCgBOb3QgZW5vdWdoIG1lbW9yeSBmb3IgdGlsZSByZXNvbHV0aW9ucwoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIG11bHRpcGxlIGNvbGxlY3Rpb25zCgBJbnZhbGlkIFBDTFIgYm94LiBSZXBvcnRzIDAgcGFsZXR0ZSBjb2x1bW5zCgBXZSBkbyBub3Qgc3VwcG9ydCBST0kgaW4gZGVjb2RpbmcgSFQgY29kZWJsb2NrcwoAQ2Fubm90IGhhbmRsZSBib3ggb2YgdW5kZWZpbmVkIHNpemVzCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgY29sbGVjdGlvbnMgd2l0aG91dCBzYW1lIG51bWJlciBvZiBpbmRpeGVzCgBJbnZhbGlkIHRpbGVjLT53aW5feHh4IHZhbHVlcwoAQ2Fubm90IGhhbmRsZSBib3ggb2YgbGVzcyB0aGFuIDggYnl0ZXMKAENhbm5vdCBoYW5kbGUgWEwgYm94IG9mIGxlc3MgdGhhbiAxNiBieXRlcwoAQ29tcG9uZW50IGluZGV4ICV1IHVzZWQgc2V2ZXJhbCB0aW1lcwoASW52YWxpZCBQQ0xSIGJveC4gUmVwb3J0cyAlZCBlbnRyaWVzCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBjcmVhdGUgVGFnLXRyZWUgbm9kZXMKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtY3QgZGF0YSB3aXRoaW4gbXVsdGlwbGUgTUNUIHJlY29yZHMKAENhbm5vdCBkZWNvZGUgdGlsZSwgbWVtb3J5IGVycm9yCgBvcGpfajJrX2FwcGx5X25iX3RpbGVfcGFydHNfY29ycmVjdGlvbiBlcnJvcgoAUHJvYmxlbSB3aXRoIHNraXBwaW5nIEpQRUcyMDAwIGJveCwgc3RyZWFtIGVycm9yCgBQcm9ibGVtIHdpdGggcmVhZGluZyBKUEVHMjAwMCBib3gsIHN0cmVhbSBlcnJvcgoAVW5rbm93biBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFkZCB0bCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGFkZCBtaCBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHRha2UgaW4gY2hhcmdlIFNJWiBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUFBUIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBQUFQgbWFya2VyCgBFcnJvciByZWFkaW5nIFNPVCBtYXJrZXIKAERpZCBub3QgZ2V0IGV4cGVjdGVkIFNPVCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUExUIG1hcmtlcgoARXJyb3IgcmVhZGluZyBNQ1QgbWFya2VyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byByZWFkIE1DVCBtYXJrZXIKAE5vdCBlbm91Z2ggc3BhY2UgZm9yIGV4cGVjdGVkIFNPUCBtYXJrZXIKAEV4cGVjdGVkIFNPUCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgTUNPIG1hcmtlcgoARXJyb3IgcmVhZGluZyBSR04gbWFya2VyCgBFcnJvciByZWFkaW5nIFBQTSBtYXJrZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgUFBNIG1hcmtlcgoARXJyb3IgcmVhZGluZyBQTE0gbWFya2VyCgBFeHBlY3RlZCBFUEggbWFya2VyCgBOb3QgZW5vdWdoIHNwYWNlIGZvciByZXF1aXJlZCBFUEggbWFya2VyCgBFcnJvciByZWFkaW5nIENSRyBtYXJrZXIKAFVua25vd24gcHJvZ3Jlc3Npb24gb3JkZXIgaW4gQ09EIG1hcmtlcgoAVW5rbm93biBTY29kIHZhbHVlIGluIENPRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgQ09EIG1hcmtlcgoARXJyb3IgcmVhZGluZyBRQ0QgbWFya2VyCgBDcnJvciByZWFkaW5nIENCRCBtYXJrZXIKAEVycm9yIHJlYWRpbmcgUE9DIG1hcmtlcgoARXJyb3IgcmVhZGluZyBDT0MgbWFya2VyCgBFcnJvciByZWFkaW5nIFFDQyBtYXJrZXIKAEVycm9yIHJlYWRpbmcgTUNDIG1hcmtlcgoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVhZCBNQ0MgbWFya2VyCgByZXF1aXJlZCBTSVogbWFya2VyIG5vdCBmb3VuZCBpbiBtYWluIGhlYWRlcgoAcmVxdWlyZWQgQ09EIG1hcmtlciBub3QgZm91bmQgaW4gbWFpbiBoZWFkZXIKAHJlcXVpcmVkIFFDRCBtYXJrZXIgbm90IGZvdW5kIGluIG1haW4gaGVhZGVyCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBoYW5kbGUganBlZzIwMDAgZmlsZSBoZWFkZXIKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgaGVhZGVyCgBFcnJvciB3aXRoIEpQIFNpZ25hdHVyZSA6IGJhZCBtYWdpYyBudW1iZXIKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHRpbGUtcGFydCAoJWQpLCBnaXZpbmcgdXAKAEluIFNPVCBtYXJrZXIsIFRQU290ICglZCkgaXMgbm90IHZhbGlkIHJlZ2FyZHMgdG8gdGhlIHByZXZpb3VzIG51bWJlciBvZiB0aWxlLXBhcnQgKCVkKSwgZ2l2aW5nIHVwCgBJbiBTT1QgbWFya2VyLCBUUFNvdCAoJWQpIGlzIG5vdCB2YWxpZCByZWdhcmRzIHRvIHRoZSBjdXJyZW50IG51bWJlciBvZiB0aWxlLXBhcnQgKGhlYWRlcikgKCVkKSwgZ2l2aW5nIHVwCgB0aWxlcyByZXF1aXJlIGF0IGxlYXN0IG9uZSByZXNvbHV0aW9uCgBNYXJrZXIgaXMgbm90IGNvbXBsaWFudCB3aXRoIGl0cyBwb3NpdGlvbgoAUHJvYmxlbSB3aXRoIHNlZWsgZnVuY3Rpb24KAEVycm9yIHJlYWRpbmcgU1BDb2QgU1BDb2MgZWxlbWVudCwgSW52YWxpZCBjYmxrdy9jYmxraCBjb21iaW5hdGlvbgoASW52YWxpZCBtdWx0aXBsZSBjb21wb25lbnQgdHJhbnNmb3JtYXRpb24KAENhbm5vdCB0YWtlIGluIGNoYXJnZSBjb2xsZWN0aW9ucyBvdGhlciB0aGFuIGFycmF5IGRlY29ycmVsYXRpb24KAFRvbyBsYXJnZSB2YWx1ZSBmb3IgTnBwbQoATm90IGVub3VnaCBieXRlcyB0byByZWFkIE5wcG0KAGJhZCBwbGFjZWQganBlZyBjb2Rlc3RyZWFtCgAJIE1haW4gaGVhZGVyIHN0YXJ0IHBvc2l0aW9uPSVsbGkKCSBNYWluIGhlYWRlciBlbmQgcG9zaXRpb249JWxsaQoATWFya2VyIHNpemUgaW5jb25zaXN0ZW50IHdpdGggc3RyZWFtIGxlbmd0aAoAVGlsZSBwYXJ0IGxlbmd0aCBzaXplIGluY29uc2lzdGVudCB3aXRoIHN0cmVhbSBsZW5ndGgKAENhbm5vdCB0YWtlIGluIGNoYXJnZSBtdWx0aXBsZSBkYXRhIHNwYW5uaW5nCgBXcm9uZyBmbGFnCgBFcnJvciB3aXRoIEZUWVAgc2lnbmF0dXJlIEJveCBzaXplCgBFcnJvciB3aXRoIEpQIHNpZ25hdHVyZSBCb3ggc2l6ZQoASW52YWxpZCBwcmVjaW5jdCBzaXplCgBJbmNvbnNpc3RlbnQgbWFya2VyIHNpemUKAEludmFsaWQgbWFya2VyIHNpemUKAEVycm9yIHdpdGggU0laIG1hcmtlciBzaXplCgBOb3QgZW5vdWdoIG1lbW9yeSB0byBhZGQgYSBuZXcgdmFsaWRhdGlvbiBwcm9jZWR1cmUKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGRlY29kZSB0aWxlCgBGYWlsZWQgdG8gZGVjb2RlIHRoZSBjb2Rlc3RyZWFtIGluIHRoZSBKUDIgZmlsZQoAQ2Fubm90IHRha2UgaW4gY2hhcmdlIGNvbGxlY3Rpb25zIHdpdGggaW5kaXggc2h1ZmZsZQoAQ2Fubm90IGFsbG9jYXRlIFRpZXIgMSBoYW5kbGUKAE5vIGRlY29kZWQgYXJlYSBwYXJhbWV0ZXJzLCBzZXQgdGhlIGRlY29kZWQgYXJlYSB0byB0aGUgd2hvbGUgaW1hZ2UKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGNyZWF0ZSBUYWctdHJlZQoATm90IGVub3VnaCBtZW1vcnkgdG8gcmVpbml0aWFsaXplIHRoZSB0YWcgdHJlZQoARXJyb3IgcmVhZGluZyBTUENvZCBTUENvYyBlbGVtZW50LCBJbnZhbGlkIHRyYW5zZm9ybWF0aW9uIGZvdW5kCgBFcnJvciByZWFkaW5nIFNQQ29kIFNQQ29jIGVsZW1lbnQuIFVuc3VwcG9ydGVkIE1peGVkIEhUIGNvZGUtYmxvY2sgc3R5bGUgZm91bmQKAFRpbGUgWSBjb29yZGluYXRlcyBhcmUgbm90IHN1cHBvcnRlZAoAVGlsZSBYIGNvb3JkaW5hdGVzIGFyZSBub3Qgc3VwcG9ydGVkCgBJbWFnZSBjb29yZGluYXRlcyBhYm92ZSBJTlRfTUFYIGFyZSBub3Qgc3VwcG9ydGVkCgBKUEVHMjAwMCBIZWFkZXIgYm94IG5vdCByZWFkIHlldCwgJyVjJWMlYyVjJyBib3ggd2lsbCBiZSBpZ25vcmVkCgBvcGpfajJrX21lcmdlX3BwdCgpIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkCgBvcGpfajJrX2J1aWxkX3RwX2luZGV4X2Zyb21fdGxtKCk6IHRpbGUgaW5kZXggYWxsb2NhdGlvbiBmYWlsZWQKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlYWQgU09UIG1hcmtlci4gVGlsZSBpbmRleCBhbGxvY2F0aW9uIGZhaWxlZAoASWdub3JpbmcgaWhkciBib3guIEZpcnN0IGloZHIgYm94IGFscmVhZHkgcmVhZAoAWnBwdCAldSBhbHJlYWR5IHJlYWQKAFpwcG0gJXUgYWxyZWFkeSByZWFkCgBQVEVSTSBjaGVjayBmYWlsdXJlOiAlZCBzeW50aGVzaXplZCAweEZGIG1hcmtlcnMgcmVhZAoACQkJIGNibGt3PTJeJWQKAAkJCSBjYmxraD0yXiVkCgAJCQkgcW50c3R5PSVkCgAlcyBkeD0lZCwgZHk9JWQKAAkJCSByb2lzaGlmdD0lZAoACQkJIG51bWdiaXRzPSVkCgAJCSBudW1sYXllcnM9JWQKACVzIG51bWNvbXBzPSVkCgBvcGpfanAyX2FwcGx5X2NkZWY6IGFjbj0lZCwgbnVtY29tcHM9JWQKAG9wal9qcDJfYXBwbHlfY2RlZjogY249JWQsIG51bWNvbXBzPSVkCgAJCQkgbnVtcmVzb2x1dGlvbnM9JWQKAAkJIHR5cGU9JSN4LCBwb3M9JWxsaSwgbGVuPSVkCgAlcyBzZ25kPSVkCgAJCQkgcW1mYmlkPSVkCgAlcyBwcmVjPSVkCgAJCSBuYiBvZiB0aWxlLXBhcnQgaW4gdGlsZSBbJWRdPSVkCgAlcyB4MT0lZCwgeTE9JWQKACVzIHgwPSVkLCB5MD0lZAoARmFpbGVkIHRvIGRlY29kZSB0aWxlICVkLyVkCgBTZXR0aW5nIGRlY29kaW5nIGFyZWEgdG8gJWQsJWQsJWQsJWQKAEZhaWxlZCB0byBkZWNvZGUgY29tcG9uZW50ICVkCgBJbnZhbGlkIHZhbHVlIGZvciBudW1yZXNvbHV0aW9ucyA6ICVkLCBtYXggdmFsdWUgaXMgc2V0IGluIG9wZW5qcGVnLmggYXQgJWQKAEludmFsaWQgY29tcG9uZW50IG51bWJlcjogJWQsIHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIGNvbXBvbmVudHMgJWQKAFRvbyBtYW55IFBPQ3MgJWQKAG9wal9qMmtfcmVhZF90bG0oKTogaW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIG51bWJlciAlZAoASW52YWxpZCB0aWxlIHBhcnQgaW5kZXggZm9yIHRpbGUgbnVtYmVyICVkLiBHb3QgJWQsIGV4cGVjdGVkICVkCgBFcnJvciB3aXRoIFNJWiBtYXJrZXI6IG51bWJlciBvZiBjb21wb25lbnQgaXMgaWxsZWdhbCAtPiAlZAoATm90IGVub3VnaCBtZW1vcnkgZm9yIGNpZWxhYgoAQ2Fubm90IGFsbG9jYXRlIGNibGstPmRlY29kZWRfZGF0YQoARmFpbGVkIHRvIG1lcmdlIFBQVCBkYXRhCgBGYWlsZWQgdG8gbWVyZ2UgUFBNIGRhdGEKAEludmFsaWQgbnVtYmVyIG9mIGxheWVycyBpbiBDT0QgbWFya2VyIDogJWQgbm90IGluIHJhbmdlIFsxLTY1NTM1XQoAJXM6JWQ6Y29sb3JfY215a190b19yZ2IKCUNBTiBOT1QgQ09OVkVSVAoAJXM6JWQ6Y29sb3JfZXN5Y2NfdG9fcmdiCglDQU4gTk9UIENPTlZFUlQKACVzOiVkOmNvbG9yX3N5Y2NfdG9fcmdiCglDQU4gTk9UIENPTlZFUlQKAFN0cmVhbSB0b28gc2hvcnQsIGV4cGVjdGVkIFNPVAoAVW5hYmxlIHRvIHNldCB0MSBoYW5kbGUgYXMgVExTCgBTb3QgbGVuZ3RoIGlzIGxlc3MgdGhhbiBtYXJrZXIgc2l6ZSArIG1hcmtlciBJRAoAU3RyZWFtIGRvZXMgbm90IGVuZCB3aXRoIEVPQwoAQ2Fubm90IGhhbmRsZSBib3ggc2l6ZXMgaGlnaGVyIHRoYW4gMl4zMgoAb3BqX3BpX25leHRfbHJjcCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcmxjcCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfY3BybCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcGNybCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3BpX25leHRfcnBjbCgpOiBpbnZhbGlkIGNvbXBubzAvY29tcG5vMQoAb3BqX3QxX2RlY29kZV9jYmxrKCk6IHVuc3VwcG9ydGVkIGJwbm9fcGx1c19vbmUgPSAlZCA+PSAzMQoARmFpbGVkIHRvIGRlY29kZSB0aWxlIDEvMQoASW5zdWZmaWNpZW50IGRhdGEgZm9yIENNQVAgYm94LgoATmVlZCB0byByZWFkIGEgUENMUiBib3ggYmVmb3JlIHRoZSBDTUFQIGJveC4KAEluc3VmZmljaWVudCBkYXRhIGZvciBDREVGIGJveC4KAE51bWJlciBvZiBjaGFubmVsIGRlc2NyaXB0aW9uIGlzIGVxdWFsIHRvIHplcm8gaW4gQ0RFRiBib3guCgBTdHJlYW0gZXJyb3Igd2hpbGUgcmVhZGluZyBKUDIgSGVhZGVyIGJveDogbm8gJ2loZHInIGJveC4KAE5vbiBjb25mb3JtYW50IGNvZGVzdHJlYW0gVFBzb3Q9PVROc290LgoAU3RyZWFtIGVycm9yIHdoaWxlIHJlYWRpbmcgSlAyIEhlYWRlciBib3g6IGJveCBsZW5ndGggaXMgaW5jb25zaXN0ZW50LgoAQm94IGxlbmd0aCBpcyBpbmNvbnNpc3RlbnQuCgBSZXNvbHV0aW9uIGZhY3RvciBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVzb2x1dGlvbiBpbiB0aGUgY29tcG9uZW50LgoAQ29tcG9uZW50IG1hcHBpbmcgc2VlbXMgd3JvbmcuIFRyeWluZyB0byBjb3JyZWN0LgoAb3BqX2oya19idWlsZF90cF9pbmRleF9mcm9tX3RsbSgpOiB0aWxlICVkIGhhcyBubyByZWdpc3RlcmVkIHRpbGUtcGFydCBpbiBUTE0gbWFya2VyIHNlZ21lbnRzLgoAb3BqX2oya19yZWFkX3RsbSgpOiB0b28gbWFueSBUTE0gbWFya2Vycy4KAG9wal9qMmtfcmVhZF90bG0oKTogY2Fubm90IGFsbG9jYXRlIG1fdGlsZV9wYXJ0X2luZm9zLgoASW5jb21wbGV0ZSBjaGFubmVsIGRlZmluaXRpb25zLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gSW52YWxpZCBjb2RlYmxvY2sgbGVuZ3RoIHZhbHVlcy4KAFdlIGRvIG5vdCBzdXBwb3J0IG1vcmUgdGhhbiAzIGNvZGluZyBwYXNzZXMgaW4gYW4gSFQgY29kZWJsb2NrOyBUaGlzIGNvZGVibG9ja3MgaGFzICVkIHBhc3Nlcy4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIERlY29kaW5nIHRoaXMgY29kZWJsb2NrIGlzIHN0b3BwZWQuIFRoZXJlIGFyZSAlZCB6ZXJvIGJpdHBsYW5lcyBpbiAlZCBiaXRwbGFuZXMuCgBDYW5ub3QgdGFrZSBpbiBjaGFyZ2UgbXVsdGlwbGUgdHJhbnNmb3JtYXRpb24gc3RhZ2VzLgoAVW5rbm93biBtYXJrZXIgaGFzIGJlZW4gZGV0ZWN0ZWQgYW5kIGdlbmVyYXRlZCBlcnJvci4KAENvZGVjIHByb3ZpZGVkIHRvIHRoZSBvcGpfc2V0dXBfZGVjb2RlciBmdW5jdGlvbiBpcyBub3QgYSBkZWNvbXByZXNzb3IgaGFuZGxlci4KAENvZGVjIHByb3ZpZGVkIHRvIHRoZSBvcGpfcmVhZF9oZWFkZXIgZnVuY3Rpb24gaXMgbm90IGEgZGVjb21wcmVzc29yIGhhbmRsZXIuCgBFcnJvciByZWFkaW5nIFRMTSBtYXJrZXIuCgBUaWxlcyBkb24ndCBhbGwgaGF2ZSB0aGUgc2FtZSBkaW1lbnNpb24uIFNraXAgdGhlIE1DVCBzdGVwLgoATnVtYmVyIG9mIGNvbXBvbmVudHMgKCVkKSBpcyBpbmNvbnNpc3RlbnQgd2l0aCBhIE1DVC4gU2tpcCB0aGUgTUNUIHN0ZXAuCgBKUDIgYm94IHdoaWNoIGFyZSBhZnRlciB0aGUgY29kZXN0cmVhbSB3aWxsIG5vdCBiZSByZWFkIGJ5IHRoaXMgZnVuY3Rpb24uCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBXaGVuIHRoZSBudW1iZXIgb2YgemVybyBwbGFuZXMgYml0cGxhbmVzIGlzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgYml0cGxhbmVzLCBvbmx5IHRoZSBjbGVhbnVwIHBhc3MgbWFrZXMgc2Vuc2UsIGJ1dCB3ZSBoYXZlICVkIHBhc3NlcyBpbiB0aGlzIGNvZGVibG9jay4gVGhlcmVmb3JlLCBvbmx5IHRoZSBjbGVhbnVwIHBhc3Mgd2lsbCBiZSBkZWNvZGVkLiBUaGlzIG1lc3NhZ2Ugd2lsbCBub3QgYmUgZGlzcGxheWVkIGFnYWluLgoASW1hZ2UgaGFzIGxlc3MgY29tcG9uZW50cyB0aGFuIGNvZGVzdHJlYW0uCgBOZWVkIHRvIGRlY29kZSB0aGUgbWFpbiBoZWFkZXIgYmVmb3JlIGJlZ2luIHRvIGRlY29kZSB0aGUgcmVtYWluaW5nIGNvZGVzdHJlYW0uCgBQc290IHZhbHVlIG9mIHRoZSBjdXJyZW50IHRpbGUtcGFydCBpcyBlcXVhbCB0byB6ZXJvLCB3ZSBhc3N1bWluZyBpdCBpcyB0aGUgbGFzdCB0aWxlLXBhcnQgb2YgdGhlIGNvZGVzdHJlYW0uCgBBIG1hbGZvcm1lZCBjb2RlYmxvY2sgdGhhdCBoYXMgbW9yZSB0aGFuIG9uZSBjb2RpbmcgcGFzcywgYnV0IHplcm8gbGVuZ3RoIGZvciAybmQgYW5kIHBvdGVudGlhbGx5IHRoZSAzcmQgcGFzcyBpbiBhbiBIVCBjb2RlYmxvY2suCgAJCQkgdGlsZS1wYXJ0WyVkXTogc3Rhcl9wb3M9JWxsaSwgZW5kX2hlYWRlcj0lbGxpLCBlbmRfcG9zPSVsbGkuCgBUaWxlICV1IGhhcyBUUHNvdCA9PSAwIGFuZCBUTnNvdCA9PSAwLCBidXQgbm8gb3RoZXIgdGlsZS1wYXJ0cyB3ZXJlIGZvdW5kLiBFT0MgaXMgYWxzbyBtaXNzaW5nLgoAQ29tcG9uZW50ICVkIGRvZXNuJ3QgaGF2ZSBhIG1hcHBpbmcuCgBvcGpfajJrX3JlYWRfdGxtKCk6IFRMTSBtYXJrZXIgbm90IG9mIGV4cGVjdGVkIHNpemUuCgBBIGNvbmZvcm1pbmcgSlAyIHJlYWRlciBzaGFsbCBpZ25vcmUgYWxsIENvbG91ciBTcGVjaWZpY2F0aW9uIGJveGVzIGFmdGVyIHRoZSBmaXJzdCwgc28gd2UgaWdub3JlIHRoaXMgb25lLgoAVGhlIHNpZ25hdHVyZSBib3ggbXVzdCBiZSB0aGUgZmlyc3QgYm94IGluIHRoZSBmaWxlLgoAVGhlICBib3ggbXVzdCBiZSB0aGUgZmlyc3QgYm94IGluIHRoZSBmaWxlLgoAVGhlIGZ0eXAgYm94IG11c3QgYmUgdGhlIHNlY29uZCBib3ggaW4gdGhlIGZpbGUuCgBGYWlsZWQgdG8gZGVjb2RlLgoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gSW5jb3JyZWN0IE1FTCBzZWdtZW50IHNlcXVlbmNlLgoAQ29tcG9uZW50ICVkIGlzIG1hcHBlZCB0d2ljZS4KAG9wal9qMmtfcmVhZF90bG0oKTogU1QgPSAzIGlzIGludmFsaWQuCgBPbmx5IG9uZSBDTUFQIGJveCBpcyBhbGxvd2VkLgoAV2UgbmVlZCBhbiBpbWFnZSBwcmV2aW91c2x5IGNyZWF0ZWQuCgBJSERSIGJveF9taXNzaW5nLiBSZXF1aXJlZC4KAEpQMkggYm94IG1pc3NpbmcuIFJlcXVpcmVkLgoATm90IHN1cmUgaG93IHRoYXQgaGFwcGVuZWQuCgBNYWluIGhlYWRlciBoYXMgYmVlbiBjb3JyZWN0bHkgZGVjb2RlZC4KAFRpbGUgJWQvJWQgaGFzIGJlZW4gZGVjb2RlZC4KAEhlYWRlciBvZiB0aWxlICVkIC8gJWQgaGFzIGJlZW4gcmVhZC4KAEVtcHR5IFNPVCBtYXJrZXIgZGV0ZWN0ZWQ6IFBzb3Q9JWQuCgBEaXJlY3QgdXNlIGF0ICMlZCBob3dldmVyIHBjb2w9JWQuCgBJbXBsZW1lbnRhdGlvbiBsaW1pdGF0aW9uOiBmb3IgcGFsZXR0ZSBtYXBwaW5nLCBwY29sWyVkXSBzaG91bGQgYmUgZXF1YWwgdG8gJWQsIGJ1dCBpcyBlcXVhbCB0byAlZC4KAEludmFsaWQgY29tcG9uZW50L3BhbGV0dGUgaW5kZXggZm9yIGRpcmVjdCBtYXBwaW5nICVkLgoASW52YWxpZCB2YWx1ZSBmb3IgY21hcFslZF0ubXR5cCA9ICVkLgoAUHNvdCB2YWx1ZSBpcyBub3QgY29ycmVjdCByZWdhcmRzIHRvIHRoZSBKUEVHMjAwMCBub3JtOiAlZC4KAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIFZMQyBjb2RlIHByb2R1Y2VzIHNpZ25pZmljYW50IHNhbXBsZXMgb3V0c2lkZSB0aGUgY29kZWJsb2NrIGFyZWEuCgBVbmV4cGVjdGVkIE9PTS4KADMyIGJpdHMgYXJlIG5vdCBlbm91Z2ggdG8gZGVjb2RlIHRoaXMgY29kZWJsb2NrLCBzaW5jZSB0aGUgbnVtYmVyIG9mIGJpdHBsYW5lLCAlZCwgaXMgbGFyZ2VyIHRoYW4gMzAuCgBCb3R0b20gcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kxPSVkKSBzaG91bGQgYmUgPiAwLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBzaG91bGQgYmUgPiAwLgoAVXAgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3kwPSVkKSBzaG91bGQgYmUgPj0gMC4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBzaG91bGQgYmUgPj0gMC4KAEVycm9yIHJlYWRpbmcgUFBUIG1hcmtlcjogcGFja2V0IGhlYWRlciBoYXZlIGJlZW4gcHJldmlvdXNseSBmb3VuZCBpbiB0aGUgbWFpbiBoZWFkZXIgKFBQTSBtYXJrZXIpLgoAU3RhcnQgdG8gcmVhZCBqMmsgbWFpbiBoZWFkZXIgKCVsbGQpLgoAQm90dG9tIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MT0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWXNpej0lZCkuCgBVcCBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTA9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlzaXo9JWQpLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYc2l6PSVkKS4KAExlZnQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gwPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYc2l6PSVkKS4KAEJvdHRvbSBwb3NpdGlvbiBvZiB0aGUgZGVjb2RlZCBhcmVhIChyZWdpb25feTE9JWQpIGlzIG91dHNpZGUgdGhlIGltYWdlIGFyZWEgKFlPc2l6PSVkKS4KAFVwIHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl95MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWU9zaXo9JWQpLgoAUmlnaHQgcG9zaXRpb24gb2YgdGhlIGRlY29kZWQgYXJlYSAocmVnaW9uX3gxPSVkKSBpcyBvdXRzaWRlIHRoZSBpbWFnZSBhcmVhIChYT3Npej0lZCkuCgBMZWZ0IHBvc2l0aW9uIG9mIHRoZSBkZWNvZGVkIGFyZWEgKHJlZ2lvbl94MD0lZCkgaXMgb3V0c2lkZSB0aGUgaW1hZ2UgYXJlYSAoWE9zaXo9JWQpLgoAU2l6ZSB4IG9mIHRoZSBkZWNvZGVkIGNvbXBvbmVudCBpbWFnZSBpcyBpbmNvcnJlY3QgKGNvbXBbJWRdLnc9JWQpLgoAU2l6ZSB5IG9mIHRoZSBkZWNvZGVkIGNvbXBvbmVudCBpbWFnZSBpcyBpbmNvcnJlY3QgKGNvbXBbJWRdLmg9JWQpLgoAVGlsZSByZWFkLCBkZWNvZGVkIGFuZCB1cGRhdGVkIGlzIG5vdCB0aGUgZGVzaXJlZCBvbmUgKCVkIHZzICVkKS4KAEludmFsaWQgY29tcG9uZW50IGluZGV4ICVkICg+PSAlZCkuCgBvcGpfcmVhZF9oZWFkZXIoKSBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZSBvcGpfc2V0X2RlY29kZWRfY29tcG9uZW50cygpLgoATWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSBpbiBvcGpfanAyX2FwcGx5X3BjbHIoKS4KAGltYWdlLT5jb21wc1slZF0uZGF0YSA9PSBOVUxMIGluIG9wal9qcDJfYXBwbHlfcGNscigpLgoAaW52YWxpZCBib3ggc2l6ZSAlZCAoJXgpCgBGYWlsIHRvIHJlYWQgdGhlIGN1cnJlbnQgbWFya2VyIHNlZ21lbnQgKCUjeCkKAEVycm9yIHdpdGggU0laIG1hcmtlcjogSUhEUiB3KCV1KSBoKCV1KSB2cy4gU0laIHcoJXUpIGgoJXUpCgBFcnJvciByZWFkaW5nIENPQyBtYXJrZXIgKGJhZCBudW1iZXIgb2YgY29tcG9uZW50cykKAEludmFsaWQgbnVtYmVyIG9mIHRpbGVzIDogJXUgeCAldSAobWF4aW11bSBmaXhlZCBieSBqcGVnMjAwMCBub3JtIGlzIDY1NTM1IHRpbGVzKQoASW52YWxpZCBudW1iZXIgb2YgY29tcG9uZW50cyAoaWhkcikKAE5vdCBlbm91Z2ggbWVtb3J5IHRvIGhhbmRsZSBpbWFnZSBoZWFkZXIgKGloZHIpCgBXcm9uZyB2YWx1ZXMgZm9yOiB3KCVkKSBoKCVkKSBudW1jb21wcyglZCkgKGloZHIpCgBJbnZhbGlkIHZhbHVlcyBmb3IgY29tcCA9ICVkIDogZHg9JXUgZHk9JXUgKHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDI1NSBhY2NvcmRpbmcgdG8gdGhlIEpQRUcyMDAwIG5vcm0pCgBCYWQgaW1hZ2UgaGVhZGVyIGJveCAoYmFkIHNpemUpCgBCYWQgQ09MUiBoZWFkZXIgYm94IChiYWQgc2l6ZSkKAEJhZCBCUENDIGhlYWRlciBib3ggKGJhZCBzaXplKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBuZWdhdGl2ZSBvciB6ZXJvIGltYWdlIHNpemUgKCVsbGQgeCAlbGxkKQoAc2tpcDogc2VnbWVudCB0b28gbG9uZyAoJWQpIHdpdGggbWF4ICglZCkgZm9yIGNvZGVibG9jayAlZCAocD0lZCwgYj0lZCwgcj0lZCwgYz0lZCkKAHJlYWQ6IHNlZ21lbnQgdG9vIGxvbmcgKCVkKSB3aXRoIG1heCAoJWQpIGZvciBjb2RlYmxvY2sgJWQgKHA9JWQsIGI9JWQsIHI9JWQsIGM9JWQpCgBEZXNwaXRlIEpQMiBCUEMhPTI1NSwgcHJlY2lzaW9uIGFuZC9vciBzZ25kIHZhbHVlcyBmb3IgY29tcFslZF0gaXMgZGlmZmVyZW50IHRoYW4gY29tcFswXToKICAgICAgICBbMF0gcHJlYyglZCkgc2duZCglZCkgWyVkXSBwcmVjKCVkKSBzZ25kKCVkKQoAYmFkIGNvbXBvbmVudCBudW1iZXIgaW4gUkdOICglZCB3aGVuIHRoZXJlIGFyZSBvbmx5ICVkKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBudW1iZXIgb2YgY29tcG9uZW50IGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHJlbWFpbmluZyBudW1iZXIgb2YgcGFyYW1ldGVycyAoICVkIHZzICVkKQoARXJyb3Igd2l0aCBTSVogbWFya2VyOiBpbnZhbGlkIHRpbGUgc2l6ZSAodGR4OiAlZCwgdGR5OiAlZCkKAEJhZCBDT0xSIGhlYWRlciBib3ggKGJhZCBzaXplOiAlZCkKAEJhZCBDT0xSIGhlYWRlciBib3ggKENJRUxhYiwgYmFkIHNpemU6ICVkKQoAUFRFUk0gY2hlY2sgZmFpbHVyZTogJWQgcmVtYWluaW5nIGJ5dGVzIGluIGNvZGUgYmxvY2sgKCVkIHVzZWQgLyAlZCkKAE1hbGZvcm1lZCBIVCBjb2RlYmxvY2suIE9uZSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBpcyBub3QgbWV0OiAyIDw9IFNjdXAgPD0gbWluKExjdXAsIDQwNzkpCgBJbnZhbGlkIHZhbHVlcyBmb3IgY29tcCA9ICVkIDogcHJlYz0ldSAoc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMzggYWNjb3JkaW5nIHRvIHRoZSBKUEVHMjAwMCBub3JtLiBPcGVuSnBlZyBvbmx5IHN1cHBvcnRzIHVwIHRvIDMxKQoASW52YWxpZCBiaXQgbnVtYmVyICVkIGluIG9wal90Ml9yZWFkX3BhY2tldF9oZWFkZXIoKQoAU3RyZWFtIGVycm9yIQoARXJyb3Igb24gd3JpdGluZyBzdHJlYW0hCgBTdHJlYW0gcmVhY2hlZCBpdHMgZW5kICEKAEV4cGVjdGVkIGEgU09DIG1hcmtlciAKAEludmFsaWQgYm94IHNpemUgJWQgZm9yIGJveCAnJWMlYyVjJWMnLiBOZWVkICVkIGJ5dGVzLCAlZCBieXRlcyByZW1haW5pbmcgCgBNYWxmb3JtZWQgSFQgY29kZWJsb2NrLiBEZWNvZGluZyB0aGlzIGNvZGVibG9jayBpcyBzdG9wcGVkLiBVX3EgaXMgbGFyZ2VyIHRoYW4gemVybyBiaXRwbGFuZXMgKyAxIAoATWFsZm9ybWVkIEhUIGNvZGVibG9jay4gRGVjb2RpbmcgdGhpcyBjb2RlYmxvY2sgaXMgc3RvcHBlZC4gVV9xIGlzbGFyZ2VyIHRoYW4gYml0cGxhbmVzICsgMSAKAENPTFIgQk9YIG1ldGggdmFsdWUgaXMgbm90IGEgcmVndWxhciB2YWx1ZSAoJWQpLCBzbyB3ZSB3aWxsIGlnbm9yZSB0aGUgZW50aXJlIENvbG91ciBTcGVjaWZpY2F0aW9uIGJveC4gCgBXaGlsZSByZWFkaW5nIENDUF9RTlRTVFkgZWxlbWVudCBpbnNpZGUgUUNEIG9yIFFDQyBtYXJrZXIgc2VnbWVudCwgbnVtYmVyIG9mIHN1YmJhbmRzICglZCkgaXMgZ3JlYXRlciB0byBPUEpfSjJLX01BWEJBTkRTICglZCkuIFNvIHdlIGxpbWl0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgc3RvcmVkIHRvIE9QSl9KMktfTUFYQkFORFMgKCVkKSBhbmQgc2tpcCB0aGUgcmVzdC4gCgBKUDIgSUhEUiBib3g6IGNvbXByZXNzaW9uIHR5cGUgaW5kaWNhdGUgdGhhdCB0aGUgZmlsZSBpcyBub3QgYSBjb25mb3JtaW5nIEpQMiBmaWxlICglZCkgCgBUaWxlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSB1c2VyIGlzIGluY29ycmVjdCAlZCAobWF4ID0gJWQpIAoARXJyb3IgZGVjb2RpbmcgY29tcG9uZW50ICVkLgpUaGUgbnVtYmVyIG9mIHJlc29sdXRpb25zIHRvIHJlbW92ZSAoJWQpIGlzIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiB0aGUgbnVtYmVyIG9mIHJlc29sdXRpb25zIG9mIHRoaXMgY29tcG9uZW50ICglZCkKTW9kaWZ5IHRoZSBjcF9yZWR1Y2UgcGFyYW1ldGVyLgoKAEltYWdlIGRhdGEgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIHRpbGUgJWQuCgo=");i(a,16656,"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");i(a,20764,"AQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAwAAAAMAAAAEAAAABQAAALchQiFnIUIhERERETMzMzN3d3d3AAAAAAAAAAABVgAAAAAAAIBRAACQUQAAAVYAAAEAAACQUQAAgFEAAAE0AAAAAAAAoFEAACBSAAABNAAAAQAAALBRAAAwUgAAARgAAAAAAADAUQAAgFIAAAEYAAABAAAA0FEAAJBSAADBCgAAAAAAAOBRAADgUgAAwQoAAAEAAADwUQAA8FIAACEFAAAAAAAAAFIAAABVAAAhBQAAAQAAABBSAAAQVQAAIQIAAAAAAAAgVgAAgFUAACECAAABAAAAMFYAAJBVAAABVgAAAAAAAEBSAAAwUgAAAVYAAAEAAABQUgAAIFIAAAFUAAAAAAAAYFIAACBTAAABVAAAAQAAAHBSAAAwUwAAAUgAAAAAAACAUgAAIFMAAAFIAAABAAAAkFIAADBTAAABOAAAAAAAAKBSAAAgUwAAATgAAAEAAACwUgAAMFMAAAEwAAAAAAAAwFIAAIBTAAABMAAAAQAAANBSAACQUwAAASQAAAAAAADgUgAAoFMAAAEkAAABAAAA8FIAALBTAAABHAAAAAAAAABTAADgUwAAARwAAAEAAAAQUwAA8FMAAAEWAAAAAAAAAFUAAABUAAABFgAAAQAAABBVAAAQVAAAAVYAAAAAAABAUwAAMFMAAAFWAAABAAAAUFMAACBTAAABVAAAAAAAAGBTAAAgUwAAAVQAAAEAAABwUwAAMFMAAAFRAAAAAAAAgFMAAEBTAAABUQAAAQAAAJBTAABQUwAAAUgAAAAAAACgUwAAYFMAAAFIAAABAAAAsFMAAHBTAAABOAAAAAAAAMBTAACAUwAAATgAAAEAAADQUwAAkFMAAAE0AAAAAAAA4FMAAKBTAAABNAAAAQAAAPBTAACwUwAAATAAAAAAAAAAVAAAwFMAAAEwAAABAAAAEFQAANBTAAABKAAAAAAAACBUAADAUwAAASgAAAEAAAAwVAAA0FMAAAEkAAAAAAAAQFQAAOBTAAABJAAAAQAAAFBUAADwUwAAASIAAAAAAABgVAAAAFQAAAEiAAABAAAAcFQAABBUAAABHAAAAAAAAIBUAAAgVAAAARwAAAEAAACQVAAAMFQAAAEYAAAAAAAAoFQAAEBUAAABGAAAAQAAALBUAABQVAAAARYAAAAAAADAVAAAYFQAAAEWAAABAAAA0FQAAHBUAAABFAAAAAAAAOBUAACAVAAAARQAAAEAAADwVAAAkFQAAAESAAAAAAAAAFUAAKBUAAABEgAAAQAAABBVAACwVAAAAREAAAAAAAAgVQAAwFQAAAERAAABAAAAMFUAANBUAADBCgAAAAAAAEBVAADgVAAAwQoAAAEAAABQVQAA8FQAAMEJAAAAAAAAYFUAAABVAADBCQAAAQAAAHBVAAAQVQAAoQgAAAAAAACAVQAAIFUAAKEIAAABAAAAkFUAADBVAAAhBQAAAAAAAKBVAABAVQAAIQUAAAEAAACwVQAAUFUAAEEEAAAAAAAAwFUAAGBVAABBBAAAAQAAANBVAABwVQAAoQIAAAAAAADgVQAAgFUAAKECAAABAAAA8FUAAJBVAAAhAgAAAAAAAABWAACgVQAAIQIAAAEAAAAQVgAAsFUAAEEBAAAAAAAAIFYAAMBVAABBAQAAAQAAADBWAADQVQAAEQEAAAAAAABAVgAA4FUAABEBAAABAAAAUFYAAPBVAACFAAAAAAAAAGBWAAAAVgAAhQAAAAEAAABwVgAAEFYAAEkAAAAAAAAAgFYAACBWAABJAAAAAQAAAJBWAAAwVgAAJQAAAAAAAACgVgAAQFYAACUAAAABAAAAsFYAAFBWAAAVAAAAAAAAAMBWAABgVgAAFQAAAAEAAADQVgAAcFYAAAkAAAAAAAAA4FYAAIBWAAAJAAAAAQAAAPBWAACQVgAABQAAAAAAAAAAVwAAoFYAAAUAAAABAAAAEFcAALBWAAABAAAAAAAAAABXAADAVgAAAQAAAAEAAAAQVwAA0FYAAAFWAAAAAAAAIFcAACBXAAABVgAAAQAAADBXAAAwVwAAAAEDAwECAwMFBgcHBgYHBwABAwMBAgMDBQYHBwYGBwcFBgcHBgYHBwgICAgICAgIBQYHBwYGBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAECAwMCAgMDBgYHBwYGBwcBAgMDAgIDAwYGBwcGBgcHBgYHBwYGBwcICAgICAgICAYGBwcGBgcHCAgICAgICAgCAgMDAgIDAwYGBwcGBgcHAgIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgAAQUGAQIGBgMDBwcDAwcHAAEFBgECBgYDAwcHAwMHBwMDBwcDAwcHBAQHBwQEBwcDAwcHAwMHBwQEBwcEBAcHAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwUGCAgGBggIBwcICAcHCAgFBggIBgYICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIAQIGBgICBgYDAwcHAwMHBwECBgYCAgYGAwMHBwMDBwcDAwcHAwMHBwQEBwcEBAcHAwMHBwMDBwcEBAcHBAQHBwICBgYCAgYGAwMHBwMDBwcCAgYGAgIGBgMDBwcDAwcHAwMHBwMDBwcEBAcHBAQHBwMDBwcDAwcHBAQHBwQEBwcGBggIBgYICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBgYICAYGCAgHBwgIBwcICAYGCAgGBggIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAcHCAgHBwgIBwcICAABAwMBAgMDBQYHBwYGBwcAAQMDAQIDAwUGBwcGBgcHBQYHBwYGBwcICAgICAgICAUGBwcGBgcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAwMEBAMDBAQHBwcHBwcHBwMDBAQDAwQEBwcHBwcHBwcHBwcHBwcHBwgICAgICAgIBwcHBwcHBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgBAgMDAgIDAwYGBwcGBgcHAQIDAwICAwMGBgcHBgYHBwYGBwcGBgcHCAgICAgICAgGBgcHBgYHBwgICAgICAgIAgIDAwICAwMGBgcHBgYHBwICAwMCAgMDBgYHBwYGBwcGBgcHBgYHBwgICAgICAgIBgYHBwYGBwcICAgICAgICAMDBAQDAwQEBwcHBwcHBwcDAwQEAwMEBAcHBwcHBwcHBwcHBwcHBwcICAgICAgICAcHBwcHBwcHCAgICAgICAgDAwQEAwMEBAcHBwcHBwcHAwMEBAMDBAQHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgHBwcHBwcHBwgICAgICAgIAAMBBAMGBAcBBAIFBAcFBwADAQQDBgQHAQQCBQQHBQcBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgBBAIFBAcFBwIFAgUFBwUHAQQCBQQHBQcCBQIFBQcFBwIFAgUFBwUHAgUCBQUHBQcCBQIFBQcFBwIFAgUFBwUHBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAMGBAcGCAcIBAcFBwcIBwgDBgQHBggHCAQHBQcHCAcIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgGCAcICAgICAcIBwgICAgIBggHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBAcFBwcIBwgFBwUHBwgHCAQHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAUHBQcHCAcIBQcFBwcIBwgFBwUHBwgHCAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgHCAcICAgICAcIBwgICAgIBwgHCAgICAgJCQoKCQkKCgwMDQsMDA0LCQkKCgkJCgoMDAsNDAwLDQwMDQ0MDAsLDAkNCgkMCgsMDAsLDAwNDQwJCwoJDAoNCQkKCgkJCgoMDA0LDAwNCwkJCgoJCQoKDAwLDQwMCw0MDA0NDAwLCwwJDQoJDAoLDAwLCwwMDQ0MCQsKCQwKDQoKCgoKCgoKDQsNCw0LDQsKCgkJCgoJCQ0LDAwNCwwMDQ0NDQsLCwsNCg0KCgsKCw0NDAwLCwwMDQoMCQoLCQwKCgkJCgoJCQsNDAwLDQwMCgoKCgoKCgoLDQsNCw0LDQsLDAwNDQwMCwoMCQoNCQwLCwsLDQ0NDQsKCwoKDQoN");i(a,24649,"AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQ==");i(a,24713,"AQABAAEAAQAAAQEAAAEBAAEAAQABAAEAAAAAAQEBAQAAAAAAAQABAAAAAAEBAQEAAAABAAEBAQ==");i(a,24777,"AQABAAEAAQ==");i(a,24793,"AQABAAEAAQAAAAABAQEBAAAAAAABAAEAAAAAAQEBAQAAAAAAAQABAQEAAAEBAAAAAQABAAEAAQEBAQEBAQEBAAEAAQABAAEAAAAAAQEBAQABAAABAQABAAAAAAEBAQEAAQABAQEBAQIAAAAEAAAABAAAAAgAAACQ/wAADAAAABkAAABS/wAAFAAAABoAAABT/wAAFAAAABsAAABe/wAAFAAAABwAAABc/wAAFAAAAB0AAABd/wAAFAAAAB4AAABf/wAAFAAAAB8AAABR/wAAAgAAACAAAABV/wAABAAAACEAAABX/wAABAAAACIAAABY/wAAEAAAACMAAABg/wAABAAAACQAAABh/wAAEAAAACUAAACR/w==");i(a,25080,"Y/8AAAQAAAAmAAAAZP8AABQAAAAnAAAAdP8AABQAAAAoAAAAeP8AAAQAAAApAAAAUP8AAAQAAAAqAAAAWf8AAAQAAAArAAAAdf8AABQAAAAsAAAAd/8AABQAAAAtAAAAAAAAABQ=");i(a,25200,"LgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAAgIFBqNwAAAHB5dGY4AAAAaDJwajk=");i(a,25264,"cmRoaToAAABybG9jOwAAAGNjcGI8AAAAcmxjcD0AAABwYW1jPgAAAGZlZGM/AAAAcGY=");i(a,25328,"GQALABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZAAoKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk=");i(a,25409,"DgAAAAAAAAAAGQALDRkZGQANAAACAAkOAAAACQAOAAAO");i(a,25467,"DA==");i(a,25479,"EwAAAAATAAAAAAkMAAAAAAAMAAAM");i(a,25525,"EA==");i(a,25537,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ");i(a,25583,"Eg==");i(a,25595,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa");i(a,25650,"GgAAABoaGgAAAAAAAAk=");i(a,25699,"FA==");i(a,25711,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU");i(a,25757,"Fg==");i(a,25769,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGAAAAAHAAAABwAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAHAAAABxAAAAcAAAAHAAAABwAAAAcA==");i(a,25904,"cQAAAHEAAABwAAAAcAAAAAAAAABwAAAAAAAAAHE=");i(a,26072,"kHABAAAAAAAF");i(a,26092,"aw==");i(a,26116,"bAAAAG0AAAD4aw==");i(a,26140,"Ag==");i(a,26156,"//////////8=");i(a,26224,"BQ==");i(a,26236,"bg==");i(a,26260,"bAAAAG8AAAAIbAAAAAQ=");i(a,26284,"AQ==");i(a,26300,"/////wo=")}var o=new ArrayBuffer(16);var p=new Int32Array(o);var q=new Float32Array(o);var r=new Float64Array(o);function s(t){return p[t]}function u(t,v){p[t]=v}function w(){return r[0]}function x(v){r[0]=v}function y(z,v,A){z=z>>>0;A=A>>>0;if(z+A>a.length)throw"trap: invalid memory.fill";a.fill(v,z,z+A)}function B(z,C,A){a.copyWithin(z,C,C+A)}function D(){throw new Error("abort")}function Aa(n){var E=new ArrayBuffer(16777216);var F=new Int8Array(E);var G=new Int16Array(E);var H=new Int32Array(E);var I=new Uint8Array(E);var J=new Uint16Array(E);var K=new Uint32Array(E);var L=new Float32Array(E);var M=new Float64Array(E);var N=Math.imul;var O=Math.fround;var P=Math.abs;var Q=Math.clz32;var R=Math.min;var S=Math.max;var T=Math.floor;var U=Math.ceil;var V=Math.trunc;var W=Math.sqrt;var X=n.a;var Y=X.a;var Z=X.b;var _=X.c;var $=X.d;var aa=X.e;var ba=X.f;var ca=X.g;var da=X.h;var ea=X.i;var fa=X.j;var ga=X.k;var ha=X.l;var ia=X.m;var ja=X.n;var ka=X.o;var la=X.p;var ma=X.q;var na=X.r;var oa=94352;var pa=0;var qa=0;var ra=0;
// EMSCRIPTEN_START_FUNCS
function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,M=0,P=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=O(0),ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,pa=0,qa=0,ra=0,ta=0,ua=0,va=0,wa=0,xa=0;aa=oa-96|0;oa=aa;E=H[a+8>>2];a:{b:{c:{if(!H[a>>2]){g=N(H[E+16>>2]-H[E+8>>2]|0,H[E+20>>2]-H[E+12>>2]|0)<<2;c=Ja(g);H[E+60>>2]=c;if(!c){Ca(H[a+32>>2],1,8023,0);d=a+28|0;break b}if(!g){break c}y(c,0,g);break c}c=H[E+60>>2];if(!c){break c}Da(c);H[E+60>>2]=0}if(!H[H[a+28>>2]>>2]){break a}qa=H[a+16>>2];c=H[qa+28>>2]+N(H[qa+24>>2],152)|0;wa=H[c-152>>2];xa=H[c-144>>2];ra=H[a+20>>2];ta=H[a+12>>2];va=H[a+4>>2];d=a+28|0;d:{q=H[b+4>>2];e=0;e:{if((q|0)<=0){break e}l=H[b>>2];c=0;f:{while(1){g=l+N(c,12)|0;if(!H[g>>2]){break f}c=c+1|0;if((q|0)!=(c|0)){continue}break}e=0;break e}e=H[g+4>>2]}if(e){break d}e=Fa(1,156);if(!e){Ca(H[a+32>>2],1,6313,0);break b}H[e+140>>2]=0;c=0;l=H[b+4>>2];g:{if((l|0)==2147483647){break g}g=H[b>>2];if((l|0)>0){while(1){q=g+N(c,12)|0;if(!H[q>>2]){l=H[q+8>>2];if(l){sa[l|0](H[q+4>>2]);g=H[b>>2]}b=g+N(c,12)|0;H[b+8>>2]=15;H[b+4>>2]=e;c=1;break g}c=c+1|0;if((l|0)!=(c|0)){continue}break}}g=Ia(g,N(l,12)+12|0);c=0;if(!g){break g}H[b>>2]=g;c=H[b+4>>2];g=g+N(c,12)|0;H[g+8>>2]=15;H[g+4>>2]=e;H[g>>2]=0;H[b+4>>2]=c+1;c=1}if(c){break d}Ca(H[a+32>>2],1,8338,0);b=H[e+116>>2];if(b){Da(b);H[e+116>>2]=0}b=H[e+120>>2];if(b){Da(b);H[e+120>>2]=0}Da(H[e+148>>2]);Da(e);break b}H[e+144>>2]=H[a+24>>2];W=H[a+40>>2];ba=H[a+36>>2];R=H[a+32>>2];P=H[ra+808>>2];b=H[ta+16>>2];h:{Z=H[ra+16>>2];i:{if(Z&64){l=oa-304|0;oa=l;j:{if(P){if(ba){Ca(R,1,3219,0);break j}Ca(R,1,3219,0);break j}j=H[e+116>>2];c=H[E+20>>2]-H[E+12>>2]|0;b=H[E+16>>2]-H[E+8>>2]|0;g=N(c,b);k:{l:{if(g>>>0>K[e+132>>2]){Da(j);f=g<<2;j=Ja(f);H[e+116>>2]=j;if(!j){j=0;break j}H[e+132>>2]=g;break l}if(!j){break k}f=g<<2}if(!f){break k}y(j,0,f)}j=H[e+120>>2];m:{if(K[e+136>>2]>2639){break m}Da(j);j=Ja(10560);H[e+120>>2]=j;if(j){break m}j=0;break j}H[e+136>>2]=2640;y(j,0,10560);H[e+128>>2]=c;H[e+124>>2]=b;n=H[E+24>>2];if(!n){j=1;break j}q=H[E+28>>2];j=1;n:{o:{p:{q:{f=H[E+52>>2];r:{if(f){c=H[E+4>>2];j=0;if(f>>>0>=4){b=f&-4;while(1){g=c+(m<<3)|0;j=H[g+28>>2]+(H[g+20>>2]+(H[g+12>>2]+(H[g+4>>2]+j|0)|0)|0)|0;m=m+4|0;z=z+4|0;if((b|0)!=(z|0)){continue}break}}b=f&3;if(b){while(1){j=H[(c+(m<<3)|0)+4>>2]+j|0;m=m+1|0;k=k+1|0;if((b|0)!=(k|0)){continue}break}}if(!H[e+144>>2]&(f|0)==1){break o}if(K[e+152>>2]>=j>>>0){break r}z=Ia(H[e+148>>2],j);if(z){break q}j=0;break j}if(!H[e+144>>2]){break j}}z=H[e+148>>2];if(z){break p}j=0;break j}H[e+152>>2]=j;H[e+148>>2]=z}if(!H[E+52>>2]){j=0;break n}f=H[E+4>>2];j=0;m=0;while(1){g=m<<3;c=g+f|0;b=H[c+4>>2];if(b){B(j+z|0,H[c>>2],b)}f=H[E+4>>2];j=H[(g+f|0)+4>>2]+j|0;m=m+1|0;if(m>>>0<K[E+52>>2]){continue}break}break n}z=H[H[E+4>>2]>>2]}m=0;f=0;c=H[E+40>>2];g=0;s:{if(!c){break s}b=H[E>>2];f=H[b+8>>2];g=0;if((c|0)==1){break s}g=H[b+32>>2]}c=n-q|0;f=f+g|0;t:{if(!f){k=0;break t}m=1;b=H[E>>2];r=H[b>>2];k=0;if((f|0)==1){m=0;break t}k=H[b+24>>2]}S=c+1|0;ia=H[e+116>>2];$=H[e+120>>2];W=H[E+12>>2];t=H[E+20>>2];M=H[E+8>>2];ja=H[E+16>>2];u:{v:{w:{x:{y:{z:{A:{B:{if(!(!m|k)){if(!ba){break B}Ca(R,2,10806,0);f=1;break A}if(f>>>0<4){break A}if(ba){H[l+112>>2]=f;Ca(R,1,9590,l+112|0);break u}H[l+96>>2]=f;Ca(R,1,9590,l+96|0);j=0;break j}Ca(R,2,10806,0);m=H[E+24>>2];if(m>>>0>30){break z}P=1;if(m>>>0>=S>>>0){break x}break v}m=H[E+24>>2];if(m>>>0<=30){break y}if(!ba){break z}H[l+32>>2]=H[E+24>>2];Ca(R,1,12302,l+32|0);break u}H[l>>2]=m;Ca(R,1,12302,l);j=0;break j}if(m>>>0<S>>>0){break w}if(f>>>0<2){P=f;break x}if((m|0)!=(S|0)){P=f;break x}P=1;if(I[26384]){break x}if(!ba){F[26384]=1;H[l+64>>2]=f;Ca(R,2,10299,l- -64|0);break x}if(!I[26384]){F[26384]=1;H[l+80>>2]=f;Ca(R,2,10299,l+80|0)}}if(!(!(r>>>0<2|j>>>0<r>>>0)&k+r>>>0<=j>>>0)){if(ba){j=0;Ca(R,1,9532,0);break j}j=0;Ca(R,1,9532,0);break j}T=r+z|0;b=I[T-1|0];j=b<<4|I[T-2|0]&15;if(!(!(j>>>0<2|(b|0)==255)&(j|0)<=(r|0))){if(ba){j=0;Ca(R,1,15305,0);break j}j=0;Ca(R,1,15305,0);break j}ua=H[E+28>>2];H[l+272>>2]=0;H[l+280>>2]=0;H[l+264>>2]=0;H[l+268>>2]=0;H[l+296>>2]=0;H[l+300>>2]=0;H[l+284>>2]=0;H[l+288>>2]=0;c=j-1|0;H[l+276>>2]=c;f=(r+z|0)-j|0;H[l+256>>2]=f;q=I[f|0];b=8;H[l+272>>2]=8;i=f+1|0;H[l+256>>2]=i;g=j-2|0;H[l+276>>2]=g;n=(c|0)==1?q|15:q;c=0;q=c;H[l+264>>2]=n;H[l+268>>2]=c;H[l+280>>2]=!c&(n|0)==255;h=f&3;C:{D:{if((h|0)==3){break D}w=0;if(!((n|0)!=255|(c|0)!=0|I[i|0]<=143)){break C}c=255;c=j>>>0>=3?I[i|0]:c;m=j-3|0;H[l+276>>2]=m;f=!q&(n|0)==255;b=f?15:16;H[l+272>>2]=b;V=i+(j>>>0>2)|0;H[l+256>>2]=V;c=(g|0)==1?c|15:c;g=0;H[l+280>>2]=!g&(c|0)==255;g=c;i=n;c=f?7:8;f=c&31;if((c&63)>>>0>=32){U=i<<f;c=0}else{U=(1<<f)-1&i>>>32-f|q<<f;c=i<<f}n=c|g;c=x|U;q=c;H[l+264>>2]=n;H[l+268>>2]=c;if((h|0)==2){break D}f=255;w=0;if(!((g|0)!=255|(x|0)!=0|I[V|0]<=143)){break C}f=j>>>0>=4?I[V|0]:f;i=j-4|0;H[l+276>>2]=i;u=V+(j>>>0>3)|0;H[l+256>>2]=u;c=(m|0)==1?f|15:f;f=0;V=f;H[l+280>>2]=!f&(c|0)==255;f=!x&(g|0)==255;b=(f?7:8)+b|0;H[l+272>>2]=b;g=c;m=n;c=f?7:8;f=c&31;if((c&63)>>>0>=32){x=m<<f;c=0}else{x=(1<<f)-1&m>>>32-f|q<<f;c=m<<f}n=c|g;c=x|V;q=c;H[l+264>>2]=n;H[l+268>>2]=c;if((h|0)==1){break D}w=0;if(!((g|0)!=255|(V|0)!=0|I[u|0]<=143)){break C}c=255;c=j>>>0>=5?I[u|0]:c;H[l+276>>2]=j-5;H[l+256>>2]=u+(j>>>0>4);f=0;c=(i|0)==1?c|15:c;H[l+280>>2]=!f&(c|0)==255;g=!V&(g|0)==255;b=(g?7:8)+b|0;H[l+272>>2]=b;i=n;g=g?7:8;m=g&31;if((g&63)>>>0>=32){x=i<<m;g=0}else{x=(1<<m)-1&i>>>32-m|q<<m;g=i<<m}n=g|c;c=f|x;q=c;H[l+264>>2]=n;H[l+268>>2]=c}c=64-b|0;b=n;g=c&31;if((c&63)>>>0>=32){i=b<<g;b=0}else{i=(1<<g)-1&b>>>32-g|q<<g;b=b<<g}H[l+264>>2]=b;H[l+268>>2]=i;w=1}if(!w){if(ba){j=0;Ca(R,1,11470,0);break j}j=0;Ca(R,1,11470,0);break j}C=ja-M|0;i=j;u=i-2|0;H[l+244>>2]=u;V=r+z|0;c=V-3|0;H[l+224>>2]=c;b=I[V-2|0];f=b>>>0>143;H[l+248>>2]=f;q=0;n=b>>>4|0;H[l+232>>2]=n;H[l+236>>2]=0;v=(n&7)==7?3:4;H[l+240>>2]=v;b=(c&3)+1|0;w=b>>>0<u>>>0?b:u;E:{F:{if(!u){j=0;H[l+244>>2]=u-w;break F}b=V-4|0;H[l+224>>2]=b;g=I[c|0];j=g>>>0>143;H[l+248>>2]=j;q=v&31;if((v&63)>>>0>=32){x=g<<q;q=0}else{x=(1<<q)-1&g>>>32-q;q=g<<q}n=q|n;H[l+232>>2]=n;q=x;H[l+236>>2]=q;v=(f?(g&127)==127?7:8:8)+v|0;H[l+240>>2]=v;G:{if(w>>>0<2){f=j;break G}j=V-5|0;H[l+224>>2]=j;c=I[b|0];f=c>>>0>143;H[l+248>>2]=f;m=v&31;if((v&63)>>>0>=32){U=c<<m;s=0}else{U=(1<<m)-1&c>>>32-m;s=c<<m}n=s|n;H[l+232>>2]=n;q=q|U;H[l+236>>2]=q;v=(g>>>0<=143?8:(c&127)==127?7:8)+v|0;H[l+240>>2]=v;if((w|0)==2){c=b;b=j;break G}g=V-6|0;H[l+224>>2]=g;b=I[j|0];m=b;f=b>>>0>143;H[l+248>>2]=f;h=v&31;if((v&63)>>>0>=32){x=b<<h;s=0}else{x=(1<<h)-1&b>>>32-h;s=b<<h}n=s|n;H[l+232>>2]=n;q=q|x;H[l+236>>2]=q;v=(c>>>0<=143?8:(b&127)==127?7:8)+v|0;H[l+240>>2]=v;if((w|0)==3){c=j;b=g;break G}b=V-7|0;H[l+224>>2]=b;c=I[g|0];f=c>>>0>143;H[l+248>>2]=f;j=v&31;if((v&63)>>>0>=32){U=c<<j;j=0}else{U=(1<<j)-1&c>>>32-j;j=c<<j}n=j|n;j=q|U;q=j;H[l+232>>2]=n;H[l+236>>2]=j;v=(m>>>0<=143?8:(c&127)==127?7:8)+v|0;H[l+240>>2]=v;c=g}g=u-w|0;H[l+244>>2]=g;if(v>>>0>32){break E}if((g|0)>=4){j=H[c-4>>2];H[l+224>>2]=c-5;H[l+244>>2]=g-4;break F}if((g|0)<=0){j=0;break F}u=g&1;H:{if((w|0)==(i-3|0)){h=24;j=0;break H}V=g&2147483646;h=24;j=0;c=b;w=0;while(1){x=c-1|0;H[l+224>>2]=x;m=I[c|0];b=c-2|0;H[l+224>>2]=b;H[l+244>>2]=g-1;c=I[x|0];g=g-2|0;H[l+244>>2]=g;j=m<<h|j|c<<h-8;h=h-16|0;c=b;w=w+2|0;if((V|0)!=(w|0)){continue}break}}if(!u){break F}H[l+224>>2]=b-1;b=I[b|0];H[l+244>>2]=g-1;j=b<<h|j}h=j&255;H[l+248>>2]=h>>>0>143;g=f?(j&2130706432)==2130706432?7:8:8;c=g+(j>>>0<=2415919103?8:(j&8323072)==8323072?7:8)|0;m=j>>>16&255;b=c+(m>>>0<=143?8:(j&32512)==32512?7:8)|0;x=j>>>8&255;H[l+240>>2]=b+((x>>>0<=143?8:(j&127)==127?7:8)+v|0);b=m<<g|j>>>24|x<<c|h<<b;c=v&31;if((v&63)>>>0>=32){x=b<<c;b=0}else{x=(1<<c)-1&b>>>32-c;b=b<<c}H[l+232>>2]=b|n;H[l+236>>2]=q|x}jc(l+192|0,z,r-i|0,255);V=0;I:{if(P>>>0<2){break I}jc(l+160|0,T,k,0);V=0;if((P|0)==2){break I}n=0;q=0;f=0;H[l+152>>2]=1;H[l+144>>2]=0;H[l+136>>2]=0;H[l+140>>2]=0;b=k-1|0;H[l+148>>2]=b;c=(r+z|0)+k|0;g=c-1|0;H[l+128>>2]=g;m=g&3;J:{if((k|0)<=0){c=g;break J}c=c-2|0;H[l+128>>2]=c;n=I[g|0]}H[l+136>>2]=n;H[l+140>>2]=0;h=n>>>0>143;H[l+152>>2]=h;v=(n&127)==127?7:8;H[l+144>>2]=v;K:{if(!m){break K}r=k-2|0;H[l+148>>2]=r;L:{if((k|0)<2){j=c;break L}j=c-1|0;H[l+128>>2]=j;f=I[c|0]}h=f>>>0>143;H[l+152>>2]=h;c=v&31;if((v&63)>>>0>=32){i=f<<c;c=0}else{i=(1<<c)-1&f>>>32-c;c=f<<c}q=c|n;H[l+136>>2]=q;c=i;H[l+140>>2]=c;v=(n>>>0<=143?8:(f&127)==127?7:8)+v|0;H[l+144>>2]=v;if((m|0)==1){c=j;n=q;q=i;k=b;b=r;break K}i=k-3|0;H[l+148>>2]=i;M:{if((k|0)<3){g=j;break M}g=j-1|0;H[l+128>>2]=g;o=I[j|0]}h=o>>>0>143;H[l+152>>2]=h;b=v&31;if((v&63)>>>0>=32){U=o<<b;b=0}else{U=(1<<b)-1&o>>>32-b;b=o<<b}n=b|q;b=c|U;q=b;H[l+136>>2]=n;H[l+140>>2]=b;v=(f>>>0<=143?8:(o&127)==127?7:8)+v|0;H[l+144>>2]=v;if((m|0)==2){c=g;k=r;b=i;break K}b=k-4|0;H[l+148>>2]=b;f=0;N:{if((k|0)<4){c=g;break N}c=g-1|0;H[l+128>>2]=c;f=I[g|0]}h=f>>>0>143;H[l+152>>2]=h;g=v&31;if((v&63)>>>0>=32){x=f<<g;g=0}else{x=(1<<g)-1&f>>>32-g;g=f<<g}n=g|n;g=q|x;q=g;H[l+136>>2]=n;H[l+140>>2]=g;v=(o>>>0<=143?8:(f&127)==127?7:8)+v|0;H[l+144>>2]=v;k=i}if(v>>>0<=32){O:{if((k|0)>=5){j=H[c-3>>2];H[l+148>>2]=k-5;H[l+128>>2]=c-4;break O}j=0;if((k|0)<2){break O}k=24;while(1){f=c-1|0;H[l+128>>2]=f;c=I[c|0];g=b-1|0;H[l+148>>2]=g;j=c<<k|j;i=b>>>0>1;c=f;k=k-8|0;b=g;if(i){continue}break}}i=j&255;H[l+152>>2]=i>>>0>143;g=h?(j&2130706432)==2130706432?7:8:8;c=g+(j>>>0<=2415919103?8:(j&8323072)==8323072?7:8)|0;k=j>>>16&255;b=c+(k>>>0<=143?8:(j&32512)==32512?7:8)|0;f=j>>>8&255;H[l+144>>2]=b+((f>>>0<=143?8:(j&127)==127?7:8)+v|0);b=k<<g|j>>>24|f<<c|i<<b;c=v&31;if((v&63)>>>0>=32){i=b<<c;b=0}else{i=(1<<c)-1&b>>>32-c;b=b<<c}H[l+136>>2]=b|n;H[l+140>>2]=i|q}V=1}ca=t-W|0;X=S+1|0;F[$+2112|0]=0;o=$+2112|0;g=$a(l+256|0);if((C|0)>0){T=ua-1|0;c=$;f=o;b=ia;z=0;while(1){r=z;m=J[(p<<8|(ob(l+224|0)&127)<<1)+16656>>1];P:{if(p){break P}j=g-2|0;m=(j|0)==-1?m:0;if((g|0)>1){g=j;break P}g=$a(l+256|0)}q=H[l+236>>2];n=H[l+232>>2];j=H[l+240>>2];t=m>>>4|0;u=H[c>>2]|(t&3|m>>>2&48)<<_;H[c>>2]=u;h=m&16;p=m>>>5&7|h>>>4;k=j;j=m&7;z=k-j|0;n=((1<<j)-1&q)<<32-j|n>>>j;q=q>>>j|0;k=n;j=0;if((C|0)>(r|2)){j=J[(p<<8|(k&127)<<1)+16656>>1];Q:{if(p){break Q}k=g-2|0;j=(k|0)==-1?j:0;if((g|0)>1){g=k;break Q}g=$a(l+256|0)}k=j&7;z=z-k|0;p=j>>>4&1|j>>>5&7;n=((1<<k)-1&q)<<32-k|n>>>k;q=q>>>k|0;k=n}H[c>>2]=u|(j<<2&768|j&48)<<_+4;v=j>>>2&2|m>>>3&1;R:{if((v|0)!=3){break R}i=g-2|0;v=(i|0)==-1?4:3;if((g|0)>1){g=i;break R}g=$a(l+256|0)}S:{if(!v){H[l+120>>2]=1;H[l+124>>2]=1;k=0;break S}if(v>>>0<=2){i=I[(k&7)+20804|0];u=i>>>2&7;x=i&3;i=(((-1<<u^-1)&k>>>x)+(i>>>5|0)|0)+1|0;k=(v|0)==1;H[l+124>>2]=k?1:i;H[l+120>>2]=k?i:1;k=u+x|0;break S}i=k;k=I[(k&7)+20804|0];W=k&3;i=i>>>W|0;if((v|0)==3){v=(k>>>5|0)+1|0;if((W|0)==3){H[l+124>>2]=i&1|2;k=k>>>2&7;H[l+120>>2]=v+((-1<<k^-1)&i>>>1);k=k+4|0;break S}u=I[(i&7)+20804|0];x=u&3;i=i>>>x|0;w=k>>>2&7;H[l+120>>2]=v+(i&(-1<<w^-1));k=u>>>2&7;H[l+124>>2]=(((-1<<k^-1)&i>>>w)+(u>>>5|0)|0)+1;k=k+(x+(w+W|0)|0)|0;break S}u=I[(i&7)+20804|0];x=u&3;i=i>>>x|0;w=k>>>2&7;H[l+120>>2]=((i&(-1<<w^-1))+(k>>>5|0)|0)+3;k=u>>>2&7;H[l+124>>2]=(((-1<<k^-1)&i>>>w)+(u>>>5|0)|0)+3;k=k+(w+(x+W|0)|0)|0}T:{w=H[l+120>>2];if(w>>>0<=X>>>0){u=H[l+124>>2];if(u>>>0<=X>>>0){break T}}if(ba){j=0;Ca(R,1,15756,0);break j}j=0;Ca(R,1,15756,0);break j}H[l+240>>2]=z-k;i=k&31;if((k&63)>>>0>=32){x=0;q=q>>>i|0}else{x=q>>>i|0;q=((1<<i)-1&q)<<32-i|n>>>i}H[l+232>>2]=q;H[l+236>>2]=x;z=r+4|0;q=(z|0)<=(C|0)?255:255>>>(z-C<<1)|0;W=(ca|0)>1?q:q&85;if((j&240|t&15)&(W^-1)){if(ba){j=0;Ca(R,1,12194,0);break j}j=0;Ca(R,1,12194,0);break j}U:{V:{if(h){n=Na(l+192|0);i=w+(m<<19>>31)|0;H[l+208>>2]=H[l+208>>2]-i;k=H[l+204>>2];q=H[l+200>>2];h=i&31;if((i&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<<h)-1&k)<<32-h|q>>>h}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<<i^-1)|(m>>>8&1)<<i|1)+2<<T|n<<31;break V}v=0;if(!(W&1)){break U}}H[b>>2]=v}W:{if(m&32){n=Na(l+192|0);i=w+(m<<18>>31)|0;H[l+208>>2]=H[l+208>>2]-i;k=H[l+204>>2];q=H[l+200>>2];h=i&31;if((i&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<<h)-1&k)<<32-h|q>>>h}H[l+200>>2]=q;H[l+204>>2]=x;q=n&(-1<<i^-1)|(m>>>9&1)<<i|1;H[(C<<2)+b>>2]=q+2<<T|n<<31;n=32-Q(q)|0;q=I[f|0]&127;F[f|0]=(n>>>0>q>>>0?n:q)|128;break W}if(!(W&2)){break W}H[(C<<2)+b>>2]=0}i=b+4|0;X:{Y:{if(m&64){n=Na(l+192|0);h=w+(m<<17>>31)|0;H[l+208>>2]=H[l+208>>2]-h;k=H[l+204>>2];q=H[l+200>>2];t=h&31;if((h&63)>>>0>=32){x=0;q=k>>>t|0}else{x=k>>>t|0;q=((1<<t)-1&k)<<32-t|q>>>t}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<<h^-1)|(m>>>10&1)<<h|1)+2<<T|n<<31;break Y}v=0;if(!(W&4)){break X}}H[i>>2]=v}F[f+1|0]=0;Z:{if(m&128){n=Na(l+192|0);h=w+(m<<16>>31)|0;H[l+208>>2]=H[l+208>>2]-h;k=H[l+204>>2];q=H[l+200>>2];t=h&31;if((h&63)>>>0>=32){x=0;q=k>>>t|0}else{x=k>>>t|0;q=((1<<t)-1&k)<<32-t|q>>>t}H[l+200>>2]=q;H[l+204>>2]=x;q=n&(-1<<h^-1)|(m>>>11&1)<<h|1;H[i+(C<<2)>>2]=q+2<<T|n<<31;F[f+1|0]=-96-Q(q);break Z}if(!(W&8)){break Z}H[i+(C<<2)>>2]=0}i=b+8|0;_:{$:{if(j&16){n=Na(l+192|0);m=u+(j<<19>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<<h)-1&k)<<32-h|q>>>h}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<<m^-1)|(j>>>8&1)<<m|1)+2<<T|n<<31;break $}v=0;if(!(W&16)){break _}}H[i>>2]=v}aa:{if(j&32){n=Na(l+192|0);m=u+(j<<18>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<<h)-1&k)<<32-h|q>>>h}H[l+200>>2]=q;H[l+204>>2]=x;q=n&(-1<<m^-1)|(j>>>9&1)<<m|1;H[i+(C<<2)>>2]=q+2<<T|n<<31;n=32-Q(q)|0;q=I[f+1|0]&127;F[f+1|0]=(n>>>0>q>>>0?n:q)|128;break aa}if(!(W&32)){break aa}H[i+(C<<2)>>2]=0}i=b+12|0;ba:{ca:{if(j&64){n=Na(l+192|0);m=u+(j<<17>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<<h)-1&k)<<32-h|q>>>h}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<<m^-1)|(j>>>10&1)<<m|1)+2<<T|n<<31;break ca}v=0;if(!(W&64)){break ba}}H[i>>2]=v}f=f+2|0;F[f|0]=0;da:{if(j&128){n=Na(l+192|0);m=u+(j<<16>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<<h)-1&k)<<32-h|q>>>h}H[l+200>>2]=q;H[l+204>>2]=x;j=n&(-1<<m^-1)|(j>>>11&1)<<m|1;H[i+(C<<2)>>2]=j+2<<T|n<<31;F[f|0]=-96-Q(j);break da}if(W>>>0<128){br