diff --git a/src/lib.c b/src/lib.c index f4364f52..be94fb75 100644 --- a/src/lib.c +++ b/src/lib.c @@ -23153,7 +23153,7 @@ void flow_start_visit_declaration(struct flow_visit_ctx* ctx, struct declaration //#pragma once -#define CAKE_VERSION "0.7.20" +#define CAKE_VERSION "0.7.21" //0.7.5 // pragma diagnostic error, warning, note, ignore working diff --git a/src/version.h b/src/version.h index 091ac97b..e1f64657 100644 --- a/src/version.h +++ b/src/version.h @@ -1,6 +1,6 @@ #pragma once -#define CAKE_VERSION "0.7.20" +#define CAKE_VERSION "0.7.21" //0.7.5 // pragma diagnostic error, warning, note, ignore working diff --git a/src/web/cake.js b/src/web/cake.js index c2d58637..f06f9c57 100644 --- a/src/web/cake.js +++ b/src/web/cake.js @@ -399,7 +399,7 @@ function Table(ret) { } } function initActiveSegments(imports) { - base64DecodeToExistingUint8Array(bufferView, 65536, "fgA7ICVzIHJldHVybiBfdG1wO30AfSBlbHNlIHtfY2F0Y2hfbGFiZWxfJWQ6O30Abm90IGZvbGxvd2luZyBjb3JyZWN0IGNsb3NlIGJyYWNlIHN0eWxlIH0AICUqcyB8ACAlcyB8AG5vdCBmb2xsb3dpbmcgY29ycmVjdCBicmFjZSBzdHlsZSB7AHRva2VuX2xpc3RfaXNfZW1wdHkAaW5maW5pdHkAdHJ5AF9JbWFnaW5hcnkAZmxvd192aXNpdF9jdHhfZGVzdHJveQBvd25lcl9oYXNobWFwX2Rlc3Ryb3kAYW55AF9pc19hcnJheQBudWxsLWFzLWFycmF5ACBwYXNzaW5nIG51bGwgYXMgYXJyYXkAdXNpbmcgaW5kaXJlY3Rpb24gJy0+JyBpbiBhcnJheQBpbmRleCAlZCBpcyBwYXN0IHRoZSBlbmQgb2YgdGhlIGFycmF5AC10YXJnZXQ9Y3h4AC1zdGQ9Y3h4AF9Db21wbGV4AHN0YXRpY19kZWJ1Z19leAAtdGFyZ2V0PWMyeAAtc3RkPWMyeAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AFx4JXgAMHgleAB0aHJvdwBwYXNzaW5nIGEgdGVtcG9yYXJ5IG93bmVyIHRvIGEgdmlldwBfVmlldwAtc3R5bGU9Z251ACVsbHUAci5uZXh0AC1uby1vdXRwdXQALW1zdmMtb3V0cHV0AF9PdXQAX2lzX2NvbnN0ACBjb25zdABtYWNyb19jb3B5X3JlcGxhY2VtZW50X2xpc3QAZW51bWVyYXRvcl9saXN0AGluaXRfZGVjbGFyYXRvcl9saXN0AG1lbWJlcl9kZWNsYXJhdG9yX2xpc3QAZGVzaWduYXRvcl9saXN0AHZpc2l0X2JyYWNrZXRfaW5pdGlhbGl6ZXJfbGlzdABwYXJhbWV0ZXJfbGlzdABpZGVudGlmaWVyX2xpc3QAc3BlY2lmaWVyX3F1YWxpZmllcl9saXN0AHR5cGVfcXVhbGlmaWVyX2xpc3QAbWVtYmVyX2RlY2xhcmF0aW9uX2xpc3QAYXJndW1lbnRfZXhwcmVzc2lvbl9saXN0AGJsb2NrX2l0ZW1fbGlzdABhdHRyaWJ1dGVfbGlzdAB0b2tlbl9saXN0X2FwcGVuZF9saXN0AHNob3J0AHN0YXRpY19hc3NlcnQAX1N0YXRpY19hc3NlcnQALWRpc2FibGUtYXNzZXJ0AGVzY2FwZV9zZXF1ZW5jZXNfZGVjb2RlX29wdABhdHRyaWJ1dGVfc3BlY2lmaWVyX3NlcXVlbmNlX29wdABfT3B0AHR5cGVfbGlzdF9wdXNoX2Zyb250AF9pc19mbG9hdGluZ19wb2ludABvYmplY3RfYXNzaWdubWVudABhcnJheS1wYXJhbWV0ZXItYXNzaWdubWVudABsdmFsdWUgcmVxdWlyZWQgYXMgbGVmdCBvcGVyYW5kIG9mIGFzc2lnbm1lbnQAbXVsdGktbGluZSAvL2NvbW1lbnQAbWlzc2luZyBlbmQgb2YgY29tbWVudAB0cnlfc3RhdGVtZW50AGZsb3dfdmlzaXRfZm9yX3N0YXRlbWVudABmbG93X3Zpc2l0X2p1bXBfc3RhdGVtZW50AGZvcm1hdF92aXNpdF9qdW1wX3N0YXRlbWVudABmbG93X3Zpc2l0X3NlbGVjdGlvbl9zdGF0ZW1lbnQAZmxvd192aXNpdF9pdGVyYXRpb25fc3RhdGVtZW50AGZsb3dfdmlzaXRfaWZfc3RhdGVtZW50AGZsb3dfdmlzaXRfd2hpbGVfc3RhdGVtZW50AGZsb3dfdmlzaXRfZG9fd2hpbGVfc3RhdGVtZW50AGZsb3dfdmlzaXRfdW5sYWJlbGVkX3N0YXRlbWVudABmb3JtYXRfdmlzaXRfdW5sYWJlbGVkX3N0YXRlbWVudABjb25kaXRpb25hbC1jb25zdGFudABfQml0SW50AHJldHVybmluZyBhIG93bmVyIHZhcmlhYmxlIHRvIGEgbm9uIG93bmVyIHJlc3VsdABkZWZhdWx0AGV4cGVjdGVkIGludGVnZXIgdHlwZSBvbiByaWdodAAtc3R5bGU9bWljcm9zb2Z0AGV4cGVjdGVkIGludGVnZXIgdHlwZSBvbiBsZWZ0AHN0YXRpY19zZXQAZ2V0X2FsaWdub2Zfc3RydWN0AGdldF9zaXplb2Zfc3RydWN0AHJlc3RyaWN0AHZpc2l0X29iamVjdABzZXRfb2JqZWN0AHVzaW5nLW1vdmVkLW9iamVjdABhc3NpZ25tZW50IG9mIHJlYWQtb25seSBvYmplY3QAcGFyYW1ldGVyICVkIHJlcXVpcmVzIGEgcG9pbnRlciB0byBvd25lciBvYmplY3QAbnVsbCBvYmplY3QAbWF5YmUgdXNpbmcgYSB1bmluaXRpYWxpemVkIG9iamVjdABkZXJlZmVyZW5jZSBhIE5VTEwgb2JqZWN0AGZsb2F0AG51bGxwdHJfdABjb2xsZWN0X21hY3JvX2FyZ3VtZW50cwByZXBsYWNlX21hY3JvX2FyZ3VtZW50cwB0b28gbWFueSBhcmd1bWVudHMAdHlwZW9mIHVzZWQgaW4gYXJyYXkgYXJndW1lbnRzAHRvbyBmZXcgYXJndW1lbnRzAHVzZSBzbmFrZV9jYXNlIGZvciBhcmd1bWVudHMALXJlbW92ZS1jb21tZW50cwBhZGRyZXNzAHVzZSBVUFBFUkNBU0UgZm9yIGVudW1lcmF0b3JzAG9ial9vd25lciBxdWFsaWZpZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHBvaW50ZXJzAHByb2Nlc3NfaWRlbnRpZmllcnMAZGlzY2FyZGVkLXF1YWxpZmllcnMAcHJpbnRfdHlwZV9xdWFsaWZpZXJfc3BlY2lmaWVycwBkZWNsYXJhdGlvbl9zcGVjaWZpZXJzAHVzZSBzbmFrZV9jYXNlIGZvciBzdHJ1Y3QgbWVtYmVycwB1c2UgU0NSRUFNSU5HX0NBU0UgZm9yIG1hY3JvcwB0b2tlbiAnJXMnIGlzIG5vdCB2YWxpZCBpbiBwcmVwcm9jZXNzb3IgZXhwcmVzc2lvbnMALWR1bXAtcHAtdG9rZW5zAC1kdW1wLXRva2VucwAtbnVsbGNoZWNrcwBpbnZhbGlkIGFyZ3MAdXNlIHNuYWtlX2Nhc2UgZm9yIHN0cnVjdC91bmlvbiB0YWdzAHVzZSBjYW1lbENhc2UgZm9yIHN0cnVjdC91bmlvbiB0YWdzAHVzZSBzbmFrZV9jYXNlIGZvciBlbnVtIHRhZ3MAdXNlIFBhc2NhbENhc2UgZm9yIGVudW0gdGFncwBfTm9yZXR1cm4gaXMgZGVwcmVjYXRlZCB1c2UgYXR0cmlidXRlcwBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlcwBpbmNvbXBhdGlibGUgdHlwZXMAdXNlIHNuYWtlX2Nhc2UgZm9yIGxvY2FsIHZhcmlhYmxlcwB1c2UgY2FtZWxDYXNlIGZvciBsb2NhbCB2YXJpYWJsZXMAdXNlIHNuYWtlX2Nhc2UgZ2xvYmFsIHZhcmlhYmxlcwB1c2UgcHJlZml4IHNfIGZvciBzdGF0aWMgZ2xvYmFsIHZhcmlhYmxlcwAtc2hvd0luY2x1ZGVzAG91dC1vZi1ib3VuZHMAYWxpZ25hcwBfQWxpZ25hcwAlcyVzAC1XJXMAJXMtPiVzACVzLyVzACVzLiVzAColcwBzdHJ1Y3QgJXMAJXMgJXMAaW52YWxpZCBwYXJhbWV0ZXIgJXMAZW51bSAlcwBleGVwYXRoICVzAGV4cGVjdGVkICVzAHN0YXRpYyAlcwBfaGFzX2F0dHIAX2RlbF9hdHRyAF9hZGRfYXR0cgBudWxscHRyAGNvbnN0ZXhwcgBtaXNzaW5nLWRlc3RydWN0b3IAZmxvd192aXNpdF9pbml0X2RlY2xhcmF0b3IAbWFrZV90eXBlX3VzaW5nX2RpcmVjdF9kZWNsYXJhdG9yAHBfZGVjbGFyYXRpb24tPmluaXRfZGVjbGFyYXRvcl9saXN0LmhlYWQtPnBfZGVjbGFyYXRvci0+ZGlyZWN0X2RlY2xhcmF0b3ItPmZ1bmN0aW9uX2RlY2xhcmF0b3IAbWFrZV90eXBlX3VzaW5nX2RlY2xhcmF0b3IAaGlkZS1kZWNsYXJhdG9yAHN0YXRpYyBvciB0eXBlIHF1YWxpZmllcnMgYXJlIG5vdCBhbGxvd2VkIGluIG5vbi1wYXJhbWV0ZXIgYXJyYXkgZGVjbGFyYXRvcgAnJXMnOiB1bnJlZmVyZW5jZWQgZGVjbGFyYXRvcgAjZXJyb3IAZXhwcmVzc2lvbiBlcnJvcgBpbnRlcm5hbCBlcnJvcgBmb3IAZGlyAC1mYW5hbHl6ZXIAZW1iZWRfdG9rZW5pemVyAHJlZ2lzdGVyAF9pc19wb2ludGVyAHR5cGVfcGFyYW1fYXJyYXlfdG9fcG9pbnRlcgB0eXBlX3JlbW92ZV9wb2ludGVyAHN1YnNjcmlwdGVkIHZhbHVlIGlzIG5laXRoZXIgYXJyYXkgbm9yIHBvaW50ZXIAZGlzY2FyZGluZyBvd25lciBwb2ludGVyAGNhbGxlZCBvYmplY3QgaXMgbm90IGF0dHIgZnVuY3Rpb24gb3IgZnVuY3Rpb24gcG9pbnRlcgB0b2tlbl9saXN0X2luc2VydF9hZnRlcgB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIGFmdGVyAHR5cGVvZi1wYXJhbWV0ZXIAdW51c2VkLXBhcmFtZXRlcgBhc3NpZ25tZW50IHRvIGFycmF5IHBhcmFtZXRlcgBwYXNzaW5nIGEgdmlldyBhcmd1bWVudCB0byBhIG9ial9vd25lciBwYXJhbWV0ZXIAcGFzc2luZyBhIHZpZXcgYXJndW1lbnQgdG8gYSBvd25lciBwYXJhbWV0ZXIAJyVzJzogdW5yZWZlcmVuY2VkIGZvcm1hbCBwYXJhbWV0ZXIAbWlzc2luZyB0ZXJtaW5hdGluZyAnIGNoYXJhY3RlcgBtaXNzaW5nIHRlcm1pbmF0aW5nICIgY2hhcmFjdGVyAF9pc19vd25lcgBfT2JqX293bmVyAG5vdC1vd25lcgB0ZW1wLW93bmVyAGNhbm5vdCBtb3ZlIGEgdGVtcG9yYXJ5IG93bmVyIHRvIG5vbi1vd25lcgBkaXNjYXJkLW93bmVyAHBvaW50ZWQgb2JqZWN0IGlzIG5vdCBvd25lcgBjYW5ub3QgbW92ZSBvYmpfb3duZXIgdG8gb3duZXIAY2Fubm90IGFzc2lnbiBhIG5vbiBvd25lciB0byBvd25lcgBjYW5ub3QgaW5pdGlhbGl6ZSBhbiBvd25lciB0eXBlIHdpdGggYSBub24gb3duZXIAZGlzY2FyZGluZyBvd25lcgByZXR1cm5pbmcgYSBub24gb3duZXIgdmFyaWFibGUgdG8gYSBvd25lcgBfT3duZXIAcHJlcHJvY2Vzc29yX3Rva2VuX2FoZWFkX2lzX2lkZW50aWZpZXIAZXhwZWN0ZWQgaWRlbnRpZmllcgB0eXBlX3NwZWNpZmllcl9xdWFsaWZpZXIAbWlzc2luZy1vd25lci1xdWFsaWZpZXIAbWlzc2luZyBvd25lciBxdWFsaWZpZXIAc3RvcmFnZV9jbGFzc19zcGVjaWZpZXIAc3RydWN0X29yX3VuaW9uX3NwZWNpZmllcgB0eXBlX3NwZWNpZmllcgBjYW5ub3QgY29tYmluZSB3aXRoIHByZXZpb3VzICdsb25nIGxvbmcnIGRlY2xhcmF0aW9uIHNwZWNpZmllcgByaWdodCBpcyBub3QgaW50ZWdlcgBsZWZ0IGlzIG5vdCBpbnRlZ2VyAGRlZmVyAHBwbnVtYmVyAGNvbnZlcnRfdG9fbnVtYmVyAHJldHVybi1sb2NhbC1hZGRyAF9pc19zY2FsYXIAcmlnaHQgb3BlcmF0b3IgaXMgbm90IHNjYWxhcgBsZWZ0IG9wZXJhdG9yIGlzIG5vdCBzY2FsYXIAbXVsdGktY2hhcgB1bnNpZ25lZCBjaGFyAGlmX2dyb3VwAHR5cGVfZHVwAHBvcABjb25zdGFudF92YWx1ZV91bmFyeV9vcABjb25zdGFudF92YWx1ZV9vcABhdXRvAGdvdG8AdHlwZV9jb252ZXJ0X3RvAGRpdi1ieS16ZXJvAG5vdC16ZXJvAGRpdml6aW9uIGJ5IHplcm8AZGl2aXNpb24gYnkgemVybwBleHBhbmRfbWFjcm8ALWZvAGRvAC1vAHN0b3JhZ2Ugc2l6ZSBvZiAnJXMnIGlzbid0IGtub3duAG5vcmV0dXJuAF9Ob3JldHVybgBleHRlcm4AaW50ZXJuYWwgZXJyb3IgdHlwZV9jb21tb24AX2lzX2Z1bmN0aW9uAGFzc2lnbm1lbnQgb2YgZnVuY3Rpb24AYXJyYXktaW5kaXJlY3Rpb24AYXJyYXkgaW5kaXJlY3Rpb24AcmVkZWNsYXJhdGlvbgBmbG93X3Zpc2l0X2RlY2xhcmF0aW9uAGZsb3dfc3RhcnRfdmlzaXRfZGVjbGFyYXRpb24AZnVuY3Rpb25fZGVmaW5pdGlvbl9vcl9kZWNsYXJhdGlvbgBwcmFnbWFfZGVjbGFyYXRpb24AZGVjbGFyYXRpb24gb2YgJyVzJyBoaWRlcyBwcmV2aW91cyBkZWNsYXJhdGlvbgByZXBsYWNlbWVudF9saXN0X3JlZXhhbWluYXRpb24ALWRpcmVjdC1jb21waWxhdGlvbgBzdGFuZGFyZCBtYWNyb3MgaW5jbHVzaW9uAF9fREFURV9fIG1hY3JvIGluY2x1c2lvbgBfX1RJTUVfXyBtYWNybyBpbmNsdXNpb24AZXF1YWxpdHlfZXhwcmVzc2lvbgB1bmFyeV9leHByZXNzaW9uAHByaW1hcnlfZXhwcmVzc2lvbgBwb3N0Zml4X2V4cHJlc3Npb24AY2FzdF9leHByZXNzaW9uAHByZXByb2Nlc3Nvcl9jb25zdGFudF9leHByZXNzaW9uAGZsb3dfdmlzaXRfZXhwcmVzc2lvbgBleGNsdXNpdmVfb3JfZXhwcmVzc2lvbgBjb25kaXRpb25hbF9leHByZXNzaW9uAHJlbGF0aW9uYWxfZXhwcmVzc2lvbgBhbmRfZXhwcmVzc2lvbgBlbXB0eSBleHByZXNzaW9uAGV4cGVjdGVkIGNvbnN0YW50IGV4cHJlc3Npb24AaW52YWxpZCB0eXBlIHNoaWZ0IGV4cHJlc3Npb24AaW52YWxpZCB0eXBlcyBvciBleHByZXNzaW9uAHJpZ2h0IHR5cGUgaXMgbm90IHNjYWxhciBmb3Igb3IgZXhwcmVzc2lvbgBsZWZ0IHR5cGUgaXMgbm90IHNjYWxhciBmb3Igb3IgZXhwcmVzc2lvbgBpbnZhbGlkIHR5cGVzIGluY2x1c2l2ZSBvciBleHByZXNzaW9uAGludmFsaWQgdHlwZXMgYWRkaXRpdmUgZXhwcmVzc2lvbgBpbnZhbGlkIHR5cGUgbXVsdGlwbGljYXRpdmUgZXhwcmVzc2lvbgBpbnZhbGlkIHR5cGVzIGFuZCBleHByZXNzaW9uAGludmFsaWQgdHlwZXMgbG9naWNhbCBhbmQgZXhwcmVzc2lvbgBleHBlY3RlZCBleHByZXNzaW9uAGVudW0tY29udmVyc2lvbgB1bmlvbgBicmVhayBqb2luAGludmFsaWQgdG9rZW4AdW5leHBlY3RlZCB0b2tlbgBuYW4AaW5jb21wYXRpYmxlLWVudW0AX19hc20ALXJtAG91dCBvZiBtZW0AG1szN20AG1s5NW0AG1s5Mm0AG1szNjsxbQAbWzkwbSVzG1swbQAbWzk1bXdhcm5pbmc6IBtbOTdtJXMgWxtbOTVtJXMbWzk3bV0KG1swbQAbWzM2OzFtbm90ZTogG1s5N20lcyBbG1szNjsxbSVzG1s5N21dChtbMG0AG1s5MW1lcnJvcjogG1s5N20lcyBbG1s5MW0lcxtbOTdtXQobWzBtAGJvb2wAX0Jvb2wAbm9ubnVsbABub3QtbnVsbABtYXliZS1udWxsAC1XYWxsAHR5cGVvZl91bnF1YWwAZXhwcmVzc2lvbl9ldmFsdWF0ZV9lcXVhbF9ub3RfZXF1YWwAX2lzX2ludGVncmFsAHBvaW50ZXIgY2FuIGJlIG51bGwsIGJ1dCB0aGUgcGFyYW1ldGVyIGlzIG5vdCBvcHRpb25hbABvcmlnaW5hbAB0aHJlYWRfbG9jYWwAX1RocmVhZF9sb2NhbABnZXRfd2FybmluZ19iaXRfbWFzawBmb3JtYXRfdmlzaXRfcHJpbWFyeV9ibG9jawB0aHJvdyBzdGF0ZW1lbnQgbm90IHdpdGhpbiB0cnkgYmxvY2sAY2hlY2sAdHlwZV9saXN0X3B1c2hfYmFjawBicmVhawAtZmkAcHVzaABmYWxsdGhyb3VnaABzd2l0Y2gAY2F0Y2gAbGVmdC10cnVlLWJyYW5jaABjOi9hc3NlcnQuaABjOi9saW1pdHMuaABjOi9vd25lcnNoaXAuaABjOi9lcnJuby5oAGM6L3N0ZGlvLmgAYzovbWF0aC5oAGM6L3N0cmluZy5oAGM6L3N0ZGRlZi5oAGM6L3N0ZGxpYi5oAHN0YXRpY19kZWJ1ZwBhbmFseXplci1ub24tb3B0LWFyZwBsb25nIGxvbmcAI3dhcm5pbmcAdG9rZW5fbGlzdF9hcHBlbmRfbGlzdF9hdF9iZWdpbm5pbmcAc3RyaW5nLXNsaWNpbmcAdW5uZWNlc3NhcnkgbGluZS1zbGljaW5nACVMZwBzc192YWZwcmludGYAdHlwZV9nZXRfYWxpZ25vZgBfX2FsaWdub2YAX0FsaWdub2YAdHlwZV9nZXRfc2l6ZW9mAHR5cGVvZgBtdXN0LXVzZS1hZGRyZXNzLW9mAGluZgAtc2FyaWYAZWxpZgBlbmRpZgBiZWZvcmUtaWYAdW5kZWYAZWxpZm5kZWYAZWxpZmRlZgB0eXBlZGVmACVmAG5vbi1vd25lci10by1vd25lci1tb3ZlAG5vbi1vd25lci1tb3ZlAHRydWUAY29udGludWUAX2lzX2x2YWx1ZQB1bnVzZWQtdmFsdWUAdm9pZCBmdW5jdGlvbiAnJXMnIHNob3VsZCBub3QgcmV0dXJuIGEgdmFsdWUAX19oYXNfY19hdHRyaWJ1dGUAd2FybmluZyAnJXMnIGlzIG5vdCBhbiBjYWtlIGF0dHJpYnV0ZQB3YXJuaW5nICclcycgaXMgbm90IGFuIHN0YW5kYXJkIGF0dHJpYnV0ZQBpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCAnbm9kaXNjYXJkJyBhdHRyaWJ1dGUAbm90ZQBtYWNyb19hcmd1bWVudF9kZWxldGUAZW51bWVyYXRvcl9kZWxldGUAaW5pdF9kZWNsYXJhdG9yX2RlbGV0ZQBtZW1iZXJfZGVjbGFyYXRvcl9kZWxldGUAZGVzaWduYXRvcl9kZWxldGUAaW5pdGlhbGl6ZXJfZGVsZXRlAHR5cGVfc3BlY2lmaWVyX3F1YWxpZmllcl9kZWxldGUAZGVjbGFyYXRpb25fc3BlY2lmaWVyX2RlbGV0ZQBhdHRyaWJ1dGVfc3BlY2lmaWVyX2RlbGV0ZQBwYXJhbWV0ZXJfZGVjbGFyYXRpb25fZGVsZXRlAG1lbWJlcl9kZWNsYXJhdGlvbl9kZWxldGUAZ2VuZXJpY19hc3NvY2lhdGlvbl9kZWxldGUAYXJndW1lbnRfZXhwcmVzc2lvbl9kZWxldGUAdG9rZW5fZGVsZXRlAGJsb2NrX2l0ZW1fZGVsZXRlAGF0dHJpYnV0ZV9kZWxldGUAc2V0X2RpcmVjdF9zdGF0ZQBzZXRfb2JqZWN0X3N0YXRlAHN0YXRpY19zdGF0ZQBkZWNsYXJhdG9yLXN0YXRlAGNvbmNhdGVuYXRlAGVsc2UAZmFsc2UAY2FzZQBpZ25vcmUAbWFrZV9vYmplY3RfY29yZQBwcmV2aW91cyBkZWNsYXJhdGlvbiBpcyBoZXJlAHR5cGVfZ2V0X2VudW1fdHlwZQBwX2Rlc3Rfb2JqX3R5cGUAYXNzaWdubWVudCB0byBleHByZXNzaW9uIHdpdGggYXJyYXkgdHlwZQBjaGFyYWN0ZXIgY29uc3RhbnQgdG9vIGxvbmcgZm9yIGl0cyB0eXBlAHBhcmFtZXRlciAlZCByZXF1aXJlcyBhIHBvaW50ZXIgdG8gb3duZXIgdHlwZQByaWdodCBtdXN0IGJlIGludGVnZXIgdHlwZQBjb25kaXRpb24gbXVzdCBoYXZlIHNjYWxhciB0eXBlAGRlZmVyIGVuZCBvZiBzY29wZQBlbmQgb2YgJyVzJyBzY29wZQB0eXBlX2Rlc3Ryb3lfb25lAGZsb3dfZGVmZXJfc2NvcGVfZGVsZXRlX29uZQBfX2ZvcmNlaW5saW5lAF9faW5saW5lAGNvbnRyb2xfbGluZQBkZWZpbmUAcG9zdGZpeF9leHByZXNzaW9uX3R5cGVfbmFtZQBzdHlsZQBtb2R1bGUAdm9sYXRpbGUAd2hpbGUAdW5leHBlY3RlZCBlbmQgb2YgZmlsZQBkb3VibGUAcmVwcm9kdWNpYmxlAHVudXNlZC12YXJpYWJsZQBmdW5jdGlvbiByZXR1cm5zIGFkZHJlc3Mgb2YgbG9jYWwgdmFyaWFibGUALXN0eWxlPWNha2UAX19oYXNfaW5jbHVkZQB1dGY4X2RlY29kZQBtb3ZlIGFzc2lnbm1lbnQgbmVlZHMgYSBvd25lciB0eXBlIG9uIHJpZ2h0IHNpZGUAb25jZQBhdHRyaWJ1dGVfc3BlY2lmaWVyX3NlcXVlbmNlAGFuYWx5emVyLW51bGwtZGVyZWZlcmVuY2UAb25lIHNwYWNlAG5vZGlzY2FyZABmaWxlICVzIG5vdCBmb3VuZABmaWxlICclcycgbm90IGZvdW5kAGx2YWx1ZSByZXF1aXJlZCBhcyBpbmNyZW1lbnQgb3BlcmFuZABsdmFsdWUgcmVxdWlyZWQgYXMgZGVjcmVtZW50IG9wZXJhbmQAaW5kaXJlY3Rpb24gcmVxdWlyZXMgcG9pbnRlciBvcGVyYW5kAGx2YWx1ZSByZXF1aXJlZCBhcyB1bmFyeSAnJicgb3BlcmFuZABleHBhbmQAJWxsZAB2b2lkAGFuYWx5emVyLW1heWJlLXVuaW5pdGlhbGl6ZWQAc291cmNlIG9iamVjdCAnJXMnIGlzIHVuaW5pdGlhbGl6ZWQAc291cmNlIG9iamVjdCAnJXMnIG1heSBiZSB1bmluaXRpYWxpemVkAG9iamVjdCAnJXMnIHdhcyBub3QgbW92ZWQvZGVzdHJveWVkAG9iamVjdCAnJXMnIHdhcyBtb3ZlZABzb3VyY2Ugb2JqZWN0ICclcycgbWF5IGhhdmUgYmVlbiBtb3ZlZABzb3VyY2Ugb2JqZWN0ICclcycgaGF2ZSBiZWVuIG1vdmVkAGFkZHJlc3Mgb2YgcmVnaXN0ZXIgdmFyaWFibGUgJ3gnIHJlcXVlc3RlZABlbXB0eSBkZWNsYXJhdG9yIG5hbWU/PyB1bmV4cGVjdGVkACclcycgaXMgZGVwcmVjYXRlZABtYXliZV91bnVzZWQAZGVjbGFyYXRvciAnJXMnIG5vdCB1c2VkAGlnbm9yZWQAc3RydWN0dXJlIG9yIHVuaW9uIHJlcXVpcmVkAGRlZmluZWQAdW5zaWduZWQAX1N0YXRpY19hc3NlcnQgZmFpbGVkAHByYWdtYSBjaGVjayBmYWlsZWQAc3RhdGljX3N0YXRlIGZhaWxlZABjb25zdCBxdWFsaWZpZXIgZGlzY2FyZGVkAHVuc2VxdWVuY2VkAHRva2VuIHNsaWNlZABfX2hhc19lbWJlZABhcmd1bWVudF9saXN0X2FkZABkZWNsYXJhdGlvbl9saXN0X2FkZAB0b2tlbl9saXN0X2FkZABnZW5lcmljX2Fzc29jX2xpc3RfYWRkAGluY2x1ZGVfZGlyX2FkZABfJXMlZABfYW5vbnltb3VzX3N0cnVjdF8lZABnb3RvIF9jYXRjaF9sYWJlbF8lZAAgX2xpdF9mdW5jXyVkAEUlZAAgZGlzY2FyZGluZyBjb25zdCBhdCBhcmd1bWVudCAlZAAgaW5jb21wYXRpYmxlIHR5cGVzIGF0IGFyZ3VtZW50ICVkAG1hbGxvYwBjYWxsb2MAZGlhZ25vc3RpYwBfaXNfYXJpdGhtZXRpYwByaWdodCAvIGlzIG5vdCBhcml0aG1ldGljAGxlZnQgLyBpcyBub3QgYXJpdGhtZXRpYwByaWdodCAqIGlzIG5vdCBhcml0aG1ldGljAGxlZnQgKiBpcyBub3QgYXJpdGhtZXRpYwBzdGF0aWMAbm8gbWF0Y2ggZm9yIGdlbmVyaWMAX0dlbmVyaWMAX0F0b21pYwBjOi9tYWluLmMAbGliLmMACiUqYwAlYwBleGVjdXRlX3ByYWdtYQB1bmtub3duIHByYWdtYQBfX3R5cGVvZl9fAF9fZnVuY19fAF9fVkFfT1BUX18AX19WQV9BUkdTX18AX19DT1VOVEVSX18AX19MSU5FX18AX19GSUxFX18AXgAgYXJndW1lbnQgb2Ygc2l6ZSBbJWRdIGlzIHNtYWxsZXIgdGhhbiBwYXJhbWV0ZXIgb2Ygc2l6ZSBbJWRdAFtbbm9yZXR1cm5dXQBbAGN0eC0+Y3VycmVudC0+dHlwZSA9PSBUS19LRVlXT1JEX1RSWQBUS19LRVlXT1JEX19JTUFHSU5BUlkAVEtfS0VZV09SRF9JU19BUlJBWQBUS19LRVlXT1JEX1NUQVRJQ19ERUJVR19FWABUS19LRVlXT1JEX19DT01QTEVYAFRLX0FSUk9XAFRLX0tFWVdPUkRfVEhST1cAVEtfS0VZV09SRF9fVklFVwBUS19LRVlXT1JEX19PVVQAVEtfS0VZV09SRF9JU19DT05TVABUS19LRVlXT1JEX0NPTlNUAFRLX0tFWVdPUkRfU0hPUlQAVEtfS0VZV09SRF9BU1NFUlQAVEtfS0VZV09SRF9fU1RBVElDX0FTU0VSVABUS19LRVlXT1JEX19PUFQAVEtfS0VZV09SRF9JTlQAVEtfS0VZV09SRF9fQklUSU5UAFRLX0tFWVdPUkRfSVNfRkxPQVRJTkdfUE9JTlQAVEtfQ09NTUVOVABUS19MSU5FX0NPTU1FTlQAVEtfQ0lSQ1VNRkxFWF9BQ0NFTlQAVEtfR1JBVkVfQUNDRU5UAFRLX0NPTVBJTEVSX0JJTkFSWV9DT05TVEFOVABUS19DSEFSX0NPTlNUQU5UAFRLX0NPTVBJTEVSX09DVEFMX0NPTlNUQU5UAFRLX0NPTVBJTEVSX0RFQ0lNQUxfQ09OU1RBTlQAVEtfQ09NUElMRVJfSEVYQURFQ0lNQUxfQ09OU1RBTlQAVEtfQ09NUElMRVJfREVDSU1BTF9GTE9BVElOR19DT05TVEFOVABUS19DT01QSUxFUl9IRVhBREVDSU1BTF9GTE9BVElOR19DT05TVEFOVABUS19LRVlXT1JEX0RFRkFVTFQAVEtfU0hJRlRSSUdIVABUS19TSElGVExFRlQAVEtfS0VZV09SRF9TVEFUSUNfU0VUAFRLX1JJR0hUX0NVUkxZX0JSQUNLRVQAVEtfTEVGVF9DVVJMWV9CUkFDS0VUAFRLX1JJR0hUX1NRVUFSRV9CUkFDS0VUAFRLX0xFRlRfU1FVQVJFX0JSQUNLRVQAVEtfS0VZV09SRF9TVFJVQ1QAVEtfS0VZV09SRF9SRVNUUklDVABUS19DT01NRVJDSUFMX0FUAFRLX0tFWVdPUkRfRkxPQVQAVEtfSFlQSEVOX01JTlVTAFRLX01JTlVTTUlOVVMAVEtfUExVU1BMVVMAVEtfU09MSURVUwBUS19SRVZFUlNFX1NPTElEVVMAVEtfQkxBTktTAFRLX1JJR0hUX1BBUkVOVEhFU0lTAFRLX0xFRlRfUEFSRU5USEVTSVMAVEtfS0VZV09SRF9fQUxJR05BUwBUS19LRVlXT1JEX0FUVFJfSEFTAFRLX0tFWVdPUkRfTlVMTFBUUgBUS19LRVlXT1JEX0NPTlNURVhQUgBUS19MT0dJQ0FMX09QRVJBVE9SX09SAFRLX01BQ1JPX0NPTkNBVEVOQVRFX09QRVJBVE9SAHBfaXRlcmF0aW9uX3N0YXRlbWVudC0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gVEtfS0VZV09SRF9GT1IAVEtfS0VZV09SRF9SRUdJU1RFUgBUS19LRVlXT1JEX0lTX1BPSU5URVIAVEtfS0VZV09SRF9fT1dORVIAVEtfS0VZV09SRF9JU19PV05FUgBUS19LRVlXT1JEX19PQkpfT1dORVIAVEtfUExBQ0VNQVJLRVIAaW5wdXRfbGlzdC0+aGVhZC0+dHlwZSA9PSBUS19JREVOVElGSUVSAFRLX0tFWVdPUkRfREVGRVIAVEtfUFBOVU1CRVIAVEtfS0VZV09SRF9JU19TQ0FMQVIAVEtfS0VZV09SRF9DSEFSAFRLX0ZVTExfU1RPUABUS19LRVlXT1JEX0FVVE8AVEtfS0VZV09SRF9HT1RPAFRLX0lERU5USUZJRVJfUkVDVVJTSVZFX01BQ1JPAHBfaXRlcmF0aW9uX3N0YXRlbWVudC0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gVEtfS0VZV09SRF9ETwBUS19LRVlXT1JEX1JFVFVSTgBUS19LRVlXT1JEX19OT1JFVFVSTgBUS19LRVlXT1JEX0VYVEVSTgBUS19DT0xPTgBUS19TRU1JQ09MT04AVEtfS0VZV09SRF9JU19GVU5DVElPTgBUS19LRVlXT1JEX1VOSU9OAFRLX1BFUkNFTlRfU0lHTgBUS19QTFVTX1NJR04AVEtfRVFVQUxTX1NJR04AVEtfTlVNQkVSX1NJR04AVEtfRE9MTEFSX1NJR04AVEtfTEVTU19USEFOX1NJR04AVEtfR1JFQVRFUl9USEFOX1NJR04AQU5ZX09USEVSX1BQX1RPS0VOAE5BTgBUS19LRVlXT1JEX0VOVU0AVEtfS0VZV09SRF9fQVNNAFRLX0tFWVdPUkRfX0JPT0wAcF9kZWNsYXJhdGlvbi0+ZnVuY3Rpb25fYm9keSA9PSBOVUxMAHBuZXctPnByZXYgPT0gTlVMTABwbmV3LT5uZXh0ID09IE5VTEwAcF9sYXN0X3BhcmFtZXRlci0+bmV4dCA9PSBOVUxMAHAtPnR5cGVfcXVhbGlmaWVyLT5uZXh0ID09IE5VTEwAcC0+bmV4dCA9PSBOVUxMAHR5cGVfbGlzdC0+dGFpbC0+bmV4dCA9PSBOVUxMAGFwcGVuZF9saXN0LT50YWlsLT5uZXh0ID09IE5VTEwAZGVzdC0+dGFpbC0+bmV4dCA9PSBOVUxMAHNvdXJjZS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmZW51bWVyYXRvcmxpc3QpLT50YWlsLT5uZXh0ID09IE5VTEwAKCZpbml0X2RlY2xhcmF0b3JfbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF9tZW1iZXJfZGVjbGFyYXRvcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX2Rlc2lnbmF0b3JfbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF9pbml0aWFsaXplcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX3BhcmFtZXRlcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX3NwZWNpZmllcl9xdWFsaWZpZXJfbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF90eXBlX3F1YWxpZmllcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmYmxvY2tfaXRlbV9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX2F0dHJpYnV0ZV9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF9kZWNsYXJhdGlvbl9zcGVjaWZpZXJzKS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmcF9uZXctPnBhcmFtcyktPnRhaWwtPm5leHQgPT0gTlVMTAAoJnBfZnVuYy0+cGFyYW1zKS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX2F0dHJpYnV0ZV9zcGVjaWZpZXJfc2VxdWVuY2UpLT50YWlsLT5uZXh0ID09IE5VTEwAbGlzdC50YWlsLT5uZXh0ID09IE5VTEwAbmV3X2Jvb2stPm5leHQgPT0gTlVMTABwX3R5cGUtPm5leHQgPT0gTlVMTAB0Lm5hbWVfb3B0ID09IE5VTEwAcF9hcmd1bWVudCA9PSBOVUxMAHBfZXhwcmVzc2lvbi0+cmlnaHQgPT0gTlVMTABwX2V4cHJlc3Npb24tPmxlZnQgPT0gTlVMTABwX2Jsb2NrLT5wcmV2aW91cyA9PSBOVUxMAG1hY3JvLT5wYXJhbWV0ZXJzID09IE5VTEwAcF9pbml0aWFsaXplci0+ZGVzaWduYXRpb24gPT0gTlVMTABwX2luaXRpYWxpemVyMi0+ZGVzaWduYXRpb24gPT0gTlVMTABuZXdfZXhwcmVzc2lvbiA9PSBOVUxMAGxpc3QtPnRhaWwgPT0gTlVMTAByMi50YWlsID09IE5VTEwAY3R4LT50YWlsX2Jsb2NrID09IE5VTEwAcC0+dGFpbF9ibG9jayA9PSBOVUxMAGN0eC0+cF9yZXR1cm5fdHlwZSA9PSBOVUxMAHBfZXhwcmVzc2lvbl9ub2RlLT50eXBlX25hbWUgPT0gTlVMTABtYWNyby0+bmFtZSA9PSBOVUxMAG1hcC0+dGFibGUgPT0gTlVMTABwX2V4cHJlc3Npb25fbm9kZSA9PSBOVUxMAHR5cGVfbGlzdC0+aGVhZCA9PSBOVUxMAG1hY3JvLT5yZXBsYWNlbWVudF9saXN0LmhlYWQgPT0gTlVMTAByMi5oZWFkID09IE5VTEwAZmluZF9tYWNybyhjdHgsIGlucHV0X2xpc3QtPmhlYWQtPmxleGVtZSkgPT0gTlVMTAB0eXBlX2xpc3QgIT0gTlVMTABwX2xhc3QgIT0gTlVMTABwX2RlY2xhcmF0b3Jfb3B0ICE9IE5VTEwAY3R4LT5jdXJyZW50ICE9IE5VTEwAYm9va3MgIT0gTlVMTABwX3R5cGVfc3BlY2lmaWVyLT50eXBlZGVmX2RlY2xhcmF0b3IgIT0gTlVMTABwX2luaXRfZGVjbGFyYXRvci0+aW5pdGlhbGl6ZXItPmJyYWNlZF9pbml0aWFsaXplciAhPSBOVUxMAHBfdHlwZS0+ZW51bV9zcGVjaWZpZXIgIT0gTlVMTABwICE9IE5VTEwAcF9leHByZXNzaW9uX29yaWdpbiAhPSBOVUxMAG5ld19ib29rICE9IE5VTEwAbGlzdC5oZWFkICE9IE5VTEwAbGlzdDQuaGVhZCAhPSBOVUxMAFRLX0tFWVdPUkRfVFlQRU9GX1VOUVVBTABUS19LRVlXT1JEX0lTX0lOVEVHUkFMAFRLX1NUUklOR19MSVRFUkFMAFRLX0tFWVdPUkRfX1RIUkVBRF9MT0NBTABUS19BU1RFUklTSwBUS19RVUVTVElPTl9NQVJLAFRLX1FVT1RBVElPTl9NQVJLAFRLX0VYQ0xBTUFUSU9OX01BUksAVEtfS0VZV09SRF9CUkVBSwBUS19LRVlXT1JEX1NXSVRDSABUS19LRVlXT1JEX0NBVENIAFRLX0tFWVdPUkRfU1RBVElDX0RFQlVHAFRLX0tFWVdPUkRfTE9ORwBUS19LRVlXT1JEX19BTElHTk9GAFRLX0tFWVdPUkRfU0laRU9GAFRLX0tFWVdPUkRfVFlQRU9GAElORgBwX3NlbGVjdGlvbl9zdGF0ZW1lbnQtPmZpcnN0X3Rva2VuLT50eXBlID09IFRLX0tFWVdPUkRfSUYAbnVsbGNoZWNrcyBwcmFnbWEgbmVlZHMgdG8gdXNlIE9OIE9GRgAqYyA+PSAweDA4MDAgJiYgKmMgPD0gMHhGRkZGACpjID49IDB4MTAwMDAgJiYgKmMgPD0gMHgxMEZGRkYAKmMgPj0gMHgwMDgwICYmICpjIDw9IDB4MDdGRgBUS19LRVlXT1JEX1RZUEVERUYAKmMgPj0gMHgwMDAwICYmICpjIDw9IDB4MDA3RgBUS19LRVlXT1JEX0FUVFJfUkVNT1ZFAFRLX0tFWVdPUkRfVFJVRQBUS19LRVlXT1JEX0NPTlRJTlVFAFRLX0tFWVdPUkRfSVNfTFZBTFVFAFRLX0tFWVdPUkRfU1RBVElDX1NUQVRFAFRLX0tFWVdPUkRfRUxTRQBUS19LRVlXT1JEX0ZBTFNFAFRLX0tFWVdPUkRfQ0FTRQBUS19OT05FAFRLX0ZMT1dfTElORQBUS19QUkVQUk9DRVNTT1JfTElORQBUS19WRVJUSUNBTF9MSU5FAFRLX05FV0xJTkUAVEtfS0VZV09SRF9JTkxJTkUAVEtfWF9NSVNTSU5HX05BTUUAVEtfS0VZV09SRF9WT0xBVElMRQBwX2l0ZXJhdGlvbl9zdGF0ZW1lbnQtPmZpcnN0X3Rva2VuLT50eXBlID09IFRLX0tFWVdPUkRfV0hJTEUAVEtfQkVHSU5fT0ZfRklMRQBUS19LRVlXT1JEX0RPVUJMRQBDQUtFAFRLX0FQT1NUUk9QSEUAVEtfVElMREUAVEtfV0hJVEVfU1BBQ0UALUUAVEtfTE9HSUNBTF9PUEVSQVRPUl9BTkQAVEtfQU1QRVJTQU5EAFRLX0tFWVdPUkRfVk9JRABUS19LRVlXT1JEX1NJR05FRABUS19LRVlXT1JEX1VOU0lHTkVEAFRLX0tFWVdPUkRfQVRUUl9BREQAVEtfS0VZV09SRF9JU19BUklUSE1FVElDAFRLX0tFWVdPUkRfU1RBVElDAFRLX0tFWVdPUkRfX0dFTkVSSUMAVEtfS0VZV09SRF9fQVRPTUlDAFRLX0NPTU1BAGN0eC0+Y3VycmVudC0+dHlwZSA9PSBUS19QUkFHTUEAYWRkcmVzcyBvZiByZWdpc3RlciB2YXJpYWJsZSByZXF1ZXN0ZWQgLSBkZWNsYXJhdG9yPwBpbmNvbXBhdGlibGUgdHlwZXM/PwA8PgBicmVhazsAZ290byBfY2F0Y2hfbGFiZWxfJWQ7AHR5cGVkZWYgbG9uZyBsb25nIGZwb3NfdDsKdHlwZWRlZiB1bnNpZ25lZCBzaXplX3Q7CgojZGVmaW5lIEVYSVRfU1VDQ0VTUyAwCiNkZWZpbmUgRVhJVF9GQUlMVVJFIDEKI2RlZmluZSBOVUxMICgodm9pZCopMCkKdHlwZWRlZiBpbnQgd2NoYXJfdDsKW1tub2Rpc2NhcmRdXSBkb3VibGUgYXRvZihjb25zdCBjaGFyKiBucHRyKTsKW1tub2Rpc2NhcmRdXSBpbnQgYXRvaShjb25zdCBjaGFyKiBucHRyKTsKW1tub2Rpc2NhcmRdXSBsb25nIGludCBhdG9sKGNvbnN0IGNoYXIqIG5wdHIpOwpbW25vZGlzY2FyZF1dIGxvbmcgbG9uZyBpbnQgYXRvbGwoY29uc3QgY2hhciogbnB0cik7CmRvdWJsZSBzdHJ0b2QoY29uc3QgY2hhciogcmVzdHJpY3QgbnB0ciwgY2hhcioqIHJlc3RyaWN0IGVuZHB0cik7CmZsb2F0IHN0cnRvZihjb25zdCBjaGFyKiByZXN0cmljdCBucHRyLCBjaGFyKiogcmVzdHJpY3QgZW5kcHRyKTsKbG9uZyBkb3VibGUgc3RydG9sZChjb25zdCBjaGFyKiByZXN0cmljdCBucHRyLCBjaGFyKiogcmVzdHJpY3QgZW5kcHRyKTsKbG9uZyBpbnQgc3RydG9sKGNvbnN0IGNoYXIqIHJlc3RyaWN0IG5wdHIsIGNoYXIqKiByZXN0cmljdCBlbmRwdHIsIGludCBiYXNlKTsKbG9uZyBsb25nIGludCBzdHJ0b2xsKGNvbnN0IGNoYXIqIHJlc3RyaWN0IG5wdHIsIGNoYXIqKiByZXN0cmljdCBlbmRwdHIsIGludCBiYXNlKTsKdW5zaWduZWQgbG9uZyBpbnQgc3RydG91bChjb25zdCBjaGFyKiByZXN0cmljdCBucHRyLCBjaGFyKiogcmVzdHJpY3QgZW5kcHRyLCBpbnQgYmFzZSk7CnVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RydG91bGwoY29uc3QgY2hhciogcmVzdHJpY3QgbnB0ciwgY2hhcioqIHJlc3RyaWN0IGVuZHB0ciwgaW50IGJhc2UpOwppbnQgcmFuZCh2b2lkKTsKdm9pZCBzcmFuZCh1bnNpZ25lZCBpbnQgc2VlZCk7CnZvaWQqIGFsaWduZWRfYWxsb2Moc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpOwojaWYgZGVmaW5lZChfX1NURENfT1dORVJTSElQX18pICYmIGRlZmluZWQoX19PV05FUlNISVBfSF9fKQpbW25vZGlzY2FyZF1dIHZvaWQqIF9Pd25lciBjYWxsb2Moc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSk7CnZvaWQgZnJlZSh2b2lkKiBfT3duZXIgcHRyKTsKW1tub2Rpc2NhcmRdXSB2b2lkKiBfT3duZXIgbWFsbG9jKHNpemVfdCBzaXplKTsKW1tub2Rpc2NhcmRdXSB2b2lkKiBfT3duZXIgcmVhbGxvYyh2b2lkKiBwdHIsIHNpemVfdCBzaXplKTsKI2Vsc2UKW1tub2Rpc2NhcmRdXSB2b2lkKiBjYWxsb2Moc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSk7CnZvaWQgZnJlZSh2b2lkKiBwdHIpOwpbW25vZGlzY2FyZF1dIHZvaWQqIG1hbGxvYyhzaXplX3Qgc2l6ZSk7Cltbbm9kaXNjYXJkXV0gdm9pZCogcmVhbGxvYyh2b2lkKiBwdHIsIHNpemVfdCBzaXplKTsKI2VuZGlmCltbbm9yZXR1cm5dXSB2b2lkIGFib3J0KHZvaWQpOwppbnQgYXRleGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7CmludCBhdF9xdWlja19leGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7Cltbbm9yZXR1cm5dXSB2b2lkIGV4aXQoaW50IHN0YXR1cyk7Cltbbm9yZXR1cm5dXSB2b2lkIF9FeGl0KGludCBzdGF0dXMpOwpjaGFyKiBnZXRlbnYoY29uc3QgY2hhciogbmFtZSk7Cltbbm9yZXR1cm5dXSB2b2lkIHF1aWNrX2V4aXQoaW50IHN0YXR1cyk7CmludCBzeXN0ZW0oY29uc3QgY2hhciogc3RyaW5nKTsAIAp0eXBlZGVmIGludCBlcnJub190Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplX3Q7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHJzaXplX3Q7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgd2NoYXJfdDsKdm9pZCogbWVtY2hyKHZvaWQgY29uc3QqIF9CdWYsIGludCBfVmFsLCBzaXplX3QgX01heENvdW50KTsKaW50IG1lbWNtcCh2b2lkIGNvbnN0KiBfQnVmMSwgdm9pZCBjb25zdCogX0J1ZjIsIHNpemVfdCBfU2l6ZSk7CnZvaWQqIG1lbWNweSh2b2lkKiBfRHN0LCB2b2lkIGNvbnN0KiBfU3JjLCBzaXplX3QgX1NpemUpOwp2b2lkKiBtZW1tb3ZlKHZvaWQqIF9Ec3QsIHZvaWQgY29uc3QqIF9TcmMsIHNpemVfdCBfU2l6ZSk7CnZvaWQqIG1lbXNldCh2b2lkKiBfRHN0LCBpbnQgX1ZhbCwgc2l6ZV90IF9TaXplKTsKY2hhciogc3RyY2hyKGNoYXIgY29uc3QqIF9TdHIsIGludCBfVmFsKTsKY2hhciogc3RycmNocihjaGFyIGNvbnN0KiBfU3RyLCBpbnQgX0NoKTsKY2hhciogc3Ryc3RyKGNoYXIgY29uc3QqIF9TdHIsIGNoYXIgY29uc3QqIF9TdWJTdHIpOwp3Y2hhcl90KiB3Y3NjaHIod2NoYXJfdCBjb25zdCogX1N0ciwgd2NoYXJfdCBfQ2gpOwp3Y2hhcl90KiB3Y3NyY2hyKHdjaGFyX3QgY29uc3QqIF9TdHIsIHdjaGFyX3QgX0NoKTsKd2NoYXJfdCogd2Nzc3RyKHdjaGFyX3QgY29uc3QqIF9TdHIsIHdjaGFyX3QgY29uc3QqIF9TdWJTdHIpOwpzdGF0aWMgX19pbmxpbmUgZXJybm9fdCBtZW1jcHlfcyh2b2lkKiBjb25zdCBfRGVzdGluYXRpb24sIHJzaXplX3QgY29uc3QgX0Rlc3RpbmF0aW9uU2l6ZSwgdm9pZCBjb25zdCogY29uc3QgX1NvdXJjZSwgcnNpemVfdCBjb25zdCBfU291cmNlU2l6ZSk7CnN0YXRpYyBfX2lubGluZSBlcnJub190IG1lbW1vdmVfcyh2b2lkKiBjb25zdCBfRGVzdGluYXRpb24sIHJzaXplX3QgY29uc3QgX0Rlc3RpbmF0aW9uU2l6ZSwgdm9pZCBjb25zdCogY29uc3QgX1NvdXJjZSwgcnNpemVfdCBjb25zdCBfU291cmNlU2l6ZSk7CmludCBfbWVtaWNtcCh2b2lkIGNvbnN0KiBfQnVmMSwgdm9pZCBjb25zdCogX0J1ZjIsIHNpemVfdCBfU2l6ZSk7CnZvaWQqIG1lbWNjcHkodm9pZCogX0RzdCwgdm9pZCBjb25zdCogX1NyYywgaW50IF9WYWwsIHNpemVfdCBfU2l6ZSk7CmludCBtZW1pY21wKHZvaWQgY29uc3QqIF9CdWYxLCB2b2lkIGNvbnN0KiBfQnVmMiwgc2l6ZV90IF9TaXplKTsKZXJybm9fdCB3Y3NjYXRfcyh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHJzaXplX3QgX1NpemVJbldvcmRzLCB3Y2hhcl90IGNvbnN0KiBfU291cmNlKTsKZXJybm9fdCB3Y3NjcHlfcyh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHJzaXplX3QgX1NpemVJbldvcmRzLCB3Y2hhcl90IGNvbnN0KiBfU291cmNlKTsKZXJybm9fdCB3Y3NuY2F0X3Mod2NoYXJfdCogX0Rlc3RpbmF0aW9uLCByc2l6ZV90IF9TaXplSW5Xb3Jkcywgd2NoYXJfdCBjb25zdCogX1NvdXJjZSwgcnNpemVfdCBfTWF4Q291bnQpOwplcnJub190IHdjc25jcHlfcyh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHJzaXplX3QgX1NpemVJbldvcmRzLCB3Y2hhcl90IGNvbnN0KiBfU291cmNlLCByc2l6ZV90IF9NYXhDb3VudCk7CndjaGFyX3QqIHdjc3Rva19zKHdjaGFyX3QqIF9TdHJpbmcsIHdjaGFyX3QgY29uc3QqIF9EZWxpbWl0ZXIsIHdjaGFyX3QqKiBfQ29udGV4dCk7CndjaGFyX3QqIF93Y3NkdXAod2NoYXJfdCBjb25zdCogX1N0cmluZyk7CndjaGFyX3QqIHdjc2NhdCh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UpOyBpbnQgd2NzY21wKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcxLCB3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMik7CndjaGFyX3QqIHdjc2NweSh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UpOyBzaXplX3Qgd2NzY3Nwbih3Y2hhcl90IGNvbnN0KiBfU3RyaW5nLCB3Y2hhcl90IGNvbnN0KiBfQ29udHJvbCk7CnNpemVfdCB3Y3NsZW4od2NoYXJfdCBjb25zdCogX1N0cmluZyk7CnNpemVfdCB3Y3NubGVuKHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UsIHNpemVfdCBfTWF4Q291bnQpOwpzdGF0aWMgX19pbmxpbmUgc2l6ZV90IHdjc25sZW5fcyh3Y2hhcl90IGNvbnN0KiBfU291cmNlLCBzaXplX3QgX01heENvdW50KTsKd2NoYXJfdCogd2NzbmNhdCh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UsIHNpemVfdCBfQ291bnQpOwppbnQgd2NzbmNtcCh3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMSwgd2NoYXJfdCBjb25zdCogX1N0cmluZzIsIHNpemVfdCBfTWF4Q291bnQpOwp3Y2hhcl90KiB3Y3NuY3B5KHdjaGFyX3QqIF9EZXN0aW5hdGlvbiwgd2NoYXJfdCBjb25zdCogX1NvdXJjZSwgc2l6ZV90IF9Db3VudCk7CndjaGFyX3QqIHdjc3Bicmsod2NoYXJfdCBjb25zdCogX1N0cmluZywgd2NoYXJfdCBjb25zdCogX0NvbnRyb2wpOwpzaXplX3Qgd2Nzc3BuKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcsIHdjaGFyX3QgY29uc3QqIF9Db250cm9sKTsKd2NoYXJfdCogd2NzdG9rKHdjaGFyX3QqIF9TdHJpbmcsIHdjaGFyX3QgY29uc3QqIF9EZWxpbWl0ZXIsIHdjaGFyX3QqKiBfQ29udGV4dCk7CnNpemVfdCB3Y3N4ZnJtKHdjaGFyX3QqIF9EZXN0aW5hdGlvbiwgd2NoYXJfdCBjb25zdCogX1NvdXJjZSwgc2l6ZV90IF9NYXhDb3VudCk7CmludCB3Y3Njb2xsKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcxLCB3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMik7CndjaGFyX3QqIHdjc2R1cCh3Y2hhcl90IGNvbnN0KiBfU3RyaW5nKTsKaW50IHdjc2ljbXAod2NoYXJfdCBjb25zdCogX1N0cmluZzEsIHdjaGFyX3QgY29uc3QqIF9TdHJpbmcyKTsKaW50IHdjc25pY21wKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcxLCB3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMiwgc2l6ZV90IF9NYXhDb3VudCk7CndjaGFyX3QqIHdjc25zZXQod2NoYXJfdCogX1N0cmluZywgd2NoYXJfdCBfVmFsdWUsIHNpemVfdCBfTWF4Q291bnQpOwp3Y2hhcl90KiB3Y3NyZXYod2NoYXJfdCogX1N0cmluZyk7CndjaGFyX3QqIHdjc3NldCh3Y2hhcl90KiBfU3RyaW5nLCB3Y2hhcl90IF9WYWx1ZSk7CndjaGFyX3QqIHdjc2x3cih3Y2hhcl90KiBfU3RyaW5nKTsgd2NoYXJfdCogd2NzdXByKHdjaGFyX3QqIF9TdHJpbmcpOwppbnQgd2NzaWNvbGwod2NoYXJfdCBjb25zdCogX1N0cmluZzEsIHdjaGFyX3QgY29uc3QqIF9TdHJpbmcyKTsKY2hhciogc3RydG9rX3MoY2hhciogX1N0cmluZywgY2hhciBjb25zdCogX0RlbGltaXRlciwgY2hhcioqIF9Db250ZXh0KTsKdm9pZCogX21lbWNjcHkodm9pZCogX0RzdCwgdm9pZCBjb25zdCogX1NyYywgaW50IF9WYWwsIHNpemVfdCBfTWF4Q291bnQpOwpjaGFyKiBzdHJjYXQoY2hhciogX0Rlc3RpbmF0aW9uLCBjaGFyIGNvbnN0KiBfU291cmNlKTsKaW50IHN0cmNtcChjaGFyIGNvbnN0KiBfU3RyMSwgY2hhciBjb25zdCogX1N0cjIpOwppbnQgc3RyY29sbChjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIpOwpjaGFyKiBzdHJlcnJvcihpbnQgX0Vycm9yTWVzc2FnZSk7CnNpemVfdCBzdHJsZW4oY2hhciBjb25zdCogX1N0cik7CmNoYXIqIHN0cm5jYXQoY2hhciogX0Rlc3RpbmF0aW9uLCBjaGFyIGNvbnN0KiBfU291cmNlLCBzaXplX3QgX0NvdW50KTsKaW50IHN0cm5jbXAoY2hhciBjb25zdCogX1N0cjEsIGNoYXIgY29uc3QqIF9TdHIyLCBzaXplX3QgX01heENvdW50KTsKY2hhciogc3RybmNweShjaGFyKiBfRGVzdGluYXRpb24sIGNoYXIgY29uc3QqIF9Tb3VyY2UsIHNpemVfdCBfQ291bnQpOwpzaXplX3Qgc3RybmxlbihjaGFyIGNvbnN0KiBfU3RyaW5nLCBzaXplX3QgX01heENvdW50KTsKc3RhdGljIF9faW5saW5lIHNpemVfdCBzdHJubGVuX3MoY2hhciBjb25zdCogX1N0cmluZywgc2l6ZV90IF9NYXhDb3VudCk7CmNoYXIqIHN0cnBicmsoY2hhciBjb25zdCogX1N0ciwgY2hhciBjb25zdCogX0NvbnRyb2wpOwpzaXplX3Qgc3Ryc3BuKGNoYXIgY29uc3QqIF9TdHIsIGNoYXIgY29uc3QqIF9Db250cm9sKTsKY2hhciogc3RydG9rKGNoYXIqIF9TdHJpbmcsIGNoYXIgY29uc3QqIF9EZWxpbWl0ZXIpOwojaWYgZGVmaW5lZChfX1NURENfT1dORVJTSElQX18pICYmIGRlZmluZWQoX19PV05FUlNISVBfSF9fKQpjaGFyKiBfT3duZXIgc3RyZHVwKGNoYXIgY29uc3QqIF9TdHJpbmcpOwojZWxzZQpjaGFyKiBzdHJkdXAoY2hhciBjb25zdCogX1N0cmluZyk7CiNlbmRpZgppbnQgc3RyY21waShjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIpOwppbnQgc3RyaWNtcChjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIpOwpjaGFyKiBzdHJsd3IoY2hhciogX1N0cmluZyk7CmludCBzdHJuaWNtcChjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIsIHNpemVfdCBfTWF4Q291bnQpOwpjaGFyKiBzdHJuc2V0KGNoYXIqIF9TdHJpbmcsIGludCBfVmFsdWUsIHNpemVfdCBfTWF4Q291bnQpOwpjaGFyKiBzdHJyZXYoY2hhciogX1N0cmluZyk7CmNoYXIqIHN0cnNldChjaGFyKiBfU3RyaW5nLCBpbnQgX1ZhbHVlKTsgY2hhciogc3RydXByKGNoYXIqIF9TdHJpbmcpOwBOb3RlOiBpbmNsdWRpbmcgZmlsZToAZWxzZSBfY2F0Y2hfbGFiZWxfJWQ6AC10YXJnZXQ9Yzk5AC1zdGQ9Yzk5AC10YXJnZXQ9Yzg5AF9faW50OABUS19LRVlXT1JEX19JTlQ4AF9EZWNpbWFsMTI4AFRLX0tFWVdPUkRfX0RFQ0lNQUwxMjgAX19pbnQxNgBUS19LRVlXT1JEX19JTlQxNgBfX2ludDY0AF9EZWNpbWFsNjQAVEtfS0VZV09SRF9fSU5UNjQAVEtfS0VZV09SRF9fREVDSU1BTDY0AF9faW50MzIAX0RlY2ltYWwzMgBUS19LRVlXT1JEX19JTlQzMgBUS19LRVlXT1JEX19ERUNJTUFMMzIALXRhcmdldD1jMTEALXN0ZD1jMTEAYWxpZ24gPiAwAGxpc3QudGFpbC0+bmV4dCA9PSAwAHBfaW5pdF9kZWNsYXJhdG9yLT5wX2RlY2xhcmF0b3ItPnR5cGUudHlwZV9zcGVjaWZpZXJfZmxhZ3MgPT0gMABwX29iamVjdC0+bWVtYmVycy5zaXplID09IDAAZm10ICE9IDAAYWxpZ24gIT0gMABpZiAoMSkgLyp0cnkqLwAvKl9JbXBsaWNpdCovAC8qcmVzdHJpY3QqLwAvKiVzKi8ALypbW25vcmV0dXJuXV0qLwBwcmV2aW91cyBtZW1iZXJzIG9mICclcycgd2VyZSBub3QgbW92ZWQgYmVmb3JlIHRoaXMgYXNzaWdubWVudC4AbWVtb3J5IHBvaW50ZWQgYnkgJyVzJyB3YXMgbm90IHJlbGVhc2VkIGJlZm9yZSBhc3NpZ25tZW50LgBVbmljb2RlIGNoYXJhY3RlciBsaXRlcmFscyBtYXkgbm90IGNvbnRhaW4gbXVsdGlwbGUgY2hhcmFjdGVycy4AdXNlIG9mICclcycgd2l0aCB0YWcgdHlwZSB0aGF0IGRvZXMgbm90IG1hdGNoIHByZXZpb3VzIGRlY2xhcmF0aW9uLgBzdHJ1Y3QgJyVzJyBpcyBpbmNvbXBsZXRlLgBDaGFyYWN0ZXIgdG9vIGxhcmdlIGZvciBlbmNsb3NpbmcgY2hhcmFjdGVyIGxpdGVyYWwgdHlwZS4Ab2JqZWN0ICclcycgd2FzIG5vdCBtb3ZlZC4AbWVtb3J5IHBvaW50ZWQgYnkgJyVzJyB3YXMgbm90IHJlbGVhc2VkLgBPYmplY3QgbXVzdCBiZSBvd25lciBxdWFsaWZpZWQuAGludmFsaWQgdHlwZXMgZm9yIG9wZXJhdG9yIC0ALAAqACF0b2tlbl9saXN0X2lzX2VtcHR5KGxpc3QpAChjdXJyZW50KQAoKCVzKSVzKQAoIyVkICVzKQBwX2V4cHJlc3Npb25fbm9kZSA9PSBOVUxMIHx8IChwX2V4cHJlc3Npb25fbm9kZS0+Zmlyc3RfdG9rZW4gJiYgcF9leHByZXNzaW9uX25vZGUtPmxhc3RfdG9rZW4pAChudWxsKQByLnRhaWwgPT0gTlVMTCB8fCAhdG9rZW5faXNfYmxhbmsoci50YWlsKQBtaXNzaW5nIG1hY3JvIGFyZ3VtZW50IChzaG91bGQgYmUgY2hlY2tlZCBiZWZvcmUpAHR5cGVfaXNfYXJyYXkocF90eXBlKQAhbWFjcm9fYWxyZWFkeV9leHBhbmRlZChsaXN0LCBtYWNyby0+bmFtZSkAIXRva2VuX2lzX2JsYW5rKGlucHV0X2xpc3QtPmhlYWQpACF0b2tlbl9pc19ibGFuayhuZXdfbGlzdC5oZWFkKQBhc3NlcnQoX19WQV9BUkdTX18pAChwLT5oZWFkID09IE5VTEwgJiYgcC0+dGFpbCA9PSBOVUxMKSB8fCAocC0+aGVhZCAhPSBOVUxMICYmIHAtPnRhaWwgIT0gTlVMTCkAIShpbnB1dF9saXN0LT5oZWFkLT5mbGFncyAmIFRLX0ZMQUdfSEFTX05FV0xJTkVfQkVGT1JFKQAhKG5ld19saXN0LmhlYWQtPmZsYWdzICYgVEtfRkxBR19IQVNfTkVXTElORV9CRUZPUkUpACF0b2tlbl9saXN0X2lzX2VtcHR5KCZsaXN0MikAKChfQm9vbCkxKQAoKF9Cb29sKTApACgodm9pZCopMCkAbWlzc2luZyApAGV4cGVjdGVkICkAKABwX2JyYWNrZXRfaW5pdGlhbGl6ZXJfbGlzdC0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gJ3snAGV4cGVjdGVkIGRlY2xhcmF0aW9uIG5vdCAnJXMnAG1lbWJlciAnJXMnIG5vdCBmb3VuZCBpbiBzdHJ1Y3QgJyVzJwBwYXJhbWV0ZXIgJyVzJyBpcyBsZWF2aW5nIHNjb3BlZCB3aXRoIGEgdW5pbml0aWFsaXplZCBvYmplY3QgJyVzJwB1c2luZyBhIHVuaW5pdGlhbGl6ZWQgb2JqZWN0ICclcycAcGFyYW1ldGVyICclcycgaXMgbGVhdmluZyBzY29wZWQgd2l0aCBhIG1vdmVkIG9iamVjdCAnJXMnAHVua25vd24gb3B0aW9uICclcycAc3RydWN0IG1lbWJlciAnJXMnIG5vdCBmb3VuZCBpbiAnJXMnAHVua25vd24gd2FybmluZyAnJXMnAGludmFsaWQgdHlwZSAnJXMnAG5vdCBmb3VuZCAnJXMnAGRpciA9ICclcycAaW1wbGljaXQgY29udmVyc2lvbiBmcm9tICdlbnVtICVzJyB0byAnZW51bSAlcycAb3AgPT0gJz09JyB8fCBvcCA9PSAnIT0nAHduYW1lWzBdID09ICctJwBleHBlY3RlZCAnfScgYmVmb3JlICcpJwBleHBlY3RlZCAnXScgYmVmb3JlICcpJwBwX2V4cHJlc3Npb25fbm9kZS0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gJygnAG9ial9vd25lciBwb2ludGVyIG11c3QgYmUgY3JlYXRlZCB1c2luZyBhZGRyZXNzIG9mIG9wZXJhdG9yICYALy8jAHlvdSBjYW4gdXNlICJhZGphY2VudCIgInN0cmluZ3MiACwgImVycm9yIgAiemVybyIAXCIAeyAAIGRpc2NhcmRpbmcgY29uc3QgYXQgYXJndW1lbnQgACBpbmNvbXBhdGlibGUgdHlwZXMgYXQgYXJndW1lbnQgAHN0cnVjdCAAIGluY29tcGF0aWJsZSB0eXBlcyAAeyAlcyAAIG9yIABlbnVtIABpZ25vcmluZyB0aGUgcmVzdWx0IG9mIG93bmVyIHR5cGUgAG9iamVjdCAnJXMnIGNhbiBiZSB1bmluaXRpYWxpemVkIABlbGlmIGRlZmluZWQgAGVsaWYgISBkZWZpbmVkIABsZWZ0IHR5cGUgbXVzdCBiZSBvd25lciBxdWFsaWZpZWQgACVwOiVzID09IAAgJXMgX3RtcCA9IABlcnJvcjogAHdhcm5pbmc6IABub3RlOiAAG1s5N20lczolZDolZDogACVzKCVkLCVkKTogACAgICAgICAgICAgICAgIH0KACAgICAgICAgICAgICAiYXJ0aWZhY3RMb2NhdGlvbiI6IHsKACAgICAgICAicGh5c2ljYWxMb2NhdGlvbiI6IHsKACAgICAgICAgICAgICAgInJlZ2lvbiI6IHsKACAgICAgIm1lc3NhZ2UiOiB7CgAgICAgICAgICAgewoAG1s5MW1lcnJvcjogG1s5N20lcwoAG1s5NW13YXJuaW5nOiAbWzk3bSVzCgAbWzM2OzFtbm90ZTogG1s5N20lcwoAZXhwZWN0ZWQgdG9rZW4gJXMgZ290ICVzCgAlcyAlcwoAdGFnICVzCgBfU3RhdGljX2Fzc2VydCBmYWlsZWQgJXMKAHJlYWQgJXMKAGVycm9yOiAlcwoAd2FybmluZzogJXMKAG5vdGU6ICVzCgB0b28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCB0byBmdW5jdGlvbi1saWtlIG1hY3JvIGludm9jYXRpb24KABtbOTdtQ2FrZSAwLjcuMjAbWzBtCgAjcHJhZ21hIG9uY2UKI2RlZmluZSBfSU9GQkYgMHgwMDAwCiNkZWZpbmUgX0lPTEJGIDB4MDA0MAojZGVmaW5lIF9JT05CRiAweDAwMDQKCiNkZWZpbmUgQlVGU0laICA1MTIKCiNkZWZpbmUgRU9GICAgICgtMSkKCiNkZWZpbmUgRklMRU5BTUVfTUFYICAgIDI2MAojZGVmaW5lIEZPUEVOX01BWCAgICAgICAyMAoKI2RlZmluZSBMX3RtcG5hbSAgIDI2MCAvLyBfTUFYX1BBVEgKCi8qIFNlZWsgbWV0aG9kIGNvbnN0YW50cyAqLwoKI2RlZmluZSBTRUVLX0NVUiAgICAxCiNkZWZpbmUgU0VFS19FTkQgICAgMgojZGVmaW5lIFNFRUtfU0VUICAgIDAKCgojZGVmaW5lIFRNUF9NQVggICAgICAgICAyMTQ3NDgzNjQ3CgoKCnR5cGVkZWYgbG9uZyBsb25nIGZwb3NfdDsKdHlwZWRlZiBpbnQgRklMRTsKCmV4dGVybiBGSUxFKiBzdGRpbjsKZXh0ZXJuIEZJTEUqIHN0ZG91dDsKZXh0ZXJuIEZJTEUqIHN0ZGVycjsKCnR5cGVkZWYgaW50IHNpemVfdDsKdHlwZWRlZiB2b2lkKiB2YV9saXN0OwppbnQgcmVtb3ZlKGNvbnN0IGNoYXIqIGZpbGVuYW1lKTsKaW50IHJlbmFtZShjb25zdCBjaGFyKiBvbGQsIGNvbnN0IGNoYXIqIG5ld3MpOwpGSUxFKiB0bXBmaWxlKHZvaWQpOwpjaGFyKiB0bXBuYW0oY2hhciogcyk7CiNpZiBkZWZpbmVkKF9fU1REQ19PV05FUlNISVBfXykgJiYgZGVmaW5lZChfX09XTkVSU0hJUF9IX18pCmludCBmY2xvc2UoRklMRSogX093bmVyIHN0cmVhbSk7CiNlbHNlCmludCBmY2xvc2UoRklMRSogc3RyZWFtKTsKI2VuZGlmCmludCBmZmx1c2goRklMRSogc3RyZWFtKTsKI2lmIGRlZmluZWQoX19TVERDX09XTkVSU0hJUF9fKSAmJiBkZWZpbmVkKF9fT1dORVJTSElQX0hfXykKRklMRSogX093bmVyIGZvcGVuKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZpbGVuYW1lLCBjb25zdCBjaGFyKiByZXN0cmljdCBtb2RlKTsKRklMRSogX093bmVyIGZyZW9wZW4oY29uc3QgY2hhciogcmVzdHJpY3QgZmlsZW5hbWUsIGNvbnN0IGNoYXIqIHJlc3RyaWN0IG1vZGUsIEZJTEUqIHJlc3RyaWN0IHN0cmVhbSk7CiNlbHNlCkZJTEUqIGZvcGVuKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZpbGVuYW1lLCBjb25zdCBjaGFyKiByZXN0cmljdCBtb2RlKTsKRklMRSogZnJlb3Blbihjb25zdCBjaGFyKiByZXN0cmljdCBmaWxlbmFtZSwgY29uc3QgY2hhciogcmVzdHJpY3QgbW9kZSwgRklMRSogcmVzdHJpY3Qgc3RyZWFtKTsKI2VuZGlmCnZvaWQgc2V0YnVmKEZJTEUqIHJlc3RyaWN0IHN0cmVhbSwgY2hhciogcmVzdHJpY3QgYnVmKTsKaW50IHNldHZidWYoRklMRSogcmVzdHJpY3Qgc3RyZWFtLCBjaGFyKiByZXN0cmljdCBidWYsIGludCBtb2RlLCBzaXplX3Qgc2l6ZSk7CmludCBmcHJpbnRmKEZJTEUqIHJlc3RyaWN0IHN0cmVhbSwgY29uc3QgY2hhciogcmVzdHJpY3QgZm9ybWF0LCAuLi4pOwppbnQgZnNjYW5mKEZJTEUqIHJlc3RyaWN0IHN0cmVhbSwgY29uc3QgY2hhciogcmVzdHJpY3QgZm9ybWF0LCAuLi4pOwppbnQgcHJpbnRmKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKaW50IHNjYW5mKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKaW50IHNucHJpbnRmKGNoYXIqIHJlc3RyaWN0IHMsIHNpemVfdCBuLCBjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIC4uLik7CmludCBzcHJpbnRmKGNoYXIqIHJlc3RyaWN0IHMsIGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKaW50IHNzY2FuZihjb25zdCBjaGFyKiByZXN0cmljdCBzLCBjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIC4uLik7CmludCB2ZnByaW50ZihGSUxFKiByZXN0cmljdCBzdHJlYW0sIGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgdmFfbGlzdCBhcmcpOwppbnQgdmZzY2FuZihGSUxFKiByZXN0cmljdCBzdHJlYW0sIGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgdmFfbGlzdCBhcmcpOwppbnQgdnByaW50Zihjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIHZhX2xpc3QgYXJnKTsKaW50IHZzY2FuZihjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIHZhX2xpc3QgYXJnKTsKaW50IHB1dHMoY29uc3QgY2hhciogc3RyKTsKaW50IGZwdXRzKGNvbnN0IGNoYXIqIHJlc3RyaWN0IHMsIEZJTEUqIHJlc3RyaWN0IHN0cmVhbSk7CmludCBnZXRjKEZJTEUqIHN0cmVhbSk7CmludCBnZXRjaGFyKHZvaWQpOwppbnQgcHV0YyhpbnQgYywgRklMRSogc3RyZWFtKTsKaW50IHB1dGNoYXIoaW50IGMpOwppbnQgcHV0cyhjb25zdCBjaGFyKiBzKTsKaW50IHVuZ2V0YyhpbnQgYywgRklMRSogc3RyZWFtKTsKaW50IGZnZXRjKEZJTEUqIHN0cmVhbSk7CnNpemVfdCBmcmVhZCh2b2lkKiByZXN0cmljdCBwdHIsIHNpemVfdCBzaXplLCBzaXplX3Qgbm1lbWIsIEZJTEUqIHJlc3RyaWN0IHN0cmVhbSk7CnNpemVfdCBmd3JpdGUoY29uc3Qgdm9pZCogcmVzdHJpY3QgcHRyLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG5tZW1iLCBGSUxFKiByZXN0cmljdCBzdHJlYW0pOwppbnQgZmdldHBvcyhGSUxFKiByZXN0cmljdCBzdHJlYW0sIGZwb3NfdCogcmVzdHJpY3QgcG9zKTsKaW50IGZzZWVrKEZJTEUqIHN0cmVhbSwgbG9uZyBpbnQgb2Zmc2V0LCBpbnQgd2hlbmNlKTsKaW50IGZzZXRwb3MoRklMRSogc3RyZWFtLCBjb25zdCBmcG9zX3QqIHBvcyk7CmxvbmcgaW50IGZ0ZWxsKEZJTEUqIHN0cmVhbSk7CnZvaWQgcmV3aW5kKEZJTEUqIHN0cmVhbSk7CnZvaWQgY2xlYXJlcnIoRklMRSogc3RyZWFtKTsKaW50IGZlb2YoRklMRSogc3RyZWFtKTsKaW50IGZlcnJvcihGSUxFKiBzdHJlYW0pOwp2b2lkIHBlcnJvcihjb25zdCBjaGFyKiBzKTsKCgoKI2lmbmRlZiBOVUxMCiNkZWZpbmUgTlVMTCAoKHZvaWQqKTApCiNlbmRpZgoALy8KI3ByYWdtYSBvbmNlCiNkZWZpbmUgQ0hBUl9CSVQgICAgICA4CiNkZWZpbmUgU0NIQVJfTUlOICAgKC0xMjgpCiNkZWZpbmUgU0NIQVJfTUFYICAgICAxMjcKI2RlZmluZSBVQ0hBUl9NQVggICAgIDB4ZmYKCiNpZm5kZWYgX0NIQVJfVU5TSUdORUQKICAgICNkZWZpbmUgQ0hBUl9NSU4gICAgU0NIQVJfTUlOCiAgICAjZGVmaW5lIENIQVJfTUFYICAgIFNDSEFSX01BWAojZWxzZQogICAgI2RlZmluZSBDSEFSX01JTiAgICAwCiAgICAjZGVmaW5lIENIQVJfTUFYICAgIFVDSEFSX01BWAojZW5kaWYKCiNkZWZpbmUgTUJfTEVOX01BWCAgICA1CiNkZWZpbmUgU0hSVF9NSU4gICAgKC0zMjc2OCkKI2RlZmluZSBTSFJUX01BWCAgICAgIDMyNzY3CiNkZWZpbmUgVVNIUlRfTUFYICAgICAweGZmZmYKI2RlZmluZSBJTlRfTUlOICAgICAoLTIxNDc0ODM2NDcgLSAxKQojZGVmaW5lIElOVF9NQVggICAgICAgMjE0NzQ4MzY0NwojZGVmaW5lIFVJTlRfTUFYICAgICAgMHhmZmZmZmZmZgojZGVmaW5lIExPTkdfTUlOICAgICgtMjE0NzQ4MzY0N0wgLSAxKQojZGVmaW5lIExPTkdfTUFYICAgICAgMjE0NzQ4MzY0N0wKI2RlZmluZSBVTE9OR19NQVggICAgIDB4ZmZmZmZmZmZVTAojZGVmaW5lIExMT05HX01BWCAgICAgOTIyMzM3MjAzNjg1NDc3NTgwN2k2NAojZGVmaW5lIExMT05HX01JTiAgICgtOTIyMzM3MjAzNjg1NDc3NTgwN2k2NCAtIDEpCiNkZWZpbmUgVUxMT05HX01BWCAgICAweGZmZmZmZmZmZmZmZmZmZmZ1aTY0CgojZGVmaW5lIF9JOF9NSU4gICAgICgtMTI3aTggLSAxKQojZGVmaW5lIF9JOF9NQVggICAgICAgMTI3aTgKI2RlZmluZSBfVUk4X01BWCAgICAgIDB4ZmZ1aTgKCiNkZWZpbmUgX0kxNl9NSU4gICAgKC0zMjc2N2kxNiAtIDEpCiNkZWZpbmUgX0kxNl9NQVggICAgICAzMjc2N2kxNgojZGVmaW5lIF9VSTE2X01BWCAgICAgMHhmZmZmdWkxNgoKI2RlZmluZSBfSTMyX01JTiAgICAoLTIxNDc0ODM2NDdpMzIgLSAxKQojZGVmaW5lIF9JMzJfTUFYICAgICAgMjE0NzQ4MzY0N2kzMgojZGVmaW5lIF9VSTMyX01BWCAgICAgMHhmZmZmZmZmZnVpMzIKCiNkZWZpbmUgX0k2NF9NSU4gICAgKC05MjIzMzcyMDM2ODU0Nzc1ODA3aTY0IC0gMSkKI2RlZmluZSBfSTY0X01BWCAgICAgIDkyMjMzNzIwMzY4NTQ3NzU4MDdpNjQKI2RlZmluZSBfVUk2NF9NQVggICAgIDB4ZmZmZmZmZmZmZmZmZmZmZnVpNjQKICAgICAgICAjZGVmaW5lIFNJWkVfTUFYIDB4ZmZmZmZmZmYKACAgICAgICAgICAgICAgICAgICJlbmRDb2x1bW4iOiAlZAoAG1s5N21jYWtlICVzIG1haW4uYwoAIFslc10KACAgICAgICAgIF0KACAgICAgICJsb2NhdGlvbnMiOiBbCgAgICAgICAgICAibG9naWNhbExvY2F0aW9ucyI6IFsKACNwcmFnbWEgb25jZQoKZG91YmxlIGFjb3MoZG91YmxlIF9feCk7CmRvdWJsZSBhc2luKGRvdWJsZSBfX3gpOwpkb3VibGUgYXRhbihkb3VibGUgX194KTsKZG91YmxlIGF0YW4yKGRvdWJsZSBfX3ksIGRvdWJsZSBfX3gpOwpkb3VibGUgY29zKGRvdWJsZSBfX3gpOwpkb3VibGUgc2luKGRvdWJsZSBfX3gpOwpkb3VibGUgdGFuKGRvdWJsZSBfX3gpOwpkb3VibGUgY29zaChkb3VibGUgX194KTsKZG91YmxlIHNpbmgoZG91YmxlIF9feCk7CmRvdWJsZSB0YW5oKGRvdWJsZSBfX3gpOwpkb3VibGUgYWNvc2goZG91YmxlIF9feCk7CmRvdWJsZSBhc2luaChkb3VibGUgX194KTsKZG91YmxlIGF0YW5oKGRvdWJsZSBfX3gpOwpkb3VibGUgZXhwKGRvdWJsZSBfX3gpOwpkb3VibGUgZnJleHAoZG91YmxlIF9feCwgaW50KiBfX2V4cG9uZW50KTsKZG91YmxlIGxkZXhwKGRvdWJsZSBfX3gsIGludCBfX2V4cG9uZW50KTsKZG91YmxlIGxvZyhkb3VibGUgX194KTsKZG91YmxlIGxvZzEwKGRvdWJsZSBfX3gpOwpkb3VibGUgbW9kZihkb3VibGUgX194LCBkb3VibGUqIF9faXB0cik7CmRvdWJsZSBleHBtMShkb3VibGUgX194KTsKZG91YmxlIGxvZzFwKGRvdWJsZSBfX3gpOwpkb3VibGUgbG9nYihkb3VibGUgX194KTsKZG91YmxlIGV4cDIoZG91YmxlIF9feCk7CmRvdWJsZSBsb2cyKGRvdWJsZSBfX3gpOwpkb3VibGUgcG93KGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgc3FydChkb3VibGUgX194KTsKZG91YmxlIGh5cG90KGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgY2JydChkb3VibGUgX194KTsKZG91YmxlIGNlaWwoZG91YmxlIF9feCk7CmRvdWJsZSBmYWJzKGRvdWJsZSBfX3gpOwpkb3VibGUgZmxvb3IoZG91YmxlIF9feCk7CmRvdWJsZSBmbW9kKGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwppbnQgaXNpbmYoZG91YmxlIF9fdmFsdWUpOwppbnQgZmluaXRlKGRvdWJsZSBfX3ZhbHVlKTsKZG91YmxlIGRyZW0oZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBzaWduaWZpY2FuZChkb3VibGUgX194KTsKZG91YmxlIGNvcHlzaWduKGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgbmFuKGNvbnN0IGNoYXIqIF9fdGFnYik7CmludCBpc25hbihkb3VibGUgX192YWx1ZSk7CmRvdWJsZSBqMChkb3VibGUpOwpkb3VibGUgajEoZG91YmxlKTsKZG91YmxlIGpuKGludCwgZG91YmxlKTsKZG91YmxlIHkwKGRvdWJsZSk7CmRvdWJsZSB5MShkb3VibGUpOwpkb3VibGUgeW4oaW50LCBkb3VibGUpOwpkb3VibGUgZXJmKGRvdWJsZSk7CmRvdWJsZSBlcmZjKGRvdWJsZSk7CmRvdWJsZSBsZ2FtbWEoZG91YmxlKTsKZG91YmxlIHRnYW1tYShkb3VibGUpOwpkb3VibGUgZ2FtbWEoZG91YmxlKTsKZG91YmxlIGxnYW1tYV9yKGRvdWJsZSwgaW50KiBfX3NpZ25nYW1wKTsKZG91YmxlIHJpbnQoZG91YmxlIF9feCk7CmRvdWJsZSBuZXh0YWZ0ZXIoZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBuZXh0dG93YXJkKGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7CmRvdWJsZSByZW1haW5kZXIoZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBzY2FsYm4oZG91YmxlIF9feCwgaW50IF9fbik7CmludCBpbG9nYihkb3VibGUgX194KTsKZG91YmxlIHNjYWxibG4oZG91YmxlIF9feCwgbG9uZyBpbnQgX19uKTsKZG91YmxlIG5lYXJieWludChkb3VibGUgX194KTsKZG91YmxlIHJvdW5kKGRvdWJsZSBfX3gpOwpkb3VibGUgdHJ1bmMoZG91YmxlIF9feCk7CmRvdWJsZSByZW1xdW8oZG91YmxlIF9feCwgZG91YmxlIF9feSwgaW50KiBfX3F1byk7CmxvbmcgaW50IGxyaW50KGRvdWJsZSBfX3gpOwpsb25nIGxvbmcgaW50IGxscm91bmQoZG91YmxlIF9feCk7CmRvdWJsZSBmZGltKGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgZm1heChkb3VibGUgX194LCBkb3VibGUgX195KTsKZG91YmxlIGZtaW4oZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBmbWEoZG91YmxlIF9feCwgZG91YmxlIF9feSwgZG91YmxlIF9feik7CmRvdWJsZSBzY2FsYihkb3VibGUgX194LCBkb3VibGUgX19uKTsKZmxvYXQgYWNvc2YoZmxvYXQgX194KTsKZmxvYXQgYXNpbmYoZmxvYXQgX194KTsKZmxvYXQgYXRhbmYoZmxvYXQgX194KTsKZmxvYXQgYXRhbjJmKGZsb2F0IF9feSwgZmxvYXQgX194KTsKZmxvYXQgY29zZihmbG9hdCBfX3gpOwpmbG9hdCBzaW5mKGZsb2F0IF9feCk7CmZsb2F0IHRhbmYoZmxvYXQgX194KTsKZmxvYXQgY29zaGYoZmxvYXQgX194KTsKZmxvYXQgc2luaGYoZmxvYXQgX194KTsKZmxvYXQgdGFuaGYoZmxvYXQgX194KTsKZmxvYXQgYWNvc2hmKGZsb2F0IF9feCk7CmZsb2F0IGFzaW5oZihmbG9hdCBfX3gpOwpmbG9hdCBhdGFuaGYoZmxvYXQgX194KTsKZmxvYXQgZXhwZihmbG9hdCBfX3gpOwpmbG9hdCBmcmV4cGYoZmxvYXQgX194LCBpbnQqIF9fZXhwb25lbnQpOwpmbG9hdCBsZGV4cGYoZmxvYXQgX194LCBpbnQgX19leHBvbmVudCk7CmZsb2F0IGxvZ2YoZmxvYXQgX194KTsKZmxvYXQgbG9nMTBmKGZsb2F0IF9feCk7IGZsb2F0IF9fbG9nMTBmKGZsb2F0IF9feCk7CmZsb2F0IG1vZGZmKGZsb2F0IF9feCwgZmxvYXQqIF9faXB0cik7CmZsb2F0IGV4cG0xZihmbG9hdCBfX3gpOwpmbG9hdCBsb2cxcGYoZmxvYXQgX194KTsKZmxvYXQgbG9nYmYoZmxvYXQgX194KTsKZmxvYXQgZXhwMmYoZmxvYXQgX194KTsKZmxvYXQgbG9nMmYoZmxvYXQgX194KTsKZmxvYXQgcG93ZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7CmZsb2F0IHNxcnRmKGZsb2F0IF9feCk7CmZsb2F0IGh5cG90ZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7CmZsb2F0IGNicnRmKGZsb2F0IF9feCk7CmZsb2F0IGNlaWxmKGZsb2F0IF9feCk7CmZsb2F0IGZhYnNmKGZsb2F0IF9feCk7CmZsb2F0IGZsb29yZihmbG9hdCBfX3gpOwpmbG9hdCBmbW9kZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7IAppbnQgaXNpbmZmKGZsb2F0IF9fdmFsdWUpOwppbnQgZmluaXRlZihmbG9hdCBfX3ZhbHVlKTsKZmxvYXQgZHJlbWYoZmxvYXQgX194LCBmbG9hdCBfX3kpOwpmbG9hdCBzaWduaWZpY2FuZGYoZmxvYXQgX194KTsgCmZsb2F0IGNvcHlzaWduZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7IApmbG9hdCBuYW5mKGNvbnN0IGNoYXIqIF9fdGFnYik7IAppbnQgaXNuYW5mKGZsb2F0IF9fdmFsdWUpOwpmbG9hdCBqMGYoZmxvYXQpOyAKZmxvYXQgajFmKGZsb2F0KTsgCmZsb2F0IGpuZihpbnQsIGZsb2F0KTsgCmZsb2F0IHkwZihmbG9hdCk7IApmbG9hdCB5MWYoZmxvYXQpOyAKZmxvYXQgeW5mKGludCwgZmxvYXQpOyAKZmxvYXQgZXJmZihmbG9hdCk7IApmbG9hdCBlcmZjZihmbG9hdCk7CmZsb2F0IGxnYW1tYWYoZmxvYXQpOwpmbG9hdCB0Z2FtbWFmKGZsb2F0KTsKZmxvYXQgZ2FtbWFmKGZsb2F0KTsgCmZsb2F0IGxnYW1tYWZfcihmbG9hdCwgaW50KiBfX3NpZ25nYW1wKTsgCmZsb2F0IHJpbnRmKGZsb2F0IF9feCk7IApmbG9hdCBuZXh0YWZ0ZXJmKGZsb2F0IF9feCwgZmxvYXQgX195KTsgCmZsb2F0IG5leHR0b3dhcmRmKGZsb2F0IF9feCwgbG9uZyBkb3VibGUgX195KTsgCmZsb2F0IHJlbWFpbmRlcmYoZmxvYXQgX194LCBmbG9hdCBfX3kpOyAKZmxvYXQgc2NhbGJuZihmbG9hdCBfX3gsIGludCBfX24pOyAKaW50IGlsb2diZihmbG9hdCBfX3gpOyAKZmxvYXQgc2NhbGJsbmYoZmxvYXQgX194LCBsb25nIGludCBfX24pOyAKZmxvYXQgbmVhcmJ5aW50ZihmbG9hdCBfX3gpOyAKZmxvYXQgcm91bmRmKGZsb2F0IF9feCk7IApmbG9hdCB0cnVuY2YoZmxvYXQgX194KTsgCmZsb2F0IHJlbXF1b2YoZmxvYXQgX194LCBmbG9hdCBfX3ksIGludCogX19xdW8pOyAKbG9uZyBpbnQgbHJpbnRmKGZsb2F0IF9feCk7IApsb25nIGxvbmcgaW50IGxscm91bmRmKGZsb2F0IF9feCk7IApmbG9hdCBmZGltZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7CmZsb2F0IGZtYXhmKGZsb2F0IF9feCwgZmxvYXQgX195KTsgCmZsb2F0IGZtaW5mKGZsb2F0IF9feCwgZmxvYXQgX195KTsKZmxvYXQgZm1hZihmbG9hdCBfX3gsIGZsb2F0IF9feSwgZmxvYXQgX196KTsgCmZsb2F0IHNjYWxiZihmbG9hdCBfX3gsIGZsb2F0IF9fbik7IApsb25nIGRvdWJsZSBhY29zbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgYXNpbmwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGF0YW5sKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBhdGFuMmwobG9uZyBkb3VibGUgX195LCBsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgY29zbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgc2lubChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgdGFubChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgY29zaGwobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgc2luaGwobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgdGFuaGwobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgYWNvc2hsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBhc2luaGwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGF0YW5obChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZXhwbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZnJleHBsKGxvbmcgZG91YmxlIF9feCwgaW50KiBfX2V4cG9uZW50KTsgCmxvbmcgZG91YmxlIGxkZXhwbChsb25nIGRvdWJsZSBfX3gsIGludCBfX2V4cG9uZW50KTsgCmxvbmcgZG91YmxlIGxvZ2wobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGxvZzEwbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgbW9kZmwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSogX19pcHRyKTsgCmxvbmcgZG91YmxlIGV4cG0xbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgbG9nMXBsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBsb2dibChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZXhwMmwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGxvZzJsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBwb3dsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsgCmxvbmcgZG91YmxlIHNxcnRsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBoeXBvdGwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSBfX3kpOyAKbG9uZyBkb3VibGUgY2JydGwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGNlaWxsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBmYWJzbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZmxvb3JsKGxvbmcgZG91YmxlIF9feCk7CmxvbmcgZG91YmxlIGZtb2RsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsgCmludCBpc2luZmwobG9uZyBkb3VibGUgX192YWx1ZSk7CmludCBmaW5pdGVsKGxvbmcgZG91YmxlIF9fdmFsdWUpOwpsb25nIGRvdWJsZSBkcmVtbChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7IApsb25nIGRvdWJsZSBzaWduaWZpY2FuZGwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGNvcHlzaWdubChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7IApsb25nIGRvdWJsZSBuYW5sKGNvbnN0IGNoYXIqIF9fdGFnYik7IAppbnQgaXNuYW5sKGxvbmcgZG91YmxlIF9fdmFsdWUpOwpsb25nIGRvdWJsZSBqMGwobG9uZyBkb3VibGUpOyAKbG9uZyBkb3VibGUgajFsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIGpubChpbnQsIGxvbmcgZG91YmxlKTsKbG9uZyBkb3VibGUgeTBsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIHkxbChsb25nIGRvdWJsZSk7IApsb25nIGRvdWJsZSB5bmwoaW50LCBsb25nIGRvdWJsZSk7CmxvbmcgZG91YmxlIGVyZmwobG9uZyBkb3VibGUpOyAKbG9uZyBkb3VibGUgZXJmY2wobG9uZyBkb3VibGUpOwpsb25nIGRvdWJsZSBsZ2FtbWFsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIHRnYW1tYWwobG9uZyBkb3VibGUpOyAKbG9uZyBkb3VibGUgZ2FtbWFsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIGxnYW1tYWxfcihsb25nIGRvdWJsZSwgaW50KiBfX3NpZ25nYW1wKTsgCmxvbmcgZG91YmxlIHJpbnRsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBuZXh0YWZ0ZXJsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsgCmxvbmcgZG91YmxlIG5leHR0b3dhcmRsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsKbG9uZyBkb3VibGUgcmVtYWluZGVybChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7IApsb25nIGRvdWJsZSBzY2FsYm5sKGxvbmcgZG91YmxlIF9feCwgaW50IF9fbik7IAppbnQgaWxvZ2JsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBzY2FsYmxubChsb25nIGRvdWJsZSBfX3gsIGxvbmcgaW50IF9fbik7IApsb25nIGRvdWJsZSBuZWFyYnlpbnRsKGxvbmcgZG91YmxlIF9feCk7CmxvbmcgZG91YmxlIHJvdW5kbChsb25nIGRvdWJsZSBfX3gpOwpsb25nIGRvdWJsZSB0cnVuY2wobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgcmVtcXVvbChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSwgaW50KiBfX3F1byk7CmxvbmcgaW50IGxyaW50bChsb25nIGRvdWJsZSBfX3gpOwpsb25nIGxvbmcgaW50IGxscm91bmRsKGxvbmcgZG91YmxlIF9feCk7CmxvbmcgZG91YmxlIGZkaW1sKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsKbG9uZyBkb3VibGUgZm1heGwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSBfX3kpOwpsb25nIGRvdWJsZSBmbWlubChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7CmxvbmcgZG91YmxlIGZtYWwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSBfX3ksIGxvbmcgZG91YmxlIF9feik7CmxvbmcgZG91YmxlIHNjYWxibChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9fbik7CgAtLS0gYmVnaW4gb2Ygc2NvcGUtLS0KAC0tLSBlbmQgb2Ygc2NvcGUtLS0KACAgICAgICAgICAgICAgfSwKACAgICAgICAgICAgICAgICAgICJzdGFydENvbHVtbiI6ICVkLAoAICAgICAgICAgICAgICAgICAgInN0YXJ0TGluZSI6ICVkLAoAICAgICAgICAgICAgICAgICAgImVuZExpbmUiOiAlZCwKACAgICAgInJ1bGVJZCI6IiVzIiwKACAgICAgICAgICAgICAgImRlY29yYXRlZE5hbWUiOiAiJXMiLAoAICAgICAgICAgICAgICAiZnVsbHlRdWFsaWZpZWROYW1lIjogIiVzIiwKACAgICAgImxldmVsIjoid2FybmluZyIsCgAgICAgICAgICAgICAgICAgICJ1cmkiOiAiZmlsZTovLy8lcyIKACAgICAgICAgICAgICJ0ZXh0IjogIiVzIgoAICAgICAgICAgICAgICAia2luZCI6ICIlcyIKACNkZWZpbmUgX19USU1FX18gIiUwMmQ6JTAyZDolMDJkIgoAI2RlZmluZSBfX0RBVEVfXyAiJXMgJTJkICVkIgoAZXhwZWN0ZWQgRU9GIAoACiNpZmRlZiBOREVCVUcKI2RlZmluZSBhc3NlcnQoLi4uKSAoKHZvaWQpMCkjZWxzZSNkZWZpbmUgYXNzZXJ0KC4uLikgYXNzZXJ0KF9fVkFfQVJHU19fKQojZW5kaWYKCgAjaWZuZGVmIF9fT1dORVJTSElQX0hfXwojZGVmaW5lIF9fT1dORVJTSElQX0hfXwoKI2lmZGVmIF9fU1REQ19PV05FUlNISVBfXwojZGVmaW5lIG91dCBfT3V0CiNkZWZpbmUgb3B0IF9PcHQKI2RlZmluZSBvd25lciBfT3duZXIKI2RlZmluZSBvYmpfb3duZXIgIF9PYmpfb3duZXIKI2RlZmluZSB2aWV3IF9WaWV3CgojZWxzZQojZGVmaW5lIG91dCAKI2RlZmluZSBvcHQgCiNkZWZpbmUgb3duZXIKI2RlZmluZSBvYmpfb3duZXIKI2RlZmluZSB2aWV3CiNkZWZpbmUgc3RhdGljX2RlYnVnKHgpCiNkZWZpbmUgc3RhdGljX3NldCh4LCBzKQojZW5kaWYKCiNlbmRpZgoKAAojZGVmaW5lIHVucmVhY2hhYmxlKCkgZG8ge30gd2hpbGUoMCkgCnR5cGVkZWYgbG9uZyBpbnQgcHRyZGlmZl90Owp0eXBlZGVmIGxvbmcgdW5zaWduZWQgaW50IHNpemVfdDsKdHlwZWRlZiBpbnQgd2NoYXJfdDsKdHlwZWRlZiBzdHJ1Y3QgewogIGxvbmcgbG9uZyBfX21heF9hbGlnbl9sbDsKICBsb25nIGRvdWJsZSBfX21heF9hbGlnbl9sZDsKfSBtYXhfYWxpZ25fdDsKCnR5cGVkZWYgdHlwZW9mKG51bGxwdHIpIG51bGxwdHJfdDsKCgAjZGVmaW5lIF9fQ0FLRV9fIDIwMjMxMUwKI2RlZmluZSBfX1NURENfVkVSU0lPTl9fIDIwMjMxMUwKI2RlZmluZSBfX0ZJTEVfXyAiX19GSUxFX18iCiNkZWZpbmUgX19MSU5FX18gMAojZGVmaW5lIF9fQ09VTlRFUl9fIDAKI2RlZmluZSBfQ09OU09MRQojZGVmaW5lIF9fU1REQ19PV05FUlNISVBfXyAxCiNkZWZpbmUgX1dfRElWSVpJT05fQllfWkVST18gMjkKCgAjcHJhZ21hIG9uY2UKCmludCogX2Vycm5vKHZvaWQpOwojZGVmaW5lIGVycm5vICgqX2Vycm5vKCkpCgoKI2RlZmluZSBFUEVSTSAgICAgICAgICAgMQojZGVmaW5lIEVOT0VOVCAgICAgICAgICAyCiNkZWZpbmUgRVNSQ0ggICAgICAgICAgIDMKI2RlZmluZSBFSU5UUiAgICAgICAgICAgNAojZGVmaW5lIEVJTyAgICAgICAgICAgICA1CiNkZWZpbmUgRU5YSU8gICAgICAgICAgIDYKI2RlZmluZSBFMkJJRyAgICAgICAgICAgNwojZGVmaW5lIEVOT0VYRUMgICAgICAgICA4CiNkZWZpbmUgRUJBREYgICAgICAgICAgIDkKI2RlZmluZSBFQ0hJTEQgICAgICAgICAgMTAKI2RlZmluZSBFQUdBSU4gICAgICAgICAgMTEKI2RlZmluZSBFTk9NRU0gICAgICAgICAgMTIKI2RlZmluZSBFQUNDRVMgICAgICAgICAgMTMKI2RlZmluZSBFRkFVTFQgICAgICAgICAgMTQKI2RlZmluZSBFQlVTWSAgICAgICAgICAgMTYKI2RlZmluZSBFRVhJU1QgICAgICAgICAgMTcKI2RlZmluZSBFWERFViAgICAgICAgICAgMTgKI2RlZmluZSBFTk9ERVYgICAgICAgICAgMTkKI2RlZmluZSBFTk9URElSICAgICAgICAgMjAKI2RlZmluZSBFSVNESVIgICAgICAgICAgMjEKI2RlZmluZSBFTkZJTEUgICAgICAgICAgMjMKI2RlZmluZSBFTUZJTEUgICAgICAgICAgMjQKI2RlZmluZSBFTk9UVFkgICAgICAgICAgMjUKI2RlZmluZSBFRkJJRyAgICAgICAgICAgMjcKI2RlZmluZSBFTk9TUEMgICAgICAgICAgMjgKI2RlZmluZSBFU1BJUEUgICAgICAgICAgMjkKI2RlZmluZSBFUk9GUyAgICAgICAgICAgMzAKI2RlZmluZSBFTUxJTksgICAgICAgICAgMzEKI2RlZmluZSBFUElQRSAgICAgICAgICAgMzIKI2RlZmluZSBFRE9NICAgICAgICAgICAgMzMKI2RlZmluZSBFREVBRExLICAgICAgICAgMzYKI2RlZmluZSBFTkFNRVRPT0xPTkcgICAgMzgKI2RlZmluZSBFTk9MQ0sgICAgICAgICAgMzkKI2RlZmluZSBFTk9TWVMgICAgICAgICAgNDAKI2RlZmluZSBFTk9URU1QVFkgICAgICAgNDEKCgovLyBTdXBwb3J0IEVERUFETE9DSyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIE1pY3Jvc29mdCBDIHZlcnNpb25zCiNkZWZpbmUgRURFQURMT0NLICAgICAgIEVERUFETEsKCiNkZWZpbmUgRUFERFJJTlVTRSAgICAgIDEwMAojZGVmaW5lIEVBRERSTk9UQVZBSUwgICAxMDEKI2RlZmluZSBFQUZOT1NVUFBPUlQgICAgMTAyCiNkZWZpbmUgRUFMUkVBRFkgICAgICAgIDEwMwojZGVmaW5lIEVCQURNU0cgICAgICAgICAxMDQKI2RlZmluZSBFQ0FOQ0VMRUQgICAgICAgMTA1CiNkZWZpbmUgRUNPTk5BQk9SVEVEICAgIDEwNgojZGVmaW5lIEVDT05OUkVGVVNFRCAgICAxMDcKI2RlZmluZSBFQ09OTlJFU0VUICAgICAgMTA4CiNkZWZpbmUgRURFU1RBRERSUkVRICAgIDEwOQojZGVmaW5lIEVIT1NUVU5SRUFDSCAgICAxMTAKI2RlZmluZSBFSURSTSAgICAgICAgICAgMTExCiNkZWZpbmUgRUlOUFJPR1JFU1MgICAgIDExMgojZGVmaW5lIEVJU0NPTk4gICAgICAgICAxMTMKI2RlZmluZSBFTE9PUCAgICAgICAgICAgMTE0CiNkZWZpbmUgRU1TR1NJWkUgICAgICAgIDExNQojZGVmaW5lIEVORVRET1dOICAgICAgICAxMTYKI2RlZmluZSBFTkVUUkVTRVQgICAgICAgMTE3CiNkZWZpbmUgRU5FVFVOUkVBQ0ggICAgIDExOAojZGVmaW5lIEVOT0JVRlMgICAgICAgICAxMTkKI2RlZmluZSBFTk9EQVRBICAgICAgICAgMTIwCiNkZWZpbmUgRU5PTElOSyAgICAgICAgIDEyMQojZGVmaW5lIEVOT01TRyAgICAgICAgICAxMjIKI2RlZmluZSBFTk9QUk9UT09QVCAgICAgMTIzCiNkZWZpbmUgRU5PU1IgICAgICAgICAgIDEyNAojZGVmaW5lIEVOT1NUUiAgICAgICAgICAxMjUKI2RlZmluZSBFTk9UQ09OTiAgICAgICAgMTI2CiNkZWZpbmUgRU5PVFJFQ09WRVJBQkxFIDEyNwojZGVmaW5lIEVOT1RTT0NLICAgICAgICAxMjgKI2RlZmluZSBFTk9UU1VQICAgICAgICAgMTI5CiNkZWZpbmUgRU9QTk9UU1VQUCAgICAgIDEzMAojZGVmaW5lIEVPVEhFUiAgICAgICAgICAxMzEKI2RlZmluZSBFT1ZFUkZMT1cgICAgICAgMTMyCiNkZWZpbmUgRU9XTkVSREVBRCAgICAgIDEzMwojZGVmaW5lIEVQUk9UTyAgICAgICAgICAxMzQKI2RlZmluZSBFUFJPVE9OT1NVUFBPUlQgMTM1CiNkZWZpbmUgRVBST1RPVFlQRSAgICAgIDEzNgojZGVmaW5lIEVUSU1FICAgICAgICAgICAxMzcKI2RlZmluZSBFVElNRURPVVQgICAgICAgMTM4CiNkZWZpbmUgRVRYVEJTWSAgICAgICAgIDEzOQojZGVmaW5lIEVXT1VMREJMT0NLICAgICAxNDAKCgAAYpgBAAAAAAAAAAAA0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAAZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAZAAoNGRkZAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUY="); + base64DecodeToExistingUint8Array(bufferView, 65536, "fgA7ICVzIHJldHVybiBfdG1wO30AfSBlbHNlIHtfY2F0Y2hfbGFiZWxfJWQ6O30Abm90IGZvbGxvd2luZyBjb3JyZWN0IGNsb3NlIGJyYWNlIHN0eWxlIH0AICUqcyB8ACAlcyB8AG5vdCBmb2xsb3dpbmcgY29ycmVjdCBicmFjZSBzdHlsZSB7AHRva2VuX2xpc3RfaXNfZW1wdHkAaW5maW5pdHkAdHJ5AF9JbWFnaW5hcnkAZmxvd192aXNpdF9jdHhfZGVzdHJveQBvd25lcl9oYXNobWFwX2Rlc3Ryb3kAYW55AF9pc19hcnJheQBudWxsLWFzLWFycmF5ACBwYXNzaW5nIG51bGwgYXMgYXJyYXkAdXNpbmcgaW5kaXJlY3Rpb24gJy0+JyBpbiBhcnJheQBpbmRleCAlZCBpcyBwYXN0IHRoZSBlbmQgb2YgdGhlIGFycmF5AC10YXJnZXQ9Y3h4AC1zdGQ9Y3h4AF9Db21wbGV4AHN0YXRpY19kZWJ1Z19leAAtdGFyZ2V0PWMyeAAtc3RkPWMyeAAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AFx4JXgAMHgleAB0aHJvdwBwYXNzaW5nIGEgdGVtcG9yYXJ5IG93bmVyIHRvIGEgdmlldwBfVmlldwAtc3R5bGU9Z251ACVsbHUAci5uZXh0AC1uby1vdXRwdXQALW1zdmMtb3V0cHV0AF9PdXQAX2lzX2NvbnN0ACBjb25zdABtYWNyb19jb3B5X3JlcGxhY2VtZW50X2xpc3QAZW51bWVyYXRvcl9saXN0AGluaXRfZGVjbGFyYXRvcl9saXN0AG1lbWJlcl9kZWNsYXJhdG9yX2xpc3QAZGVzaWduYXRvcl9saXN0AHZpc2l0X2JyYWNrZXRfaW5pdGlhbGl6ZXJfbGlzdABwYXJhbWV0ZXJfbGlzdABpZGVudGlmaWVyX2xpc3QAc3BlY2lmaWVyX3F1YWxpZmllcl9saXN0AHR5cGVfcXVhbGlmaWVyX2xpc3QAbWVtYmVyX2RlY2xhcmF0aW9uX2xpc3QAYXJndW1lbnRfZXhwcmVzc2lvbl9saXN0AGJsb2NrX2l0ZW1fbGlzdABhdHRyaWJ1dGVfbGlzdAB0b2tlbl9saXN0X2FwcGVuZF9saXN0AHNob3J0AHN0YXRpY19hc3NlcnQAX1N0YXRpY19hc3NlcnQALWRpc2FibGUtYXNzZXJ0AGVzY2FwZV9zZXF1ZW5jZXNfZGVjb2RlX29wdABhdHRyaWJ1dGVfc3BlY2lmaWVyX3NlcXVlbmNlX29wdABfT3B0AHR5cGVfbGlzdF9wdXNoX2Zyb250AF9pc19mbG9hdGluZ19wb2ludABvYmplY3RfYXNzaWdubWVudABhcnJheS1wYXJhbWV0ZXItYXNzaWdubWVudABsdmFsdWUgcmVxdWlyZWQgYXMgbGVmdCBvcGVyYW5kIG9mIGFzc2lnbm1lbnQAbXVsdGktbGluZSAvL2NvbW1lbnQAbWlzc2luZyBlbmQgb2YgY29tbWVudAB0cnlfc3RhdGVtZW50AGZsb3dfdmlzaXRfZm9yX3N0YXRlbWVudABmbG93X3Zpc2l0X2p1bXBfc3RhdGVtZW50AGZvcm1hdF92aXNpdF9qdW1wX3N0YXRlbWVudABmbG93X3Zpc2l0X3NlbGVjdGlvbl9zdGF0ZW1lbnQAZmxvd192aXNpdF9pdGVyYXRpb25fc3RhdGVtZW50AGZsb3dfdmlzaXRfaWZfc3RhdGVtZW50AGZsb3dfdmlzaXRfd2hpbGVfc3RhdGVtZW50AGZsb3dfdmlzaXRfZG9fd2hpbGVfc3RhdGVtZW50AGZsb3dfdmlzaXRfdW5sYWJlbGVkX3N0YXRlbWVudABmb3JtYXRfdmlzaXRfdW5sYWJlbGVkX3N0YXRlbWVudABjb25kaXRpb25hbC1jb25zdGFudABfQml0SW50AHJldHVybmluZyBhIG93bmVyIHZhcmlhYmxlIHRvIGEgbm9uIG93bmVyIHJlc3VsdABkZWZhdWx0AGV4cGVjdGVkIGludGVnZXIgdHlwZSBvbiByaWdodAAtc3R5bGU9bWljcm9zb2Z0AGV4cGVjdGVkIGludGVnZXIgdHlwZSBvbiBsZWZ0AHN0YXRpY19zZXQAZ2V0X2FsaWdub2Zfc3RydWN0AGdldF9zaXplb2Zfc3RydWN0AHJlc3RyaWN0AHZpc2l0X29iamVjdABzZXRfb2JqZWN0AHVzaW5nLW1vdmVkLW9iamVjdABhc3NpZ25tZW50IG9mIHJlYWQtb25seSBvYmplY3QAcGFyYW1ldGVyICVkIHJlcXVpcmVzIGEgcG9pbnRlciB0byBvd25lciBvYmplY3QAbnVsbCBvYmplY3QAbWF5YmUgdXNpbmcgYSB1bmluaXRpYWxpemVkIG9iamVjdABkZXJlZmVyZW5jZSBhIE5VTEwgb2JqZWN0AGZsb2F0AG51bGxwdHJfdABjb2xsZWN0X21hY3JvX2FyZ3VtZW50cwByZXBsYWNlX21hY3JvX2FyZ3VtZW50cwB0b28gbWFueSBhcmd1bWVudHMAdHlwZW9mIHVzZWQgaW4gYXJyYXkgYXJndW1lbnRzAHRvbyBmZXcgYXJndW1lbnRzAHVzZSBzbmFrZV9jYXNlIGZvciBhcmd1bWVudHMALXJlbW92ZS1jb21tZW50cwBhZGRyZXNzAHVzZSBVUFBFUkNBU0UgZm9yIGVudW1lcmF0b3JzAG9ial9vd25lciBxdWFsaWZpZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHBvaW50ZXJzAHByb2Nlc3NfaWRlbnRpZmllcnMAZGlzY2FyZGVkLXF1YWxpZmllcnMAcHJpbnRfdHlwZV9xdWFsaWZpZXJfc3BlY2lmaWVycwBkZWNsYXJhdGlvbl9zcGVjaWZpZXJzAHVzZSBzbmFrZV9jYXNlIGZvciBzdHJ1Y3QgbWVtYmVycwB1c2UgU0NSRUFNSU5HX0NBU0UgZm9yIG1hY3JvcwB0b2tlbiAnJXMnIGlzIG5vdCB2YWxpZCBpbiBwcmVwcm9jZXNzb3IgZXhwcmVzc2lvbnMALWR1bXAtcHAtdG9rZW5zAC1kdW1wLXRva2VucwAtbnVsbGNoZWNrcwBpbnZhbGlkIGFyZ3MAdXNlIHNuYWtlX2Nhc2UgZm9yIHN0cnVjdC91bmlvbiB0YWdzAHVzZSBjYW1lbENhc2UgZm9yIHN0cnVjdC91bmlvbiB0YWdzAHVzZSBzbmFrZV9jYXNlIGZvciBlbnVtIHRhZ3MAdXNlIFBhc2NhbENhc2UgZm9yIGVudW0gdGFncwBfTm9yZXR1cm4gaXMgZGVwcmVjYXRlZCB1c2UgYXR0cmlidXRlcwBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlcwBpbmNvbXBhdGlibGUgdHlwZXMAdXNlIHNuYWtlX2Nhc2UgZm9yIGxvY2FsIHZhcmlhYmxlcwB1c2UgY2FtZWxDYXNlIGZvciBsb2NhbCB2YXJpYWJsZXMAdXNlIHNuYWtlX2Nhc2UgZ2xvYmFsIHZhcmlhYmxlcwB1c2UgcHJlZml4IHNfIGZvciBzdGF0aWMgZ2xvYmFsIHZhcmlhYmxlcwAtc2hvd0luY2x1ZGVzAG91dC1vZi1ib3VuZHMAYWxpZ25hcwBfQWxpZ25hcwAlcyVzAC1XJXMAJXMtPiVzACVzLyVzACVzLiVzAColcwBzdHJ1Y3QgJXMAJXMgJXMAaW52YWxpZCBwYXJhbWV0ZXIgJXMAZW51bSAlcwBleGVwYXRoICVzAGV4cGVjdGVkICVzAHN0YXRpYyAlcwBfaGFzX2F0dHIAX2RlbF9hdHRyAF9hZGRfYXR0cgBudWxscHRyAGNvbnN0ZXhwcgBtaXNzaW5nLWRlc3RydWN0b3IAZmxvd192aXNpdF9pbml0X2RlY2xhcmF0b3IAbWFrZV90eXBlX3VzaW5nX2RpcmVjdF9kZWNsYXJhdG9yAHBfZGVjbGFyYXRpb24tPmluaXRfZGVjbGFyYXRvcl9saXN0LmhlYWQtPnBfZGVjbGFyYXRvci0+ZGlyZWN0X2RlY2xhcmF0b3ItPmZ1bmN0aW9uX2RlY2xhcmF0b3IAbWFrZV90eXBlX3VzaW5nX2RlY2xhcmF0b3IAaGlkZS1kZWNsYXJhdG9yAHN0YXRpYyBvciB0eXBlIHF1YWxpZmllcnMgYXJlIG5vdCBhbGxvd2VkIGluIG5vbi1wYXJhbWV0ZXIgYXJyYXkgZGVjbGFyYXRvcgAnJXMnOiB1bnJlZmVyZW5jZWQgZGVjbGFyYXRvcgAjZXJyb3IAZXhwcmVzc2lvbiBlcnJvcgBpbnRlcm5hbCBlcnJvcgBmb3IAZGlyAC1mYW5hbHl6ZXIAZW1iZWRfdG9rZW5pemVyAHJlZ2lzdGVyAF9pc19wb2ludGVyAHR5cGVfcGFyYW1fYXJyYXlfdG9fcG9pbnRlcgB0eXBlX3JlbW92ZV9wb2ludGVyAHN1YnNjcmlwdGVkIHZhbHVlIGlzIG5laXRoZXIgYXJyYXkgbm9yIHBvaW50ZXIAZGlzY2FyZGluZyBvd25lciBwb2ludGVyAGNhbGxlZCBvYmplY3QgaXMgbm90IGF0dHIgZnVuY3Rpb24gb3IgZnVuY3Rpb24gcG9pbnRlcgB0b2tlbl9saXN0X2luc2VydF9hZnRlcgB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIGFmdGVyAHR5cGVvZi1wYXJhbWV0ZXIAdW51c2VkLXBhcmFtZXRlcgBhc3NpZ25tZW50IHRvIGFycmF5IHBhcmFtZXRlcgBwYXNzaW5nIGEgdmlldyBhcmd1bWVudCB0byBhIG9ial9vd25lciBwYXJhbWV0ZXIAcGFzc2luZyBhIHZpZXcgYXJndW1lbnQgdG8gYSBvd25lciBwYXJhbWV0ZXIAJyVzJzogdW5yZWZlcmVuY2VkIGZvcm1hbCBwYXJhbWV0ZXIAbWlzc2luZyB0ZXJtaW5hdGluZyAnIGNoYXJhY3RlcgBtaXNzaW5nIHRlcm1pbmF0aW5nICIgY2hhcmFjdGVyAF9pc19vd25lcgBfT2JqX293bmVyAG5vdC1vd25lcgB0ZW1wLW93bmVyAGNhbm5vdCBtb3ZlIGEgdGVtcG9yYXJ5IG93bmVyIHRvIG5vbi1vd25lcgBkaXNjYXJkLW93bmVyAHBvaW50ZWQgb2JqZWN0IGlzIG5vdCBvd25lcgBjYW5ub3QgbW92ZSBvYmpfb3duZXIgdG8gb3duZXIAY2Fubm90IGFzc2lnbiBhIG5vbiBvd25lciB0byBvd25lcgBjYW5ub3QgaW5pdGlhbGl6ZSBhbiBvd25lciB0eXBlIHdpdGggYSBub24gb3duZXIAZGlzY2FyZGluZyBvd25lcgByZXR1cm5pbmcgYSBub24gb3duZXIgdmFyaWFibGUgdG8gYSBvd25lcgBfT3duZXIAcHJlcHJvY2Vzc29yX3Rva2VuX2FoZWFkX2lzX2lkZW50aWZpZXIAZXhwZWN0ZWQgaWRlbnRpZmllcgB0eXBlX3NwZWNpZmllcl9xdWFsaWZpZXIAbWlzc2luZy1vd25lci1xdWFsaWZpZXIAbWlzc2luZyBvd25lciBxdWFsaWZpZXIAc3RvcmFnZV9jbGFzc19zcGVjaWZpZXIAc3RydWN0X29yX3VuaW9uX3NwZWNpZmllcgB0eXBlX3NwZWNpZmllcgBjYW5ub3QgY29tYmluZSB3aXRoIHByZXZpb3VzICdsb25nIGxvbmcnIGRlY2xhcmF0aW9uIHNwZWNpZmllcgByaWdodCBpcyBub3QgaW50ZWdlcgBsZWZ0IGlzIG5vdCBpbnRlZ2VyAGRlZmVyAHBwbnVtYmVyAGNvbnZlcnRfdG9fbnVtYmVyAHJldHVybi1sb2NhbC1hZGRyAF9pc19zY2FsYXIAcmlnaHQgb3BlcmF0b3IgaXMgbm90IHNjYWxhcgBsZWZ0IG9wZXJhdG9yIGlzIG5vdCBzY2FsYXIAbXVsdGktY2hhcgB1bnNpZ25lZCBjaGFyAGlmX2dyb3VwAHR5cGVfZHVwAHBvcABjb25zdGFudF92YWx1ZV91bmFyeV9vcABjb25zdGFudF92YWx1ZV9vcABhdXRvAGdvdG8AdHlwZV9jb252ZXJ0X3RvAGRpdi1ieS16ZXJvAG5vdC16ZXJvAGRpdml6aW9uIGJ5IHplcm8AZGl2aXNpb24gYnkgemVybwBleHBhbmRfbWFjcm8ALWZvAGRvAC1vAHN0b3JhZ2Ugc2l6ZSBvZiAnJXMnIGlzbid0IGtub3duAG5vcmV0dXJuAF9Ob3JldHVybgBleHRlcm4AaW50ZXJuYWwgZXJyb3IgdHlwZV9jb21tb24AX2lzX2Z1bmN0aW9uAGFzc2lnbm1lbnQgb2YgZnVuY3Rpb24AYXJyYXktaW5kaXJlY3Rpb24AYXJyYXkgaW5kaXJlY3Rpb24AcmVkZWNsYXJhdGlvbgBmbG93X3Zpc2l0X2RlY2xhcmF0aW9uAGZsb3dfc3RhcnRfdmlzaXRfZGVjbGFyYXRpb24AZnVuY3Rpb25fZGVmaW5pdGlvbl9vcl9kZWNsYXJhdGlvbgBwcmFnbWFfZGVjbGFyYXRpb24AZGVjbGFyYXRpb24gb2YgJyVzJyBoaWRlcyBwcmV2aW91cyBkZWNsYXJhdGlvbgByZXBsYWNlbWVudF9saXN0X3JlZXhhbWluYXRpb24ALWRpcmVjdC1jb21waWxhdGlvbgBzdGFuZGFyZCBtYWNyb3MgaW5jbHVzaW9uAF9fREFURV9fIG1hY3JvIGluY2x1c2lvbgBfX1RJTUVfXyBtYWNybyBpbmNsdXNpb24AZXF1YWxpdHlfZXhwcmVzc2lvbgB1bmFyeV9leHByZXNzaW9uAHByaW1hcnlfZXhwcmVzc2lvbgBwb3N0Zml4X2V4cHJlc3Npb24AY2FzdF9leHByZXNzaW9uAHByZXByb2Nlc3Nvcl9jb25zdGFudF9leHByZXNzaW9uAGZsb3dfdmlzaXRfZXhwcmVzc2lvbgBleGNsdXNpdmVfb3JfZXhwcmVzc2lvbgBjb25kaXRpb25hbF9leHByZXNzaW9uAHJlbGF0aW9uYWxfZXhwcmVzc2lvbgBhbmRfZXhwcmVzc2lvbgBlbXB0eSBleHByZXNzaW9uAGV4cGVjdGVkIGNvbnN0YW50IGV4cHJlc3Npb24AaW52YWxpZCB0eXBlIHNoaWZ0IGV4cHJlc3Npb24AaW52YWxpZCB0eXBlcyBvciBleHByZXNzaW9uAHJpZ2h0IHR5cGUgaXMgbm90IHNjYWxhciBmb3Igb3IgZXhwcmVzc2lvbgBsZWZ0IHR5cGUgaXMgbm90IHNjYWxhciBmb3Igb3IgZXhwcmVzc2lvbgBpbnZhbGlkIHR5cGVzIGluY2x1c2l2ZSBvciBleHByZXNzaW9uAGludmFsaWQgdHlwZXMgYWRkaXRpdmUgZXhwcmVzc2lvbgBpbnZhbGlkIHR5cGUgbXVsdGlwbGljYXRpdmUgZXhwcmVzc2lvbgBpbnZhbGlkIHR5cGVzIGFuZCBleHByZXNzaW9uAGludmFsaWQgdHlwZXMgbG9naWNhbCBhbmQgZXhwcmVzc2lvbgBleHBlY3RlZCBleHByZXNzaW9uAGVudW0tY29udmVyc2lvbgB1bmlvbgBicmVhayBqb2luAGludmFsaWQgdG9rZW4AdW5leHBlY3RlZCB0b2tlbgBuYW4AaW5jb21wYXRpYmxlLWVudW0AX19hc20ALXJtAG91dCBvZiBtZW0AG1szN20AG1s5NW0AG1s5Mm0AG1szNjsxbQAbWzkwbSVzG1swbQAbWzk1bXdhcm5pbmc6IBtbOTdtJXMgWxtbOTVtJXMbWzk3bV0KG1swbQAbWzM2OzFtbm90ZTogG1s5N20lcyBbG1szNjsxbSVzG1s5N21dChtbMG0AG1s5MW1lcnJvcjogG1s5N20lcyBbG1s5MW0lcxtbOTdtXQobWzBtAGJvb2wAX0Jvb2wAbm9ubnVsbABub3QtbnVsbABtYXliZS1udWxsAC1XYWxsAHR5cGVvZl91bnF1YWwAZXhwcmVzc2lvbl9ldmFsdWF0ZV9lcXVhbF9ub3RfZXF1YWwAX2lzX2ludGVncmFsAHBvaW50ZXIgY2FuIGJlIG51bGwsIGJ1dCB0aGUgcGFyYW1ldGVyIGlzIG5vdCBvcHRpb25hbABvcmlnaW5hbAB0aHJlYWRfbG9jYWwAX1RocmVhZF9sb2NhbABnZXRfd2FybmluZ19iaXRfbWFzawBmb3JtYXRfdmlzaXRfcHJpbWFyeV9ibG9jawB0aHJvdyBzdGF0ZW1lbnQgbm90IHdpdGhpbiB0cnkgYmxvY2sAY2hlY2sAdHlwZV9saXN0X3B1c2hfYmFjawBicmVhawAtZmkAcHVzaABmYWxsdGhyb3VnaABzd2l0Y2gAY2F0Y2gAbGVmdC10cnVlLWJyYW5jaABjOi9hc3NlcnQuaABjOi9saW1pdHMuaABjOi9vd25lcnNoaXAuaABjOi9lcnJuby5oAGM6L3N0ZGlvLmgAYzovbWF0aC5oAGM6L3N0cmluZy5oAGM6L3N0ZGRlZi5oAGM6L3N0ZGxpYi5oAHN0YXRpY19kZWJ1ZwBhbmFseXplci1ub24tb3B0LWFyZwBsb25nIGxvbmcAI3dhcm5pbmcAdG9rZW5fbGlzdF9hcHBlbmRfbGlzdF9hdF9iZWdpbm5pbmcAc3RyaW5nLXNsaWNpbmcAdW5uZWNlc3NhcnkgbGluZS1zbGljaW5nACVMZwBzc192YWZwcmludGYAdHlwZV9nZXRfYWxpZ25vZgBfX2FsaWdub2YAX0FsaWdub2YAdHlwZV9nZXRfc2l6ZW9mAHR5cGVvZgBtdXN0LXVzZS1hZGRyZXNzLW9mAGluZgAtc2FyaWYAZWxpZgBlbmRpZgBiZWZvcmUtaWYAdW5kZWYAZWxpZm5kZWYAZWxpZmRlZgB0eXBlZGVmACVmAG5vbi1vd25lci10by1vd25lci1tb3ZlAG5vbi1vd25lci1tb3ZlAHRydWUAY29udGludWUAX2lzX2x2YWx1ZQB1bnVzZWQtdmFsdWUAdm9pZCBmdW5jdGlvbiAnJXMnIHNob3VsZCBub3QgcmV0dXJuIGEgdmFsdWUAX19oYXNfY19hdHRyaWJ1dGUAd2FybmluZyAnJXMnIGlzIG5vdCBhbiBjYWtlIGF0dHJpYnV0ZQB3YXJuaW5nICclcycgaXMgbm90IGFuIHN0YW5kYXJkIGF0dHJpYnV0ZQBpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCAnbm9kaXNjYXJkJyBhdHRyaWJ1dGUAbm90ZQBtYWNyb19hcmd1bWVudF9kZWxldGUAZW51bWVyYXRvcl9kZWxldGUAaW5pdF9kZWNsYXJhdG9yX2RlbGV0ZQBtZW1iZXJfZGVjbGFyYXRvcl9kZWxldGUAZGVzaWduYXRvcl9kZWxldGUAaW5pdGlhbGl6ZXJfZGVsZXRlAHR5cGVfc3BlY2lmaWVyX3F1YWxpZmllcl9kZWxldGUAZGVjbGFyYXRpb25fc3BlY2lmaWVyX2RlbGV0ZQBhdHRyaWJ1dGVfc3BlY2lmaWVyX2RlbGV0ZQBwYXJhbWV0ZXJfZGVjbGFyYXRpb25fZGVsZXRlAG1lbWJlcl9kZWNsYXJhdGlvbl9kZWxldGUAZ2VuZXJpY19hc3NvY2lhdGlvbl9kZWxldGUAYXJndW1lbnRfZXhwcmVzc2lvbl9kZWxldGUAdG9rZW5fZGVsZXRlAGJsb2NrX2l0ZW1fZGVsZXRlAGF0dHJpYnV0ZV9kZWxldGUAc2V0X2RpcmVjdF9zdGF0ZQBzZXRfb2JqZWN0X3N0YXRlAHN0YXRpY19zdGF0ZQBkZWNsYXJhdG9yLXN0YXRlAGNvbmNhdGVuYXRlAGVsc2UAZmFsc2UAY2FzZQBpZ25vcmUAbWFrZV9vYmplY3RfY29yZQBwcmV2aW91cyBkZWNsYXJhdGlvbiBpcyBoZXJlAHR5cGVfZ2V0X2VudW1fdHlwZQBwX2Rlc3Rfb2JqX3R5cGUAYXNzaWdubWVudCB0byBleHByZXNzaW9uIHdpdGggYXJyYXkgdHlwZQBjaGFyYWN0ZXIgY29uc3RhbnQgdG9vIGxvbmcgZm9yIGl0cyB0eXBlAHBhcmFtZXRlciAlZCByZXF1aXJlcyBhIHBvaW50ZXIgdG8gb3duZXIgdHlwZQByaWdodCBtdXN0IGJlIGludGVnZXIgdHlwZQBjb25kaXRpb24gbXVzdCBoYXZlIHNjYWxhciB0eXBlAGRlZmVyIGVuZCBvZiBzY29wZQBlbmQgb2YgJyVzJyBzY29wZQB0eXBlX2Rlc3Ryb3lfb25lAGZsb3dfZGVmZXJfc2NvcGVfZGVsZXRlX29uZQBfX2ZvcmNlaW5saW5lAF9faW5saW5lAGNvbnRyb2xfbGluZQBkZWZpbmUAcG9zdGZpeF9leHByZXNzaW9uX3R5cGVfbmFtZQBzdHlsZQBtb2R1bGUAdm9sYXRpbGUAd2hpbGUAdW5leHBlY3RlZCBlbmQgb2YgZmlsZQBkb3VibGUAcmVwcm9kdWNpYmxlAHVudXNlZC12YXJpYWJsZQBmdW5jdGlvbiByZXR1cm5zIGFkZHJlc3Mgb2YgbG9jYWwgdmFyaWFibGUALXN0eWxlPWNha2UAX19oYXNfaW5jbHVkZQB1dGY4X2RlY29kZQBtb3ZlIGFzc2lnbm1lbnQgbmVlZHMgYSBvd25lciB0eXBlIG9uIHJpZ2h0IHNpZGUAb25jZQBhdHRyaWJ1dGVfc3BlY2lmaWVyX3NlcXVlbmNlAGFuYWx5emVyLW51bGwtZGVyZWZlcmVuY2UAb25lIHNwYWNlAG5vZGlzY2FyZABmaWxlICVzIG5vdCBmb3VuZABmaWxlICclcycgbm90IGZvdW5kAGx2YWx1ZSByZXF1aXJlZCBhcyBpbmNyZW1lbnQgb3BlcmFuZABsdmFsdWUgcmVxdWlyZWQgYXMgZGVjcmVtZW50IG9wZXJhbmQAaW5kaXJlY3Rpb24gcmVxdWlyZXMgcG9pbnRlciBvcGVyYW5kAGx2YWx1ZSByZXF1aXJlZCBhcyB1bmFyeSAnJicgb3BlcmFuZABleHBhbmQAJWxsZAB2b2lkAGFuYWx5emVyLW1heWJlLXVuaW5pdGlhbGl6ZWQAc291cmNlIG9iamVjdCAnJXMnIGlzIHVuaW5pdGlhbGl6ZWQAc291cmNlIG9iamVjdCAnJXMnIG1heSBiZSB1bmluaXRpYWxpemVkAG9iamVjdCAnJXMnIHdhcyBub3QgbW92ZWQvZGVzdHJveWVkAG9iamVjdCAnJXMnIHdhcyBtb3ZlZABzb3VyY2Ugb2JqZWN0ICclcycgbWF5IGhhdmUgYmVlbiBtb3ZlZABzb3VyY2Ugb2JqZWN0ICclcycgaGF2ZSBiZWVuIG1vdmVkAGFkZHJlc3Mgb2YgcmVnaXN0ZXIgdmFyaWFibGUgJ3gnIHJlcXVlc3RlZABlbXB0eSBkZWNsYXJhdG9yIG5hbWU/PyB1bmV4cGVjdGVkACclcycgaXMgZGVwcmVjYXRlZABtYXliZV91bnVzZWQAZGVjbGFyYXRvciAnJXMnIG5vdCB1c2VkAGlnbm9yZWQAc3RydWN0dXJlIG9yIHVuaW9uIHJlcXVpcmVkAGRlZmluZWQAdW5zaWduZWQAX1N0YXRpY19hc3NlcnQgZmFpbGVkAHByYWdtYSBjaGVjayBmYWlsZWQAc3RhdGljX3N0YXRlIGZhaWxlZABjb25zdCBxdWFsaWZpZXIgZGlzY2FyZGVkAHVuc2VxdWVuY2VkAHRva2VuIHNsaWNlZABfX2hhc19lbWJlZABhcmd1bWVudF9saXN0X2FkZABkZWNsYXJhdGlvbl9saXN0X2FkZAB0b2tlbl9saXN0X2FkZABnZW5lcmljX2Fzc29jX2xpc3RfYWRkAGluY2x1ZGVfZGlyX2FkZABfJXMlZABfYW5vbnltb3VzX3N0cnVjdF8lZABnb3RvIF9jYXRjaF9sYWJlbF8lZAAgX2xpdF9mdW5jXyVkAEUlZAAgZGlzY2FyZGluZyBjb25zdCBhdCBhcmd1bWVudCAlZAAgaW5jb21wYXRpYmxlIHR5cGVzIGF0IGFyZ3VtZW50ICVkAG1hbGxvYwBjYWxsb2MAZGlhZ25vc3RpYwBfaXNfYXJpdGhtZXRpYwByaWdodCAvIGlzIG5vdCBhcml0aG1ldGljAGxlZnQgLyBpcyBub3QgYXJpdGhtZXRpYwByaWdodCAqIGlzIG5vdCBhcml0aG1ldGljAGxlZnQgKiBpcyBub3QgYXJpdGhtZXRpYwBzdGF0aWMAbm8gbWF0Y2ggZm9yIGdlbmVyaWMAX0dlbmVyaWMAX0F0b21pYwBjOi9tYWluLmMAbGliLmMACiUqYwAlYwBleGVjdXRlX3ByYWdtYQB1bmtub3duIHByYWdtYQBfX3R5cGVvZl9fAF9fZnVuY19fAF9fVkFfT1BUX18AX19WQV9BUkdTX18AX19DT1VOVEVSX18AX19MSU5FX18AX19GSUxFX18AXgAgYXJndW1lbnQgb2Ygc2l6ZSBbJWRdIGlzIHNtYWxsZXIgdGhhbiBwYXJhbWV0ZXIgb2Ygc2l6ZSBbJWRdAFtbbm9yZXR1cm5dXQBbAGN0eC0+Y3VycmVudC0+dHlwZSA9PSBUS19LRVlXT1JEX1RSWQBUS19LRVlXT1JEX19JTUFHSU5BUlkAVEtfS0VZV09SRF9JU19BUlJBWQBUS19LRVlXT1JEX1NUQVRJQ19ERUJVR19FWABUS19LRVlXT1JEX19DT01QTEVYAFRLX0FSUk9XAFRLX0tFWVdPUkRfVEhST1cAVEtfS0VZV09SRF9fVklFVwBUS19LRVlXT1JEX19PVVQAVEtfS0VZV09SRF9JU19DT05TVABUS19LRVlXT1JEX0NPTlNUAFRLX0tFWVdPUkRfU0hPUlQAVEtfS0VZV09SRF9BU1NFUlQAVEtfS0VZV09SRF9fU1RBVElDX0FTU0VSVABUS19LRVlXT1JEX19PUFQAVEtfS0VZV09SRF9JTlQAVEtfS0VZV09SRF9fQklUSU5UAFRLX0tFWVdPUkRfSVNfRkxPQVRJTkdfUE9JTlQAVEtfQ09NTUVOVABUS19MSU5FX0NPTU1FTlQAVEtfQ0lSQ1VNRkxFWF9BQ0NFTlQAVEtfR1JBVkVfQUNDRU5UAFRLX0NPTVBJTEVSX0JJTkFSWV9DT05TVEFOVABUS19DSEFSX0NPTlNUQU5UAFRLX0NPTVBJTEVSX09DVEFMX0NPTlNUQU5UAFRLX0NPTVBJTEVSX0RFQ0lNQUxfQ09OU1RBTlQAVEtfQ09NUElMRVJfSEVYQURFQ0lNQUxfQ09OU1RBTlQAVEtfQ09NUElMRVJfREVDSU1BTF9GTE9BVElOR19DT05TVEFOVABUS19DT01QSUxFUl9IRVhBREVDSU1BTF9GTE9BVElOR19DT05TVEFOVABUS19LRVlXT1JEX0RFRkFVTFQAVEtfU0hJRlRSSUdIVABUS19TSElGVExFRlQAVEtfS0VZV09SRF9TVEFUSUNfU0VUAFRLX1JJR0hUX0NVUkxZX0JSQUNLRVQAVEtfTEVGVF9DVVJMWV9CUkFDS0VUAFRLX1JJR0hUX1NRVUFSRV9CUkFDS0VUAFRLX0xFRlRfU1FVQVJFX0JSQUNLRVQAVEtfS0VZV09SRF9TVFJVQ1QAVEtfS0VZV09SRF9SRVNUUklDVABUS19DT01NRVJDSUFMX0FUAFRLX0tFWVdPUkRfRkxPQVQAVEtfSFlQSEVOX01JTlVTAFRLX01JTlVTTUlOVVMAVEtfUExVU1BMVVMAVEtfU09MSURVUwBUS19SRVZFUlNFX1NPTElEVVMAVEtfQkxBTktTAFRLX1JJR0hUX1BBUkVOVEhFU0lTAFRLX0xFRlRfUEFSRU5USEVTSVMAVEtfS0VZV09SRF9fQUxJR05BUwBUS19LRVlXT1JEX0FUVFJfSEFTAFRLX0tFWVdPUkRfTlVMTFBUUgBUS19LRVlXT1JEX0NPTlNURVhQUgBUS19MT0dJQ0FMX09QRVJBVE9SX09SAFRLX01BQ1JPX0NPTkNBVEVOQVRFX09QRVJBVE9SAHBfaXRlcmF0aW9uX3N0YXRlbWVudC0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gVEtfS0VZV09SRF9GT1IAVEtfS0VZV09SRF9SRUdJU1RFUgBUS19LRVlXT1JEX0lTX1BPSU5URVIAVEtfS0VZV09SRF9fT1dORVIAVEtfS0VZV09SRF9JU19PV05FUgBUS19LRVlXT1JEX19PQkpfT1dORVIAVEtfUExBQ0VNQVJLRVIAaW5wdXRfbGlzdC0+aGVhZC0+dHlwZSA9PSBUS19JREVOVElGSUVSAFRLX0tFWVdPUkRfREVGRVIAVEtfUFBOVU1CRVIAVEtfS0VZV09SRF9JU19TQ0FMQVIAVEtfS0VZV09SRF9DSEFSAFRLX0ZVTExfU1RPUABUS19LRVlXT1JEX0FVVE8AVEtfS0VZV09SRF9HT1RPAFRLX0lERU5USUZJRVJfUkVDVVJTSVZFX01BQ1JPAHBfaXRlcmF0aW9uX3N0YXRlbWVudC0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gVEtfS0VZV09SRF9ETwBUS19LRVlXT1JEX1JFVFVSTgBUS19LRVlXT1JEX19OT1JFVFVSTgBUS19LRVlXT1JEX0VYVEVSTgBUS19DT0xPTgBUS19TRU1JQ09MT04AVEtfS0VZV09SRF9JU19GVU5DVElPTgBUS19LRVlXT1JEX1VOSU9OAFRLX1BFUkNFTlRfU0lHTgBUS19QTFVTX1NJR04AVEtfRVFVQUxTX1NJR04AVEtfTlVNQkVSX1NJR04AVEtfRE9MTEFSX1NJR04AVEtfTEVTU19USEFOX1NJR04AVEtfR1JFQVRFUl9USEFOX1NJR04AQU5ZX09USEVSX1BQX1RPS0VOAE5BTgBUS19LRVlXT1JEX0VOVU0AVEtfS0VZV09SRF9fQVNNAFRLX0tFWVdPUkRfX0JPT0wAcF9kZWNsYXJhdGlvbi0+ZnVuY3Rpb25fYm9keSA9PSBOVUxMAHBuZXctPnByZXYgPT0gTlVMTABwbmV3LT5uZXh0ID09IE5VTEwAcF9sYXN0X3BhcmFtZXRlci0+bmV4dCA9PSBOVUxMAHAtPnR5cGVfcXVhbGlmaWVyLT5uZXh0ID09IE5VTEwAcC0+bmV4dCA9PSBOVUxMAHR5cGVfbGlzdC0+dGFpbC0+bmV4dCA9PSBOVUxMAGFwcGVuZF9saXN0LT50YWlsLT5uZXh0ID09IE5VTEwAZGVzdC0+dGFpbC0+bmV4dCA9PSBOVUxMAHNvdXJjZS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmZW51bWVyYXRvcmxpc3QpLT50YWlsLT5uZXh0ID09IE5VTEwAKCZpbml0X2RlY2xhcmF0b3JfbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF9tZW1iZXJfZGVjbGFyYXRvcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX2Rlc2lnbmF0b3JfbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF9pbml0aWFsaXplcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX3BhcmFtZXRlcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX3NwZWNpZmllcl9xdWFsaWZpZXJfbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF90eXBlX3F1YWxpZmllcl9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmYmxvY2tfaXRlbV9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX2F0dHJpYnV0ZV9saXN0KS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmbGlzdCktPnRhaWwtPm5leHQgPT0gTlVMTAAocF9kZWNsYXJhdGlvbl9zcGVjaWZpZXJzKS0+dGFpbC0+bmV4dCA9PSBOVUxMACgmcF9uZXctPnBhcmFtcyktPnRhaWwtPm5leHQgPT0gTlVMTAAoJnBfZnVuYy0+cGFyYW1zKS0+dGFpbC0+bmV4dCA9PSBOVUxMAChwX2F0dHJpYnV0ZV9zcGVjaWZpZXJfc2VxdWVuY2UpLT50YWlsLT5uZXh0ID09IE5VTEwAbGlzdC50YWlsLT5uZXh0ID09IE5VTEwAbmV3X2Jvb2stPm5leHQgPT0gTlVMTABwX3R5cGUtPm5leHQgPT0gTlVMTAB0Lm5hbWVfb3B0ID09IE5VTEwAcF9hcmd1bWVudCA9PSBOVUxMAHBfZXhwcmVzc2lvbi0+cmlnaHQgPT0gTlVMTABwX2V4cHJlc3Npb24tPmxlZnQgPT0gTlVMTABwX2Jsb2NrLT5wcmV2aW91cyA9PSBOVUxMAG1hY3JvLT5wYXJhbWV0ZXJzID09IE5VTEwAcF9pbml0aWFsaXplci0+ZGVzaWduYXRpb24gPT0gTlVMTABwX2luaXRpYWxpemVyMi0+ZGVzaWduYXRpb24gPT0gTlVMTABuZXdfZXhwcmVzc2lvbiA9PSBOVUxMAGxpc3QtPnRhaWwgPT0gTlVMTAByMi50YWlsID09IE5VTEwAY3R4LT50YWlsX2Jsb2NrID09IE5VTEwAcC0+dGFpbF9ibG9jayA9PSBOVUxMAGN0eC0+cF9yZXR1cm5fdHlwZSA9PSBOVUxMAHBfZXhwcmVzc2lvbl9ub2RlLT50eXBlX25hbWUgPT0gTlVMTABtYWNyby0+bmFtZSA9PSBOVUxMAG1hcC0+dGFibGUgPT0gTlVMTABwX2V4cHJlc3Npb25fbm9kZSA9PSBOVUxMAHR5cGVfbGlzdC0+aGVhZCA9PSBOVUxMAG1hY3JvLT5yZXBsYWNlbWVudF9saXN0LmhlYWQgPT0gTlVMTAByMi5oZWFkID09IE5VTEwAZmluZF9tYWNybyhjdHgsIGlucHV0X2xpc3QtPmhlYWQtPmxleGVtZSkgPT0gTlVMTAB0eXBlX2xpc3QgIT0gTlVMTABwX2xhc3QgIT0gTlVMTABwX2RlY2xhcmF0b3Jfb3B0ICE9IE5VTEwAY3R4LT5jdXJyZW50ICE9IE5VTEwAYm9va3MgIT0gTlVMTABwX3R5cGVfc3BlY2lmaWVyLT50eXBlZGVmX2RlY2xhcmF0b3IgIT0gTlVMTABwX2luaXRfZGVjbGFyYXRvci0+aW5pdGlhbGl6ZXItPmJyYWNlZF9pbml0aWFsaXplciAhPSBOVUxMAHBfdHlwZS0+ZW51bV9zcGVjaWZpZXIgIT0gTlVMTABwICE9IE5VTEwAcF9leHByZXNzaW9uX29yaWdpbiAhPSBOVUxMAG5ld19ib29rICE9IE5VTEwAbGlzdC5oZWFkICE9IE5VTEwAbGlzdDQuaGVhZCAhPSBOVUxMAFRLX0tFWVdPUkRfVFlQRU9GX1VOUVVBTABUS19LRVlXT1JEX0lTX0lOVEVHUkFMAFRLX1NUUklOR19MSVRFUkFMAFRLX0tFWVdPUkRfX1RIUkVBRF9MT0NBTABUS19BU1RFUklTSwBUS19RVUVTVElPTl9NQVJLAFRLX1FVT1RBVElPTl9NQVJLAFRLX0VYQ0xBTUFUSU9OX01BUksAVEtfS0VZV09SRF9CUkVBSwBUS19LRVlXT1JEX1NXSVRDSABUS19LRVlXT1JEX0NBVENIAFRLX0tFWVdPUkRfU1RBVElDX0RFQlVHAFRLX0tFWVdPUkRfTE9ORwBUS19LRVlXT1JEX19BTElHTk9GAFRLX0tFWVdPUkRfU0laRU9GAFRLX0tFWVdPUkRfVFlQRU9GAElORgBwX3NlbGVjdGlvbl9zdGF0ZW1lbnQtPmZpcnN0X3Rva2VuLT50eXBlID09IFRLX0tFWVdPUkRfSUYAbnVsbGNoZWNrcyBwcmFnbWEgbmVlZHMgdG8gdXNlIE9OIE9GRgAqYyA+PSAweDA4MDAgJiYgKmMgPD0gMHhGRkZGACpjID49IDB4MTAwMDAgJiYgKmMgPD0gMHgxMEZGRkYAKmMgPj0gMHgwMDgwICYmICpjIDw9IDB4MDdGRgBUS19LRVlXT1JEX1RZUEVERUYAKmMgPj0gMHgwMDAwICYmICpjIDw9IDB4MDA3RgBUS19LRVlXT1JEX0FUVFJfUkVNT1ZFAFRLX0tFWVdPUkRfVFJVRQBUS19LRVlXT1JEX0NPTlRJTlVFAFRLX0tFWVdPUkRfSVNfTFZBTFVFAFRLX0tFWVdPUkRfU1RBVElDX1NUQVRFAFRLX0tFWVdPUkRfRUxTRQBUS19LRVlXT1JEX0ZBTFNFAFRLX0tFWVdPUkRfQ0FTRQBUS19OT05FAFRLX0ZMT1dfTElORQBUS19QUkVQUk9DRVNTT1JfTElORQBUS19WRVJUSUNBTF9MSU5FAFRLX05FV0xJTkUAVEtfS0VZV09SRF9JTkxJTkUAVEtfWF9NSVNTSU5HX05BTUUAVEtfS0VZV09SRF9WT0xBVElMRQBwX2l0ZXJhdGlvbl9zdGF0ZW1lbnQtPmZpcnN0X3Rva2VuLT50eXBlID09IFRLX0tFWVdPUkRfV0hJTEUAVEtfQkVHSU5fT0ZfRklMRQBUS19LRVlXT1JEX0RPVUJMRQBDQUtFAFRLX0FQT1NUUk9QSEUAVEtfVElMREUAVEtfV0hJVEVfU1BBQ0UALUUAVEtfTE9HSUNBTF9PUEVSQVRPUl9BTkQAVEtfQU1QRVJTQU5EAFRLX0tFWVdPUkRfVk9JRABUS19LRVlXT1JEX1NJR05FRABUS19LRVlXT1JEX1VOU0lHTkVEAFRLX0tFWVdPUkRfQVRUUl9BREQAVEtfS0VZV09SRF9JU19BUklUSE1FVElDAFRLX0tFWVdPUkRfU1RBVElDAFRLX0tFWVdPUkRfX0dFTkVSSUMAVEtfS0VZV09SRF9fQVRPTUlDAFRLX0NPTU1BAGN0eC0+Y3VycmVudC0+dHlwZSA9PSBUS19QUkFHTUEAYWRkcmVzcyBvZiByZWdpc3RlciB2YXJpYWJsZSByZXF1ZXN0ZWQgLSBkZWNsYXJhdG9yPwBpbmNvbXBhdGlibGUgdHlwZXM/PwA8PgBicmVhazsAZ290byBfY2F0Y2hfbGFiZWxfJWQ7AHR5cGVkZWYgbG9uZyBsb25nIGZwb3NfdDsKdHlwZWRlZiB1bnNpZ25lZCBzaXplX3Q7CgojZGVmaW5lIEVYSVRfU1VDQ0VTUyAwCiNkZWZpbmUgRVhJVF9GQUlMVVJFIDEKI2RlZmluZSBOVUxMICgodm9pZCopMCkKdHlwZWRlZiBpbnQgd2NoYXJfdDsKW1tub2Rpc2NhcmRdXSBkb3VibGUgYXRvZihjb25zdCBjaGFyKiBucHRyKTsKW1tub2Rpc2NhcmRdXSBpbnQgYXRvaShjb25zdCBjaGFyKiBucHRyKTsKW1tub2Rpc2NhcmRdXSBsb25nIGludCBhdG9sKGNvbnN0IGNoYXIqIG5wdHIpOwpbW25vZGlzY2FyZF1dIGxvbmcgbG9uZyBpbnQgYXRvbGwoY29uc3QgY2hhciogbnB0cik7CmRvdWJsZSBzdHJ0b2QoY29uc3QgY2hhciogcmVzdHJpY3QgbnB0ciwgY2hhcioqIHJlc3RyaWN0IGVuZHB0cik7CmZsb2F0IHN0cnRvZihjb25zdCBjaGFyKiByZXN0cmljdCBucHRyLCBjaGFyKiogcmVzdHJpY3QgZW5kcHRyKTsKbG9uZyBkb3VibGUgc3RydG9sZChjb25zdCBjaGFyKiByZXN0cmljdCBucHRyLCBjaGFyKiogcmVzdHJpY3QgZW5kcHRyKTsKbG9uZyBpbnQgc3RydG9sKGNvbnN0IGNoYXIqIHJlc3RyaWN0IG5wdHIsIGNoYXIqKiByZXN0cmljdCBlbmRwdHIsIGludCBiYXNlKTsKbG9uZyBsb25nIGludCBzdHJ0b2xsKGNvbnN0IGNoYXIqIHJlc3RyaWN0IG5wdHIsIGNoYXIqKiByZXN0cmljdCBlbmRwdHIsIGludCBiYXNlKTsKdW5zaWduZWQgbG9uZyBpbnQgc3RydG91bChjb25zdCBjaGFyKiByZXN0cmljdCBucHRyLCBjaGFyKiogcmVzdHJpY3QgZW5kcHRyLCBpbnQgYmFzZSk7CnVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RydG91bGwoY29uc3QgY2hhciogcmVzdHJpY3QgbnB0ciwgY2hhcioqIHJlc3RyaWN0IGVuZHB0ciwgaW50IGJhc2UpOwppbnQgcmFuZCh2b2lkKTsKdm9pZCBzcmFuZCh1bnNpZ25lZCBpbnQgc2VlZCk7CnZvaWQqIGFsaWduZWRfYWxsb2Moc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpOwojaWYgZGVmaW5lZChfX1NURENfT1dORVJTSElQX18pICYmIGRlZmluZWQoX19PV05FUlNISVBfSF9fKQpbW25vZGlzY2FyZF1dIHZvaWQqIF9Pd25lciBjYWxsb2Moc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSk7CnZvaWQgZnJlZSh2b2lkKiBfT3duZXIgcHRyKTsKW1tub2Rpc2NhcmRdXSB2b2lkKiBfT3duZXIgbWFsbG9jKHNpemVfdCBzaXplKTsKW1tub2Rpc2NhcmRdXSB2b2lkKiBfT3duZXIgcmVhbGxvYyh2b2lkKiBwdHIsIHNpemVfdCBzaXplKTsKI2Vsc2UKW1tub2Rpc2NhcmRdXSB2b2lkKiBjYWxsb2Moc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSk7CnZvaWQgZnJlZSh2b2lkKiBwdHIpOwpbW25vZGlzY2FyZF1dIHZvaWQqIG1hbGxvYyhzaXplX3Qgc2l6ZSk7Cltbbm9kaXNjYXJkXV0gdm9pZCogcmVhbGxvYyh2b2lkKiBwdHIsIHNpemVfdCBzaXplKTsKI2VuZGlmCltbbm9yZXR1cm5dXSB2b2lkIGFib3J0KHZvaWQpOwppbnQgYXRleGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7CmludCBhdF9xdWlja19leGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7Cltbbm9yZXR1cm5dXSB2b2lkIGV4aXQoaW50IHN0YXR1cyk7Cltbbm9yZXR1cm5dXSB2b2lkIF9FeGl0KGludCBzdGF0dXMpOwpjaGFyKiBnZXRlbnYoY29uc3QgY2hhciogbmFtZSk7Cltbbm9yZXR1cm5dXSB2b2lkIHF1aWNrX2V4aXQoaW50IHN0YXR1cyk7CmludCBzeXN0ZW0oY29uc3QgY2hhciogc3RyaW5nKTsAIAp0eXBlZGVmIGludCBlcnJub190Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplX3Q7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHJzaXplX3Q7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgd2NoYXJfdDsKdm9pZCogbWVtY2hyKHZvaWQgY29uc3QqIF9CdWYsIGludCBfVmFsLCBzaXplX3QgX01heENvdW50KTsKaW50IG1lbWNtcCh2b2lkIGNvbnN0KiBfQnVmMSwgdm9pZCBjb25zdCogX0J1ZjIsIHNpemVfdCBfU2l6ZSk7CnZvaWQqIG1lbWNweSh2b2lkKiBfRHN0LCB2b2lkIGNvbnN0KiBfU3JjLCBzaXplX3QgX1NpemUpOwp2b2lkKiBtZW1tb3ZlKHZvaWQqIF9Ec3QsIHZvaWQgY29uc3QqIF9TcmMsIHNpemVfdCBfU2l6ZSk7CnZvaWQqIG1lbXNldCh2b2lkKiBfRHN0LCBpbnQgX1ZhbCwgc2l6ZV90IF9TaXplKTsKY2hhciogc3RyY2hyKGNoYXIgY29uc3QqIF9TdHIsIGludCBfVmFsKTsKY2hhciogc3RycmNocihjaGFyIGNvbnN0KiBfU3RyLCBpbnQgX0NoKTsKY2hhciogc3Ryc3RyKGNoYXIgY29uc3QqIF9TdHIsIGNoYXIgY29uc3QqIF9TdWJTdHIpOwp3Y2hhcl90KiB3Y3NjaHIod2NoYXJfdCBjb25zdCogX1N0ciwgd2NoYXJfdCBfQ2gpOwp3Y2hhcl90KiB3Y3NyY2hyKHdjaGFyX3QgY29uc3QqIF9TdHIsIHdjaGFyX3QgX0NoKTsKd2NoYXJfdCogd2Nzc3RyKHdjaGFyX3QgY29uc3QqIF9TdHIsIHdjaGFyX3QgY29uc3QqIF9TdWJTdHIpOwpzdGF0aWMgX19pbmxpbmUgZXJybm9fdCBtZW1jcHlfcyh2b2lkKiBjb25zdCBfRGVzdGluYXRpb24sIHJzaXplX3QgY29uc3QgX0Rlc3RpbmF0aW9uU2l6ZSwgdm9pZCBjb25zdCogY29uc3QgX1NvdXJjZSwgcnNpemVfdCBjb25zdCBfU291cmNlU2l6ZSk7CnN0YXRpYyBfX2lubGluZSBlcnJub190IG1lbW1vdmVfcyh2b2lkKiBjb25zdCBfRGVzdGluYXRpb24sIHJzaXplX3QgY29uc3QgX0Rlc3RpbmF0aW9uU2l6ZSwgdm9pZCBjb25zdCogY29uc3QgX1NvdXJjZSwgcnNpemVfdCBjb25zdCBfU291cmNlU2l6ZSk7CmludCBfbWVtaWNtcCh2b2lkIGNvbnN0KiBfQnVmMSwgdm9pZCBjb25zdCogX0J1ZjIsIHNpemVfdCBfU2l6ZSk7CnZvaWQqIG1lbWNjcHkodm9pZCogX0RzdCwgdm9pZCBjb25zdCogX1NyYywgaW50IF9WYWwsIHNpemVfdCBfU2l6ZSk7CmludCBtZW1pY21wKHZvaWQgY29uc3QqIF9CdWYxLCB2b2lkIGNvbnN0KiBfQnVmMiwgc2l6ZV90IF9TaXplKTsKZXJybm9fdCB3Y3NjYXRfcyh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHJzaXplX3QgX1NpemVJbldvcmRzLCB3Y2hhcl90IGNvbnN0KiBfU291cmNlKTsKZXJybm9fdCB3Y3NjcHlfcyh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHJzaXplX3QgX1NpemVJbldvcmRzLCB3Y2hhcl90IGNvbnN0KiBfU291cmNlKTsKZXJybm9fdCB3Y3NuY2F0X3Mod2NoYXJfdCogX0Rlc3RpbmF0aW9uLCByc2l6ZV90IF9TaXplSW5Xb3Jkcywgd2NoYXJfdCBjb25zdCogX1NvdXJjZSwgcnNpemVfdCBfTWF4Q291bnQpOwplcnJub190IHdjc25jcHlfcyh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHJzaXplX3QgX1NpemVJbldvcmRzLCB3Y2hhcl90IGNvbnN0KiBfU291cmNlLCByc2l6ZV90IF9NYXhDb3VudCk7CndjaGFyX3QqIHdjc3Rva19zKHdjaGFyX3QqIF9TdHJpbmcsIHdjaGFyX3QgY29uc3QqIF9EZWxpbWl0ZXIsIHdjaGFyX3QqKiBfQ29udGV4dCk7CndjaGFyX3QqIF93Y3NkdXAod2NoYXJfdCBjb25zdCogX1N0cmluZyk7CndjaGFyX3QqIHdjc2NhdCh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UpOyBpbnQgd2NzY21wKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcxLCB3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMik7CndjaGFyX3QqIHdjc2NweSh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UpOyBzaXplX3Qgd2NzY3Nwbih3Y2hhcl90IGNvbnN0KiBfU3RyaW5nLCB3Y2hhcl90IGNvbnN0KiBfQ29udHJvbCk7CnNpemVfdCB3Y3NsZW4od2NoYXJfdCBjb25zdCogX1N0cmluZyk7CnNpemVfdCB3Y3NubGVuKHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UsIHNpemVfdCBfTWF4Q291bnQpOwpzdGF0aWMgX19pbmxpbmUgc2l6ZV90IHdjc25sZW5fcyh3Y2hhcl90IGNvbnN0KiBfU291cmNlLCBzaXplX3QgX01heENvdW50KTsKd2NoYXJfdCogd2NzbmNhdCh3Y2hhcl90KiBfRGVzdGluYXRpb24sIHdjaGFyX3QgY29uc3QqIF9Tb3VyY2UsIHNpemVfdCBfQ291bnQpOwppbnQgd2NzbmNtcCh3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMSwgd2NoYXJfdCBjb25zdCogX1N0cmluZzIsIHNpemVfdCBfTWF4Q291bnQpOwp3Y2hhcl90KiB3Y3NuY3B5KHdjaGFyX3QqIF9EZXN0aW5hdGlvbiwgd2NoYXJfdCBjb25zdCogX1NvdXJjZSwgc2l6ZV90IF9Db3VudCk7CndjaGFyX3QqIHdjc3Bicmsod2NoYXJfdCBjb25zdCogX1N0cmluZywgd2NoYXJfdCBjb25zdCogX0NvbnRyb2wpOwpzaXplX3Qgd2Nzc3BuKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcsIHdjaGFyX3QgY29uc3QqIF9Db250cm9sKTsKd2NoYXJfdCogd2NzdG9rKHdjaGFyX3QqIF9TdHJpbmcsIHdjaGFyX3QgY29uc3QqIF9EZWxpbWl0ZXIsIHdjaGFyX3QqKiBfQ29udGV4dCk7CnNpemVfdCB3Y3N4ZnJtKHdjaGFyX3QqIF9EZXN0aW5hdGlvbiwgd2NoYXJfdCBjb25zdCogX1NvdXJjZSwgc2l6ZV90IF9NYXhDb3VudCk7CmludCB3Y3Njb2xsKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcxLCB3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMik7CndjaGFyX3QqIHdjc2R1cCh3Y2hhcl90IGNvbnN0KiBfU3RyaW5nKTsKaW50IHdjc2ljbXAod2NoYXJfdCBjb25zdCogX1N0cmluZzEsIHdjaGFyX3QgY29uc3QqIF9TdHJpbmcyKTsKaW50IHdjc25pY21wKHdjaGFyX3QgY29uc3QqIF9TdHJpbmcxLCB3Y2hhcl90IGNvbnN0KiBfU3RyaW5nMiwgc2l6ZV90IF9NYXhDb3VudCk7CndjaGFyX3QqIHdjc25zZXQod2NoYXJfdCogX1N0cmluZywgd2NoYXJfdCBfVmFsdWUsIHNpemVfdCBfTWF4Q291bnQpOwp3Y2hhcl90KiB3Y3NyZXYod2NoYXJfdCogX1N0cmluZyk7CndjaGFyX3QqIHdjc3NldCh3Y2hhcl90KiBfU3RyaW5nLCB3Y2hhcl90IF9WYWx1ZSk7CndjaGFyX3QqIHdjc2x3cih3Y2hhcl90KiBfU3RyaW5nKTsgd2NoYXJfdCogd2NzdXByKHdjaGFyX3QqIF9TdHJpbmcpOwppbnQgd2NzaWNvbGwod2NoYXJfdCBjb25zdCogX1N0cmluZzEsIHdjaGFyX3QgY29uc3QqIF9TdHJpbmcyKTsKY2hhciogc3RydG9rX3MoY2hhciogX1N0cmluZywgY2hhciBjb25zdCogX0RlbGltaXRlciwgY2hhcioqIF9Db250ZXh0KTsKdm9pZCogX21lbWNjcHkodm9pZCogX0RzdCwgdm9pZCBjb25zdCogX1NyYywgaW50IF9WYWwsIHNpemVfdCBfTWF4Q291bnQpOwpjaGFyKiBzdHJjYXQoY2hhciogX0Rlc3RpbmF0aW9uLCBjaGFyIGNvbnN0KiBfU291cmNlKTsKaW50IHN0cmNtcChjaGFyIGNvbnN0KiBfU3RyMSwgY2hhciBjb25zdCogX1N0cjIpOwppbnQgc3RyY29sbChjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIpOwpjaGFyKiBzdHJlcnJvcihpbnQgX0Vycm9yTWVzc2FnZSk7CnNpemVfdCBzdHJsZW4oY2hhciBjb25zdCogX1N0cik7CmNoYXIqIHN0cm5jYXQoY2hhciogX0Rlc3RpbmF0aW9uLCBjaGFyIGNvbnN0KiBfU291cmNlLCBzaXplX3QgX0NvdW50KTsKaW50IHN0cm5jbXAoY2hhciBjb25zdCogX1N0cjEsIGNoYXIgY29uc3QqIF9TdHIyLCBzaXplX3QgX01heENvdW50KTsKY2hhciogc3RybmNweShjaGFyKiBfRGVzdGluYXRpb24sIGNoYXIgY29uc3QqIF9Tb3VyY2UsIHNpemVfdCBfQ291bnQpOwpzaXplX3Qgc3RybmxlbihjaGFyIGNvbnN0KiBfU3RyaW5nLCBzaXplX3QgX01heENvdW50KTsKc3RhdGljIF9faW5saW5lIHNpemVfdCBzdHJubGVuX3MoY2hhciBjb25zdCogX1N0cmluZywgc2l6ZV90IF9NYXhDb3VudCk7CmNoYXIqIHN0cnBicmsoY2hhciBjb25zdCogX1N0ciwgY2hhciBjb25zdCogX0NvbnRyb2wpOwpzaXplX3Qgc3Ryc3BuKGNoYXIgY29uc3QqIF9TdHIsIGNoYXIgY29uc3QqIF9Db250cm9sKTsKY2hhciogc3RydG9rKGNoYXIqIF9TdHJpbmcsIGNoYXIgY29uc3QqIF9EZWxpbWl0ZXIpOwojaWYgZGVmaW5lZChfX1NURENfT1dORVJTSElQX18pICYmIGRlZmluZWQoX19PV05FUlNISVBfSF9fKQpjaGFyKiBfT3duZXIgc3RyZHVwKGNoYXIgY29uc3QqIF9TdHJpbmcpOwojZWxzZQpjaGFyKiBzdHJkdXAoY2hhciBjb25zdCogX1N0cmluZyk7CiNlbmRpZgppbnQgc3RyY21waShjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIpOwppbnQgc3RyaWNtcChjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIpOwpjaGFyKiBzdHJsd3IoY2hhciogX1N0cmluZyk7CmludCBzdHJuaWNtcChjaGFyIGNvbnN0KiBfU3RyaW5nMSwgY2hhciBjb25zdCogX1N0cmluZzIsIHNpemVfdCBfTWF4Q291bnQpOwpjaGFyKiBzdHJuc2V0KGNoYXIqIF9TdHJpbmcsIGludCBfVmFsdWUsIHNpemVfdCBfTWF4Q291bnQpOwpjaGFyKiBzdHJyZXYoY2hhciogX1N0cmluZyk7CmNoYXIqIHN0cnNldChjaGFyKiBfU3RyaW5nLCBpbnQgX1ZhbHVlKTsgY2hhciogc3RydXByKGNoYXIqIF9TdHJpbmcpOwBOb3RlOiBpbmNsdWRpbmcgZmlsZToAZWxzZSBfY2F0Y2hfbGFiZWxfJWQ6AC10YXJnZXQ9Yzk5AC1zdGQ9Yzk5AC10YXJnZXQ9Yzg5AF9faW50OABUS19LRVlXT1JEX19JTlQ4AF9EZWNpbWFsMTI4AFRLX0tFWVdPUkRfX0RFQ0lNQUwxMjgAX19pbnQxNgBUS19LRVlXT1JEX19JTlQxNgBfX2ludDY0AF9EZWNpbWFsNjQAVEtfS0VZV09SRF9fSU5UNjQAVEtfS0VZV09SRF9fREVDSU1BTDY0AF9faW50MzIAX0RlY2ltYWwzMgBUS19LRVlXT1JEX19JTlQzMgBUS19LRVlXT1JEX19ERUNJTUFMMzIALXRhcmdldD1jMTEALXN0ZD1jMTEAYWxpZ24gPiAwAGxpc3QudGFpbC0+bmV4dCA9PSAwAHBfaW5pdF9kZWNsYXJhdG9yLT5wX2RlY2xhcmF0b3ItPnR5cGUudHlwZV9zcGVjaWZpZXJfZmxhZ3MgPT0gMABwX29iamVjdC0+bWVtYmVycy5zaXplID09IDAAZm10ICE9IDAAYWxpZ24gIT0gMABpZiAoMSkgLyp0cnkqLwAvKl9JbXBsaWNpdCovAC8qcmVzdHJpY3QqLwAvKiVzKi8ALypbW25vcmV0dXJuXV0qLwBwcmV2aW91cyBtZW1iZXJzIG9mICclcycgd2VyZSBub3QgbW92ZWQgYmVmb3JlIHRoaXMgYXNzaWdubWVudC4AbWVtb3J5IHBvaW50ZWQgYnkgJyVzJyB3YXMgbm90IHJlbGVhc2VkIGJlZm9yZSBhc3NpZ25tZW50LgBVbmljb2RlIGNoYXJhY3RlciBsaXRlcmFscyBtYXkgbm90IGNvbnRhaW4gbXVsdGlwbGUgY2hhcmFjdGVycy4AdXNlIG9mICclcycgd2l0aCB0YWcgdHlwZSB0aGF0IGRvZXMgbm90IG1hdGNoIHByZXZpb3VzIGRlY2xhcmF0aW9uLgBzdHJ1Y3QgJyVzJyBpcyBpbmNvbXBsZXRlLgBDaGFyYWN0ZXIgdG9vIGxhcmdlIGZvciBlbmNsb3NpbmcgY2hhcmFjdGVyIGxpdGVyYWwgdHlwZS4Ab2JqZWN0ICclcycgd2FzIG5vdCBtb3ZlZC4AbWVtb3J5IHBvaW50ZWQgYnkgJyVzJyB3YXMgbm90IHJlbGVhc2VkLgBPYmplY3QgbXVzdCBiZSBvd25lciBxdWFsaWZpZWQuAGludmFsaWQgdHlwZXMgZm9yIG9wZXJhdG9yIC0ALAAqACF0b2tlbl9saXN0X2lzX2VtcHR5KGxpc3QpAChjdXJyZW50KQAoKCVzKSVzKQAoIyVkICVzKQBwX2V4cHJlc3Npb25fbm9kZSA9PSBOVUxMIHx8IChwX2V4cHJlc3Npb25fbm9kZS0+Zmlyc3RfdG9rZW4gJiYgcF9leHByZXNzaW9uX25vZGUtPmxhc3RfdG9rZW4pAChudWxsKQByLnRhaWwgPT0gTlVMTCB8fCAhdG9rZW5faXNfYmxhbmsoci50YWlsKQBtaXNzaW5nIG1hY3JvIGFyZ3VtZW50IChzaG91bGQgYmUgY2hlY2tlZCBiZWZvcmUpAHR5cGVfaXNfYXJyYXkocF90eXBlKQAhbWFjcm9fYWxyZWFkeV9leHBhbmRlZChsaXN0LCBtYWNyby0+bmFtZSkAIXRva2VuX2lzX2JsYW5rKGlucHV0X2xpc3QtPmhlYWQpACF0b2tlbl9pc19ibGFuayhuZXdfbGlzdC5oZWFkKQBhc3NlcnQoX19WQV9BUkdTX18pAChwLT5oZWFkID09IE5VTEwgJiYgcC0+dGFpbCA9PSBOVUxMKSB8fCAocC0+aGVhZCAhPSBOVUxMICYmIHAtPnRhaWwgIT0gTlVMTCkAIShpbnB1dF9saXN0LT5oZWFkLT5mbGFncyAmIFRLX0ZMQUdfSEFTX05FV0xJTkVfQkVGT1JFKQAhKG5ld19saXN0LmhlYWQtPmZsYWdzICYgVEtfRkxBR19IQVNfTkVXTElORV9CRUZPUkUpACF0b2tlbl9saXN0X2lzX2VtcHR5KCZsaXN0MikAKChfQm9vbCkxKQAoKF9Cb29sKTApACgodm9pZCopMCkAbWlzc2luZyApAGV4cGVjdGVkICkAKABwX2JyYWNrZXRfaW5pdGlhbGl6ZXJfbGlzdC0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gJ3snAGV4cGVjdGVkIGRlY2xhcmF0aW9uIG5vdCAnJXMnAG1lbWJlciAnJXMnIG5vdCBmb3VuZCBpbiBzdHJ1Y3QgJyVzJwBwYXJhbWV0ZXIgJyVzJyBpcyBsZWF2aW5nIHNjb3BlZCB3aXRoIGEgdW5pbml0aWFsaXplZCBvYmplY3QgJyVzJwB1c2luZyBhIHVuaW5pdGlhbGl6ZWQgb2JqZWN0ICclcycAcGFyYW1ldGVyICclcycgaXMgbGVhdmluZyBzY29wZWQgd2l0aCBhIG1vdmVkIG9iamVjdCAnJXMnAHVua25vd24gb3B0aW9uICclcycAc3RydWN0IG1lbWJlciAnJXMnIG5vdCBmb3VuZCBpbiAnJXMnAHVua25vd24gd2FybmluZyAnJXMnAGludmFsaWQgdHlwZSAnJXMnAG5vdCBmb3VuZCAnJXMnAGRpciA9ICclcycAaW1wbGljaXQgY29udmVyc2lvbiBmcm9tICdlbnVtICVzJyB0byAnZW51bSAlcycAb3AgPT0gJz09JyB8fCBvcCA9PSAnIT0nAHduYW1lWzBdID09ICctJwBleHBlY3RlZCAnfScgYmVmb3JlICcpJwBleHBlY3RlZCAnXScgYmVmb3JlICcpJwBwX2V4cHJlc3Npb25fbm9kZS0+Zmlyc3RfdG9rZW4tPnR5cGUgPT0gJygnAG9ial9vd25lciBwb2ludGVyIG11c3QgYmUgY3JlYXRlZCB1c2luZyBhZGRyZXNzIG9mIG9wZXJhdG9yICYALy8jAHlvdSBjYW4gdXNlICJhZGphY2VudCIgInN0cmluZ3MiACwgImVycm9yIgAiemVybyIAXCIAeyAAIGRpc2NhcmRpbmcgY29uc3QgYXQgYXJndW1lbnQgACBpbmNvbXBhdGlibGUgdHlwZXMgYXQgYXJndW1lbnQgAHN0cnVjdCAAIGluY29tcGF0aWJsZSB0eXBlcyAAeyAlcyAAIG9yIABlbnVtIABpZ25vcmluZyB0aGUgcmVzdWx0IG9mIG93bmVyIHR5cGUgAG9iamVjdCAnJXMnIGNhbiBiZSB1bmluaXRpYWxpemVkIABlbGlmIGRlZmluZWQgAGVsaWYgISBkZWZpbmVkIABsZWZ0IHR5cGUgbXVzdCBiZSBvd25lciBxdWFsaWZpZWQgACVwOiVzID09IAAgJXMgX3RtcCA9IABlcnJvcjogAHdhcm5pbmc6IABub3RlOiAAG1s5N20lczolZDolZDogACVzKCVkLCVkKTogACAgICAgICAgICAgICAgIH0KACAgICAgICAgICAgICAiYXJ0aWZhY3RMb2NhdGlvbiI6IHsKACAgICAgICAicGh5c2ljYWxMb2NhdGlvbiI6IHsKACAgICAgICAgICAgICAgInJlZ2lvbiI6IHsKACAgICAgIm1lc3NhZ2UiOiB7CgAgICAgICAgICAgewoAG1s5MW1lcnJvcjogG1s5N20lcwoAG1s5NW13YXJuaW5nOiAbWzk3bSVzCgAbWzM2OzFtbm90ZTogG1s5N20lcwoAZXhwZWN0ZWQgdG9rZW4gJXMgZ290ICVzCgAlcyAlcwoAdGFnICVzCgBfU3RhdGljX2Fzc2VydCBmYWlsZWQgJXMKAHJlYWQgJXMKAGVycm9yOiAlcwoAd2FybmluZzogJXMKAG5vdGU6ICVzCgB0b28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCB0byBmdW5jdGlvbi1saWtlIG1hY3JvIGludm9jYXRpb24KABtbOTdtQ2FrZSAwLjcuMjEbWzBtCgAjcHJhZ21hIG9uY2UKI2RlZmluZSBfSU9GQkYgMHgwMDAwCiNkZWZpbmUgX0lPTEJGIDB4MDA0MAojZGVmaW5lIF9JT05CRiAweDAwMDQKCiNkZWZpbmUgQlVGU0laICA1MTIKCiNkZWZpbmUgRU9GICAgICgtMSkKCiNkZWZpbmUgRklMRU5BTUVfTUFYICAgIDI2MAojZGVmaW5lIEZPUEVOX01BWCAgICAgICAyMAoKI2RlZmluZSBMX3RtcG5hbSAgIDI2MCAvLyBfTUFYX1BBVEgKCi8qIFNlZWsgbWV0aG9kIGNvbnN0YW50cyAqLwoKI2RlZmluZSBTRUVLX0NVUiAgICAxCiNkZWZpbmUgU0VFS19FTkQgICAgMgojZGVmaW5lIFNFRUtfU0VUICAgIDAKCgojZGVmaW5lIFRNUF9NQVggICAgICAgICAyMTQ3NDgzNjQ3CgoKCnR5cGVkZWYgbG9uZyBsb25nIGZwb3NfdDsKdHlwZWRlZiBpbnQgRklMRTsKCmV4dGVybiBGSUxFKiBzdGRpbjsKZXh0ZXJuIEZJTEUqIHN0ZG91dDsKZXh0ZXJuIEZJTEUqIHN0ZGVycjsKCnR5cGVkZWYgaW50IHNpemVfdDsKdHlwZWRlZiB2b2lkKiB2YV9saXN0OwppbnQgcmVtb3ZlKGNvbnN0IGNoYXIqIGZpbGVuYW1lKTsKaW50IHJlbmFtZShjb25zdCBjaGFyKiBvbGQsIGNvbnN0IGNoYXIqIG5ld3MpOwpGSUxFKiB0bXBmaWxlKHZvaWQpOwpjaGFyKiB0bXBuYW0oY2hhciogcyk7CiNpZiBkZWZpbmVkKF9fU1REQ19PV05FUlNISVBfXykgJiYgZGVmaW5lZChfX09XTkVSU0hJUF9IX18pCmludCBmY2xvc2UoRklMRSogX093bmVyIHN0cmVhbSk7CiNlbHNlCmludCBmY2xvc2UoRklMRSogc3RyZWFtKTsKI2VuZGlmCmludCBmZmx1c2goRklMRSogc3RyZWFtKTsKI2lmIGRlZmluZWQoX19TVERDX09XTkVSU0hJUF9fKSAmJiBkZWZpbmVkKF9fT1dORVJTSElQX0hfXykKRklMRSogX093bmVyIGZvcGVuKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZpbGVuYW1lLCBjb25zdCBjaGFyKiByZXN0cmljdCBtb2RlKTsKRklMRSogX093bmVyIGZyZW9wZW4oY29uc3QgY2hhciogcmVzdHJpY3QgZmlsZW5hbWUsIGNvbnN0IGNoYXIqIHJlc3RyaWN0IG1vZGUsIEZJTEUqIHJlc3RyaWN0IHN0cmVhbSk7CiNlbHNlCkZJTEUqIGZvcGVuKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZpbGVuYW1lLCBjb25zdCBjaGFyKiByZXN0cmljdCBtb2RlKTsKRklMRSogZnJlb3Blbihjb25zdCBjaGFyKiByZXN0cmljdCBmaWxlbmFtZSwgY29uc3QgY2hhciogcmVzdHJpY3QgbW9kZSwgRklMRSogcmVzdHJpY3Qgc3RyZWFtKTsKI2VuZGlmCnZvaWQgc2V0YnVmKEZJTEUqIHJlc3RyaWN0IHN0cmVhbSwgY2hhciogcmVzdHJpY3QgYnVmKTsKaW50IHNldHZidWYoRklMRSogcmVzdHJpY3Qgc3RyZWFtLCBjaGFyKiByZXN0cmljdCBidWYsIGludCBtb2RlLCBzaXplX3Qgc2l6ZSk7CmludCBmcHJpbnRmKEZJTEUqIHJlc3RyaWN0IHN0cmVhbSwgY29uc3QgY2hhciogcmVzdHJpY3QgZm9ybWF0LCAuLi4pOwppbnQgZnNjYW5mKEZJTEUqIHJlc3RyaWN0IHN0cmVhbSwgY29uc3QgY2hhciogcmVzdHJpY3QgZm9ybWF0LCAuLi4pOwppbnQgcHJpbnRmKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKaW50IHNjYW5mKGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKaW50IHNucHJpbnRmKGNoYXIqIHJlc3RyaWN0IHMsIHNpemVfdCBuLCBjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIC4uLik7CmludCBzcHJpbnRmKGNoYXIqIHJlc3RyaWN0IHMsIGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKaW50IHNzY2FuZihjb25zdCBjaGFyKiByZXN0cmljdCBzLCBjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIC4uLik7CmludCB2ZnByaW50ZihGSUxFKiByZXN0cmljdCBzdHJlYW0sIGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgdmFfbGlzdCBhcmcpOwppbnQgdmZzY2FuZihGSUxFKiByZXN0cmljdCBzdHJlYW0sIGNvbnN0IGNoYXIqIHJlc3RyaWN0IGZvcm1hdCwgdmFfbGlzdCBhcmcpOwppbnQgdnByaW50Zihjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIHZhX2xpc3QgYXJnKTsKaW50IHZzY2FuZihjb25zdCBjaGFyKiByZXN0cmljdCBmb3JtYXQsIHZhX2xpc3QgYXJnKTsKaW50IHB1dHMoY29uc3QgY2hhciogc3RyKTsKaW50IGZwdXRzKGNvbnN0IGNoYXIqIHJlc3RyaWN0IHMsIEZJTEUqIHJlc3RyaWN0IHN0cmVhbSk7CmludCBnZXRjKEZJTEUqIHN0cmVhbSk7CmludCBnZXRjaGFyKHZvaWQpOwppbnQgcHV0YyhpbnQgYywgRklMRSogc3RyZWFtKTsKaW50IHB1dGNoYXIoaW50IGMpOwppbnQgcHV0cyhjb25zdCBjaGFyKiBzKTsKaW50IHVuZ2V0YyhpbnQgYywgRklMRSogc3RyZWFtKTsKaW50IGZnZXRjKEZJTEUqIHN0cmVhbSk7CnNpemVfdCBmcmVhZCh2b2lkKiByZXN0cmljdCBwdHIsIHNpemVfdCBzaXplLCBzaXplX3Qgbm1lbWIsIEZJTEUqIHJlc3RyaWN0IHN0cmVhbSk7CnNpemVfdCBmd3JpdGUoY29uc3Qgdm9pZCogcmVzdHJpY3QgcHRyLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG5tZW1iLCBGSUxFKiByZXN0cmljdCBzdHJlYW0pOwppbnQgZmdldHBvcyhGSUxFKiByZXN0cmljdCBzdHJlYW0sIGZwb3NfdCogcmVzdHJpY3QgcG9zKTsKaW50IGZzZWVrKEZJTEUqIHN0cmVhbSwgbG9uZyBpbnQgb2Zmc2V0LCBpbnQgd2hlbmNlKTsKaW50IGZzZXRwb3MoRklMRSogc3RyZWFtLCBjb25zdCBmcG9zX3QqIHBvcyk7CmxvbmcgaW50IGZ0ZWxsKEZJTEUqIHN0cmVhbSk7CnZvaWQgcmV3aW5kKEZJTEUqIHN0cmVhbSk7CnZvaWQgY2xlYXJlcnIoRklMRSogc3RyZWFtKTsKaW50IGZlb2YoRklMRSogc3RyZWFtKTsKaW50IGZlcnJvcihGSUxFKiBzdHJlYW0pOwp2b2lkIHBlcnJvcihjb25zdCBjaGFyKiBzKTsKCgoKI2lmbmRlZiBOVUxMCiNkZWZpbmUgTlVMTCAoKHZvaWQqKTApCiNlbmRpZgoALy8KI3ByYWdtYSBvbmNlCiNkZWZpbmUgQ0hBUl9CSVQgICAgICA4CiNkZWZpbmUgU0NIQVJfTUlOICAgKC0xMjgpCiNkZWZpbmUgU0NIQVJfTUFYICAgICAxMjcKI2RlZmluZSBVQ0hBUl9NQVggICAgIDB4ZmYKCiNpZm5kZWYgX0NIQVJfVU5TSUdORUQKICAgICNkZWZpbmUgQ0hBUl9NSU4gICAgU0NIQVJfTUlOCiAgICAjZGVmaW5lIENIQVJfTUFYICAgIFNDSEFSX01BWAojZWxzZQogICAgI2RlZmluZSBDSEFSX01JTiAgICAwCiAgICAjZGVmaW5lIENIQVJfTUFYICAgIFVDSEFSX01BWAojZW5kaWYKCiNkZWZpbmUgTUJfTEVOX01BWCAgICA1CiNkZWZpbmUgU0hSVF9NSU4gICAgKC0zMjc2OCkKI2RlZmluZSBTSFJUX01BWCAgICAgIDMyNzY3CiNkZWZpbmUgVVNIUlRfTUFYICAgICAweGZmZmYKI2RlZmluZSBJTlRfTUlOICAgICAoLTIxNDc0ODM2NDcgLSAxKQojZGVmaW5lIElOVF9NQVggICAgICAgMjE0NzQ4MzY0NwojZGVmaW5lIFVJTlRfTUFYICAgICAgMHhmZmZmZmZmZgojZGVmaW5lIExPTkdfTUlOICAgICgtMjE0NzQ4MzY0N0wgLSAxKQojZGVmaW5lIExPTkdfTUFYICAgICAgMjE0NzQ4MzY0N0wKI2RlZmluZSBVTE9OR19NQVggICAgIDB4ZmZmZmZmZmZVTAojZGVmaW5lIExMT05HX01BWCAgICAgOTIyMzM3MjAzNjg1NDc3NTgwN2k2NAojZGVmaW5lIExMT05HX01JTiAgICgtOTIyMzM3MjAzNjg1NDc3NTgwN2k2NCAtIDEpCiNkZWZpbmUgVUxMT05HX01BWCAgICAweGZmZmZmZmZmZmZmZmZmZmZ1aTY0CgojZGVmaW5lIF9JOF9NSU4gICAgICgtMTI3aTggLSAxKQojZGVmaW5lIF9JOF9NQVggICAgICAgMTI3aTgKI2RlZmluZSBfVUk4X01BWCAgICAgIDB4ZmZ1aTgKCiNkZWZpbmUgX0kxNl9NSU4gICAgKC0zMjc2N2kxNiAtIDEpCiNkZWZpbmUgX0kxNl9NQVggICAgICAzMjc2N2kxNgojZGVmaW5lIF9VSTE2X01BWCAgICAgMHhmZmZmdWkxNgoKI2RlZmluZSBfSTMyX01JTiAgICAoLTIxNDc0ODM2NDdpMzIgLSAxKQojZGVmaW5lIF9JMzJfTUFYICAgICAgMjE0NzQ4MzY0N2kzMgojZGVmaW5lIF9VSTMyX01BWCAgICAgMHhmZmZmZmZmZnVpMzIKCiNkZWZpbmUgX0k2NF9NSU4gICAgKC05MjIzMzcyMDM2ODU0Nzc1ODA3aTY0IC0gMSkKI2RlZmluZSBfSTY0X01BWCAgICAgIDkyMjMzNzIwMzY4NTQ3NzU4MDdpNjQKI2RlZmluZSBfVUk2NF9NQVggICAgIDB4ZmZmZmZmZmZmZmZmZmZmZnVpNjQKICAgICAgICAjZGVmaW5lIFNJWkVfTUFYIDB4ZmZmZmZmZmYKACAgICAgICAgICAgICAgICAgICJlbmRDb2x1bW4iOiAlZAoAG1s5N21jYWtlICVzIG1haW4uYwoAIFslc10KACAgICAgICAgIF0KACAgICAgICJsb2NhdGlvbnMiOiBbCgAgICAgICAgICAibG9naWNhbExvY2F0aW9ucyI6IFsKACNwcmFnbWEgb25jZQoKZG91YmxlIGFjb3MoZG91YmxlIF9feCk7CmRvdWJsZSBhc2luKGRvdWJsZSBfX3gpOwpkb3VibGUgYXRhbihkb3VibGUgX194KTsKZG91YmxlIGF0YW4yKGRvdWJsZSBfX3ksIGRvdWJsZSBfX3gpOwpkb3VibGUgY29zKGRvdWJsZSBfX3gpOwpkb3VibGUgc2luKGRvdWJsZSBfX3gpOwpkb3VibGUgdGFuKGRvdWJsZSBfX3gpOwpkb3VibGUgY29zaChkb3VibGUgX194KTsKZG91YmxlIHNpbmgoZG91YmxlIF9feCk7CmRvdWJsZSB0YW5oKGRvdWJsZSBfX3gpOwpkb3VibGUgYWNvc2goZG91YmxlIF9feCk7CmRvdWJsZSBhc2luaChkb3VibGUgX194KTsKZG91YmxlIGF0YW5oKGRvdWJsZSBfX3gpOwpkb3VibGUgZXhwKGRvdWJsZSBfX3gpOwpkb3VibGUgZnJleHAoZG91YmxlIF9feCwgaW50KiBfX2V4cG9uZW50KTsKZG91YmxlIGxkZXhwKGRvdWJsZSBfX3gsIGludCBfX2V4cG9uZW50KTsKZG91YmxlIGxvZyhkb3VibGUgX194KTsKZG91YmxlIGxvZzEwKGRvdWJsZSBfX3gpOwpkb3VibGUgbW9kZihkb3VibGUgX194LCBkb3VibGUqIF9faXB0cik7CmRvdWJsZSBleHBtMShkb3VibGUgX194KTsKZG91YmxlIGxvZzFwKGRvdWJsZSBfX3gpOwpkb3VibGUgbG9nYihkb3VibGUgX194KTsKZG91YmxlIGV4cDIoZG91YmxlIF9feCk7CmRvdWJsZSBsb2cyKGRvdWJsZSBfX3gpOwpkb3VibGUgcG93KGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgc3FydChkb3VibGUgX194KTsKZG91YmxlIGh5cG90KGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgY2JydChkb3VibGUgX194KTsKZG91YmxlIGNlaWwoZG91YmxlIF9feCk7CmRvdWJsZSBmYWJzKGRvdWJsZSBfX3gpOwpkb3VibGUgZmxvb3IoZG91YmxlIF9feCk7CmRvdWJsZSBmbW9kKGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwppbnQgaXNpbmYoZG91YmxlIF9fdmFsdWUpOwppbnQgZmluaXRlKGRvdWJsZSBfX3ZhbHVlKTsKZG91YmxlIGRyZW0oZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBzaWduaWZpY2FuZChkb3VibGUgX194KTsKZG91YmxlIGNvcHlzaWduKGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgbmFuKGNvbnN0IGNoYXIqIF9fdGFnYik7CmludCBpc25hbihkb3VibGUgX192YWx1ZSk7CmRvdWJsZSBqMChkb3VibGUpOwpkb3VibGUgajEoZG91YmxlKTsKZG91YmxlIGpuKGludCwgZG91YmxlKTsKZG91YmxlIHkwKGRvdWJsZSk7CmRvdWJsZSB5MShkb3VibGUpOwpkb3VibGUgeW4oaW50LCBkb3VibGUpOwpkb3VibGUgZXJmKGRvdWJsZSk7CmRvdWJsZSBlcmZjKGRvdWJsZSk7CmRvdWJsZSBsZ2FtbWEoZG91YmxlKTsKZG91YmxlIHRnYW1tYShkb3VibGUpOwpkb3VibGUgZ2FtbWEoZG91YmxlKTsKZG91YmxlIGxnYW1tYV9yKGRvdWJsZSwgaW50KiBfX3NpZ25nYW1wKTsKZG91YmxlIHJpbnQoZG91YmxlIF9feCk7CmRvdWJsZSBuZXh0YWZ0ZXIoZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBuZXh0dG93YXJkKGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7CmRvdWJsZSByZW1haW5kZXIoZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBzY2FsYm4oZG91YmxlIF9feCwgaW50IF9fbik7CmludCBpbG9nYihkb3VibGUgX194KTsKZG91YmxlIHNjYWxibG4oZG91YmxlIF9feCwgbG9uZyBpbnQgX19uKTsKZG91YmxlIG5lYXJieWludChkb3VibGUgX194KTsKZG91YmxlIHJvdW5kKGRvdWJsZSBfX3gpOwpkb3VibGUgdHJ1bmMoZG91YmxlIF9feCk7CmRvdWJsZSByZW1xdW8oZG91YmxlIF9feCwgZG91YmxlIF9feSwgaW50KiBfX3F1byk7CmxvbmcgaW50IGxyaW50KGRvdWJsZSBfX3gpOwpsb25nIGxvbmcgaW50IGxscm91bmQoZG91YmxlIF9feCk7CmRvdWJsZSBmZGltKGRvdWJsZSBfX3gsIGRvdWJsZSBfX3kpOwpkb3VibGUgZm1heChkb3VibGUgX194LCBkb3VibGUgX195KTsKZG91YmxlIGZtaW4oZG91YmxlIF9feCwgZG91YmxlIF9feSk7CmRvdWJsZSBmbWEoZG91YmxlIF9feCwgZG91YmxlIF9feSwgZG91YmxlIF9feik7CmRvdWJsZSBzY2FsYihkb3VibGUgX194LCBkb3VibGUgX19uKTsKZmxvYXQgYWNvc2YoZmxvYXQgX194KTsKZmxvYXQgYXNpbmYoZmxvYXQgX194KTsKZmxvYXQgYXRhbmYoZmxvYXQgX194KTsKZmxvYXQgYXRhbjJmKGZsb2F0IF9feSwgZmxvYXQgX194KTsKZmxvYXQgY29zZihmbG9hdCBfX3gpOwpmbG9hdCBzaW5mKGZsb2F0IF9feCk7CmZsb2F0IHRhbmYoZmxvYXQgX194KTsKZmxvYXQgY29zaGYoZmxvYXQgX194KTsKZmxvYXQgc2luaGYoZmxvYXQgX194KTsKZmxvYXQgdGFuaGYoZmxvYXQgX194KTsKZmxvYXQgYWNvc2hmKGZsb2F0IF9feCk7CmZsb2F0IGFzaW5oZihmbG9hdCBfX3gpOwpmbG9hdCBhdGFuaGYoZmxvYXQgX194KTsKZmxvYXQgZXhwZihmbG9hdCBfX3gpOwpmbG9hdCBmcmV4cGYoZmxvYXQgX194LCBpbnQqIF9fZXhwb25lbnQpOwpmbG9hdCBsZGV4cGYoZmxvYXQgX194LCBpbnQgX19leHBvbmVudCk7CmZsb2F0IGxvZ2YoZmxvYXQgX194KTsKZmxvYXQgbG9nMTBmKGZsb2F0IF9feCk7IGZsb2F0IF9fbG9nMTBmKGZsb2F0IF9feCk7CmZsb2F0IG1vZGZmKGZsb2F0IF9feCwgZmxvYXQqIF9faXB0cik7CmZsb2F0IGV4cG0xZihmbG9hdCBfX3gpOwpmbG9hdCBsb2cxcGYoZmxvYXQgX194KTsKZmxvYXQgbG9nYmYoZmxvYXQgX194KTsKZmxvYXQgZXhwMmYoZmxvYXQgX194KTsKZmxvYXQgbG9nMmYoZmxvYXQgX194KTsKZmxvYXQgcG93ZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7CmZsb2F0IHNxcnRmKGZsb2F0IF9feCk7CmZsb2F0IGh5cG90ZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7CmZsb2F0IGNicnRmKGZsb2F0IF9feCk7CmZsb2F0IGNlaWxmKGZsb2F0IF9feCk7CmZsb2F0IGZhYnNmKGZsb2F0IF9feCk7CmZsb2F0IGZsb29yZihmbG9hdCBfX3gpOwpmbG9hdCBmbW9kZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7IAppbnQgaXNpbmZmKGZsb2F0IF9fdmFsdWUpOwppbnQgZmluaXRlZihmbG9hdCBfX3ZhbHVlKTsKZmxvYXQgZHJlbWYoZmxvYXQgX194LCBmbG9hdCBfX3kpOwpmbG9hdCBzaWduaWZpY2FuZGYoZmxvYXQgX194KTsgCmZsb2F0IGNvcHlzaWduZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7IApmbG9hdCBuYW5mKGNvbnN0IGNoYXIqIF9fdGFnYik7IAppbnQgaXNuYW5mKGZsb2F0IF9fdmFsdWUpOwpmbG9hdCBqMGYoZmxvYXQpOyAKZmxvYXQgajFmKGZsb2F0KTsgCmZsb2F0IGpuZihpbnQsIGZsb2F0KTsgCmZsb2F0IHkwZihmbG9hdCk7IApmbG9hdCB5MWYoZmxvYXQpOyAKZmxvYXQgeW5mKGludCwgZmxvYXQpOyAKZmxvYXQgZXJmZihmbG9hdCk7IApmbG9hdCBlcmZjZihmbG9hdCk7CmZsb2F0IGxnYW1tYWYoZmxvYXQpOwpmbG9hdCB0Z2FtbWFmKGZsb2F0KTsKZmxvYXQgZ2FtbWFmKGZsb2F0KTsgCmZsb2F0IGxnYW1tYWZfcihmbG9hdCwgaW50KiBfX3NpZ25nYW1wKTsgCmZsb2F0IHJpbnRmKGZsb2F0IF9feCk7IApmbG9hdCBuZXh0YWZ0ZXJmKGZsb2F0IF9feCwgZmxvYXQgX195KTsgCmZsb2F0IG5leHR0b3dhcmRmKGZsb2F0IF9feCwgbG9uZyBkb3VibGUgX195KTsgCmZsb2F0IHJlbWFpbmRlcmYoZmxvYXQgX194LCBmbG9hdCBfX3kpOyAKZmxvYXQgc2NhbGJuZihmbG9hdCBfX3gsIGludCBfX24pOyAKaW50IGlsb2diZihmbG9hdCBfX3gpOyAKZmxvYXQgc2NhbGJsbmYoZmxvYXQgX194LCBsb25nIGludCBfX24pOyAKZmxvYXQgbmVhcmJ5aW50ZihmbG9hdCBfX3gpOyAKZmxvYXQgcm91bmRmKGZsb2F0IF9feCk7IApmbG9hdCB0cnVuY2YoZmxvYXQgX194KTsgCmZsb2F0IHJlbXF1b2YoZmxvYXQgX194LCBmbG9hdCBfX3ksIGludCogX19xdW8pOyAKbG9uZyBpbnQgbHJpbnRmKGZsb2F0IF9feCk7IApsb25nIGxvbmcgaW50IGxscm91bmRmKGZsb2F0IF9feCk7IApmbG9hdCBmZGltZihmbG9hdCBfX3gsIGZsb2F0IF9feSk7CmZsb2F0IGZtYXhmKGZsb2F0IF9feCwgZmxvYXQgX195KTsgCmZsb2F0IGZtaW5mKGZsb2F0IF9feCwgZmxvYXQgX195KTsKZmxvYXQgZm1hZihmbG9hdCBfX3gsIGZsb2F0IF9feSwgZmxvYXQgX196KTsgCmZsb2F0IHNjYWxiZihmbG9hdCBfX3gsIGZsb2F0IF9fbik7IApsb25nIGRvdWJsZSBhY29zbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgYXNpbmwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGF0YW5sKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBhdGFuMmwobG9uZyBkb3VibGUgX195LCBsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgY29zbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgc2lubChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgdGFubChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgY29zaGwobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgc2luaGwobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgdGFuaGwobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgYWNvc2hsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBhc2luaGwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGF0YW5obChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZXhwbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZnJleHBsKGxvbmcgZG91YmxlIF9feCwgaW50KiBfX2V4cG9uZW50KTsgCmxvbmcgZG91YmxlIGxkZXhwbChsb25nIGRvdWJsZSBfX3gsIGludCBfX2V4cG9uZW50KTsgCmxvbmcgZG91YmxlIGxvZ2wobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGxvZzEwbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgbW9kZmwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSogX19pcHRyKTsgCmxvbmcgZG91YmxlIGV4cG0xbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgbG9nMXBsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBsb2dibChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZXhwMmwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGxvZzJsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBwb3dsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsgCmxvbmcgZG91YmxlIHNxcnRsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBoeXBvdGwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSBfX3kpOyAKbG9uZyBkb3VibGUgY2JydGwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGNlaWxsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBmYWJzbChsb25nIGRvdWJsZSBfX3gpOyAKbG9uZyBkb3VibGUgZmxvb3JsKGxvbmcgZG91YmxlIF9feCk7CmxvbmcgZG91YmxlIGZtb2RsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsgCmludCBpc2luZmwobG9uZyBkb3VibGUgX192YWx1ZSk7CmludCBmaW5pdGVsKGxvbmcgZG91YmxlIF9fdmFsdWUpOwpsb25nIGRvdWJsZSBkcmVtbChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7IApsb25nIGRvdWJsZSBzaWduaWZpY2FuZGwobG9uZyBkb3VibGUgX194KTsgCmxvbmcgZG91YmxlIGNvcHlzaWdubChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7IApsb25nIGRvdWJsZSBuYW5sKGNvbnN0IGNoYXIqIF9fdGFnYik7IAppbnQgaXNuYW5sKGxvbmcgZG91YmxlIF9fdmFsdWUpOwpsb25nIGRvdWJsZSBqMGwobG9uZyBkb3VibGUpOyAKbG9uZyBkb3VibGUgajFsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIGpubChpbnQsIGxvbmcgZG91YmxlKTsKbG9uZyBkb3VibGUgeTBsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIHkxbChsb25nIGRvdWJsZSk7IApsb25nIGRvdWJsZSB5bmwoaW50LCBsb25nIGRvdWJsZSk7CmxvbmcgZG91YmxlIGVyZmwobG9uZyBkb3VibGUpOyAKbG9uZyBkb3VibGUgZXJmY2wobG9uZyBkb3VibGUpOwpsb25nIGRvdWJsZSBsZ2FtbWFsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIHRnYW1tYWwobG9uZyBkb3VibGUpOyAKbG9uZyBkb3VibGUgZ2FtbWFsKGxvbmcgZG91YmxlKTsgCmxvbmcgZG91YmxlIGxnYW1tYWxfcihsb25nIGRvdWJsZSwgaW50KiBfX3NpZ25nYW1wKTsgCmxvbmcgZG91YmxlIHJpbnRsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBuZXh0YWZ0ZXJsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsgCmxvbmcgZG91YmxlIG5leHR0b3dhcmRsKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsKbG9uZyBkb3VibGUgcmVtYWluZGVybChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7IApsb25nIGRvdWJsZSBzY2FsYm5sKGxvbmcgZG91YmxlIF9feCwgaW50IF9fbik7IAppbnQgaWxvZ2JsKGxvbmcgZG91YmxlIF9feCk7IApsb25nIGRvdWJsZSBzY2FsYmxubChsb25nIGRvdWJsZSBfX3gsIGxvbmcgaW50IF9fbik7IApsb25nIGRvdWJsZSBuZWFyYnlpbnRsKGxvbmcgZG91YmxlIF9feCk7CmxvbmcgZG91YmxlIHJvdW5kbChsb25nIGRvdWJsZSBfX3gpOwpsb25nIGRvdWJsZSB0cnVuY2wobG9uZyBkb3VibGUgX194KTsKbG9uZyBkb3VibGUgcmVtcXVvbChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSwgaW50KiBfX3F1byk7CmxvbmcgaW50IGxyaW50bChsb25nIGRvdWJsZSBfX3gpOwpsb25nIGxvbmcgaW50IGxscm91bmRsKGxvbmcgZG91YmxlIF9feCk7CmxvbmcgZG91YmxlIGZkaW1sKGxvbmcgZG91YmxlIF9feCwgbG9uZyBkb3VibGUgX195KTsKbG9uZyBkb3VibGUgZm1heGwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSBfX3kpOwpsb25nIGRvdWJsZSBmbWlubChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9feSk7CmxvbmcgZG91YmxlIGZtYWwobG9uZyBkb3VibGUgX194LCBsb25nIGRvdWJsZSBfX3ksIGxvbmcgZG91YmxlIF9feik7CmxvbmcgZG91YmxlIHNjYWxibChsb25nIGRvdWJsZSBfX3gsIGxvbmcgZG91YmxlIF9fbik7CgAtLS0gYmVnaW4gb2Ygc2NvcGUtLS0KAC0tLSBlbmQgb2Ygc2NvcGUtLS0KACAgICAgICAgICAgICAgfSwKACAgICAgICAgICAgICAgICAgICJzdGFydENvbHVtbiI6ICVkLAoAICAgICAgICAgICAgICAgICAgInN0YXJ0TGluZSI6ICVkLAoAICAgICAgICAgICAgICAgICAgImVuZExpbmUiOiAlZCwKACAgICAgInJ1bGVJZCI6IiVzIiwKACAgICAgICAgICAgICAgImRlY29yYXRlZE5hbWUiOiAiJXMiLAoAICAgICAgICAgICAgICAiZnVsbHlRdWFsaWZpZWROYW1lIjogIiVzIiwKACAgICAgImxldmVsIjoid2FybmluZyIsCgAgICAgICAgICAgICAgICAgICJ1cmkiOiAiZmlsZTovLy8lcyIKACAgICAgICAgICAgICJ0ZXh0IjogIiVzIgoAICAgICAgICAgICAgICAia2luZCI6ICIlcyIKACNkZWZpbmUgX19USU1FX18gIiUwMmQ6JTAyZDolMDJkIgoAI2RlZmluZSBfX0RBVEVfXyAiJXMgJTJkICVkIgoAZXhwZWN0ZWQgRU9GIAoACiNpZmRlZiBOREVCVUcKI2RlZmluZSBhc3NlcnQoLi4uKSAoKHZvaWQpMCkjZWxzZSNkZWZpbmUgYXNzZXJ0KC4uLikgYXNzZXJ0KF9fVkFfQVJHU19fKQojZW5kaWYKCgAjaWZuZGVmIF9fT1dORVJTSElQX0hfXwojZGVmaW5lIF9fT1dORVJTSElQX0hfXwoKI2lmZGVmIF9fU1REQ19PV05FUlNISVBfXwojZGVmaW5lIG91dCBfT3V0CiNkZWZpbmUgb3B0IF9PcHQKI2RlZmluZSBvd25lciBfT3duZXIKI2RlZmluZSBvYmpfb3duZXIgIF9PYmpfb3duZXIKI2RlZmluZSB2aWV3IF9WaWV3CgojZWxzZQojZGVmaW5lIG91dCAKI2RlZmluZSBvcHQgCiNkZWZpbmUgb3duZXIKI2RlZmluZSBvYmpfb3duZXIKI2RlZmluZSB2aWV3CiNkZWZpbmUgc3RhdGljX2RlYnVnKHgpCiNkZWZpbmUgc3RhdGljX3NldCh4LCBzKQojZW5kaWYKCiNlbmRpZgoKAAojZGVmaW5lIHVucmVhY2hhYmxlKCkgZG8ge30gd2hpbGUoMCkgCnR5cGVkZWYgbG9uZyBpbnQgcHRyZGlmZl90Owp0eXBlZGVmIGxvbmcgdW5zaWduZWQgaW50IHNpemVfdDsKdHlwZWRlZiBpbnQgd2NoYXJfdDsKdHlwZWRlZiBzdHJ1Y3QgewogIGxvbmcgbG9uZyBfX21heF9hbGlnbl9sbDsKICBsb25nIGRvdWJsZSBfX21heF9hbGlnbl9sZDsKfSBtYXhfYWxpZ25fdDsKCnR5cGVkZWYgdHlwZW9mKG51bGxwdHIpIG51bGxwdHJfdDsKCgAjZGVmaW5lIF9fQ0FLRV9fIDIwMjMxMUwKI2RlZmluZSBfX1NURENfVkVSU0lPTl9fIDIwMjMxMUwKI2RlZmluZSBfX0ZJTEVfXyAiX19GSUxFX18iCiNkZWZpbmUgX19MSU5FX18gMAojZGVmaW5lIF9fQ09VTlRFUl9fIDAKI2RlZmluZSBfQ09OU09MRQojZGVmaW5lIF9fU1REQ19PV05FUlNISVBfXyAxCiNkZWZpbmUgX1dfRElWSVpJT05fQllfWkVST18gMjkKCgAjcHJhZ21hIG9uY2UKCmludCogX2Vycm5vKHZvaWQpOwojZGVmaW5lIGVycm5vICgqX2Vycm5vKCkpCgoKI2RlZmluZSBFUEVSTSAgICAgICAgICAgMQojZGVmaW5lIEVOT0VOVCAgICAgICAgICAyCiNkZWZpbmUgRVNSQ0ggICAgICAgICAgIDMKI2RlZmluZSBFSU5UUiAgICAgICAgICAgNAojZGVmaW5lIEVJTyAgICAgICAgICAgICA1CiNkZWZpbmUgRU5YSU8gICAgICAgICAgIDYKI2RlZmluZSBFMkJJRyAgICAgICAgICAgNwojZGVmaW5lIEVOT0VYRUMgICAgICAgICA4CiNkZWZpbmUgRUJBREYgICAgICAgICAgIDkKI2RlZmluZSBFQ0hJTEQgICAgICAgICAgMTAKI2RlZmluZSBFQUdBSU4gICAgICAgICAgMTEKI2RlZmluZSBFTk9NRU0gICAgICAgICAgMTIKI2RlZmluZSBFQUNDRVMgICAgICAgICAgMTMKI2RlZmluZSBFRkFVTFQgICAgICAgICAgMTQKI2RlZmluZSBFQlVTWSAgICAgICAgICAgMTYKI2RlZmluZSBFRVhJU1QgICAgICAgICAgMTcKI2RlZmluZSBFWERFViAgICAgICAgICAgMTgKI2RlZmluZSBFTk9ERVYgICAgICAgICAgMTkKI2RlZmluZSBFTk9URElSICAgICAgICAgMjAKI2RlZmluZSBFSVNESVIgICAgICAgICAgMjEKI2RlZmluZSBFTkZJTEUgICAgICAgICAgMjMKI2RlZmluZSBFTUZJTEUgICAgICAgICAgMjQKI2RlZmluZSBFTk9UVFkgICAgICAgICAgMjUKI2RlZmluZSBFRkJJRyAgICAgICAgICAgMjcKI2RlZmluZSBFTk9TUEMgICAgICAgICAgMjgKI2RlZmluZSBFU1BJUEUgICAgICAgICAgMjkKI2RlZmluZSBFUk9GUyAgICAgICAgICAgMzAKI2RlZmluZSBFTUxJTksgICAgICAgICAgMzEKI2RlZmluZSBFUElQRSAgICAgICAgICAgMzIKI2RlZmluZSBFRE9NICAgICAgICAgICAgMzMKI2RlZmluZSBFREVBRExLICAgICAgICAgMzYKI2RlZmluZSBFTkFNRVRPT0xPTkcgICAgMzgKI2RlZmluZSBFTk9MQ0sgICAgICAgICAgMzkKI2RlZmluZSBFTk9TWVMgICAgICAgICAgNDAKI2RlZmluZSBFTk9URU1QVFkgICAgICAgNDEKCgovLyBTdXBwb3J0IEVERUFETE9DSyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIE1pY3Jvc29mdCBDIHZlcnNpb25zCiNkZWZpbmUgRURFQURMT0NLICAgICAgIEVERUFETEsKCiNkZWZpbmUgRUFERFJJTlVTRSAgICAgIDEwMAojZGVmaW5lIEVBRERSTk9UQVZBSUwgICAxMDEKI2RlZmluZSBFQUZOT1NVUFBPUlQgICAgMTAyCiNkZWZpbmUgRUFMUkVBRFkgICAgICAgIDEwMwojZGVmaW5lIEVCQURNU0cgICAgICAgICAxMDQKI2RlZmluZSBFQ0FOQ0VMRUQgICAgICAgMTA1CiNkZWZpbmUgRUNPTk5BQk9SVEVEICAgIDEwNgojZGVmaW5lIEVDT05OUkVGVVNFRCAgICAxMDcKI2RlZmluZSBFQ09OTlJFU0VUICAgICAgMTA4CiNkZWZpbmUgRURFU1RBRERSUkVRICAgIDEwOQojZGVmaW5lIEVIT1NUVU5SRUFDSCAgICAxMTAKI2RlZmluZSBFSURSTSAgICAgICAgICAgMTExCiNkZWZpbmUgRUlOUFJPR1JFU1MgICAgIDExMgojZGVmaW5lIEVJU0NPTk4gICAgICAgICAxMTMKI2RlZmluZSBFTE9PUCAgICAgICAgICAgMTE0CiNkZWZpbmUgRU1TR1NJWkUgICAgICAgIDExNQojZGVmaW5lIEVORVRET1dOICAgICAgICAxMTYKI2RlZmluZSBFTkVUUkVTRVQgICAgICAgMTE3CiNkZWZpbmUgRU5FVFVOUkVBQ0ggICAgIDExOAojZGVmaW5lIEVOT0JVRlMgICAgICAgICAxMTkKI2RlZmluZSBFTk9EQVRBICAgICAgICAgMTIwCiNkZWZpbmUgRU5PTElOSyAgICAgICAgIDEyMQojZGVmaW5lIEVOT01TRyAgICAgICAgICAxMjIKI2RlZmluZSBFTk9QUk9UT09QVCAgICAgMTIzCiNkZWZpbmUgRU5PU1IgICAgICAgICAgIDEyNAojZGVmaW5lIEVOT1NUUiAgICAgICAgICAxMjUKI2RlZmluZSBFTk9UQ09OTiAgICAgICAgMTI2CiNkZWZpbmUgRU5PVFJFQ09WRVJBQkxFIDEyNwojZGVmaW5lIEVOT1RTT0NLICAgICAgICAxMjgKI2RlZmluZSBFTk9UU1VQICAgICAgICAgMTI5CiNkZWZpbmUgRU9QTk9UU1VQUCAgICAgIDEzMAojZGVmaW5lIEVPVEhFUiAgICAgICAgICAxMzEKI2RlZmluZSBFT1ZFUkZMT1cgICAgICAgMTMyCiNkZWZpbmUgRU9XTkVSREVBRCAgICAgIDEzMwojZGVmaW5lIEVQUk9UTyAgICAgICAgICAxMzQKI2RlZmluZSBFUFJPVE9OT1NVUFBPUlQgMTM1CiNkZWZpbmUgRVBST1RPVFlQRSAgICAgIDEzNgojZGVmaW5lIEVUSU1FICAgICAgICAgICAxMzcKI2RlZmluZSBFVElNRURPVVQgICAgICAgMTM4CiNkZWZpbmUgRVRYVEJTWSAgICAgICAgIDEzOQojZGVmaW5lIEVXT1VMREJMT0NLICAgICAxNDAKCgAAYpgBAAAAAAAAAAAA0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAAZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAZAAoNGRkZAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUY="); base64DecodeToExistingUint8Array(bufferView, 105120, "SmFuAEZlYgBNYXIAQXByAE1heQBKdW4ASnVsAEF1ZwBTZXAAT2N0AE5vdgBEZWMAiowBAKhpAQCCXgEAvjkBAM2NAQD7bgEAlo8BAGJAAQAojAEAAAAAAAAAAAAAAAAAvff//////38AAAAAAAAAAAEAAADwHwEAAgAAAOAiAQADAAAA/BYBAAQAAAAVGAEABQAAABgIAQAGAAAARg4BAAcAAAB4DAEACAAAADUOAQAJAAAAGgoBAAoAAABHGwEACwAAAKkfAQAMAAAAkgQBAA0AAABYGgEADwAAAIUIAQARAAAA+CEBABIAAAC5EQEAIQAAAIISAQAOAAAAPRoBABAAAADPHQEAFQAAAL8QAQAWAAAATA8BABcAAABWDwEAGAAAAB8bAQAZAAAABxsBABoAAACMDwEAHAAAAK4LAQAbAAAAHxsBAB4AAAC7BgEAHQAAAJ0hAQAfAAAApCABACAAAADxGQEAEwAAALEaAQAiAAAA8gABACMAAABAFwEAJAAAAA8SAQAUAAAAShMBACUAAADwCgEAJgAAACUEAQAnAAAAxgUBAAUAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAEAAAA+J0BAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAD/////CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEicAQAQpAEA"); base64DecodeToExistingUint8Array(bufferView, 105696, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="); } @@ -875,7 +875,7 @@ function asmFunc(imports) { if ((HEAP32[($5_1 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } - fimport$0(87076 | 0, 75115 | 0, 8910 | 0, 72297 | 0); + fimport$0(87076 | 0, 75115 | 0, 8913 | 0, 72297 | 0); wasm2js_trap(); } HEAP32[($5_1 + 12 | 0) >> 2] = 0; @@ -926,6 +926,7 @@ function asmFunc(imports) { $15_1 = 0; $16($5_1 | 0, $5_1 + 8 | 0 | 0, HEAP32[($5_1 + 500 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0, 1 | 0); $17(HEAP32[($5_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 504 | 0) >> 2] | 0 | 0, $5_1 | 0); + $10($5_1 | 0); global$0 = $5_1 + 512 | 0; return; } @@ -1399,7 +1400,7 @@ function asmFunc(imports) { if ((HEAP32[$0_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$39 } - fimport$0(78976 | 0, 75115 | 0, 4154 | 0, 68914 | 0); + fimport$0(78976 | 0, 75115 | 0, 4156 | 0, 68914 | 0); wasm2js_trap(); } } @@ -1433,7 +1434,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(77342 | 0, 75115 | 0, 1266 | 0, 69120 | 0); + fimport$0(77342 | 0, 75115 | 0, 1268 | 0, 69120 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 12 | 0) >> 2] | 0) >> 2] | 0; @@ -1461,7 +1462,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$9 } - fimport$0(77342 | 0, 75115 | 0, 1283 | 0, 69120 | 0); + fimport$0(77342 | 0, 75115 | 0, 1285 | 0, 69120 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($5_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[$5_1 >> 2] | 0; @@ -1509,14 +1510,14 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$1 } - fimport$0(77214 | 0, 75115 | 0, 1304 | 0, 74730 | 0); + fimport$0(77214 | 0, 75115 | 0, 1306 | 0, 74730 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77195 | 0, 75115 | 0, 1305 | 0, 74730 | 0); + fimport$0(77195 | 0, 75115 | 0, 1307 | 0, 74730 | 0); wasm2js_trap(); } label$3 : { @@ -1538,7 +1539,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(77349 | 0, 75115 | 0, 1322 | 0, 74730 | 0); + fimport$0(77349 | 0, 75115 | 0, 1324 | 0, 74730 | 0); wasm2js_trap(); } $67_1 = HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; @@ -1645,7 +1646,7 @@ function asmFunc(imports) { $20(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); break label$3; } - fimport$0(73201 | 0, 75115 | 0, 3616 | 0, 70046 | 0); + fimport$0(73201 | 0, 75115 | 0, 3618 | 0, 70046 | 0); wasm2js_trap(); } } @@ -1674,7 +1675,7 @@ function asmFunc(imports) { $20(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); break label$11; } - fimport$0(73201 | 0, 75115 | 0, 3635 | 0, 70046 | 0); + fimport$0(73201 | 0, 75115 | 0, 3637 | 0, 70046 | 0); wasm2js_trap(); } } @@ -2579,6 +2580,7 @@ function asmFunc(imports) { $15_1 = 0; $16($5_1 | 0, $5_1 + 8 | 0 | 0, HEAP32[($5_1 + 500 | 0) >> 2] | 0 | 0, $15_1 | 0, $15_1 | 0, 1 | 0); $35(HEAP32[($5_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 504 | 0) >> 2] | 0 | 0, $5_1 | 0); + $10($5_1 | 0); global$0 = $5_1 + 512 | 0; return; } @@ -2822,7 +2824,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(77399 | 0, 75115 | 0, 1483 | 0, 72217 | 0); + fimport$0(77399 | 0, 75115 | 0, 1485 | 0, 72217 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0; @@ -2863,7 +2865,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(77374 | 0, 75115 | 0, 1505 | 0, 66399 | 0); + fimport$0(77374 | 0, 75115 | 0, 1507 | 0, 66399 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0; @@ -2940,7 +2942,7 @@ function asmFunc(imports) { break label$1 } } - fimport$0(88034 | 0, 75115 | 0, 1568 | 0, 65675 | 0); + fimport$0(88034 | 0, 75115 | 0, 1570 | 0, 65675 | 0); wasm2js_trap(); } $47_1 = (HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0; @@ -4338,7 +4340,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78521 | 0, 75115 | 0, 1932 | 0, 65748 | 0); + fimport$0(78521 | 0, 75115 | 0, 1934 | 0, 65748 | 0); wasm2js_trap(); } global$0 = $3_1 + 16 | 0; @@ -4526,7 +4528,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78521 | 0, 75115 | 0, 2075 | 0, 65742 | 0); + fimport$0(78521 | 0, 75115 | 0, 2077 | 0, 65742 | 0); wasm2js_trap(); } global$0 = $4_1 + 16 | 0; @@ -5092,7 +5094,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$3 } - fimport$0(77349 | 0, 75115 | 0, 2681 | 0, 74768 | 0); + fimport$0(77349 | 0, 75115 | 0, 2683 | 0, 74768 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 4 | 0) >> 2] | 0; @@ -5462,7 +5464,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 2863 | 0, 72750 | 0); + fimport$0(77296 | 0, 75115 | 0, 2865 | 0, 72750 | 0); wasm2js_trap(); } $10((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0 | 0); @@ -5569,7 +5571,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$1 } - fimport$0(77214 | 0, 75115 | 0, 2942 | 0, 74691 | 0); + fimport$0(77214 | 0, 75115 | 0, 2944 | 0, 74691 | 0); wasm2js_trap(); } label$2 : { @@ -5582,7 +5584,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$4 } - fimport$0(78356 | 0, 75115 | 0, 2946 | 0, 74691 | 0); + fimport$0(78356 | 0, 75115 | 0, 2948 | 0, 74691 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; @@ -5592,7 +5594,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(77349 | 0, 75115 | 0, 2951 | 0, 74691 | 0); + fimport$0(77349 | 0, 75115 | 0, 2953 | 0, 74691 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; @@ -5899,7 +5901,7 @@ function asmFunc(imports) { if ((HEAP32[$0_1 >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$10 } - fimport$0(78976 | 0, 75115 | 0, 3774 | 0, 68908 | 0); + fimport$0(78976 | 0, 75115 | 0, 3776 | 0, 68908 | 0); wasm2js_trap(); } global$0 = $7_1 + 144 | 0; @@ -5994,7 +5996,7 @@ function asmFunc(imports) { if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78921 | 0, 75115 | 0, 4304 | 0, 69739 | 0); + fimport$0(78921 | 0, 75115 | 0, 4306 | 0, 69739 | 0); wasm2js_trap(); } HEAP32[$4_1 >> 2] = $81(HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) | 0; @@ -6498,7 +6500,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[($7_1 + 892 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$37 } - fimport$0(78501 | 0, 75115 | 0, 5359 | 0, 73592 | 0); + fimport$0(78501 | 0, 75115 | 0, 5362 | 0, 73592 | 0); wasm2js_trap(); } $485_1 = $802(HEAP32[((HEAP32[(HEAP32[($7_1 + 2488 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; @@ -6551,7 +6553,7 @@ function asmFunc(imports) { if ((HEAP32[($7_1 + 868 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$45 } - fimport$0(78711 | 0, 75115 | 0, 5405 | 0, 73592 | 0); + fimport$0(78711 | 0, 75115 | 0, 5408 | 0, 73592 | 0); wasm2js_trap(); } label$46 : { @@ -6637,7 +6639,7 @@ function asmFunc(imports) { if (($74(HEAP32[($7_1 + 2492 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($7_1 + 2488 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0) { break label$54 } - fimport$0(78643 | 0, 75115 | 0, 5468 | 0, 73592 | 0); + fimport$0(78643 | 0, 75115 | 0, 5471 | 0, 73592 | 0); wasm2js_trap(); } label$55 : { @@ -7727,7 +7729,7 @@ function asmFunc(imports) { if (!(($43(HEAP32[($5_1 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$1 } - fimport$0(87635 | 0, 75115 | 0, 4531 | 0, 67697 | 0); + fimport$0(87635 | 0, 75115 | 0, 4533 | 0, 67697 | 0); wasm2js_trap(); } i64toi32_i32$0 = 0; @@ -7792,7 +7794,7 @@ function asmFunc(imports) { if (!(($43($0_1 | 0) | 0) & 1 | 0)) { break label$12 } - fimport$0(88220 | 0, 75115 | 0, 4582 | 0, 67697 | 0); + fimport$0(88220 | 0, 75115 | 0, 4584 | 0, 67697 | 0); wasm2js_trap(); } global$0 = $5_1 + 16 | 0; @@ -7827,7 +7829,7 @@ function asmFunc(imports) { $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; $3_1 = $3_1 | 0; - var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $20_1 = 0, $36_1 = 0, $52_1 = 0, $341_1 = 0; + var $6_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $20_1 = 0, $36_1 = 0, $52_1 = 0, $344_1 = 0; $6_1 = global$0 - 624 | 0; global$0 = $6_1; HEAP32[($6_1 + 620 | 0) >> 2] = $0_1; @@ -7884,15 +7886,15 @@ function asmFunc(imports) { if ((HEAP32[($6_1 + 544 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$6 } - fimport$0(78994 | 0, 75115 | 0, 4649 | 0, 70895 | 0); + fimport$0(78994 | 0, 75115 | 0, 4651 | 0, 70895 | 0); wasm2js_trap(); } $762($6_1 | 0, 0 | 0, 544 | 0) | 0; i64toi32_i32$0 = HEAP32[($6_1 + 544 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($6_1 + 548 | 0) >> 2] | 0; - $341_1 = i64toi32_i32$0; + $344_1 = i64toi32_i32$0; i64toi32_i32$0 = $6_1 + 520 | 0; - HEAP32[i64toi32_i32$0 >> 2] = $341_1; + HEAP32[i64toi32_i32$0 >> 2] = $344_1; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($6_1 + 516 | 0) >> 2] = HEAP32[($6_1 + 520 | 0) >> 2] | 0; label$7 : { @@ -7906,6 +7908,7 @@ function asmFunc(imports) { } $10($6_1 + 584 | 0 | 0); $10($6_1 + 592 | 0 | 0); + $10($6_1 + 572 | 0 | 0); i64toi32_i32$1 = HEAP32[($6_1 + 560 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($6_1 + 564 | 0) >> 2] | 0; global$0 = $6_1 + 624 | 0; @@ -8262,7 +8265,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[(HEAP32[($8_1 + 56 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (8996 | 0) & 1 | 0) { break label$1 } - fimport$0(76615 | 0, 75115 | 0, 4737 | 0, 70184 | 0); + fimport$0(76615 | 0, 75115 | 0, 4740 | 0, 70184 | 0); wasm2js_trap(); } label$2 : { @@ -8366,14 +8369,14 @@ function asmFunc(imports) { if ((HEAP32[($8_1 + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$15 } - fimport$0(78627 | 0, 75115 | 0, 4792 | 0, 70184 | 0); + fimport$0(78627 | 0, 75115 | 0, 4795 | 0, 70184 | 0); wasm2js_trap(); } label$16 : { if ((HEAP32[($8_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$16 } - fimport$0(78375 | 0, 75115 | 0, 4793 | 0, 70184 | 0); + fimport$0(78375 | 0, 75115 | 0, 4796 | 0, 70184 | 0); wasm2js_trap(); } if (!(0 & 1 | 0)) { @@ -8690,7 +8693,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78236 | 0, 75115 | 0, 5017 | 0, 66258 | 0); + fimport$0(78236 | 0, 75115 | 0, 5020 | 0, 66258 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($7_1 + 12 | 0) >> 2] | 0; @@ -8717,7 +8720,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(77233 | 0, 75115 | 0, 5037 | 0, 66258 | 0); + fimport$0(77233 | 0, 75115 | 0, 5040 | 0, 66258 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($7_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7_1 + 4 | 0) >> 2] | 0; @@ -8765,7 +8768,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($7_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$4 } - fimport$0(78590 | 0, 75115 | 0, 5061 | 0, 66119 | 0); + fimport$0(78590 | 0, 75115 | 0, 5064 | 0, 66119 | 0); wasm2js_trap(); } $95($7_1 + 8 | 0 | 0, $0_1 | 0); @@ -8951,7 +8954,7 @@ function asmFunc(imports) { if ((((HEAPU8[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 0] | 0) << $6_1 | 0) >> $6_1 | 0 | 0) == (45 | 0) & 1 | 0) { break label$1 } - fimport$0(88778 | 0, 75115 | 0, 10134 | 0, 71889 | 0); + fimport$0(88778 | 0, 75115 | 0, 10137 | 0, 71889 | 0); wasm2js_trap(); } HEAP32[$3_1 >> 2] = 0; @@ -9096,14 +9099,14 @@ function asmFunc(imports) { if (!((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0)) { break label$5 } - fimport$0(88167 | 0, 75115 | 0, 6128 | 0, 70677 | 0); + fimport$0(88167 | 0, 75115 | 0, 6131 | 0, 70677 | 0); wasm2js_trap(); } label$6 : { if (!(($1(HEAP32[($8_1 + 36 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } - fimport$0(87983 | 0, 75115 | 0, 6129 | 0, 70677 | 0); + fimport$0(87983 | 0, 75115 | 0, 6132 | 0, 70677 | 0); wasm2js_trap(); } HEAP32[($8_1 + 32 | 0) >> 2] = 0; @@ -9221,7 +9224,7 @@ function asmFunc(imports) { if (!((HEAP32[((HEAP32[($8_1 + 36 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0)) { break label$20 } - fimport$0(88167 | 0, 75115 | 0, 6211 | 0, 70677 | 0); + fimport$0(88167 | 0, 75115 | 0, 6214 | 0, 70677 | 0); wasm2js_trap(); } $89($0_1 | 0, $8_1 + 36 | 0 | 0); @@ -9259,7 +9262,7 @@ function asmFunc(imports) { if (!((HEAP32[((HEAP32[(HEAP32[($5_1 + 552 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0)) { break label$3 } - fimport$0(88111 | 0, 75115 | 0, 5830 | 0, 73184 | 0); + fimport$0(88111 | 0, 75115 | 0, 5833 | 0, 73184 | 0); wasm2js_trap(); } label$4 : { @@ -9407,7 +9410,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (8996 | 0) & 1 | 0) { break label$1 } - fimport$0(76615 | 0, 75115 | 0, 5688 | 0, 67446 | 0); + fimport$0(76615 | 0, 75115 | 0, 5691 | 0, 67446 | 0); wasm2js_trap(); } HEAP32[($7_1 + 28 | 0) >> 2] = HEAP32[(HEAP32[($7_1 + 36 | 0) >> 2] | 0) >> 2] | 0; @@ -9550,7 +9553,7 @@ function asmFunc(imports) { if ((HEAP32[($7_1 + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$23 } - fimport$0(78136 | 0, 75115 | 0, 5794 | 0, 67446 | 0); + fimport$0(78136 | 0, 75115 | 0, 5797 | 0, 67446 | 0); wasm2js_trap(); } if (!(0 & 1 | 0)) { @@ -9590,7 +9593,7 @@ function asmFunc(imports) { if (!(($116(HEAP32[($9_1 + 72 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($9_1 + 68 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$1 } - fimport$0(87906 | 0, 75115 | 0, 6401 | 0, 70329 | 0); + fimport$0(87906 | 0, 75115 | 0, 6404 | 0, 70329 | 0); wasm2js_trap(); } i64toi32_i32$0 = 0; @@ -9688,7 +9691,7 @@ function asmFunc(imports) { if ((HEAP32[($6_1 + 1908 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$3 } - fimport$0(78944 | 0, 75115 | 0, 6346 | 0, 66108 | 0); + fimport$0(78944 | 0, 75115 | 0, 6349 | 0, 66108 | 0); wasm2js_trap(); } HEAP32[$6_1 >> 2] = HEAP32[((HEAP32[($6_1 + 1908 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; @@ -9787,14 +9790,14 @@ function asmFunc(imports) { if (!((HEAP32[((HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) & 8 | 0)) { break label$5 } - fimport$0(88111 | 0, 75115 | 0, 5945 | 0, 67470 | 0); + fimport$0(88111 | 0, 75115 | 0, 5948 | 0, 67470 | 0); wasm2js_trap(); } label$6 : { if (!(($1(HEAP32[(HEAP32[($8_1 + 84 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$6 } - fimport$0(87949 | 0, 75115 | 0, 5946 | 0, 67470 | 0); + fimport$0(87949 | 0, 75115 | 0, 5949 | 0, 67470 | 0); wasm2js_trap(); } label$7 : { @@ -9804,7 +9807,7 @@ function asmFunc(imports) { if (!(($1(HEAP32[($0_1 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } - fimport$0(87792 | 0, 75115 | 0, 5947 | 0, 67470 | 0); + fimport$0(87792 | 0, 75115 | 0, 5950 | 0, 67470 | 0); wasm2js_trap(); } HEAP32[($8_1 + 72 | 0) >> 2] = 0; @@ -11964,7 +11967,7 @@ function asmFunc(imports) { break label$5; }; } - fimport$0(73201 | 0, 75115 | 0, 12807 | 0, 70206 | 0); + fimport$0(73201 | 0, 75115 | 0, 12813 | 0, 70206 | 0); wasm2js_trap(); } break label$1; @@ -12048,7 +12051,7 @@ function asmFunc(imports) { HEAPF64[($0_1 + 8 | 0) >> 3] = +(0 | 0); break label$10; } - fimport$0(73201 | 0, 75115 | 0, 12831 | 0, 70206 | 0); + fimport$0(73201 | 0, 75115 | 0, 12837 | 0, 70206 | 0); wasm2js_trap(); } break label$1; @@ -12149,7 +12152,7 @@ function asmFunc(imports) { HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$5; break label$17; } - fimport$0(73201 | 0, 75115 | 0, 12854 | 0, 70206 | 0); + fimport$0(73201 | 0, 75115 | 0, 12860 | 0, 70206 | 0); wasm2js_trap(); } break label$1; @@ -12314,7 +12317,7 @@ function asmFunc(imports) { HEAPF64[($0_1 + 8 | 0) >> 3] = +($100_1 & 1 | 0 | 0); break label$6; } - fimport$0(73201 | 0, 75115 | 0, 12935 | 0, 70230 | 0); + fimport$0(73201 | 0, 75115 | 0, 12941 | 0, 70230 | 0); wasm2js_trap(); } break label$1; @@ -12934,7 +12937,7 @@ function asmFunc(imports) { HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$3; break label$26; } - fimport$0(73201 | 0, 75115 | 0, 13020 | 0, 70230 | 0); + fimport$0(73201 | 0, 75115 | 0, 13026 | 0, 70230 | 0); wasm2js_trap(); } break label$1; @@ -13550,7 +13553,7 @@ function asmFunc(imports) { HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$5; break label$52; } - fimport$0(73201 | 0, 75115 | 0, 13103 | 0, 70230 | 0); + fimport$0(73201 | 0, 75115 | 0, 13109 | 0, 70230 | 0); wasm2js_trap(); } } @@ -14197,7 +14200,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(78049 | 0, 75115 | 0, 20758 | 0, 68701 | 0); + fimport$0(78049 | 0, 75115 | 0, 20773 | 0, 68701 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 76 | 0) >> 2] | 0; @@ -14283,7 +14286,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$11 } - fimport$0(86963 | 0, 75115 | 0, 20786 | 0, 68701 | 0); + fimport$0(86963 | 0, 75115 | 0, 20801 | 0, 68701 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($5_1 + 148 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; @@ -15207,7 +15210,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$24 } - fimport$0(77675 | 0, 75115 | 0, 26853 | 0, 66274 | 0); + fimport$0(77675 | 0, 75115 | 0, 26829 | 0, 66274 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 20 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; @@ -15442,7 +15445,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$9 } - fimport$0(77921 | 0, 75115 | 0, 19474 | 0, 70193 | 0); + fimport$0(77921 | 0, 75115 | 0, 19489 | 0, 70193 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[$4_1 >> 2] | 0; @@ -15663,14 +15666,14 @@ function asmFunc(imports) { if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78693 | 0, 75115 | 0, 20521 | 0, 71980 | 0); + fimport$0(78693 | 0, 75115 | 0, 20536 | 0, 71980 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } - fimport$0(78959 | 0, 75115 | 0, 20522 | 0, 71980 | 0); + fimport$0(78959 | 0, 75115 | 0, 20537 | 0, 71980 | 0); wasm2js_trap(); } label$3 : { @@ -15682,7 +15685,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(78566 | 0, 75115 | 0, 20526 | 0, 71980 | 0); + fimport$0(78566 | 0, 75115 | 0, 20541 | 0, 71980 | 0); wasm2js_trap(); } HEAP32[(HEAP32[($4_1 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; @@ -15692,7 +15695,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(77312 | 0, 75115 | 0, 20531 | 0, 71980 | 0); + fimport$0(77312 | 0, 75115 | 0, 20546 | 0, 71980 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; @@ -16518,7 +16521,7 @@ function asmFunc(imports) { break label$37; } $160(94 | 0, HEAP32[($3_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($3_1 + 372 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 80265 | 0, 0 | 0) | 0; - fimport$0(73201 | 0, 75115 | 0, 16796 | 0, 70974 | 0); + fimport$0(73201 | 0, 75115 | 0, 16802 | 0, 70974 | 0); wasm2js_trap(); } } @@ -17264,7 +17267,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$3 } - fimport$0(77349 | 0, 75115 | 0, 13376 | 0, 74745 | 0); + fimport$0(77349 | 0, 75115 | 0, 13382 | 0, 74745 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; @@ -17288,7 +17291,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 13360 | 0, 73018 | 0); + fimport$0(77296 | 0, 75115 | 0, 13366 | 0, 73018 | 0); wasm2js_trap(); } $188(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0); @@ -17506,7 +17509,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78096 | 0, 75115 | 0, 18100 | 0, 73524 | 0); + fimport$0(78096 | 0, 75115 | 0, 18106 | 0, 73524 | 0); wasm2js_trap(); } global$0 = $3_1 + 16 | 0; @@ -18337,7 +18340,7 @@ function asmFunc(imports) { break label$5 } } - fimport$0(79528 | 0, 75115 | 0, 13535 | 0, 73797 | 0); + fimport$0(79528 | 0, 75115 | 0, 13541 | 0, 73797 | 0); wasm2js_trap(); } HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 1 | 0; @@ -18358,7 +18361,7 @@ function asmFunc(imports) { break label$9 } } - fimport$0(79480 | 0, 75115 | 0, 13542 | 0, 73797 | 0); + fimport$0(79480 | 0, 75115 | 0, 13548 | 0, 73797 | 0); wasm2js_trap(); } HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 2 | 0; @@ -18379,7 +18382,7 @@ function asmFunc(imports) { break label$13 } } - fimport$0(79419 | 0, 75115 | 0, 13550 | 0, 73797 | 0); + fimport$0(79419 | 0, 75115 | 0, 13556 | 0, 73797 | 0); wasm2js_trap(); } HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 3 | 0; @@ -18403,7 +18406,7 @@ function asmFunc(imports) { break label$17 } } - fimport$0(79448 | 0, 75115 | 0, 13559 | 0, 73797 | 0); + fimport$0(79448 | 0, 75115 | 0, 13565 | 0, 73797 | 0); wasm2js_trap(); } HEAP32[$4_1 >> 2] = (HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0; @@ -19114,7 +19117,7 @@ function asmFunc(imports) { break label$26; }; } - fimport$0(73201 | 0, 75115 | 0, 13681 | 0, 66473 | 0); + fimport$0(73201 | 0, 75115 | 0, 13687 | 0, 66473 | 0); wasm2js_trap(); } HEAP32[($4_1 + 44 | 0) >> 2] = (HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 1 | 0; @@ -19357,7 +19360,7 @@ function asmFunc(imports) { break label$5; }; } - fimport$0(73201 | 0, 75115 | 0, 13921 | 0, 70055 | 0); + fimport$0(73201 | 0, 75115 | 0, 13927 | 0, 70055 | 0); wasm2js_trap(); } global$0 = $5_1 + 416 | 0; @@ -20174,7 +20177,7 @@ function asmFunc(imports) { $3_1 = $3_1 | 0; $4_1 = $4_1 | 0; $5_1 = $5_1 | 0; - var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $334_1 = 0, $331_1 = 0, $333_1 = 0, $297_1 = 0, $308_1 = 0, $312_1 = 0, $315_1 = 0, $318_1 = 0, $321_1 = 0, $958 = 0, $978 = 0, $988 = 0, $998 = 0, $1008 = 0; + var $8_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $334_1 = 0, $331_1 = 0, $333_1 = 0, $297_1 = 0, $308_1 = 0, $312_1 = 0, $315_1 = 0, $318_1 = 0, $321_1 = 0, $957 = 0, $977 = 0, $987 = 0, $997 = 0, $1007 = 0; $8_1 = global$0 - 352 | 0; global$0 = $8_1; HEAP32[($8_1 + 348 | 0) >> 2] = $1_1; @@ -20190,7 +20193,7 @@ function asmFunc(imports) { if ((HEAP32[($8_1 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } - fimport$0(78931 | 0, 75115 | 0, 21170 | 0, 73219 | 0); + fimport$0(78931 | 0, 75115 | 0, 21185 | 0, 73219 | 0); wasm2js_trap(); } } @@ -20202,7 +20205,7 @@ function asmFunc(imports) { if ((HEAP32[($8_1 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$4 } - fimport$0(78726 | 0, 75115 | 0, 21174 | 0, 73219 | 0); + fimport$0(78726 | 0, 75115 | 0, 21189 | 0, 73219 | 0); wasm2js_trap(); } } @@ -20390,7 +20393,7 @@ function asmFunc(imports) { } $221($8_1 + 48 | 0 | 0, HEAP32[($8_1 + 348 | 0) >> 2] | 0 | 0); label$26 : { - if (!(($247($8_1 + 48 | 0 | 0) | 0) & 1 | 0)) { + if (($296($8_1 + 48 | 0 | 0) | 0) & 1 | 0) { break label$26 } HEAP32[($8_1 + 44 | 0) >> 2] = $859(1 | 0, 44 | 0) | 0; @@ -20399,9 +20402,9 @@ function asmFunc(imports) { i64toi32_i32$2 = $8_1; i64toi32_i32$0 = HEAP32[$8_1 >> 2] | 0; i64toi32_i32$1 = HEAP32[($8_1 + 4 | 0) >> 2] | 0; - $958 = i64toi32_i32$0; + $957 = i64toi32_i32$0; i64toi32_i32$0 = $297_1; - HEAP32[i64toi32_i32$0 >> 2] = $958; + HEAP32[i64toi32_i32$0 >> 2] = $957; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $308_1 = 40; HEAP32[(i64toi32_i32$0 + $308_1 | 0) >> 2] = HEAP32[($8_1 + $308_1 | 0) >> 2] | 0; @@ -20409,33 +20412,33 @@ function asmFunc(imports) { i64toi32_i32$2 = $8_1 + $312_1 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; - $978 = i64toi32_i32$1; + $977 = i64toi32_i32$1; i64toi32_i32$1 = $297_1 + $312_1 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $978; + HEAP32[i64toi32_i32$1 >> 2] = $977; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $315_1 = 24; i64toi32_i32$2 = $8_1 + $315_1 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; - $988 = i64toi32_i32$0; + $987 = i64toi32_i32$0; i64toi32_i32$0 = $297_1 + $315_1 | 0; - HEAP32[i64toi32_i32$0 >> 2] = $988; + HEAP32[i64toi32_i32$0 >> 2] = $987; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; $318_1 = 16; i64toi32_i32$2 = $8_1 + $318_1 | 0; i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; - $998 = i64toi32_i32$1; + $997 = i64toi32_i32$1; i64toi32_i32$1 = $297_1 + $318_1 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $998; + HEAP32[i64toi32_i32$1 >> 2] = $997; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; $321_1 = 8; i64toi32_i32$2 = $8_1 + $321_1 | 0; i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; - $1008 = i64toi32_i32$0; + $1007 = i64toi32_i32$0; i64toi32_i32$0 = $297_1 + $321_1 | 0; - HEAP32[i64toi32_i32$0 >> 2] = $1008; + HEAP32[i64toi32_i32$0 >> 2] = $1007; HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; HEAP32[($0_1 + 4 | 0) >> 2] = HEAP32[($8_1 + 44 | 0) >> 2] | 0; } @@ -20526,7 +20529,7 @@ function asmFunc(imports) { if ((HEAP32[($0_1 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$3 } - fimport$0(66055 | 0, 75115 | 0, 19265 | 0, 68973 | 0); + fimport$0(66055 | 0, 75115 | 0, 19280 | 0, 68973 | 0); wasm2js_trap(); } label$4 : { @@ -21456,7 +21459,7 @@ function asmFunc(imports) { break label$48 } } - fimport$0(87690 | 0, 75115 | 0, 14297 | 0, 70841 | 0); + fimport$0(87690 | 0, 75115 | 0, 14303 | 0, 70841 | 0); wasm2js_trap(); } $872_1 = HEAP32[($3_1 + 456 | 0) >> 2] | 0; @@ -21997,7 +22000,7 @@ function asmFunc(imports) { HEAP32[($3_1 + 88 | 0) >> 2] = 4; break label$43; } - fimport$0(73201 | 0, 75115 | 0, 19935 | 0, 72346 | 0); + fimport$0(73201 | 0, 75115 | 0, 19950 | 0, 72346 | 0); wasm2js_trap(); } } @@ -22061,7 +22064,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 14307 | 0, 73045 | 0); + fimport$0(77296 | 0, 75115 | 0, 14313 | 0, 73045 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -22107,7 +22110,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(77846 | 0, 75115 | 0, 14338 | 0, 66343 | 0); + fimport$0(77846 | 0, 75115 | 0, 14344 | 0, 66343 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 20 | 0) >> 2] | 0; @@ -22151,7 +22154,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$13 } - fimport$0(77846 | 0, 75115 | 0, 14355 | 0, 66343 | 0); + fimport$0(77846 | 0, 75115 | 0, 14361 | 0, 66343 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; @@ -24142,7 +24145,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$4 } - fimport$0(78464 | 0, 75115 | 0, 14760 | 0, 73612 | 0); + fimport$0(78464 | 0, 75115 | 0, 14766 | 0, 73612 | 0); wasm2js_trap(); } $30_1 = $253(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; @@ -24151,7 +24154,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) == (40 | 0) & 1 | 0) { break label$5 } - fimport$0(88842 | 0, 75115 | 0, 14763 | 0, 73612 | 0); + fimport$0(88842 | 0, 75115 | 0, 14769 | 0, 73612 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($4_1 + 68 | 0) >> 2] | 0) + 80 | 0) >> 2] = HEAP32[($4_1 + 72 | 0) >> 2] | 0; @@ -24612,7 +24615,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(78262 | 0, 75115 | 0, 28190 | 0, 66226 | 0); + fimport$0(78262 | 0, 75115 | 0, 28166 | 0, 66226 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($3_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 20 | 0) >> 2] | 0; @@ -24630,7 +24633,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(77595 | 0, 75115 | 0, 28193 | 0, 66226 | 0); + fimport$0(77595 | 0, 75115 | 0, 28169 | 0, 66226 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; @@ -24669,7 +24672,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$11 } - fimport$0(78297 | 0, 75115 | 0, 28209 | 0, 66226 | 0); + fimport$0(78297 | 0, 75115 | 0, 28185 | 0, 66226 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($3_1 + 8 | 0) >> 2] | 0; @@ -24687,7 +24690,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$14 } - fimport$0(77595 | 0, 75115 | 0, 28212 | 0, 66226 | 0); + fimport$0(77595 | 0, 75115 | 0, 28188 | 0, 66226 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; @@ -24715,7 +24718,7 @@ function asmFunc(imports) { if (!(($233(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$1 } - fimport$0(73201 | 0, 75115 | 0, 14822 | 0, 70860 | 0); + fimport$0(73201 | 0, 75115 | 0, 14828 | 0, 70860 | 0); wasm2js_trap(); } HEAP32[($3_1 + 8 | 0) >> 2] = $222(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0) | 0; @@ -26123,7 +26126,7 @@ function asmFunc(imports) { break label$49; }; } - fimport$0(73201 | 0, 75115 | 0, 15260 | 0, 70824 | 0); + fimport$0(73201 | 0, 75115 | 0, 15266 | 0, 70824 | 0); wasm2js_trap(); } $1255 = (HEAP32[($3_1 + 328 | 0) >> 2] | 0) + 4 | 0; @@ -26705,7 +26708,7 @@ function asmFunc(imports) { if ((HEAP32[($3_1 + 184 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$26 } - fimport$0(78540 | 0, 75115 | 0, 15471 | 0, 70879 | 0); + fimport$0(78540 | 0, 75115 | 0, 15477 | 0, 70879 | 0); wasm2js_trap(); } $26(); @@ -27198,7 +27201,7 @@ function asmFunc(imports) { HEAP32[($3_1 + 72 | 0) >> 2] = 1; break label$41; } - fimport$0(73201 | 0, 75115 | 0, 19769 | 0, 72310 | 0); + fimport$0(73201 | 0, 75115 | 0, 19784 | 0, 72310 | 0); wasm2js_trap(); } } @@ -27234,7 +27237,7 @@ function asmFunc(imports) { if ((HEAP32[($3_1 + 72 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { break label$44 } - fimport$0(86953 | 0, 75115 | 0, 19779 | 0, 72310 | 0); + fimport$0(86953 | 0, 75115 | 0, 19794 | 0, 72310 | 0); wasm2js_trap(); } $157_1 = HEAP32[($3_1 + 72 | 0) >> 2] | 0; @@ -27439,7 +27442,7 @@ function asmFunc(imports) { } break label$18; } - fimport$0(73201 | 0, 75115 | 0, 19599 | 0, 67208 | 0); + fimport$0(73201 | 0, 75115 | 0, 19614 | 0, 67208 | 0); wasm2js_trap(); } $175_1 = HEAP32[($3_1 + 96 | 0) >> 2] | 0; @@ -27564,7 +27567,7 @@ function asmFunc(imports) { if (HEAP32[($3_1 + 88 | 0) >> 2] | 0) { break label$10 } - fimport$0(87085 | 0, 75115 | 0, 19664 | 0, 67189 | 0); + fimport$0(87085 | 0, 75115 | 0, 19679 | 0, 67189 | 0); wasm2js_trap(); } $101_1 = HEAP32[($3_1 + 88 | 0) >> 2] | 0; @@ -29120,7 +29123,7 @@ function asmFunc(imports) { if ((HEAP32[($3_1 + 84 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$8 } - fimport$0(78333 | 0, 75115 | 0, 15915 | 0, 70997 | 0); + fimport$0(78333 | 0, 75115 | 0, 15921 | 0, 70997 | 0); wasm2js_trap(); } HEAP32[($3_1 + 84 | 0) >> 2] = $859(1 | 0, 144 | 0) | 0; @@ -29294,7 +29297,7 @@ function asmFunc(imports) { if ((HEAP32[($7_1 + 32 | 0) >> 2] | 0 | 0) == (8509 | 0) & 1 | 0) { break label$1 } - fimport$0(88753 | 0, 75115 | 0, 16006 | 0, 71749 | 0); + fimport$0(88753 | 0, 75115 | 0, 16012 | 0, 71749 | 0); wasm2js_trap(); } $29_1 = (HEAP32[($7_1 + 36 | 0) >> 2] | 0) + 64 | 0; @@ -29359,7 +29362,7 @@ function asmFunc(imports) { if ((HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$8 } - fimport$0(78333 | 0, 75115 | 0, 16041 | 0, 70804 | 0); + fimport$0(78333 | 0, 75115 | 0, 16047 | 0, 70804 | 0); wasm2js_trap(); } HEAP32[($3_1 + 68 | 0) >> 2] = $859(1 | 0, 144 | 0) | 0; @@ -29405,7 +29408,7 @@ function asmFunc(imports) { $287(HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($3_1 + 68 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0 | 0, HEAP32[($3_1 + 68 | 0) >> 2] | 0 | 0, 8509 | 0, (HEAPU8[((HEAP32[($3_1 + 76 | 0) >> 2] | 0) + 520 | 0) >> 0] | 0) & 1 | 0 | 0); break label$13; } - fimport$0(73201 | 0, 75115 | 0, 16082 | 0, 70804 | 0); + fimport$0(73201 | 0, 75115 | 0, 16088 | 0, 70804 | 0); wasm2js_trap(); } } @@ -29521,7 +29524,7 @@ function asmFunc(imports) { if ((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$7 } - fimport$0(78333 | 0, 75115 | 0, 16119 | 0, 71019 | 0); + fimport$0(78333 | 0, 75115 | 0, 16125 | 0, 71019 | 0); wasm2js_trap(); } HEAP32[($3_1 + 36 | 0) >> 2] = $859(1 | 0, 144 | 0) | 0; @@ -29624,7 +29627,7 @@ function asmFunc(imports) { if ((HEAP32[($3_1 + 36 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$7 } - fimport$0(78333 | 0, 75115 | 0, 16178 | 0, 70950 | 0); + fimport$0(78333 | 0, 75115 | 0, 16184 | 0, 70950 | 0); wasm2js_trap(); } HEAP32[($3_1 + 36 | 0) >> 2] = $859(1 | 0, 144 | 0) | 0; @@ -31059,7 +31062,7 @@ function asmFunc(imports) { if (!((HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) & 131072 | 0)) { break label$6 } - fimport$0(73201 | 0, 75115 | 0, 17769 | 0, 67738 | 0); + fimport$0(73201 | 0, 75115 | 0, 17775 | 0, 67738 | 0); wasm2js_trap(); } $310(HEAP32[($4_1 + 28 | 0) >> 2] | 0 | 0, $4_1 + 23 | 0 | 0, HEAP32[((HEAP32[($4_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; @@ -31103,7 +31106,7 @@ function asmFunc(imports) { if ((HEAP32[($0_1 + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$5 } - fimport$0(78117 | 0, 75115 | 0, 17868 | 0, 70258 | 0); + fimport$0(78117 | 0, 75115 | 0, 17874 | 0, 70258 | 0); wasm2js_trap(); } label$6 : { @@ -31767,7 +31770,7 @@ function asmFunc(imports) { if (($239(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { break label$1 } - fimport$0(87884 | 0, 75115 | 0, 19300 | 0, 68945 | 0); + fimport$0(87884 | 0, 75115 | 0, 19315 | 0, 68945 | 0); wasm2js_trap(); } $204($4_1 | 0, HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0); @@ -31795,7 +31798,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78890 | 0, 75115 | 0, 20127 | 0, 73265 | 0); + fimport$0(78890 | 0, 75115 | 0, 20142 | 0, 73265 | 0); wasm2js_trap(); } label$2 : { @@ -31899,21 +31902,21 @@ function asmFunc(imports) { if ((HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78772 | 0, 75115 | 0, 20502 | 0, 66539 | 0); + fimport$0(78772 | 0, 75115 | 0, 20517 | 0, 66539 | 0); wasm2js_trap(); } label$2 : { if ((HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$2 } - fimport$0(78959 | 0, 75115 | 0, 20503 | 0, 66539 | 0); + fimport$0(78959 | 0, 75115 | 0, 20518 | 0, 66539 | 0); wasm2js_trap(); } label$3 : { if ((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$3 } - fimport$0(78073 | 0, 75115 | 0, 20504 | 0, 66539 | 0); + fimport$0(78073 | 0, 75115 | 0, 20519 | 0, 66539 | 0); wasm2js_trap(); } label$4 : { @@ -32054,7 +32057,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$11 } - fimport$0(77958 | 0, 75115 | 0, 20578 | 0, 68572 | 0); + fimport$0(77958 | 0, 75115 | 0, 20593 | 0, 68572 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($6_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($6_1 + 4 | 0) >> 2] | 0; @@ -33595,7 +33598,7 @@ function asmFunc(imports) { $3_1 = $3_1 | 0; $4_1 = $4_1 | 0; $5_1 = $5_1 | 0; - var $8_1 = 0, $187_1 = 0, $188_1 = 0, $210_1 = 0, $211_1 = 0, $245_1 = 0, $246_1 = 0, $266_1 = 0, $267_1 = 0; + var $8_1 = 0, $195_1 = 0, $196_1 = 0, $218_1 = 0, $219_1 = 0, $253_1 = 0, $254_1 = 0, $274_1 = 0, $275_1 = 0; $8_1 = global$0 - 592 | 0; global$0 = $8_1; HEAP32[($8_1 + 588 | 0) >> 2] = $0_1; @@ -33661,6 +33664,9 @@ function asmFunc(imports) { if (!((HEAP32[($8_1 + 556 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 580 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$15 } + if (!((HEAP32[($8_1 + 556 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($8_1 + 572 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } $358(HEAP32[($8_1 + 588 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($8_1 + 552 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0 | 0, (HEAP32[((HEAP32[($8_1 + 580 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 556 | 0) >> 2] | 0, 44) | 0 | 0, (HEAP32[(HEAP32[($8_1 + 552 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0 | 0, (HEAP32[((HEAP32[($8_1 + 572 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + Math_imul(HEAP32[($8_1 + 556 | 0) >> 2] | 0, 44) | 0 | 0, HEAP32[($8_1 + 568 | 0) >> 2] | 0 | 0); break label$14; } @@ -33682,7 +33688,7 @@ function asmFunc(imports) { if (!(HEAP32[((HEAP32[($8_1 + 580 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { break label$16 } - fimport$0(87048 | 0, 75115 | 0, 21772 | 0, 73137 | 0); + fimport$0(87048 | 0, 75115 | 0, 21788 | 0, 73137 | 0); wasm2js_trap(); } HEAP32[(HEAP32[($8_1 + 580 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($8_1 + 572 | 0) >> 2] | 0) >> 2] | 0; @@ -33719,10 +33725,10 @@ function asmFunc(imports) { } $762($8_1 + 448 | 0 | 0, 0 | 0, 100 | 0) | 0; $356(HEAP32[($8_1 + 576 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 572 | 0) >> 2] | 0 | 0, $8_1 + 448 | 0 | 0, 100 | 0); - $187_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; - $188_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; + $195_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; + $196_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; HEAP32[($8_1 + 32 | 0) >> 2] = $8_1 + 448 | 0; - $160(28 | 0, $187_1 | 0, $188_1 | 0, 74170 | 0, $8_1 + 32 | 0 | 0) | 0; + $160(29 | 0, $195_1 | 0, $196_1 | 0, 74170 | 0, $8_1 + 32 | 0 | 0) | 0; break label$23; } label$25 : { @@ -33731,10 +33737,10 @@ function asmFunc(imports) { } $762($8_1 + 336 | 0 | 0, 0 | 0, 100 | 0) | 0; $356(HEAP32[($8_1 + 576 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 572 | 0) >> 2] | 0 | 0, $8_1 + 336 | 0 | 0, 100 | 0); - $210_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; - $211_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; + $218_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; + $219_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; HEAP32[($8_1 + 48 | 0) >> 2] = $8_1 + 336 | 0; - $160(28 | 0, $210_1 | 0, $211_1 | 0, 74206 | 0, $8_1 + 48 | 0 | 0) | 0; + $160(28 | 0, $218_1 | 0, $219_1 | 0, 74206 | 0, $8_1 + 48 | 0 | 0) | 0; } } label$26 : { @@ -33751,10 +33757,10 @@ function asmFunc(imports) { } $762($8_1 + 224 | 0 | 0, 0 | 0, 100 | 0) | 0; $356(HEAP32[($8_1 + 576 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 572 | 0) >> 2] | 0 | 0, $8_1 + 224 | 0 | 0, 100 | 0); - $245_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; - $246_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; + $253_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; + $254_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; HEAP32[$8_1 >> 2] = $8_1 + 224 | 0; - $160(28 | 0, $245_1 | 0, $246_1 | 0, 74343 | 0, $8_1 | 0) | 0; + $160(28 | 0, $253_1 | 0, $254_1 | 0, 74343 | 0, $8_1 | 0) | 0; break label$27; } label$29 : { @@ -33763,10 +33769,10 @@ function asmFunc(imports) { } $762($8_1 + 112 | 0 | 0, 0 | 0, 100 | 0) | 0; $356(HEAP32[($8_1 + 576 | 0) >> 2] | 0 | 0, HEAP32[($8_1 + 572 | 0) >> 2] | 0 | 0, $8_1 + 112 | 0 | 0, 100 | 0); - $266_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; - $267_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; + $274_1 = HEAP32[($8_1 + 588 | 0) >> 2] | 0; + $275_1 = HEAP32[($8_1 + 568 | 0) >> 2] | 0; HEAP32[($8_1 + 16 | 0) >> 2] = $8_1 + 112 | 0; - $160(28 | 0, $266_1 | 0, $267_1 | 0, 74304 | 0, $8_1 + 16 | 0 | 0) | 0; + $160(28 | 0, $274_1 | 0, $275_1 | 0, 74304 | 0, $8_1 + 16 | 0 | 0) | 0; } } } @@ -33890,7 +33896,7 @@ function asmFunc(imports) { if (!(HEAP32[((HEAP32[($5_1 + 88 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { break label$15 } - fimport$0(87048 | 0, 75115 | 0, 22001 | 0, 67248 | 0); + fimport$0(87048 | 0, 75115 | 0, 22017 | 0, 67248 | 0); wasm2js_trap(); } HEAP32[(HEAP32[($5_1 + 88 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 84 | 0) >> 2] | 0; @@ -34023,7 +34029,7 @@ function asmFunc(imports) { if (!(HEAP32[((HEAP32[($5_1 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0)) { break label$15 } - fimport$0(87048 | 0, 75115 | 0, 21926 | 0, 73120 | 0); + fimport$0(87048 | 0, 75115 | 0, 21942 | 0, 73120 | 0); wasm2js_trap(); } HEAP32[(HEAP32[($5_1 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[($5_1 + 20 | 0) >> 2] | 0; @@ -34928,7 +34934,7 @@ function asmFunc(imports) { HEAP32[($8_1 + 392 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($8_1 + 644 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; break label$27; } - fimport$0(73201 | 0, 75115 | 0, 22802 | 0, 67235 | 0); + fimport$0(73201 | 0, 75115 | 0, 22818 | 0, 67235 | 0); wasm2js_trap(); } } @@ -35081,239 +35087,201 @@ function asmFunc(imports) { $6_1 = $6_1 | 0; $7_1 = $7_1 | 0; $8_1 = $8_1 | 0; - var $11_1 = 0, $198_1 = 0; - $11_1 = global$0 - 512 | 0; + var $11_1 = 0, $145_1 = 0; + $11_1 = global$0 - 400 | 0; global$0 = $11_1; - HEAP32[($11_1 + 508 | 0) >> 2] = $0_1; - HEAP32[($11_1 + 504 | 0) >> 2] = $1_1; - HEAP32[($11_1 + 500 | 0) >> 2] = $2_1; - HEAP32[($11_1 + 496 | 0) >> 2] = $3_1; - HEAP32[($11_1 + 492 | 0) >> 2] = $4_1; - HEAP32[($11_1 + 488 | 0) >> 2] = $5_1; - HEAP8[($11_1 + 487 | 0) >> 0] = $6_1; - HEAP32[($11_1 + 480 | 0) >> 2] = $7_1; - HEAP32[($11_1 + 476 | 0) >> 2] = $8_1; - label$1 : { - if (HEAP32[($11_1 + 476 | 0) >> 2] | 0) { + HEAP32[($11_1 + 396 | 0) >> 2] = $0_1; + HEAP32[($11_1 + 392 | 0) >> 2] = $1_1; + HEAP32[($11_1 + 388 | 0) >> 2] = $2_1; + HEAP32[($11_1 + 384 | 0) >> 2] = $3_1; + HEAP32[($11_1 + 380 | 0) >> 2] = $4_1; + HEAP32[($11_1 + 376 | 0) >> 2] = $5_1; + HEAP8[($11_1 + 375 | 0) >> 0] = $6_1; + HEAP32[($11_1 + 368 | 0) >> 2] = $7_1; + HEAP32[($11_1 + 364 | 0) >> 2] = $8_1; + label$1 : { + if (!((HEAP32[($11_1 + 364 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { break label$1 } label$2 : { - label$3 : { - if (!((HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$3 - } - $366(HEAP32[($11_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 488 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); - break label$2; - } - } - } - label$4 : { - if (!((HEAP32[($11_1 + 476 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { - break label$4 - } - label$5 : { - if ((HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { - break label$5 + if ((HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 } - fimport$0(73284 | 0, 75115 | 0, 22960 | 0, 66579 | 0); + fimport$0(73284 | 0, 75115 | 0, 22958 | 0, 66579 | 0); wasm2js_trap(); } - label$6 : { - if (!(($269(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$6 - } - label$7 : { - label$8 : { - if (!((HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$8 - } - $762($11_1 + 368 | 0 | 0, 0 | 0, 100 | 0) | 0; - $356(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0, $11_1 + 368 | 0 | 0, 100 | 0); - $367(HEAP32[($11_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 488 | 0) >> 2] | 0 | 0, $11_1 + 368 | 0 | 0, 1 & 1 | 0 | 0); - break label$7; - } - } - } - } - label$9 : { - if (!((HEAP32[($11_1 + 476 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { - break label$9 - } - label$10 : { - label$11 : { - if (!(($325(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$11 - } - break label$10; + label$3 : { + if (!(($269(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 } - label$12 : { - label$13 : { - if (!((HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$13 + label$4 : { + label$5 : { + if (!((HEAP32[($11_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 } $762($11_1 + 256 | 0 | 0, 0 | 0, 100 | 0) | 0; - $356(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0, $11_1 + 256 | 0 | 0, 100 | 0); - $367(HEAP32[($11_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 488 | 0) >> 2] | 0 | 0, $11_1 + 256 | 0 | 0, 1 & 1 | 0 | 0); - break label$12; + $356(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 384 | 0) >> 2] | 0 | 0, $11_1 + 256 | 0 | 0, 100 | 0); + $367(HEAP32[($11_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 384 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 376 | 0) >> 2] | 0 | 0, $11_1 + 256 | 0 | 0, 1 & 1 | 0 | 0); + break label$4; } } } } - label$14 : { - if (!((HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$14 + label$6 : { + if (!((HEAP32[($11_1 + 384 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 } - label$15 : { - label$16 : { - if (!((HEAPU8[($11_1 + 487 | 0) >> 0] | 0) & 1 | 0)) { - break label$16 + label$7 : { + label$8 : { + if (!((HEAPU8[($11_1 + 375 | 0) >> 0] | 0) & 1 | 0)) { + break label$8 } - $363(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0); - break label$15; + $363(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 384 | 0) >> 2] | 0 | 0); + break label$7; } - label$17 : { - label$18 : { - if (!((HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$18 + label$9 : { + label$10 : { + if (!((HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 } - $358(HEAP32[($11_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 488 | 0) >> 2] | 0 | 0); - break label$17; + $358(HEAP32[($11_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 384 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 376 | 0) >> 2] | 0 | 0); + break label$9; } - $217(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 496 | 0) >> 2] | 0 | 0); + $217(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 384 | 0) >> 2] | 0 | 0); } } } - label$19 : { - if (!(($322(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$19 + label$11 : { + if (!(($322(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$11 } - if (($269(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { - break label$19 + if (($269(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$11 } - if (!((HEAP32[((HEAP32[($11_1 + 500 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 8192 | 0)) { - break label$19 + if (!((HEAP32[((HEAP32[($11_1 + 388 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 8192 | 0)) { + break label$11 } - $160(21 | 0, HEAP32[($11_1 + 508 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 488 | 0) >> 2] | 0 | 0, 87570 | 0, 0 | 0) | 0; + $160(21 | 0, HEAP32[($11_1 + 396 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 376 | 0) >> 2] | 0 | 0, 87570 | 0, 0 | 0) | 0; } - label$20 : { - label$21 : { - if (!(($322(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$21 + label$12 : { + label$13 : { + if (!(($322(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 } - if (!(($322(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$21 + if (!(($322(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 } - if (!(($220(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$21 + if (!(($220(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 } - label$22 : { - label$23 : { - if (!(($299(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$23 + label$14 : { + label$15 : { + if (!(($299(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$15 } - label$24 : { - if (!((HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$24 + label$16 : { + if (!((HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 } - $221($11_1 + 196 | 0 | 0, HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0); - label$25 : { - label$26 : { - if (!((HEAP32[((HEAP32[($11_1 + 504 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$26 + $221($11_1 + 196 | 0 | 0, HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0); + label$17 : { + label$18 : { + if (!((HEAP32[((HEAP32[($11_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 } - $198_1 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($11_1 + 504 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; - break label$25; + $145_1 = HEAP32[((HEAP32[((HEAP32[((HEAP32[($11_1 + 392 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$17; } - $198_1 = 80284; + $145_1 = 80284; } - HEAP32[($11_1 + 192 | 0) >> 2] = $198_1; - $367(HEAP32[($11_1 + 508 | 0) >> 2] | 0 | 0, $11_1 + 196 | 0 | 0, $215(HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 488 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 192 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); - HEAP32[(HEAP32[($11_1 + 504 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 480 | 0) >> 2] | 0; + HEAP32[($11_1 + 192 | 0) >> 2] = $145_1; + $367(HEAP32[($11_1 + 396 | 0) >> 2] | 0 | 0, $11_1 + 196 | 0 | 0, $215(HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 376 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 192 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); + HEAP32[(HEAP32[($11_1 + 392 | 0) >> 2] | 0) >> 2] = HEAP32[($11_1 + 368 | 0) >> 2] | 0; $189($11_1 + 196 | 0 | 0); } - break label$22; + break label$14; } - label$27 : { - label$28 : { - if (!(($324(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$28 + label$19 : { + label$20 : { + if (!(($324(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$20 } - label$29 : { - label$30 : { - if (!(($269(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$30 + label$21 : { + label$22 : { + if (!(($269(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$22 } - label$31 : { - if (!(($215(HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$31 + label$23 : { + if (!(($215(HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 } - $221($11_1 + 132 | 0 | 0, HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0); - $359($11_1 + 132 | 0 | 0, $215(HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 480 | 0) >> 2] | 0 | 0); + $221($11_1 + 132 | 0 | 0, HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0); + $359($11_1 + 132 | 0 | 0, $215(HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 368 | 0) >> 2] | 0 | 0); $189($11_1 + 132 | 0 | 0); } - break label$29; + break label$21; } - label$32 : { - if (!(($324(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$32 + label$24 : { + if (!(($324(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$24 } - label$33 : { - if (!(($215(HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$33 + label$25 : { + if (!(($215(HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 } - $221($11_1 + 72 | 0 | 0, HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0); - $359($11_1 + 72 | 0 | 0, $215(HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 480 | 0) >> 2] | 0 | 0); + $221($11_1 + 72 | 0 | 0, HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0); + $359($11_1 + 72 | 0 | 0, $215(HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11_1 + 368 | 0) >> 2] | 0 | 0); $189($11_1 + 72 | 0 | 0); } } } - break label$27; + break label$19; } - label$34 : { - if (!((HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$34 + label$26 : { + if (!((HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 } - $359(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 480 | 0) >> 2] | 0 | 0); + $359(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 368 | 0) >> 2] | 0 | 0); } } } - break label$20; + break label$12; } - label$35 : { - label$36 : { - if (!(($322(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$36 + label$27 : { + label$28 : { + if (!(($322(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$28 } - if (!(($322(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$36 + if (!(($322(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$28 } - label$37 : { - if (!((HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { - break label$37 + label$29 : { + if (!((HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$29 } - $359(HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 504 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 480 | 0) >> 2] | 0 | 0); + $359(HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 392 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 368 | 0) >> 2] | 0 | 0); } - break label$35; + break label$27; } - label$38 : { - label$39 : { - if (!(($324(HEAP32[($11_1 + 492 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { - break label$39 + label$30 : { + label$31 : { + if (!(($324(HEAP32[($11_1 + 380 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$31 } - label$40 : { - if (!((HEAPU8[((HEAP32[($11_1 + 500 | 0) >> 2] | 0) + 41 | 0) >> 0] | 0) & 1 | 0)) { - break label$40 + label$32 : { + if (!((HEAPU8[((HEAP32[($11_1 + 388 | 0) >> 2] | 0) + 41 | 0) >> 0] | 0) & 1 | 0)) { + break label$32 } - $221($11_1 + 12 | 0 | 0, HEAP32[($11_1 + 500 | 0) >> 2] | 0 | 0); - $359($11_1 + 12 | 0 | 0, HEAP32[((HEAP32[($11_1 + 504 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 480 | 0) >> 2] | 0 | 0); + $221($11_1 + 12 | 0 | 0, HEAP32[($11_1 + 388 | 0) >> 2] | 0 | 0); + $359($11_1 + 12 | 0 | 0, HEAP32[((HEAP32[($11_1 + 392 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($11_1 + 368 | 0) >> 2] | 0 | 0); $189($11_1 + 12 | 0 | 0); } - break label$38; + break label$30; } } } } - global$0 = $11_1 + 512 | 0; + global$0 = $11_1 + 400 | 0; return; } @@ -37972,7 +37940,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 25489 | 0, 72907 | 0); + fimport$0(77296 | 0, 75115 | 0, 25465 | 0, 72907 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -37995,7 +37963,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 26870 | 0, 72875 | 0); + fimport$0(77296 | 0, 75115 | 0, 26846 | 0, 72875 | 0); wasm2js_trap(); } label$3 : { @@ -38006,7 +37974,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$4 } - fimport$0(77264 | 0, 75115 | 0, 26873 | 0, 72875 | 0); + fimport$0(77264 | 0, 75115 | 0, 26849 | 0, 72875 | 0); wasm2js_trap(); } $855(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); @@ -38149,7 +38117,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$25 } - fimport$0(77874 | 0, 75115 | 0, 25139 | 0, 67770 | 0); + fimport$0(77874 | 0, 75115 | 0, 25115 | 0, 67770 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 20 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4_1 + 12 | 0) >> 2] | 0; @@ -38296,7 +38264,7 @@ function asmFunc(imports) { break label$5; }; } - fimport$0(73201 | 0, 75115 | 0, 25918 | 0, 69871 | 0); + fimport$0(73201 | 0, 75115 | 0, 25894 | 0, 69871 | 0); wasm2js_trap(); } $156(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; @@ -38341,7 +38309,7 @@ function asmFunc(imports) { HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = $26_1; break label$5; } - fimport$0(73201 | 0, 75115 | 0, 26902 | 0, 69798 | 0); + fimport$0(73201 | 0, 75115 | 0, 26878 | 0, 69798 | 0); wasm2js_trap(); } } @@ -38645,7 +38613,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 508 | 0) >> 2] | 0) >> 2] | 0 | 0) == (128 | 0) & 1 | 0) { break label$1 } - fimport$0(80180 | 0, 75115 | 0, 28467 | 0, 70611 | 0); + fimport$0(80180 | 0, 75115 | 0, 28443 | 0, 70611 | 0); wasm2js_trap(); } HEAP32[($3_1 + 8 | 0) >> 2] = 0; @@ -38733,7 +38701,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(77464 | 0, 75115 | 0, 25853 | 0, 66152 | 0); + fimport$0(77464 | 0, 75115 | 0, 25829 | 0, 66152 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; @@ -38775,7 +38743,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$13 } - fimport$0(77464 | 0, 75115 | 0, 25862 | 0, 66152 | 0); + fimport$0(77464 | 0, 75115 | 0, 25838 | 0, 66152 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; @@ -38815,7 +38783,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 30130 | 0, 72999 | 0); + fimport$0(77296 | 0, 75115 | 0, 30106 | 0, 72999 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -38868,7 +38836,7 @@ function asmFunc(imports) { if (!((HEAP32[(HEAP32[($5_1 + 32 | 0) >> 2] | 0) >> 2] | 0 | 0) != (128 | 0) & 1 | 0)) { break label$1 } - fimport$0(73201 | 0, 75115 | 0, 28358 | 0, 75129 | 0); + fimport$0(73201 | 0, 75115 | 0, 28334 | 0, 75129 | 0); wasm2js_trap(); } HEAP32[($5_1 + 32 | 0) >> 2] = $513(HEAP32[($5_1 + 32 | 0) >> 2] | 0 | 0) | 0; @@ -39294,7 +39262,7 @@ function asmFunc(imports) { if (!(HEAP32[((HEAP32[(HEAP32[($4_1 + 304 | 0) >> 2] | 0) >> 2] | 0) + 88 | 0) >> 2] | 0)) { break label$8 } - fimport$0(86984 | 0, 75115 | 0, 25568 | 0, 68556 | 0); + fimport$0(86984 | 0, 75115 | 0, 25544 | 0, 68556 | 0); wasm2js_trap(); } $67_1 = (HEAP32[(HEAP32[($4_1 + 304 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0; @@ -39434,7 +39402,7 @@ function asmFunc(imports) { } break label$9; } - fimport$0(73201 | 0, 75115 | 0, 25644 | 0, 68556 | 0); + fimport$0(73201 | 0, 75115 | 0, 25620 | 0, 68556 | 0); wasm2js_trap(); } label$24 : { @@ -39590,7 +39558,7 @@ function asmFunc(imports) { if ((HEAP32[($4_1 + 172 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$36 } - fimport$0(78117 | 0, 75115 | 0, 25706 | 0, 68556 | 0); + fimport$0(78117 | 0, 75115 | 0, 25682 | 0, 68556 | 0); wasm2js_trap(); } HEAP32[($4_1 + 172 | 0) >> 2] = $802(HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 304 | 0) >> 2] | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; @@ -39802,7 +39770,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 28625 | 0, 72936 | 0); + fimport$0(77296 | 0, 75115 | 0, 28601 | 0, 72936 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -39840,7 +39808,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$6 } - fimport$0(68606 | 0, 75115 | 0, 25309 | 0, 70576 | 0); + fimport$0(68606 | 0, 75115 | 0, 25285 | 0, 70576 | 0); wasm2js_trap(); } HEAP32[($3_1 + 156 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0; @@ -39899,7 +39867,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$11 } - fimport$0(77158 | 0, 75115 | 0, 25341 | 0, 70576 | 0); + fimport$0(77158 | 0, 75115 | 0, 25317 | 0, 70576 | 0); wasm2js_trap(); } $137_1 = $255(HEAP32[($3_1 + 172 | 0) >> 2] | 0 | 0) | 0; @@ -40099,7 +40067,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$7 } - fimport$0(77996 | 0, 75115 | 0, 28600 | 0, 66501 | 0); + fimport$0(77996 | 0, 75115 | 0, 28576 | 0, 66501 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; @@ -40174,7 +40142,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$3 } - fimport$0(78391 | 0, 75115 | 0, 36596 | 0, 70547 | 0); + fimport$0(78391 | 0, 75115 | 0, 36570 | 0, 70547 | 0); wasm2js_trap(); } HEAP32[($4_1 + 4 | 0) >> 2] = $442(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0) | 0; @@ -40219,7 +40187,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78415 | 0, 75115 | 0, 36627 | 0, 65719 | 0); + fimport$0(78415 | 0, 75115 | 0, 36601 | 0, 65719 | 0); wasm2js_trap(); } global$0 = $3_1 + 16 | 0; @@ -40463,7 +40431,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$10 } - fimport$0(78437 | 0, 75115 | 0, 36573 | 0, 70524 | 0); + fimport$0(78437 | 0, 75115 | 0, 36547 | 0, 70524 | 0); wasm2js_trap(); } $241($4_1 + 12 | 0 | 0, (HEAP32[(HEAP32[((HEAP32[($4_1 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0 | 0); @@ -40936,7 +40904,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$31 } - fimport$0(78786 | 0, 75115 | 0, 26258 | 0, 69921 | 0); + fimport$0(78786 | 0, 75115 | 0, 26234 | 0, 69921 | 0); wasm2js_trap(); } $156(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0) | 0; @@ -41092,7 +41060,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 25525 | 0, 72790 | 0); + fimport$0(77296 | 0, 75115 | 0, 25501 | 0, 72790 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -41115,7 +41083,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 28121 | 0, 72856 | 0); + fimport$0(77296 | 0, 75115 | 0, 28097 | 0, 72856 | 0); wasm2js_trap(); } $182(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); @@ -42050,7 +42018,7 @@ function asmFunc(imports) { $156(HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0) | 0; break label$4; } - fimport$0(73201 | 0, 75115 | 0, 26363 | 0, 69895 | 0); + fimport$0(73201 | 0, 75115 | 0, 26339 | 0, 69895 | 0); wasm2js_trap(); } $41_1 = $436(HEAP32[($3_1 + 108 | 0) >> 2] | 0 | 0) | 0; @@ -42422,7 +42390,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(77846 | 0, 75115 | 0, 26598 | 0, 66319 | 0); + fimport$0(77846 | 0, 75115 | 0, 26574 | 0, 66319 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; @@ -42463,7 +42431,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$13 } - fimport$0(77846 | 0, 75115 | 0, 26606 | 0, 66319 | 0); + fimport$0(77846 | 0, 75115 | 0, 26582 | 0, 66319 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; @@ -42571,7 +42539,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(77426 | 0, 75115 | 0, 27062 | 0, 66136 | 0); + fimport$0(77426 | 0, 75115 | 0, 27038 | 0, 66136 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; @@ -42619,7 +42587,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$14 } - fimport$0(77426 | 0, 75115 | 0, 27073 | 0, 66136 | 0); + fimport$0(77426 | 0, 75115 | 0, 27049 | 0, 66136 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 4 | 0) >> 2] | 0; @@ -42653,7 +42621,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 26621 | 0, 72992 | 0); + fimport$0(77296 | 0, 75115 | 0, 26597 | 0, 72992 | 0); wasm2js_trap(); } $190(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); @@ -42959,7 +42927,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 26536 | 0, 72813 | 0); + fimport$0(77296 | 0, 75115 | 0, 26512 | 0, 72813 | 0); wasm2js_trap(); } $191(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); @@ -43023,7 +42991,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$3 } - fimport$0(77508 | 0, 75115 | 0, 26563 | 0, 66173 | 0); + fimport$0(77508 | 0, 75115 | 0, 26539 | 0, 66173 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; @@ -43049,7 +43017,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$8 } - fimport$0(77508 | 0, 75115 | 0, 26567 | 0, 66173 | 0); + fimport$0(77508 | 0, 75115 | 0, 26543 | 0, 66173 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($5_1 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5_1 + 8 | 0) >> 2] | 0; @@ -43077,7 +43045,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 27088 | 0, 72772 | 0); + fimport$0(77296 | 0, 75115 | 0, 27064 | 0, 72772 | 0); wasm2js_trap(); } $428(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); @@ -43379,7 +43347,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$7 } - fimport$0(77724 | 0, 75115 | 0, 27737 | 0, 66299 | 0); + fimport$0(77724 | 0, 75115 | 0, 27713 | 0, 66299 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; @@ -43422,7 +43390,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$14 } - fimport$0(77724 | 0, 75115 | 0, 27747 | 0, 66299 | 0); + fimport$0(77724 | 0, 75115 | 0, 27723 | 0, 66299 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; @@ -43763,7 +43731,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$7 } - fimport$0(77636 | 0, 75115 | 0, 27827 | 0, 66243 | 0); + fimport$0(77636 | 0, 75115 | 0, 27803 | 0, 66243 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; @@ -43811,7 +43779,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$15 } - fimport$0(77636 | 0, 75115 | 0, 27843 | 0, 66243 | 0); + fimport$0(77636 | 0, 75115 | 0, 27819 | 0, 66243 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; @@ -43849,7 +43817,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 27861 | 0, 72963 | 0); + fimport$0(77296 | 0, 75115 | 0, 27837 | 0, 72963 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -44096,7 +44064,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$7 } - fimport$0(77555 | 0, 75115 | 0, 28275 | 0, 66196 | 0); + fimport$0(77555 | 0, 75115 | 0, 28251 | 0, 66196 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 16 | 0) >> 2] | 0; @@ -44137,7 +44105,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$14 } - fimport$0(77555 | 0, 75115 | 0, 28283 | 0, 66196 | 0); + fimport$0(77555 | 0, 75115 | 0, 28259 | 0, 66196 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($3_1 + 12 | 0) >> 2] | 0; @@ -44172,7 +44140,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 28298 | 0, 72838 | 0); + fimport$0(77296 | 0, 75115 | 0, 28274 | 0, 72838 | 0); wasm2js_trap(); } $182(HEAP32[(HEAP32[($3_1 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); @@ -44343,7 +44311,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$8 } - fimport$0(77807 | 0, 75115 | 0, 28693 | 0, 66384 | 0); + fimport$0(77807 | 0, 75115 | 0, 28669 | 0, 66384 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[$3_1 >> 2] | 0; @@ -44398,7 +44366,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(77996 | 0, 75115 | 0, 28614 | 0, 73863 | 0); + fimport$0(77996 | 0, 75115 | 0, 28590 | 0, 73863 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($3_1 + 4 | 0) >> 2] | 0; @@ -44429,7 +44397,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 28665 | 0, 73103 | 0); + fimport$0(77296 | 0, 75115 | 0, 28641 | 0, 73103 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -45228,7 +45196,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 508 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$1 } - fimport$0(78751 | 0, 75115 | 0, 28927 | 0, 71923 | 0); + fimport$0(78751 | 0, 75115 | 0, 28903 | 0, 71923 | 0); wasm2js_trap(); } HEAP32[($3_1 + 8 | 0) >> 2] = $859(1 | 0, 20 | 0) | 0; @@ -45396,7 +45364,7 @@ function asmFunc(imports) { } break label$15; } - fimport$0(73201 | 0, 75115 | 0, 29946 | 0, 66792 | 0); + fimport$0(73201 | 0, 75115 | 0, 29922 | 0, 66792 | 0); wasm2js_trap(); } } @@ -45612,7 +45580,7 @@ function asmFunc(imports) { if (!((HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { break label$19 } - fimport$0(73201 | 0, 75115 | 0, 29651 | 0, 66818 | 0); + fimport$0(73201 | 0, 75115 | 0, 29627 | 0, 66818 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($3_1 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($3_1 + 4 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; @@ -45916,7 +45884,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 508 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9035 | 0) & 1 | 0) { break label$1 } - fimport$0(75311 | 0, 75115 | 0, 29505 | 0, 66714 | 0); + fimport$0(75311 | 0, 75115 | 0, 29481 | 0, 66714 | 0); wasm2js_trap(); } HEAP32[($3_1 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 492 | 0) >> 2] | 0; @@ -45996,7 +45964,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$6 } - fimport$0(77768 | 0, 75115 | 0, 29340 | 0, 66368 | 0); + fimport$0(77768 | 0, 75115 | 0, 29316 | 0, 66368 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 16 | 0) >> 2] | 0; @@ -46037,7 +46005,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$13 } - fimport$0(77768 | 0, 75115 | 0, 29348 | 0, 66368 | 0); + fimport$0(77768 | 0, 75115 | 0, 29324 | 0, 66368 | 0); wasm2js_trap(); } HEAP32[((HEAP32[($0_1 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5_1 + 12 | 0) >> 2] | 0; @@ -46433,7 +46401,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$2 } - fimport$0(77296 | 0, 75115 | 0, 29367 | 0, 73085 | 0); + fimport$0(77296 | 0, 75115 | 0, 29343 | 0, 73085 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -46731,7 +46699,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$3 } - fimport$0(77349 | 0, 75115 | 0, 30012 | 0, 74709 | 0); + fimport$0(77349 | 0, 75115 | 0, 29988 | 0, 74709 | 0); wasm2js_trap(); } HEAP32[((HEAP32[((HEAP32[($4_1 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($4_1 + 8 | 0) >> 2] | 0; @@ -48055,7 +48023,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$4 } - fimport$0(78210 | 0, 75115 | 0, 33425 | 0, 73546 | 0); + fimport$0(78210 | 0, 75115 | 0, 33403 | 0, 73546 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 12 | 0) >> 2] | 0 | 0); @@ -48067,7 +48035,7 @@ function asmFunc(imports) { function $582($0_1, $1_1) { $0_1 = $0_1 | 0; $1_1 = $1_1 | 0; - var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $308_1 = 0, $365_1 = 0, $463_1 = 0; + var $4_1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $314_1 = 0, $371_1 = 0, $469_1 = 0; $4_1 = global$0 - 48 | 0; global$0 = $4_1; HEAP32[($4_1 + 44 | 0) >> 2] = $0_1; @@ -48101,9 +48069,9 @@ function asmFunc(imports) { $583($4_1 + 24 | 0 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0); i64toi32_i32$0 = HEAP32[($4_1 + 24 | 0) >> 2] | 0; i64toi32_i32$1 = HEAP32[($4_1 + 28 | 0) >> 2] | 0; - $308_1 = i64toi32_i32$0; + $314_1 = i64toi32_i32$0; i64toi32_i32$0 = $4_1; - HEAP32[($4_1 + 32 | 0) >> 2] = $308_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $314_1; HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$1; break label$3; } @@ -48117,9 +48085,9 @@ function asmFunc(imports) { $583($4_1 + 16 | 0 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[(HEAP32[($4_1 + 40 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); i64toi32_i32$1 = HEAP32[($4_1 + 16 | 0) >> 2] | 0; i64toi32_i32$0 = HEAP32[($4_1 + 20 | 0) >> 2] | 0; - $365_1 = i64toi32_i32$1; + $371_1 = i64toi32_i32$1; i64toi32_i32$1 = $4_1; - HEAP32[($4_1 + 32 | 0) >> 2] = $365_1; + HEAP32[($4_1 + 32 | 0) >> 2] = $371_1; HEAP32[($4_1 + 36 | 0) >> 2] = i64toi32_i32$0; } } @@ -48148,9 +48116,9 @@ function asmFunc(imports) { $583($4_1 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0); i64toi32_i32$0 = HEAP32[$4_1 >> 2] | 0; i64toi32_i32$1 = HEAP32[($4_1 + 4 | 0) >> 2] | 0; - $463_1 = i64toi32_i32$0; + $469_1 = i64toi32_i32$0; i64toi32_i32$0 = $4_1; - HEAP32[($4_1 + 8 | 0) >> 2] = $463_1; + HEAP32[($4_1 + 8 | 0) >> 2] = $469_1; HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$1; $35((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0); $34((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, 86650 | 0); @@ -48158,6 +48126,8 @@ function asmFunc(imports) { } } $15((HEAP32[($4_1 + 44 | 0) >> 2] | 0) + 28 | 0 | 0, HEAP32[((HEAP32[($4_1 + 40 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 65624 | 0); + $10($4_1 + 8 | 0 | 0); + $10($4_1 + 32 | 0 | 0); } global$0 = $4_1 + 48 | 0; return; @@ -49623,14 +49593,14 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 344 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$35 } - fimport$0(78183 | 0, 75115 | 0, 35337 | 0, 70928 | 0); + fimport$0(78183 | 0, 75115 | 0, 35309 | 0, 70928 | 0); wasm2js_trap(); } label$36 : { if ((HEAP32[((HEAP32[($4_1 + 344 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$36 } - fimport$0(78155 | 0, 75115 | 0, 35338 | 0, 70928 | 0); + fimport$0(78155 | 0, 75115 | 0, 35310 | 0, 70928 | 0); wasm2js_trap(); } break label$1; @@ -50259,7 +50229,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[((HEAP32[($4_1 + 200 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { break label$5 } - fimport$0(78831 | 0, 75115 | 0, 34422 | 0, 68545 | 0); + fimport$0(78831 | 0, 75115 | 0, 34387 | 0, 68545 | 0); wasm2js_trap(); } label$6 : { @@ -50545,7 +50515,7 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($3_1 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$4 } - fimport$0(78210 | 0, 75115 | 0, 33882 | 0, 73541 | 0); + fimport$0(78210 | 0, 75115 | 0, 33860 | 0, 73541 | 0); wasm2js_trap(); } $855(HEAP32[($3_1 + 8 | 0) >> 2] | 0 | 0); @@ -52810,14 +52780,14 @@ function asmFunc(imports) { if ((HEAP32[((HEAP32[($4_1 + 1960 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$49 } - fimport$0(78183 | 0, 75115 | 0, 32234 | 0, 70933 | 0); + fimport$0(78183 | 0, 75115 | 0, 32213 | 0, 70933 | 0); wasm2js_trap(); } label$50 : { if ((HEAP32[((HEAP32[($4_1 + 1960 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { break label$50 } - fimport$0(78155 | 0, 75115 | 0, 32235 | 0, 70933 | 0); + fimport$0(78155 | 0, 75115 | 0, 32214 | 0, 70933 | 0); wasm2js_trap(); } break label$1; @@ -53252,7 +53222,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[(HEAP32[($4_1 + 504 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (123 | 0) & 1 | 0) { break label$4 } - fimport$0(88305 | 0, 75115 | 0, 31797 | 0, 66212 | 0); + fimport$0(88305 | 0, 75115 | 0, 31777 | 0, 66212 | 0); wasm2js_trap(); } HEAP32[($4_1 + 500 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($4_1 + 504 | 0) >> 2] | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; @@ -54246,7 +54216,7 @@ function asmFunc(imports) { $670(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); break label$5; } - fimport$0(73201 | 0, 75115 | 0, 32642 | 0, 66988 | 0); + fimport$0(73201 | 0, 75115 | 0, 32621 | 0, 66988 | 0); wasm2js_trap(); } } @@ -54551,7 +54521,7 @@ function asmFunc(imports) { $13($4_1 + 144 | 0 | 0); break label$17; } - fimport$0(73201 | 0, 75115 | 0, 32580 | 0, 66786 | 0); + fimport$0(73201 | 0, 75115 | 0, 32559 | 0, 66786 | 0); wasm2js_trap(); } } @@ -54825,7 +54795,7 @@ function asmFunc(imports) { if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } - $600(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 0 | 0); + $600(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) >> 2] | 0) + 80 | 0 | 0); } label$2 : { if (!((HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { @@ -55075,141 +55045,144 @@ function asmFunc(imports) { $0_1 = $0_1 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; - var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $271_1 = 0, $276_1 = 0, $272$hi = 0, $273$hi = 0, $29_1 = 0, $63_1 = 0, $168_1 = 0; - $5_1 = global$0 - 320 | 0; + var $5_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $289_1 = 0, $294_1 = 0, $290$hi = 0, $291$hi = 0, $29_1 = 0, $63_1 = 0, $162_1 = 0; + $5_1 = global$0 - 368 | 0; global$0 = $5_1; - HEAP32[($5_1 + 316 | 0) >> 2] = $0_1; - HEAP32[($5_1 + 312 | 0) >> 2] = $1_1; - HEAP32[($5_1 + 308 | 0) >> 2] = $2_1; - HEAP32[($5_1 + 304 | 0) >> 2] = 0; - HEAP32[($5_1 + 300 | 0) >> 2] = $250(HEAP32[($5_1 + 312 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5_1 + 364 | 0) >> 2] = $0_1; + HEAP32[($5_1 + 360 | 0) >> 2] = $1_1; + HEAP32[($5_1 + 356 | 0) >> 2] = $2_1; + HEAP32[($5_1 + 352 | 0) >> 2] = 0; + HEAP32[($5_1 + 348 | 0) >> 2] = $250(HEAP32[($5_1 + 360 | 0) >> 2] | 0 | 0) | 0; label$1 : { - if (!((HEAP32[($5_1 + 300 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[($5_1 + 348 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$1 } - HEAP32[($5_1 + 304 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 300 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 348 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; } - HEAP32[($5_1 + 296 | 0) >> 2] = 1; - HEAP32[($5_1 + 292 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 308 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5_1 + 344 | 0) >> 2] = 1; + HEAP32[($5_1 + 340 | 0) >> 2] = HEAP32[(HEAP32[($5_1 + 356 | 0) >> 2] | 0) >> 2] | 0; label$2 : while (1) { $29_1 = 0; label$3 : { - if (!((HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$3 } - $29_1 = (HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) != (0 | 0); + $29_1 = (HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) != (0 | 0); } label$4 : { if (!($29_1 & 1 | 0)) { break label$4 } - HEAP32[($5_1 + 288 | 0) >> 2] = 0; + HEAP32[($5_1 + 336 | 0) >> 2] = 0; i64toi32_i32$0 = 0; - $271_1 = 0; - i64toi32_i32$1 = $5_1 + 280 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $271_1; + $289_1 = 0; + i64toi32_i32$1 = $5_1 + 328 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $289_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; - i64toi32_i32$1 = $5_1 + 272 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $271_1; + i64toi32_i32$1 = $5_1 + 320 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $289_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; - i64toi32_i32$1 = $5_1 + 264 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $271_1; + i64toi32_i32$1 = $5_1 + 312 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $289_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; - i64toi32_i32$1 = $5_1 + 256 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $271_1; + i64toi32_i32$1 = $5_1 + 304 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $289_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $5_1; - HEAP32[($5_1 + 248 | 0) >> 2] = $271_1; - HEAP32[($5_1 + 252 | 0) >> 2] = i64toi32_i32$0; - HEAP32[($5_1 + 244 | 0) >> 2] = $214(HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 248 | 0 | 0) | 0; + HEAP32[($5_1 + 296 | 0) >> 2] = $289_1; + HEAP32[($5_1 + 300 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5_1 + 292 | 0) >> 2] = $214(HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 296 | 0 | 0) | 0; $63_1 = 0; label$5 : { - if (!(($139((HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0 | 0) | 0) & 1 | 0)) { + if (!(($139((HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0 | 0) | 0) & 1 | 0)) { break label$5 } - i64toi32_i32$0 = $141((HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0 | 0) | 0; + i64toi32_i32$0 = $141((HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 64 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - $272$hi = i64toi32_i32$1; + $290$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; - $273$hi = i64toi32_i32$1; - i64toi32_i32$1 = $272$hi; - i64toi32_i32$1 = $273$hi; - i64toi32_i32$1 = $272$hi; - i64toi32_i32$1 = $273$hi; - i64toi32_i32$1 = $272$hi; + $291$hi = i64toi32_i32$1; + i64toi32_i32$1 = $290$hi; + i64toi32_i32$1 = $291$hi; + i64toi32_i32$1 = $290$hi; + i64toi32_i32$1 = $291$hi; + i64toi32_i32$1 = $290$hi; i64toi32_i32$2 = i64toi32_i32$0; - i64toi32_i32$0 = $273$hi; + i64toi32_i32$0 = $291$hi; $63_1 = (i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0; } - HEAP8[($5_1 + 243 | 0) >> 0] = $63_1 & 1 | 0; + HEAP8[($5_1 + 291 | 0) >> 0] = $63_1 & 1 | 0; label$6 : { - if (!((HEAPU8[((HEAP32[($5_1 + 316 | 0) >> 2] | 0) + 271 | 0) >> 0] | 0) & 1 | 0)) { + if (!((HEAPU8[((HEAP32[($5_1 + 364 | 0) >> 2] | 0) + 271 | 0) >> 0] | 0) & 1 | 0)) { break label$6 } label$7 : { - if (!(($220(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + if (!(($220(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$7 } - if ((HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 128 | 0) { + if ((HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) & 128 | 0) { break label$7 } label$8 : { - if (!((HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$8 } - if (!((HEAP32[(HEAP32[($5_1 + 244 | 0) >> 2] | 0) >> 2] | 0) & 2 | 0)) { + if (!((HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) & 2 | 0)) { break label$8 } - $160(32 | 0, HEAP32[($5_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 71798 | 0, 0 | 0) | 0; + $160(32 | 0, HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 71798 | 0, 0 | 0) | 0; } } } + HEAP8[($5_1 + 290 | 0) >> 0] = 0; label$9 : { - if (!((HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$9 } - HEAP8[($5_1 + 242 | 0) >> 0] = (($299(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0; - HEAP8[($5_1 + 241 | 0) >> 0] = 0; + HEAP8[($5_1 + 289 | 0) >> 0] = (($299(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0; label$10 : { - if (!(($220(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + if (!(($220(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$10 } - if (!((HEAPU8[($5_1 + 242 | 0) >> 0] | 0) & 1 | 0)) { + if (!((HEAPU8[($5_1 + 289 | 0) >> 0] | 0) & 1 | 0)) { break label$10 } - $221($5_1 + 180 | 0 | 0, HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0); + $221($5_1 + 228 | 0 | 0, HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0); label$11 : { - if (!(($325($5_1 + 180 | 0 | 0) | 0) & 1 | 0)) { + if (!(($325($5_1 + 228 | 0 | 0) | 0) & 1 | 0)) { break label$11 } - HEAP8[($5_1 + 241 | 0) >> 0] = 1; + HEAP8[($5_1 + 290 | 0) >> 0] = 1; } - $189($5_1 + 180 | 0 | 0); + $189($5_1 + 228 | 0 | 0); } - label$12 : { - if ((HEAPU8[($5_1 + 241 | 0) >> 0] | 0) & 1 | 0) { - break label$12 + } + label$12 : { + label$13 : { + if (!(($322(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 } - $366(HEAP32[($5_1 + 316 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 242 | 0) >> 0] | 0) & 1 | 0 | 0); + $216($5_1 + 184 | 0 | 0, HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0 | 0); + $162_1 = 1; + $368(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, $5_1 + 184 | 0 | 0, HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 291 | 0) >> 0] | 0) & 1 | 0 | 0, $162_1 | 0, $162_1 | 0); + $339($5_1 + 184 | 0 | 0); + break label$12; } - } - label$13 : { + HEAP8[($5_1 + 183 | 0) >> 0] = (($299(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0; label$14 : { - if (!(($322(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + if ((HEAPU8[($5_1 + 290 | 0) >> 0] | 0) & 1 | 0) { break label$14 } - $168_1 = 1; - $368(HEAP32[($5_1 + 316 | 0) >> 2] | 0 | 0, HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0, HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 243 | 0) >> 0] | 0) & 1 | 0 | 0, $168_1 | 0, $168_1 | 0); - break label$13; + $366(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($5_1 + 183 | 0) >> 0] | 0) & 1 | 0 | 0); } label$15 : { - if (!((HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$15 } - if (!(($220(HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + if (!(($220(HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { break label$15 } - $221($5_1 + 120 | 0 | 0, HEAP32[($5_1 + 304 | 0) >> 2] | 0 | 0); + $221($5_1 + 120 | 0 | 0, HEAP32[($5_1 + 352 | 0) >> 2] | 0 | 0); label$16 : { if (($180($5_1 + 120 | 0 | 0) | 0) & 1 | 0) { break label$16 @@ -55221,8 +55194,8 @@ function asmFunc(imports) { } break label$17; } - $221($5_1 + 60 | 0 | 0, (HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0); - HEAP32[($5_1 + 56 | 0) >> 2] = $215(HEAP32[($5_1 + 244 | 0) >> 2] | 0 | 0) | 0; + $221($5_1 + 60 | 0 | 0, (HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0); + HEAP32[($5_1 + 56 | 0) >> 2] = $215(HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) | 0; $217($5_1 + 60 | 0 | 0, HEAP32[($5_1 + 56 | 0) >> 2] | 0 | 0); $189($5_1 + 60 | 0 | 0); } @@ -55230,45 +55203,45 @@ function asmFunc(imports) { $189($5_1 + 120 | 0 | 0); } } - HEAP32[($5_1 + 292 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; - HEAP32[($5_1 + 304 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 304 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; - HEAP32[($5_1 + 296 | 0) >> 2] = (HEAP32[($5_1 + 296 | 0) >> 2] | 0) + 1 | 0; - $339($5_1 + 248 | 0 | 0); + HEAP32[($5_1 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 352 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 352 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + HEAP32[($5_1 + 344 | 0) >> 2] = (HEAP32[($5_1 + 344 | 0) >> 2] | 0) + 1 | 0; + $339($5_1 + 296 | 0 | 0); continue label$2; } break label$2; }; label$19 : { label$20 : while (1) { - if (!((HEAP32[($5_1 + 292 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[($5_1 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$19 } HEAP32[($5_1 + 48 | 0) >> 2] = 0; i64toi32_i32$2 = 0; - $276_1 = 0; + $294_1 = 0; i64toi32_i32$1 = $5_1 + 40 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $276_1; + HEAP32[i64toi32_i32$1 >> 2] = $294_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $5_1 + 32 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $276_1; + HEAP32[i64toi32_i32$1 >> 2] = $294_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $5_1 + 24 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $276_1; + HEAP32[i64toi32_i32$1 >> 2] = $294_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $5_1 + 16 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $276_1; + HEAP32[i64toi32_i32$1 >> 2] = $294_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; i64toi32_i32$1 = $5_1; - HEAP32[($5_1 + 8 | 0) >> 2] = $276_1; + HEAP32[($5_1 + 8 | 0) >> 2] = $294_1; HEAP32[($5_1 + 12 | 0) >> 2] = i64toi32_i32$2; - HEAP32[($5_1 + 4 | 0) >> 2] = $214(HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; - $366(HEAP32[($5_1 + 316 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 292 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); - HEAP32[($5_1 + 292 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 292 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5_1 + 4 | 0) >> 2] = $214(HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0 | 0, $5_1 + 8 | 0 | 0) | 0; + $366(HEAP32[($5_1 + 364 | 0) >> 2] | 0 | 0, (HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($5_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($5_1 + 340 | 0) >> 2] | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + HEAP32[($5_1 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5_1 + 340 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; $339($5_1 + 8 | 0 | 0); continue label$20; }; } - global$0 = $5_1 + 320 | 0; + global$0 = $5_1 + 368 | 0; return 0 | 0; } @@ -56049,7 +56022,7 @@ function asmFunc(imports) { $716(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); break label$5; } - fimport$0(73201 | 0, 75115 | 0, 35968 | 0, 66950 | 0); + fimport$0(73201 | 0, 75115 | 0, 35943 | 0, 66950 | 0); wasm2js_trap(); } } @@ -56146,115 +56119,116 @@ function asmFunc(imports) { function $716($0_1, $1_1) { $0_1 = $0_1 | 0; $1_1 = $1_1 | 0; - var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $176_1 = 0, $177$hi = 0, $178$hi = 0, $75_1 = 0, $110_1 = 0, i64toi32_i32$2 = 0; - $4_1 = global$0 - 64 | 0; + var $4_1 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $190_1 = 0, $191$hi = 0, $192$hi = 0, $75_1 = 0, i64toi32_i32$2 = 0; + $4_1 = global$0 - 112 | 0; global$0 = $4_1; - HEAP32[($4_1 + 60 | 0) >> 2] = $0_1; - HEAP32[($4_1 + 56 | 0) >> 2] = $1_1; + HEAP32[($4_1 + 108 | 0) >> 2] = $0_1; + HEAP32[($4_1 + 104 | 0) >> 2] = $1_1; label$1 : { label$2 : { - if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9036 | 0) & 1 | 0)) { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9036 | 0) & 1 | 0)) { break label$2 } - $722(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); - $723(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $722(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0); + $723(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; break label$1; } label$3 : { label$4 : { - if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9027 | 0) & 1 | 0)) { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9027 | 0) & 1 | 0)) { break label$4 } label$5 : { - if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$5 } - $610(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $610(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); } label$6 : { - if (!((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + if (!((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { break label$6 } - HEAP32[($4_1 + 48 | 0) >> 2] = 0; + HEAP32[($4_1 + 96 | 0) >> 2] = 0; i64toi32_i32$0 = 0; - $176_1 = 0; - i64toi32_i32$1 = $4_1 + 40 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $176_1; + $190_1 = 0; + i64toi32_i32$1 = $4_1 + 88 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; - i64toi32_i32$1 = $4_1 + 32 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $176_1; + i64toi32_i32$1 = $4_1 + 80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; - i64toi32_i32$1 = $4_1 + 24 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $176_1; + i64toi32_i32$1 = $4_1 + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; - i64toi32_i32$1 = $4_1 + 16 | 0; - HEAP32[i64toi32_i32$1 >> 2] = $176_1; + i64toi32_i32$1 = $4_1 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190_1; HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; i64toi32_i32$1 = $4_1; - HEAP32[($4_1 + 8 | 0) >> 2] = $176_1; - HEAP32[($4_1 + 12 | 0) >> 2] = i64toi32_i32$0; - HEAP32[($4_1 + 4 | 0) >> 2] = $214(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $4_1 + 8 | 0 | 0) | 0; + HEAP32[($4_1 + 56 | 0) >> 2] = $190_1; + HEAP32[($4_1 + 60 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4_1 + 52 | 0) >> 2] = $214(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $4_1 + 56 | 0 | 0) | 0; $75_1 = 0; label$7 : { - if (!(($139((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 64 | 0 | 0) | 0) & 1 | 0)) { + if (!(($139((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 64 | 0 | 0) | 0) & 1 | 0)) { break label$7 } - i64toi32_i32$0 = $141((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 64 | 0 | 0) | 0; + i64toi32_i32$0 = $141((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 64 | 0 | 0) | 0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; - $177$hi = i64toi32_i32$1; + $191$hi = i64toi32_i32$1; i64toi32_i32$1 = 0; - $178$hi = i64toi32_i32$1; - i64toi32_i32$1 = $177$hi; - i64toi32_i32$1 = $178$hi; - i64toi32_i32$1 = $177$hi; - i64toi32_i32$1 = $178$hi; - i64toi32_i32$1 = $177$hi; + $192$hi = i64toi32_i32$1; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$1 = $192$hi; + i64toi32_i32$1 = $191$hi; + i64toi32_i32$1 = $192$hi; + i64toi32_i32$1 = $191$hi; i64toi32_i32$2 = i64toi32_i32$0; - i64toi32_i32$0 = $178$hi; + i64toi32_i32$0 = $192$hi; $75_1 = (i64toi32_i32$2 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0; } - HEAP8[($4_1 + 3 | 0) >> 0] = $75_1 & 1 | 0; - $366(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); - $110_1 = 0; - $368(HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0 | 0, $110_1 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 3 | 0) >> 0] | 0) & 1 | 0 | 0, 1 | 0, $110_1 | 0); - $339($4_1 + 8 | 0 | 0); + HEAP8[($4_1 + 51 | 0) >> 0] = $75_1 & 1 | 0; + $366(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); + $216($4_1 + 4 | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + $368(HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 52 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 4 | 0 | 0, $4_1 + 4 | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($4_1 + 51 | 0) >> 0] | 0) & 1 | 0 | 0, 1 | 0, 0 | 0); + $339($4_1 + 4 | 0 | 0); + $339($4_1 + 56 | 0 | 0); } - $724(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $724(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; break label$3; } label$8 : { label$9 : { - if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9005 | 0) & 1 | 0)) { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9005 | 0) & 1 | 0)) { break label$9 } - $725(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $725(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; break label$8; } label$10 : { label$11 : { - if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9e3 | 0) & 1 | 0)) { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9e3 | 0) & 1 | 0)) { break label$11 } - $722(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); - $726(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $722(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $726(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; break label$10; } label$12 : { label$13 : { - if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9016 | 0) & 1 | 0)) { + if (!((HEAP32[(HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9016 | 0) & 1 | 0)) { break label$13 } - $727(HEAP32[($4_1 + 60 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 60 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 56 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 56 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + $727(HEAP32[($4_1 + 108 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 108 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[(HEAP32[($4_1 + 104 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0; break label$12; } - fimport$0(73201 | 0, 75115 | 0, 35904 | 0, 66753 | 0); + fimport$0(73201 | 0, 75115 | 0, 35879 | 0, 66753 | 0); wasm2js_trap(); } } } } } - global$0 = $4_1 + 64 | 0; + global$0 = $4_1 + 112 | 0; return; } @@ -56328,7 +56302,7 @@ function asmFunc(imports) { $730(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); break label$1; } - fimport$0(73201 | 0, 75115 | 0, 35838 | 0, 66838 | 0); + fimport$0(73201 | 0, 75115 | 0, 35810 | 0, 66838 | 0); wasm2js_trap(); } global$0 = $4_1 + 16 | 0; @@ -56359,7 +56333,7 @@ function asmFunc(imports) { $732(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 8 | 0) >> 2] | 0 | 0); break label$3; } - fimport$0(73201 | 0, 75115 | 0, 34892 | 0, 66807 | 0); + fimport$0(73201 | 0, 75115 | 0, 34857 | 0, 66807 | 0); wasm2js_trap(); } } @@ -56670,7 +56644,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (9041 | 0) & 1 | 0) { break label$1 } - fimport$0(79836 | 0, 75115 | 0, 35704 | 0, 66893 | 0); + fimport$0(79836 | 0, 75115 | 0, 35676 | 0, 66893 | 0); wasm2js_trap(); } HEAP32[($4_1 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4_1 + 76 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; @@ -56765,7 +56739,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[(HEAP32[($4_1 + 72 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (9008 | 0) & 1 | 0) { break label$1 } - fimport$0(76796 | 0, 75115 | 0, 35654 | 0, 66920 | 0); + fimport$0(76796 | 0, 75115 | 0, 35626 | 0, 66920 | 0); wasm2js_trap(); } HEAP32[($4_1 + 64 | 0) >> 2] = 0; @@ -56836,7 +56810,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[(HEAP32[($4_1 + 8 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0 | 0) == (9015 | 0) & 1 | 0) { break label$1 } - fimport$0(76439 | 0, 75115 | 0, 35785 | 0, 66728 | 0); + fimport$0(76439 | 0, 75115 | 0, 35757 | 0, 66728 | 0); wasm2js_trap(); } label$2 : { @@ -56925,7 +56899,7 @@ function asmFunc(imports) { if ((HEAP32[(HEAP32[((HEAP32[($4_1 + 136 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (9017 | 0) & 1 | 0) { break label$5 } - fimport$0(79323 | 0, 75115 | 0, 34609 | 0, 66869 | 0); + fimport$0(79323 | 0, 75115 | 0, 34574 | 0, 66869 | 0); wasm2js_trap(); } HEAP32[($4_1 + 128 | 0) >> 2] = 0; @@ -57820,7 +57794,7 @@ function asmFunc(imports) { $751(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); break label$5; } - fimport$0(73201 | 0, 75115 | 0, 37369 | 0, 66981 | 0); + fimport$0(73201 | 0, 75115 | 0, 37343 | 0, 66981 | 0); wasm2js_trap(); } } @@ -57876,7 +57850,7 @@ function asmFunc(imports) { $754(HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); break label$9; } - fimport$0(73201 | 0, 75115 | 0, 37332 | 0, 71910 | 0); + fimport$0(73201 | 0, 75115 | 0, 37306 | 0, 71910 | 0); wasm2js_trap(); } } @@ -57932,7 +57906,7 @@ function asmFunc(imports) { $618(HEAP32[((HEAP32[($4_1 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($4_1 + 12 | 0) >> 2] | 0 | 0); break label$1; } - fimport$0(73201 | 0, 75115 | 0, 37258 | 0, 66779 | 0); + fimport$0(73201 | 0, 75115 | 0, 37232 | 0, 66779 | 0); wasm2js_trap(); } global$0 = $4_1 + 16 | 0;