diff --git a/app.py b/app.py index 59d7032..21cc7f2 100644 --- a/app.py +++ b/app.py @@ -5,7 +5,7 @@ import os app = Flask(__name__) # Directory containing EPUB files -EPUBS_DIR = './bookshelf/' +EPUBS_DIR = './bibi-bookshelf/' @app.route('/') def index(): diff --git a/bibi-bookshelf/Teaching Resistance_ Radicals, Revolutiona - John Mink.epub b/bibi-bookshelf/Teaching Resistance_ Radicals, Revolutiona - John Mink.epub new file mode 100644 index 0000000..980db57 Binary files /dev/null and b/bibi-bookshelf/Teaching Resistance_ Radicals, Revolutiona - John Mink.epub differ diff --git a/bibi-bookshelf/Teaching.epub b/bibi-bookshelf/Teaching.epub new file mode 100644 index 0000000..10c251d Binary files /dev/null and b/bibi-bookshelf/Teaching.epub differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR.epub b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR.epub new file mode 100644 index 0000000..c11f1ad Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR.epub differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/cov.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/cov.png new file mode 100644 index 0000000..eae75a1 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/cov.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/nav.xhtml b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/nav.xhtml new file mode 100644 index 0000000..8661ed9 --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/nav.xhtml @@ -0,0 +1,26 @@ + + + + Nav + + +
+

ToC

+
+ + + + diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p01.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p01.png new file mode 100644 index 0000000..eae6e02 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p01.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p02.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p02.png new file mode 100644 index 0000000..9312e2c Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p02.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p03.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p03.png new file mode 100644 index 0000000..fbf0cc7 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p03.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p04.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p04.png new file mode 100644 index 0000000..13f7578 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p04.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p05.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p05.png new file mode 100644 index 0000000..623d70a Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p05.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p06.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p06.png new file mode 100644 index 0000000..ee3bcce Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p06.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p07.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p07.png new file mode 100644 index 0000000..a65eff7 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/p07.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/package.opf b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/package.opf new file mode 100644 index 0000000..3fa98e0 --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/CONTENT/package.opf @@ -0,0 +1,35 @@ + + + + urn:uuid:C3171445-62C6-470B-814B-14D15745BA8E + Sample: Pre-Paginated LtR + ja-jp + Bibi Lalalu + bibi.epub.link + 2020-03-11T12:00:00Z + pre-paginated + portrait + landscape + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/META-INF/container.xml b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/META-INF/container.xml new file mode 100644 index 0000000..9c242ff --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/mimetype b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/mimetype new file mode 100644 index 0000000..57ef03f --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_LtR/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL.epub b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL.epub new file mode 100644 index 0000000..ca972ff Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL.epub differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/cov.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/cov.png new file mode 100644 index 0000000..9cdbcdf Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/cov.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/nav.xhtml b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/nav.xhtml new file mode 100644 index 0000000..8661ed9 --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/nav.xhtml @@ -0,0 +1,26 @@ + + + + Nav + + +
+

ToC

+
+ + + + diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p01.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p01.png new file mode 100644 index 0000000..eae6e02 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p01.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p02.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p02.png new file mode 100644 index 0000000..9312e2c Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p02.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p03.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p03.png new file mode 100644 index 0000000..fbf0cc7 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p03.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p04.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p04.png new file mode 100644 index 0000000..13f7578 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p04.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p05.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p05.png new file mode 100644 index 0000000..623d70a Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p05.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p06.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p06.png new file mode 100644 index 0000000..ee3bcce Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p06.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p07.png b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p07.png new file mode 100644 index 0000000..a65eff7 Binary files /dev/null and b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/p07.png differ diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/package.opf b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/package.opf new file mode 100644 index 0000000..e0100c9 --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/CONTENT/package.opf @@ -0,0 +1,35 @@ + + + + urn:uuid:D7F57A3B-8D31-4004-A5BF-543B40DA21E8 + Sample: Pre-Paginated RtL + ja-jp + Bibi Lalalu + bibi.epub.link + 2020-03-11T12:00:00Z + pre-paginated + portrait + landscape + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/META-INF/container.xml b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/META-INF/container.xml new file mode 100644 index 0000000..9c242ff --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/mimetype b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/mimetype new file mode 100644 index 0000000..57ef03f --- /dev/null +++ b/bibi-bookshelf/__samples/Sample_Pre-Paginated_RtL/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/bibi-bookshelf/interact.epub b/bibi-bookshelf/interact.epub new file mode 100644 index 0000000..a6f8b91 Binary files /dev/null and b/bibi-bookshelf/interact.epub differ diff --git a/bibi-bookshelf/palestine-a-socialist-introduction.epub b/bibi-bookshelf/palestine-a-socialist-introduction.epub new file mode 100644 index 0000000..ea2a5ed Binary files /dev/null and b/bibi-bookshelf/palestine-a-socialist-introduction.epub differ diff --git a/bibi-bookshelf/sample.epub b/bibi-bookshelf/sample.epub new file mode 100644 index 0000000..e598b7a Binary files /dev/null and b/bibi-bookshelf/sample.epub differ diff --git a/bibi/and/jo.js b/bibi/and/jo.js new file mode 100644 index 0000000..ec1b10b --- /dev/null +++ b/bibi/and/jo.js @@ -0,0 +1,193 @@ +(() => { 'use strict'; if(window['bibi:jo']) return; + + + + +const Jo = window['bibi:jo'] = { 'version': '____Bibi-Version____', + CSS: require('./jo.scss'), + Status: '', + Bibis: [], + TrustworthyOrigins: [location.origin], + Loaded: 0, +}; + +const BibiEventRE = /^bibi:[a-z][a-z:_\-]*$/; + + + + +Jo.Bibi = function() { return Jo.callBibi.apply(Jo, arguments); }; + +Jo.callBibi = (Love) => { + let Anchor = null, Frame = null, Receiver = null, ToReceive = []; + try { + if(!(Love instanceof HTMLElement)) { + if(Love && typeof Love == 'object') { + if(!Love['bibi-href']) return null; + Anchor = Jo.create('a', { href: Love['bibi-href'] }); + Frame = Jo.create('iframe'); + Receiver = Frame; + } + if(Love['bibi-receive'] instanceof Array) ToReceive = Love['bibi-receive']; + } else { + if(/^iframe$/i.test(Love.tagName)) { + const BibiHref = Love.getAttribute('data-bibi-href'); + if(!BibiHref) return null; + Anchor = Love.parentNode.insertBefore(Jo.create('a', { href: BibiHref }), Love); + Frame = Love.parentNode.removeChild(Love); + } else if(/^a$/i.test(Love.tagName)) { + if(!Love.href) return null; + Anchor = Love; + Frame = Jo.create('iframe'); + (BibiClass => BibiClass ? BibiClass.trim().replace(/\s+/, ' ').split(' ').forEach(CN => CN ? Frame.classList.add(CN) : false) : false)(Anchor.getAttribute('data-bibi-class')); + (BibiID => BibiID ? Frame.setAttribute('id', BibiID ) : false)(Anchor.getAttribute('data-bibi-id' )); + (BibiStyle => BibiStyle ? Frame.setAttribute('style', BibiStyle) : false)(Anchor.getAttribute('data-bibi-style')); + } + Receiver = Love; + let BibiReceive = Receiver.getAttribute('data-bibi-receive'); + if(BibiReceive && (BibiReceive = BibiReceive.replace(/\s+/, ''))) ToReceive = BibiReceive.split(','); + + } + } catch(Err) { return null; } if(!Anchor || !Frame || !Receiver) return null; + const Bibi = Anchor.Bibi = Frame.Bibi = { Jo: Jo, Anchor: Anchor, Frame: Frame, Receiver: Receiver, Index: Jo.Bibis.length, Status: '' }; + Bibi.listen = (EN, fun) => !BibiEventRE.test(EN) ? false : Receiver.addEventListener(EN, Eve => fun.call(Receiver, Eve.detail), false); + Bibi.dispatch = (EN, Det = Bibi) => !BibiEventRE.test(EN) ? false : Receiver.dispatchEvent(new CustomEvent(EN, { detail: Det })); + Bibi.receive = (EN) => !BibiEventRE.test(EN) ? false : Frame.contentWindow.E.add(EN, Det => Bibi.dispatch(EN, Det)); + Bibi.post = (EN, V) => !BibiEventRE.test(EN) ? false : Frame.contentWindow.postMessage(`{ "${ EN }" : "${ V }" }`, Anchor.origin); + Bibi.listen('bibi:initialized', (Status) => Bibi.Status = Bibi.Initialized = Status); if(ToReceive.length) Bibi.listen('bibi:initialized', () => ToReceive.forEach(EN => Bibi.receive('' + EN.trim()))); + Bibi.listen('bibi:readied', (Status) => Bibi.Status = Bibi.Readied = Status); + Bibi.listen('bibi:prepared', (Status) => Bibi.Status = Bibi.Prepared = Status); + Bibi.listen('bibi:opened', (Status) => Bibi.Status = Bibi.Opened = Status); + Bibi.listen('bibi:opened', () => { + Bibi.move = (Distance) => Bibi.post('bibi:commands:move', Distance); + Bibi.focus = (Target) => Bibi.post('bibi:commands:focus', Target); + Bibi.changeView = (RVM) => Bibi.post('bibi:commands:change-view', RVM); + Bibi.togglePanel = () => Bibi.post('bibi:commands:toggle-panel', ''); + }); + Anchor.style.display = 'none'; + if(!Jo.TrustworthyOrigins.includes(Anchor.origin)) Jo.TrustworthyOrigins.push(Anchor.origin); // It is NOT reflected to S['trustworthy-origins']. + Anchor.href += (/#/.test(Anchor.href) ? '&' : '#') + (() => { + const Fragments = new Jo.Fragments(); + Fragments.add('parent-bibi-index', Bibi.Index); + [ + 'autostart-embedded', 'autostart', + 'p', + 'fix-reader-view-mode', 'fix-view', 'view-unchangeable', + 'full-breadth-layout-in-scroll', + 'iipp', + 'nav', + 'reader-view-mode', 'rvm', 'view', + 'start-embedded-in-new-window', 'start-in-new-window' + ].forEach(K => { let V = '' + (Love.ownerDocument ? Love.getAttribute('data-bibi-' + K) || '' : Love['bibi-' + K]); + if(V && (() => { switch(K) { + case 'p': return /^(\d*\.)?\d+$/; + case 'iipp': return /^(\d*\.)?\d+$/; + case 'nav': return /^[1-9][0-9]*$/; + case 'rvm': case 'view': K = 'reader-view-mode'; + case 'reader-view-mode': return /^(paged|horizontal|vertical)$/; + case 'autostart': case 'start-in-new-window': K = K.replace('start', 'start-embedded'); break; + case 'view-unchangeable': K = 'fix-reader-view-mode'; break; + } return /^(true|false|1|0|yes|no|mobile|desktop)$/; })().test(V)) Fragments.add(K, V); + }); + return Fragments.make(); + })(); + Frame.classList.add('bibi-frame'); + Frame.setAttribute('frameborder', '0'); + Frame.setAttribute('scrolling', 'auto'); + Frame.setAttribute('allowfullscreen', 'true'); + Frame.src = Anchor.href; + Jo.Bibis.push(Bibi); + return Bibi; +}; + + + + +Jo.embed = () => { + const BibisToBeLoaded = [], BibisLoaded = []; + Array.prototype.forEach.call(document.body.querySelectorAll('*[data-bibi]'), Bed => { + if(Bed.getAttribute('data-bibi-processed')) return; + Bed.setAttribute('data-bibi-processed', 'true'); + const Bibi = new Jo.Bibi(Bed); + if(Bibi) BibisToBeLoaded.push(Bibi); + }); + if(!BibisToBeLoaded.length) return; + //Jo.listen('bibi:jo:embedded', Bibis => console.log(`[Bibi:Jo] Embedded. - ${ Bibis.length } of ${ Jo.Bibis.length }`)); + BibisToBeLoaded.forEach(Bibi => { + const Anchor = Bibi.Anchor, Frame = Bibi.Frame; + Bibi.listen('bibi:initialized', () => (BibisLoaded.push(Bibi) < BibisToBeLoaded.length) ? false : Jo.dispatch('bibi:jo:embedded', BibisLoaded)); + Anchor.parentNode.insertBefore(Frame, Anchor); + }); +}; + + + + +document.addEventListener('DOMContentLoaded', Jo.embed), window.addEventListener('load', Jo.embed); + + + + +window.addEventListener('message', Eve => { + if(!Eve || !Jo.judge(Eve.data, Eve.origin)) return false; try { + Data = JSON.parse(Data); + if(typeof Data != 'object' || !Data) return false; + for(let EN in Data) Jo.dispatch(EN, Data[EN]); + return true; } catch(Err) {} return false; +}, false); + + + + +// Utility + +Jo.create = (TagName, Properties) => { + const Ele = document.createElement(TagName); + for(let Attribute in Properties) Ele[Attribute] = Properties[Attribute]; + return Ele; +}; + +Jo.encode = (Str) => encodeURIComponent(Str).replace('(', '_BibiKakkoOpen_').replace(')', '_BibiKakkoClose_'); + +Jo.Fragments = function() { // constructor + this.FragmentKeys = []; + this.FragmentKeysAndValues = {}; + this.add = function(Key, Value) { + if(!this.FragmentKeys.includes(Key)) this.FragmentKeys.push(Key); + this.FragmentKeysAndValues[Key] = Value; + }; + this.make = function() { + if(!this.FragmentKeys.length) return ''; + const Fragments = []; + for(let l = this.FragmentKeys.length, i = 0; i < l; i++) Fragments.push(`${ this.FragmentKeys[i] }=${ Jo.encode(this.FragmentKeysAndValues[this.FragmentKeys[i]]) }`); + return `jo(${ Fragments.join('&') })`; + }; + return this; +}; + +Jo.judge = (Msg, Origin) => (Msg && typeof Msg == 'string' && Origin && typeof Origin == 'string' && Jo.TrustworthyOrigins.includes(Origin)); + +Jo.listen = (EN, fun) => !BibiEventRE.test(EN) ? false : document.addEventListener(EN, Eve => fun.call(document, Eve.detail)); +Jo.dispatch = (EN, Det = Jo) => !BibiEventRE.test(EN) ? false : document.dispatchEvent(new CustomEvent(EN, { detail: Det })); + + + + +// Polyfill + +if(!Array.prototype.includes) Array.prototype.includes = function(I) { for(let l = this.length, i = 0; i < l; i++) if(this[i] == I) return true; return false; }; + +if(!window.CustomEvent || (typeof window.CustomEvent !== 'function') && (window.CustomEvent.toString().indexOf('CustomEventConstructor') === -1)) { + window.CustomEvent = function(EventName, Arguments) { // constructor + Arguments = Arguments || { bubbles: false, cancelable: false, detail: undefined }; + const Eve = document.createEvent('CustomEvent'); + Eve.initCustomEvent(EventName, Arguments.bubbles, Arguments.cancelable, Arguments.detail); + return Eve; + }; + window.CustomEvent.prototype = window.Event.prototype; +} + + + + +})(); \ No newline at end of file diff --git a/bibi/and/jo.scss b/bibi/and/jo.scss new file mode 100644 index 0000000..1a2546d --- /dev/null +++ b/bibi/and/jo.scss @@ -0,0 +1,19 @@ +/*! Bibi Frame Style */ + +iframe.bibi-frame { + display: inline-block; + box-sizing: border-box; + position: relative; + margin: 0; + padding: 0; + border: solid 1px rgb(222,222,222); + border-radius: 1px; + max-width: 100%; + max-height: 100%; + width: 100%; + height: 100%; + vertical-align: top; + line-height: 1; + text-decoration: none; + background: transparent; +} \ No newline at end of file diff --git a/bibi/extensions/analytics.js b/bibi/extensions/analytics.js new file mode 100644 index 0000000..096d3ac --- /dev/null +++ b/bibi/extensions/analytics.js @@ -0,0 +1,51 @@ +Bibi.x({ + + id: 'Analytics', + description: 'Utilities for Tracking and Logging with Google Analytics.', + author: 'Satoru Matsushima (@satorumurmur)', + version: '1.2.0-demo' + +})(function() { + + 'use strict'; + + if(typeof this['tracking-id'] != 'string' || !this['tracking-id']) return; + + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', this['tracking-id'], 'auto', { 'allowLinker': true }); + ga('require', 'linker'); + ga('linker:autoLink', (Hosts => S['trustworthy-origins'].reduce((Hosts, Origin) => Hosts.push(Origin.replace(/^\w+:\/\//, '')), []))()); + + E.add('bibi:loaded-navigation', () => sML.forEach(I.Panel.BookInfo.Navigation.querySelectorAll('a'))(A => A.addEventListener('click', () => { + ga('send', { hitType: 'event', + eventCategory: `Bibi: Jumped by Navigation`, + eventAction: B.Path, + eventLabel: A.innerHTML.replace(/<[^>]*>/g, '') + ` - "${ A.getAttribute('data-bibi-original-href') }"`, + eventValue: undefined + }); + }))); + + E.add('bibi:played:by-button', () => { + ga('send', { hitType: 'event', + eventCategory: `Bibi: Played by Button`, + eventAction: B.Path, + eventLabel: S['parent-uri'] ? `on: ` + S['parent-uri'].replace(/#.+$/, '') : '', + eventValue: undefined + }); + }); + + E.add('bibi:scrolled', () => { + if(R.Current.Percent != 100) return false; + ga('send', { hitType: 'event', + eventCategory: `Bibi: Read Through`, + eventAction: B.Path, + eventLabel: (Date.now() - Bibi.TimeOrigin), + eventValue: undefined + }); + }); + +}); \ No newline at end of file diff --git a/bibi/extensions/epubcfi.js b/bibi/extensions/epubcfi.js new file mode 100644 index 0000000..e888dbb --- /dev/null +++ b/bibi/extensions/epubcfi.js @@ -0,0 +1,235 @@ +Bibi.x({ + + id: 'EPUBCFI', + description: 'Utilities for EPUBCFI', // An Example Is at the Bottom of This Document. + author: 'Satoru Matsushima (@satorumurmur)', + version: '1.2.0-demo' + +})(function() { + + 'use strict'; + + this.CFIString = ''; + this.Current = 0; + this.Log = false; + this.LogCorrection = false; + this.LogCancelation = false; + + this.parse = (CFIString, Scope) => { + if(!CFIString || typeof CFIString != 'string') return null; + try { CFIString = decodeURIComponent(CFIString); } catch(Err) { this.log(0, `Unregulated URIEncoding.`); return null; } + if(!Scope || typeof Scope != 'string' || typeof this['parse' + Scope] != 'function') Scope = 'Fragment'; + if(Scope == 'Fragment') CFIString = CFIString.replace(/^(epubcfi\()?/, 'epubcfi(').replace(/(\))?$/, ')'); + this.CFIString = CFIString, this.Current = 0; + if(this.Log) { + this.log(1, `Bibi EPUB-CFI`); + this.log(2, `parse`); + this.log(3, `CFIString: ${ this.CFIString }`); + } + return this['parse' + Scope](); + }; + + this.parseFragment = () => { + const Foothold = this.Current; + if(!this.parseString('epubcfi(')) return this.cancel(Foothold, `Fragment`); + const CFI = this.parseCFI(); + if(CFI === null) return this.cancel(Foothold); + if(!this.parseString(')')) return this.cancel(Foothold, `Fragment`); + return CFI; + }; + this.parseCFI = () => { + const Foothold = this.Current, CFI = { Type: 'CFI', Path: this.parsePath() }; + if(!CFI.Path) return this.cancel(Foothold, `CFI`); + if(this.parseString(',')) { + CFI.Start = this.parseLocalPath(); + if(!CFI.Start.Steps.length && !CFI.Start.TermStep) return this.cancel(Foothold, `CFI > Range`); + if(!this.parseString(',')) return this.cancel(Foothold, 'CFI > Range'); + CFI.End = this.parseLocalPath(); + if( !CFI.End.Steps.length && !CFI.End.TermStep) return this.cancel(Foothold, `CFI > Range`); + } + return CFI; + }; + this.parsePath = () => { + const Foothold = this.Current, Path = { Type: 'Path', Steps: [this.parseStep()] }, LocalPath = this.parseLocalPath(); + if(!Path.Steps[0]) return this.cancel(Foothold, `Path`); + if(LocalPath) Path.Steps = Path.Steps.concat(LocalPath.Steps); + else return this.cancel(Foothold, `Path`); + return Path; + }; + this.parseLocalPath = () => { + const Foothold = this.Current, LocalPath = { Type: 'LocalPath', Steps: [] }; + let StepRoot = LocalPath, Step = this.parseStep('Local'), TermStep = null; + while(Step !== null) { + StepRoot.Steps.push(Step); + Step = this.parseStep('Local'); + if(!Step) break; + if(Step.Type == 'IndirectStep') { + const IndirectPath = { Type: 'IndirectPath', Steps: [] }; + StepRoot.Steps.push(IndirectPath); + StepRoot = IndirectPath; + } else if(Step.Type == 'TermStep') { + TermStep = Step; + break; + } + } + if(TermStep) StepRoot.Steps.push(TermStep); + return (LocalPath.Steps.length ? LocalPath : null); + }; + this.parseStep = Local => { + const Foothold = this.Current, Step = {}; + if( this.parseString( '/')) Step.Type = 'Step'; + else if(Local && this.parseString('!/')) Step.Type = 'IndirectStep'; + else if(Local && this.parseString( ':')) Step.Type = 'TermStep'; + else return this.cancel(Foothold, `Step`); + Step.Index = this.parseString(/^(0|[1-9][0-9]*)/); + if(Step.Index === null) return this.cancel(Foothold, `Step`); + Step.Index = parseInt(Step.Index); + if(this.parseString('[')) { + if(Step.Type != 'TermStep') { + Step.ID = this.parseString(/^[a-zA-Z_:][a-zA-Z0-9_:\-\.]+/); + if(!Step.ID) return this.cancel(Foothold, `Step > Assertion > ID`); + } else { + const CSV = [], Side = null, ValueRegExp = /^((\^[\^\[\]\(\)\,\;\=])|[_a-zA-Z0-9%\- ])*/; + CSV.push(this.parseString(ValueRegExp)); + if(this.parseString(',')) CSV.push(this.parseString(ValueRegExp)); + if(CSV[0]) Step.Preceding = CSV[0]; + if(CSV[1]) Step.Following = CSV[1]; + if(this.parseString(/^;s=/)) Side = this.parseString(/^[ab]/); + if(Side) Step.Side = Side; + if(!Step.Preceding && !Step.Following && !Step.Side) return this.cancel(Foothold, `Step > Assertion > TextLocation`); + } + if(!this.parseString(']')) return this.cancel(Foothold, `Step > Assertion`); + } + return Step; + }; + this.parseString = S => { + let Correction = null, Matched = false; + if(S instanceof RegExp) { + const CFIString = this.CFIString.substr(this.Current, this.CFIString.length - this.Current); + if(S.test(CFIString)) { + Matched = true; + S = CFIString.match(S)[0]; + } + } else if(this.CFIString.substr(this.Current, S.length) === S) { + Matched = true; + } + if(Matched) { + this.Current += S.length; + Correction = S; + } + return this.correct(Correction); + }; + + this.correct = Correction => { + if(this.Log && this.LogCorrection && Correction) this.log(3, Correction); + return Correction; + }; + this.cancel = (Foothold, Parser) => { + if(this.Log && this.LogCancelation) this.log(4, `cancel: parse ${ Parser } (${ Foothold }-${ this.Current }/${ this.CFIString.length })`); + if(typeof Foothold == 'number') this.Current = Foothold; + return null; + }; + this.log = (Lv, Message) => { + if(!this.Log) return; + if(Lv == 0) Message = `[ERROR] ${ Message }`; + else if(Lv == 1) Message = `---------------- ${ Message } ----------------`; + else if(Lv == 2) Message = Message; + else if(Lv == 3) Message = ` - ${ Message }`; + else if(Lv == 4) Message = ` . ${ Message }`; + O.log(`EPUBCFI: ${ Message }`); + }; + + this.getDestination = CFIString => { + const CFI = X['EPUBCFI'].parse(CFIString); + if(!CFI || CFI.Path.Steps.length < 2 || !CFI.Path.Steps[1].Index || CFI.Path.Steps[1].Index % 2 == 1) return null; + const ItemIndexInAll = CFI.Path.Steps[1].Index / 2 - 1; + let ElementSelector = null, TextNodeIndex = null, TermStep = null, IndirectPath = null; + if(CFI.Path.Steps[2] && CFI.Path.Steps[2].Steps) { + ElementSelector = ''; + CFI.Path.Steps[2].Steps.forEach((Step, i) => { + if(Step.Type == 'IndirectPath') { IndirectPath = Step; return false; } + if(Step.Type == 'TermStep') { TermStep = Step; return false; } + if(Step.Index % 2 == 1) { + TextNodeIndex = Step.Index - 1; + if(i != CFI.Path.Steps[2].Steps.length - 2) return false; + } + if(TextNodeIndex === null) ElementSelector = Step.ID ? '#' + Step.ID : ElementSelector + '>*:nth-child(' + (Step.Index / 2) + ')'; + }); + if(ElementSelector && /^>/.test(ElementSelector)) ElementSelector = 'html' + ElementSelector; + if(!ElementSelector) ElementSelector = null; + } + return { + CFI: CFI, + CFIString: CFIString, + ItemIndexInAll: ItemIndexInAll, + ElementSelector: ElementSelector, + TextNodeIndex: TextNodeIndex, + TermStep: TermStep, + IndirectPath: IndirectPath + }; + }; + +}); + +/* ----------------------------------------------------------------------------------------------------------------- + + // EXAMPLE: + + X.EPUBCFI.parse('epubcfi(/6/4!/4/10!/4/2:32[All%20You%20Need%20Is,Love;s=a])'); // returns following object. + +-------------------------------------------------------------------------------------------------------------------- + +{ + Type: 'CFI', + Path: { + Type: 'Path', + Steps: [ + { + Type: 'Step', + Index: '6' + }, + { + Type: 'Step', + Index: '4' + }, + { + Type: 'IndirectPath', + Steps: [ + { + Type: 'IndirectStep', + Index: '4' + }, + { + Type: 'Step', + Index: '10' + }, + { + Type: 'IndirectPath', + Steps: [ + { + Type: 'IndirectStep', + Index: '4' + }, + { + Type: 'Step', + Index: '2' + } + ], + TermStep: { + Type: 'TermStep', + Index: '32', + Preceding: 'All You Need Is', + Following: 'Love', + Side: 'a' + } + } + ] + } + ] + } +} + +----------------------------------------------------------------------------------------------------------------- */ + + + diff --git a/bibi/extensions/extractor/at-once.js b/bibi/extensions/extractor/at-once.js new file mode 100644 index 0000000..b0ef027 --- /dev/null +++ b/bibi/extensions/extractor/at-once.js @@ -0,0 +1,132 @@ +import JSZip from 'jszip/dist/jszip.min.js'; +import JSZipUtils from 'jszip-utils/dist/jszip-utils.min.js'; + +Bibi.x({ + + id: 'Extractor_at-once', + description: 'Utilities for Zipped Books. (Method: at-once)', + author: 'Satoru Matsushima (@satorumurmur)', + version: '1.2.0' + +})(function() { + + 'use strict'; + + O.loadZippedBookData = (BookData) => new Promise(resolve => { + if(S['autostart']) return resolve(BookData); + I.Veil.Cover.Info.innerHTML = [ + `${ O.Touch ? 'Tap' : 'Click' } to Open`, + `${ B.Path.replace(/.*?([^\/]+)$/, '$1') }` + ].join(' '); + I.Veil.Cover.classList.add('without-cover-image', 'waiting-for-unzipping'); + I.Veil.Cover.appendChild(I.getBookIcon()); + L.wait().then(() => resolve(BookData)); + }) + .then(load) + .then(extract); + + const load = (BookData) => new Promise((resolve, reject) => // resolve(ArrayBuffer) + typeof BookData == 'string' ? JSZipUtils.getBinaryContent(BookData, (Err, ABuf) => Err ? reject(Bibi.ErrorMessages.NotFound) : resolve(ABuf)) : + BookData.size && BookData.type ? (() => { const FR = new FileReader(); FR.onerror = () => reject(Bibi.ErrorMessages.DataInvalid); FR.onload = () => resolve(FR.result); FR.readAsArrayBuffer(BookData); })() : + reject(Bibi.ErrorMessages.DataInvalid) + ).then(ArrayBuffer => JSZip.loadAsync(ArrayBuffer).catch(Err => Promise.reject(Bibi.ErrorMessages.DataInvalid))); + + const extract = (BookDataArchive) => new Promise((resolve, reject) => { + if(I.Catcher.Input) I.Catcher.style.opacity = 0; + const FilesToBeExtract = []; + for(let FileName in BookDataArchive.files) { + if( + BookDataArchive.files[FileName].dir || + /(^|\/)\./.test(FileName) || + /\.(db|php|p[lm]|cgi|r[bu])(\/|$)/i.test(FileName) || + /^mimetype$/i.test(FileName) || + !BookDataArchive.files[FileName]._data.compressedContent + ) { + delete BookDataArchive.files[FileName]; + continue; + } + FilesToBeExtract.push(FileName); + } + if(!FilesToBeExtract.length) return reject(Bibi.ErrorMessages.DataInvalid); + let FolderName = '', FolderNameRE = undefined; + const PathsToBeChecked = []; + if(B.Type != 'Zine') PathsToBeChecked.push(B.Container.Source.Path); // EPUB or unknown. + if(B.Type != 'EPUB') PathsToBeChecked.push( B.ZineData.Source.Path); // Zine or unknown. + if(!PathsToBeChecked.filter(PathToBeChecked => FilesToBeExtract.includes(PathToBeChecked)).length) { + PathsToBeChecked.forEach(PathToBeChecked => { + if(!PathToBeChecked) return; + if(FolderName) return; + const RE = new RegExp('^(.+?\\/)' + PathToBeChecked.replace(/\//g, '\\/').replace(/\./g, '\\.') + '$'); + for(let l = FilesToBeExtract.length, i = 0; i < l; i++) { + const FileName = FilesToBeExtract[i]; + if(RE.test(FileName)) { + FolderName = FileName.replace(RE, '$1'); + FolderNameRE = new RegExp('^' + FolderName.replace(/\//g, '\\/').replace(/\./g, '\\.')); + break; + } + } + }); + } + let RootFileFound = false; + if(B.Type) RootFileFound = FilesToBeExtract.includes(FolderName + PathsToBeChecked[0]); + else if(FilesToBeExtract.includes(FolderName + B.Container.Source.Path)) B.Type = 'EPUB', RootFileFound = true; + else if(FilesToBeExtract.includes(FolderName + B.ZineData.Source.Path)) B.Type = 'Zine', RootFileFound = true; + if(!RootFileFound) return reject(`${ B.Type ? (B.Type == 'EPUB' ? B.Container.Source.Path : B.ZineData.Source.Path).split('/').slice(-1)[0] : '' } Not Contained`); + const FileCount = { Particular: 0 }; + const FileTypesToBeCounted = { + 'Meta XML': 'xml|opf|ncx', + 'Meta YAML': 'ya?ml', + 'HTML': 'html?|xht(ml?)?', + 'SMIL': 'smil?', + 'PLS': 'pls', + 'CSS': 'css', + 'JavaScript': 'js', + 'JSON': 'json', + 'SVG': 'svg', + 'Bitmap': 'gif|jpe?g|png', + 'Font': 'woff2?|otf|ttf', + 'Audio': 'aac|m4a|mp3|ogg', + 'Video': 'mp4|m4v|webm|ogv', + 'PDF': 'pdf', + 'Markdown': 'md', + 'PlainText': 'txt' + }; + O.log(`Extracting Book Data...`, ''); + const Promises = []; + FilesToBeExtract.forEach(FileName => { + if(FolderNameRE) FileName = FileName.replace(FolderNameRE, ''); + const IsBin = O.isBin({ Path: FileName }); + Promises.push( + BookDataArchive.file(FolderName + FileName).async(IsBin ? 'blob' : 'string').then(FileContent => { + B.Package.Manifest[FileName] = IsBin ? + { Path: FileName, DataType: 'Blob', Content: FileContent } : + { Path: FileName, DataType: 'Text', Content: FileContent.trim() }; + for(const FileType in FileTypesToBeCounted) { + if(new RegExp('\\.(' + FileTypesToBeCounted[FileType] + ')$', 'i').test(FileName)) { + if(!FileCount[FileType]) FileCount[FileType] = 1; else FileCount[FileType]++; + FileCount.Particular++; + break; + } + } + }) + ); + }); + Promise.all(Promises).then(() => { + const Total = Promises.length; + for(const FileType in FileTypesToBeCounted) { + const Count = FileCount[FileType]; + if(Count) O.log(`${ Count } ${ FileType }${ Count > 1 ? 's' : '' }`); + } + if(FileCount.Particular < Total) { + const Count_Others = Total - FileCount.Particular; + O.log(`${ Count_Others } ${ Count_Others > 1 ? 'Others' : 'Another' }`); + } + O.log(`Extracted. (${ Total } File${ Total > 1 ? 's' : '' })`, ''); + resolve(); + }); + }); + +}); + + + diff --git a/bibi/extensions/extractor/on-the-fly.bibi-zip-loader.js b/bibi/extensions/extractor/on-the-fly.bibi-zip-loader.js new file mode 100644 index 0000000..93eb024 --- /dev/null +++ b/bibi/extensions/extractor/on-the-fly.bibi-zip-loader.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.LSZL=e():t.LSZL=e()}(window,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){t.exports=r(2)},function(t,e,r){var n=function(t){"use strict";var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function c(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,a=Object.create(o.prototype),i=new O(n||[]);return a._invoke=function(t,e,r){var n=f;return function(o,a){if(n===h)throw new Error("Generator is already running");if(n===p){if("throw"===o)throw a;return A()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var u=T(i,r);if(u){if(u===v)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=h;var c=s(t,e,r);if("normal"===c.type){if(n=r.done?p:l,c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=p,r.method="throw",r.arg=c.arg)}}}(t,r,i),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function g(){}function d(){}var m={};m[a]=function(){return this};var w=Object.getPrototypeOf,b=w&&w(w(_([])));b&&b!==r&&n.call(b,a)&&(m=b);var k=d.prototype=y.prototype=Object.create(m);function x(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function E(t){var e;this._invoke=function(r,o){function a(){return new Promise(function(e,a){!function e(r,o,a,i){var u=s(t[r],t,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==typeof f&&n.call(f,"__await")?Promise.resolve(f.__await).then(function(t){e("next",t,a,i)},function(t){e("throw",t,a,i)}):Promise.resolve(f).then(function(t){c.value=t,a(c)},function(t){return e("throw",t,a,i)})}i(u.arg)}(r,o,e,a)})}return e=e?e.then(a,a):a()}}function T(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,T(t,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var o=s(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function D(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function _(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o=0;--a){var i=this.tryEntries[a],u=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(c&&s){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),D(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;D(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:_(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},function(t,e,r){"use strict";r.r(e);var n,o;r(1);function a(){var t,e,r=new Promise(function(r,n){t=r,e=n});return r.status=n.PENDING,r.attachPromise=function(o){o.then(function(e){r.status=n.RESOLVED,t(e)},function(t){r.status=n.REJECTED,e(t)})},r.attachMessage=function(o){var a=o.error,i=o.payload;a?(r.status=n.REJECTED,e(i)):(r.status=n.RESOLVED,t(i))},r}function i(t,e){for(var r=0;ru&&(r=u,n=i),o=Math.max(o,u);return t.abrupt("return",n);case 8:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}()},{key:"throwIfAbort",value:function(){}},{key:"fallback",value:function(t){this.setupWorkers=this.setupWorkers.then(function(e){return e.filter(function(e){return e!==t})}).then(function(t){return t.forEach(function(t){return t.terminate()})}).then(function(){return[t]})}}])&&h(e.prototype,r),n&&h(e,n),t}()}]).default}); \ No newline at end of file diff --git a/bibi/extensions/extractor/on-the-fly.bibi-zip-loader.worker.alt.js b/bibi/extensions/extractor/on-the-fly.bibi-zip-loader.worker.alt.js new file mode 100644 index 0000000..7026d3a --- /dev/null +++ b/bibi/extensions/extractor/on-the-fly.bibi-zip-loader.worker.alt.js @@ -0,0 +1 @@ +!function(e){var _={};function $(n){if(_[n])return _[n].exports;var r=_[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,$),r.l=!0,r.exports}$.m=e,$.c=_,$.d=function(e,_,n){$.o(e,_)||Object.defineProperty(e,_,{enumerable:!0,get:n})},$.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},$.t=function(e,_){if(1&_&&(e=$(e)),8&_)return e;if(4&_&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if($.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&_&&"string"!=typeof e)for(var r in e)$.d(n,r,function(_){return e[_]}.bind(null,r));return n},$.n=function(e){var _=e&&e.__esModule?function(){return e.default}:function(){return e};return $.d(_,"a",_),_},$.o=function(e,_){return Object.prototype.hasOwnProperty.call(e,_)},$.p="",$($.s=45)}({45:function(module,exports){!function(e){var _={};function $(n){if(_[n])return _[n].exports;var r=_[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,$),r.l=!0,r.exports}$.m=e,$.c=_,$.d=function(e,_,n){$.o(e,_)||Object.defineProperty(e,_,{enumerable:!0,get:n})},$.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},$.t=function(e,_){if(1&_&&(e=$(e)),8&_)return e;if(4&_&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if($.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&_&&"string"!=typeof e)for(var r in e)$.d(n,r,function(_){return e[_]}.bind(null,r));return n},$.n=function(e){var _=e&&e.__esModule?function(){return e.default}:function(){return e};return $.d(_,"a",_),_},$.o=function(e,_){return Object.prototype.hasOwnProperty.call(e,_)},$.p="",$($.s=0)}({"./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js":function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (factory) {\n true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n __WEBPACK_AMD_DEFINE_FACTORY__),\n __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) :\n undefined;\n}(function () { 'use strict';\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n }\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n }\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(receiver);\n }\n return desc.value;\n };\n }\n return _get(target, property, receiver || target);\n }\n var Emitter =\n /*#__PURE__*/\n function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n var stack = this.listeners[type];\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n if (!(event.type in this.listeners)) {\n return;\n }\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n var stack = this.listeners[event.type];\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n return !event.defaultPrevented;\n }\n }]);\n return Emitter;\n }();\n var AbortSignal =\n /*#__PURE__*/\n function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n function AbortSignal() {\n var _this2;\n _classCallCheck(this, AbortSignal);\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AbortSignal).call(this)); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n return AbortSignal;\n }(Emitter);\n var AbortController =\n /*#__PURE__*/\n function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n return AbortController;\n }();\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n (function (self) {\n if (!polyfillNeeded(self)) {\n return;\n }\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n}));\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n//./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js?")},"./node_modules/base64-js/index.js":function(module,exports,__webpack_require__){"use strict";eval("\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\nfunction getLens (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n return [validLen, placeHoldersLen]\n}\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n var curByte = 0\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n return arr\n}\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n return parts.join('')\n}\n//./node_modules/base64-js/index.js?")},"./node_modules/buffer/index.js":function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\")\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n return that\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\nBuffer.poolSize = 8192 // not used by this implementation\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n return fromObject(that, value)\n}\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n var actual = that.write(string, encoding)\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n return that\n}\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n if (that.length === 0) {\n return that\n }\n obj.copy(that, 0, 0, len)\n return that\n }\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n if (a === b) return 0\n var x = a.length\n var y = b.length\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n var len = string.length\n if (len === 0) return 0\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n if (end === undefined || end > this.length) {\n end = this.length\n }\n if (end <= 0) {\n return ''\n }\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n if (end <= start) {\n return ''\n }\n if (!encoding) encoding = 'utf8'\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n case 'ascii':\n return asciiSlice(this, start, end)\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n case 'base64':\n return base64Slice(this, start, end)\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n if (this === target) return 0\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n throw new TypeError('val must be string, number or Buffer')\n}\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n return -1\n}\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n if (!encoding) encoding = 'utf8'\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n res.push(codePoint)\n i += bytesPerSequence\n }\n return decodeCodePointsArray(res)\n}\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n if (end < start) end = start\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n return newBuf\n}\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n return val\n}\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n return val\n}\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n return val\n}\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n return val\n}\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n return offset + byteLength\n}\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n return offset + byteLength\n}\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n return offset + byteLength\n}\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n return offset + byteLength\n}\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n var len = end - start\n var i\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n return len\n}\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n if (end <= start) {\n return this\n }\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n if (!val) val = 0\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n return this\n}\n// HELPER FUNCTIONS\n// ================\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n // valid lead\n leadSurrogate = codePoint\n continue\n }\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n leadSurrogate = null\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n return bytes\n}\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n return byteArray\n}\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n//./node_modules/buffer/index.js?")},"./node_modules/core-js/es/array/fill.js":function(module,exports,__webpack_require__){eval("__webpack_require__(/*! ../../modules/es.array.fill */ \"./node_modules/core-js/modules/es.array.fill.js\");\nvar entryUnbind = __webpack_require__(/*! ../../internals/entry-unbind */ \"./node_modules/core-js/internals/entry-unbind.js\");\nmodule.exports = entryUnbind('Array', 'fill');\n//./node_modules/core-js/es/array/fill.js?")},"./node_modules/core-js/es/promise/index.js":function(module,exports,__webpack_require__){eval('__webpack_require__(/*! ../../modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");\n__webpack_require__(/*! ../../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");\n__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");\n__webpack_require__(/*! ../../modules/es.promise */ "./node_modules/core-js/modules/es.promise.js");\n__webpack_require__(/*! ../../modules/es.promise.finally */ "./node_modules/core-js/modules/es.promise.finally.js");\nvar path = __webpack_require__(/*! ../../internals/path */ "./node_modules/core-js/internals/path.js");\nmodule.exports = path.Promise;\n//./node_modules/core-js/es/promise/index.js?')},"./node_modules/core-js/features/array/fill.js":function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__(/*! ../../es/array/fill */ "./node_modules/core-js/es/array/fill.js");\n//./node_modules/core-js/features/array/fill.js?')},"./node_modules/core-js/features/promise/index.js":function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__(/*! ../../es/promise */ "./node_modules/core-js/es/promise/index.js");\n__webpack_require__(/*! ../../modules/esnext.aggregate-error */ "./node_modules/core-js/modules/esnext.aggregate-error.js");\n__webpack_require__(/*! ../../modules/esnext.promise.all-settled */ "./node_modules/core-js/modules/esnext.promise.all-settled.js");\n__webpack_require__(/*! ../../modules/esnext.promise.try */ "./node_modules/core-js/modules/esnext.promise.try.js");\n__webpack_require__(/*! ../../modules/esnext.promise.any */ "./node_modules/core-js/modules/esnext.promise.any.js");\n//./node_modules/core-js/features/promise/index.js?')},"./node_modules/core-js/features/typed-array/slice.js":function(module,exports,__webpack_require__){eval('__webpack_require__(/*! ../../modules/es.typed-array.slice */ "./node_modules/core-js/modules/es.typed-array.slice.js");\n//./node_modules/core-js/features/typed-array/slice.js?')},"./node_modules/core-js/internals/a-function.js":function(module,exports){eval("module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n//./node_modules/core-js/internals/a-function.js?")},"./node_modules/core-js/internals/add-to-unscopables.js":function(module,exports,__webpack_require__){eval('var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar UNSCOPABLES = wellKnownSymbol(\'unscopables\');\nvar ArrayPrototype = Array.prototype;\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n hide(ArrayPrototype, UNSCOPABLES, create(null));\n}\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n//./node_modules/core-js/internals/add-to-unscopables.js?')},"./node_modules/core-js/internals/an-instance.js":function(module,exports){eval("module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n//./node_modules/core-js/internals/an-instance.js?")},"./node_modules/core-js/internals/an-object.js":function(module,exports,__webpack_require__){eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n//./node_modules/core-js/internals/an-object.js?")},"./node_modules/core-js/internals/array-buffer-view-core.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");\nvar global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");\nvar has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");\nvar DataView = global.DataView;\nvar DataViewPrototype = DataView && DataView.prototype;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol(\'toStringTag\');\nvar TYPED_ARRAY_TAG = uid(\'TYPED_ARRAY_TAG\');\nvar NATIVE_ARRAY_BUFFER = !!(global.ArrayBuffer && global.DataView);\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf;\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === \'DataView\' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError(\'Target is not a typed array\');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n } throw TypeError(\'Target is not a typed array constructor\');\n};\nvar exportProto = function (KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportStatic = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != \'function\' || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow\n TypedArray = function TypedArray() {\n throw TypeError(\'Incorrect invocation\');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n hide(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n// WebKit bug - the same parent prototype for typed arrays and data view\nif (NATIVE_ARRAY_BUFFER && setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER: NATIVE_ARRAY_BUFFER,\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportProto: exportProto,\n exportStatic: exportStatic,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n//./node_modules/core-js/internals/array-buffer-view-core.js?')},"./node_modules/core-js/internals/array-fill.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n//./node_modules/core-js/internals/array-fill.js?')},"./node_modules/core-js/internals/array-includes.js":function(module,exports,__webpack_require__){eval('var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");\n// `Array.prototype.{ indexOf, includes }` methods implementation\n// false -> Array#indexOf\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n// true -> Array#includes\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n//./node_modules/core-js/internals/array-includes.js?')},"./node_modules/core-js/internals/bind-context.js":function(module,exports,__webpack_require__){eval('var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n//./node_modules/core-js/internals/bind-context.js?')},"./node_modules/core-js/internals/call-with-safe-iteration-closing.js":function(module,exports,__webpack_require__){eval("var anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n//./node_modules/core-js/internals/call-with-safe-iteration-closing.js?")},"./node_modules/core-js/internals/check-correctness-of-iteration.js":function(module,exports,__webpack_require__){eval("var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n//./node_modules/core-js/internals/check-correctness-of-iteration.js?")},"./node_modules/core-js/internals/classof-raw.js":function(module,exports){eval("var toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n//./node_modules/core-js/internals/classof-raw.js?")},"./node_modules/core-js/internals/classof.js":function(module,exports,__webpack_require__){eval("var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n//./node_modules/core-js/internals/classof.js?")},"./node_modules/core-js/internals/copy-constructor-properties.js":function(module,exports,__webpack_require__){eval('var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js");\nvar getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n//./node_modules/core-js/internals/copy-constructor-properties.js?')},"./node_modules/core-js/internals/correct-prototype-getter.js":function(module,exports,__webpack_require__){eval('var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n//./node_modules/core-js/internals/correct-prototype-getter.js?')},"./node_modules/core-js/internals/create-iterator-constructor.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype;\nvar create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");\nvar returnThis = function () { return this; };\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + \' Iterator\';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n//./node_modules/core-js/internals/create-iterator-constructor.js?')},"./node_modules/core-js/internals/create-property-descriptor.js":function(module,exports){eval("module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n//./node_modules/core-js/internals/create-property-descriptor.js?")},"./node_modules/core-js/internals/define-iterator.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js");\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");\nvar IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js");\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol(\'iterator\');\nvar KEYS = \'keys\';\nvar VALUES = \'values\';\nvar ENTRIES = \'entries\';\nvar returnThis = function () { return this; };\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n var TO_STRING_TAG = NAME + \' Iterator\';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype[\'@@iterator\']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == \'Array\' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != \'function\') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n return methods;\n};\n//./node_modules/core-js/internals/define-iterator.js?')},"./node_modules/core-js/internals/descriptors.js":function(module,exports,__webpack_require__){eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n//./node_modules/core-js/internals/descriptors.js?")},"./node_modules/core-js/internals/document-create-element.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");\nvar document = global.document;\n// typeof document.createElement is \'object\' in old IE\nvar exist = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return exist ? document.createElement(it) : {};\n};\n//./node_modules/core-js/internals/document-create-element.js?')},"./node_modules/core-js/internals/dom-iterables.js":function(module,exports){eval("// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n//./node_modules/core-js/internals/dom-iterables.js?")},"./node_modules/core-js/internals/entry-unbind.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar bind = __webpack_require__(/*! ../internals/bind-context */ "./node_modules/core-js/internals/bind-context.js");\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n//./node_modules/core-js/internals/entry-unbind.js?')},"./node_modules/core-js/internals/enum-bug-keys.js":function(module,exports){eval("// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n//./node_modules/core-js/internals/enum-bug-keys.js?")},"./node_modules/core-js/internals/export.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");\nvar copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? \'.\' : \'#\') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, \'sham\', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n//./node_modules/core-js/internals/export.js?')},"./node_modules/core-js/internals/fails.js":function(module,exports){eval("module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n//./node_modules/core-js/internals/fails.js?")},"./node_modules/core-js/internals/function-to-string.js":function(module,exports,__webpack_require__){eval("var shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nmodule.exports = shared('native-function-to-string', Function.toString);\n//./node_modules/core-js/internals/function-to-string.js?")},"./node_modules/core-js/internals/get-built-in.js":function(module,exports,__webpack_require__){eval('var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");\nvar global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar aFunction = function (variable) {\n return typeof variable == \'function\' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n//./node_modules/core-js/internals/get-built-in.js?')},"./node_modules/core-js/internals/get-iterator-method.js":function(module,exports,__webpack_require__){eval('var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar ITERATOR = wellKnownSymbol(\'iterator\');\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it[\'@@iterator\']\n || Iterators[classof(it)];\n};\n//./node_modules/core-js/internals/get-iterator-method.js?')},"./node_modules/core-js/internals/global.js":function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(global) {var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n//./node_modules/core-js/internals/global.js?")},"./node_modules/core-js/internals/has.js":function(module,exports){eval("var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n//./node_modules/core-js/internals/has.js?")},"./node_modules/core-js/internals/hidden-keys.js":function(module,exports){eval("module.exports = {};\n//./node_modules/core-js/internals/hidden-keys.js?")},"./node_modules/core-js/internals/hide.js":function(module,exports,__webpack_require__){eval('var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n//./node_modules/core-js/internals/hide.js?')},"./node_modules/core-js/internals/host-report-errors.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n//./node_modules/core-js/internals/host-report-errors.js?')},"./node_modules/core-js/internals/html.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar document = global.document;\nmodule.exports = document && document.documentElement;\n//./node_modules/core-js/internals/html.js?')},"./node_modules/core-js/internals/ie8-dom-define.js":function(module,exports,__webpack_require__){eval('var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");\nvar fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");\nvar createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");\n// Thank\'s IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement(\'div\'), \'a\', {\n get: function () { return 7; }\n }).a != 7;\n});\n//./node_modules/core-js/internals/ie8-dom-define.js?')},"./node_modules/core-js/internals/indexed-object.js":function(module,exports,__webpack_require__){eval("// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar split = ''.split;\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n//./node_modules/core-js/internals/indexed-object.js?")},"./node_modules/core-js/internals/internal-state.js":function(module,exports,__webpack_require__){eval('var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js");\nvar global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError(\'Incompatible receiver, \' + TYPE + \' required\');\n } return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey(\'state\');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n//./node_modules/core-js/internals/internal-state.js?')},"./node_modules/core-js/internals/is-array-iterator-method.js":function(module,exports,__webpack_require__){eval('var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");\nvar ITERATOR = wellKnownSymbol(\'iterator\');\nvar ArrayPrototype = Array.prototype;\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n//./node_modules/core-js/internals/is-array-iterator-method.js?')},"./node_modules/core-js/internals/is-forced.js":function(module,exports,__webpack_require__){eval("var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n//./node_modules/core-js/internals/is-forced.js?")},"./node_modules/core-js/internals/is-object.js":function(module,exports){eval("module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n//./node_modules/core-js/internals/is-object.js?")},"./node_modules/core-js/internals/is-pure.js":function(module,exports){eval("module.exports = false;\n//./node_modules/core-js/internals/is-pure.js?")},"./node_modules/core-js/internals/iterate.js":function(module,exports,__webpack_require__){eval('var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");\nvar isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");\nvar bind = __webpack_require__(/*! ../internals/bind-context */ "./node_modules/core-js/internals/bind-context.js");\nvar getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");\nvar callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js");\nvar BREAK = {};\nvar exports = module.exports = function (iterable, fn, that, ENTRIES, ITERATOR) {\n var boundFunction = bind(fn, that, ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, step;\n if (ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != \'function\') throw TypeError(\'Target is not iterable\');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result === BREAK) return BREAK;\n } return;\n }\n iterator = iterFn.call(iterable);\n }\n while (!(step = iterator.next()).done) {\n if (callWithSafeIterationClosing(iterator, boundFunction, step.value, ENTRIES) === BREAK) return BREAK;\n }\n};\nexports.BREAK = BREAK;\n//./node_modules/core-js/internals/iterate.js?')},"./node_modules/core-js/internals/iterators-core.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");\nvar ITERATOR = wellKnownSymbol(\'iterator\');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () { return this; };\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!(\'next\' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n//./node_modules/core-js/internals/iterators-core.js?')},"./node_modules/core-js/internals/iterators.js":function(module,exports){eval("module.exports = {};\n//./node_modules/core-js/internals/iterators.js?")},"./node_modules/core-js/internals/math-fround.js":function(module,exports,__webpack_require__){eval('var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js");\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n// `Math.fround` method implementation\n// https://tc39.github.io/ecma262/#sec-math.fround\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n//./node_modules/core-js/internals/math-fround.js?')},"./node_modules/core-js/internals/math-sign.js":function(module,exports){eval("// `Math.sign` method implementation\n// https://tc39.github.io/ecma262/#sec-math.sign\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n//./node_modules/core-js/internals/math-sign.js?")},"./node_modules/core-js/internals/microtask.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");\nvar macrotask = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set;\nvar userAgent = __webpack_require__(/*! ../internals/user-agent */ "./node_modules/core-js/internals/user-agent.js");\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == \'process\';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, \'queueMicrotask\');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise;\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n toggle = true;\n node = document.createTextNode(\'\');\n new MutationObserver(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n//./node_modules/core-js/internals/microtask.js?')},"./node_modules/core-js/internals/native-symbol.js":function(module,exports,__webpack_require__){eval('var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n//./node_modules/core-js/internals/native-symbol.js?')},"./node_modules/core-js/internals/native-weak-map.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ "./node_modules/core-js/internals/function-to-string.js");\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === \'function\' && /native code/.test(nativeFunctionToString.call(WeakMap));\n//./node_modules/core-js/internals/native-weak-map.js?')},"./node_modules/core-js/internals/new-promise-capability.js":function(module,exports,__webpack_require__){"use strict";eval("\nvar aFunction = __webpack_require__(/*! ../internals/a-function */ \"./node_modules/core-js/internals/a-function.js\");\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n//./node_modules/core-js/internals/new-promise-capability.js?")},"./node_modules/core-js/internals/object-create.js":function(module,exports,__webpack_require__){eval("var anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ \"./node_modules/core-js/internals/object-define-properties.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\nvar html = __webpack_require__(/*! ../internals/html */ \"./node_modules/core-js/internals/html.js\");\nvar documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar PROTOTYPE = 'prototype';\nvar Empty = function () { /* empty */ };\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\nhiddenKeys[IE_PROTO] = true;\n//./node_modules/core-js/internals/object-create.js?")},"./node_modules/core-js/internals/object-define-properties.js":function(module,exports,__webpack_require__){eval('var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");\nvar objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var i = 0;\n var key;\n while (length > i) definePropertyModule.f(O, key = keys[i++], Properties[key]);\n return O;\n};\n//./node_modules/core-js/internals/object-define-properties.js?')},"./node_modules/core-js/internals/object-define-property.js":function(module,exports,__webpack_require__){eval("var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ \"./node_modules/core-js/internals/ie8-dom-define.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n//./node_modules/core-js/internals/object-define-property.js?")},"./node_modules/core-js/internals/object-get-own-property-descriptor.js":function(module,exports,__webpack_require__){eval('var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");\nvar propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");\nvar has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n//./node_modules/core-js/internals/object-get-own-property-descriptor.js?')},"./node_modules/core-js/internals/object-get-own-property-names.js":function(module,exports,__webpack_require__){eval("// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ \"./node_modules/core-js/internals/object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n//./node_modules/core-js/internals/object-get-own-property-names.js?")},"./node_modules/core-js/internals/object-get-own-property-symbols.js":function(module,exports){eval("exports.f = Object.getOwnPropertySymbols;\n//./node_modules/core-js/internals/object-get-own-property-symbols.js?")},"./node_modules/core-js/internals/object-get-prototype-of.js":function(module,exports,__webpack_require__){eval('var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js");\nvar IE_PROTO = sharedKey(\'IE_PROTO\');\nvar ObjectPrototype = Object.prototype;\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == \'function\' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n//./node_modules/core-js/internals/object-get-prototype-of.js?')},"./node_modules/core-js/internals/object-keys-internal.js":function(module,exports,__webpack_require__){eval('var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");\nvar arrayIncludes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");\nvar arrayIndexOf = arrayIncludes(false);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don\'t enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n//./node_modules/core-js/internals/object-keys-internal.js?')},"./node_modules/core-js/internals/object-keys.js":function(module,exports,__webpack_require__){eval('var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n//./node_modules/core-js/internals/object-keys.js?')},"./node_modules/core-js/internals/object-property-is-enumerable.js":function(module,exports,__webpack_require__){"use strict";eval("\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n//./node_modules/core-js/internals/object-property-is-enumerable.js?")},"./node_modules/core-js/internals/object-set-prototype-of.js":function(module,exports,__webpack_require__){eval("var validateSetPrototypeOfArguments = __webpack_require__(/*! ../internals/validate-set-prototype-of-arguments */ \"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js\");\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var correctSetter = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n correctSetter = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n validateSetPrototypeOfArguments(O, proto);\n if (correctSetter) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n//./node_modules/core-js/internals/object-set-prototype-of.js?")},"./node_modules/core-js/internals/object-to-string.js":function(module,exports,__webpack_require__){"use strict";eval("\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n//./node_modules/core-js/internals/object-to-string.js?")},"./node_modules/core-js/internals/own-keys.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");\nvar Reflect = global.Reflect;\n// all object keys, includes non-enumerable and symbols\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n//./node_modules/core-js/internals/own-keys.js?')},"./node_modules/core-js/internals/path.js":function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\n//./node_modules/core-js/internals/path.js?')},"./node_modules/core-js/internals/perform.js":function(module,exports){eval("module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n//./node_modules/core-js/internals/perform.js?")},"./node_modules/core-js/internals/promise-resolve.js":function(module,exports,__webpack_require__){eval('var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");\nvar newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n//./node_modules/core-js/internals/promise-resolve.js?')},"./node_modules/core-js/internals/redefine-all.js":function(module,exports,__webpack_require__){eval('var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n//./node_modules/core-js/internals/redefine-all.js?')},"./node_modules/core-js/internals/redefine.js":function(module,exports,__webpack_require__){eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar hide = __webpack_require__(/*! ../internals/hide */ \"./node_modules/core-js/internals/hide.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ \"./node_modules/core-js/internals/function-to-string.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n//./node_modules/core-js/internals/redefine.js?")},"./node_modules/core-js/internals/require-object-coercible.js":function(module,exports){eval('// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError("Can\'t call method on " + it);\n return it;\n};\n//./node_modules/core-js/internals/require-object-coercible.js?')},"./node_modules/core-js/internals/set-global.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n//./node_modules/core-js/internals/set-global.js?')},"./node_modules/core-js/internals/set-species.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");\nvar SPECIES = wellKnownSymbol(\'species\');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var C = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && C && !C[SPECIES]) defineProperty(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n//./node_modules/core-js/internals/set-species.js?')},"./node_modules/core-js/internals/set-to-string-tag.js":function(module,exports,__webpack_require__){eval('var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;\nvar has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar TO_STRING_TAG = wellKnownSymbol(\'toStringTag\');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n//./node_modules/core-js/internals/set-to-string-tag.js?')},"./node_modules/core-js/internals/shared-key.js":function(module,exports,__webpack_require__){eval('var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");\nvar uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");\nvar keys = shared(\'keys\');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n//./node_modules/core-js/internals/shared-key.js?')},"./node_modules/core-js/internals/shared.js":function(module,exports,__webpack_require__){eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.1.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n//./node_modules/core-js/internals/shared.js?")},"./node_modules/core-js/internals/species-constructor.js":function(module,exports,__webpack_require__){eval('var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");\nvar aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar SPECIES = wellKnownSymbol(\'species\');\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n//./node_modules/core-js/internals/species-constructor.js?')},"./node_modules/core-js/internals/string-at.js":function(module,exports,__webpack_require__){eval('var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");\n// CONVERT_TO_STRING: true -> String#at\n// CONVERT_TO_STRING: false -> String#codePointAt\nmodule.exports = function (that, pos, CONVERT_TO_STRING) {\n var S = String(requireObjectCoercible(that));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? \'\' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n};\n//./node_modules/core-js/internals/string-at.js?')},"./node_modules/core-js/internals/task.js":function(module,exports,__webpack_require__){eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar bind = __webpack_require__(/*! ../internals/bind-context */ \"./node_modules/core-js/internals/bind-context.js\");\nvar html = __webpack_require__(/*! ../internals/html */ \"./node_modules/core-js/internals/html.js\");\nvar createElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n//./node_modules/core-js/internals/task.js?")},"./node_modules/core-js/internals/to-absolute-index.js":function(module,exports,__webpack_require__){eval('var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");\nvar max = Math.max;\nvar min = Math.min;\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n//./node_modules/core-js/internals/to-absolute-index.js?')},"./node_modules/core-js/internals/to-indexed-object.js":function(module,exports,__webpack_require__){eval('// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n//./node_modules/core-js/internals/to-indexed-object.js?')},"./node_modules/core-js/internals/to-integer.js":function(module,exports){eval("var ceil = Math.ceil;\nvar floor = Math.floor;\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n//./node_modules/core-js/internals/to-integer.js?")},"./node_modules/core-js/internals/to-length.js":function(module,exports,__webpack_require__){eval('var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");\nvar min = Math.min;\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n//./node_modules/core-js/internals/to-length.js?')},"./node_modules/core-js/internals/to-object.js":function(module,exports,__webpack_require__){eval('var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n//./node_modules/core-js/internals/to-object.js?')},"./node_modules/core-js/internals/to-primitive.js":function(module,exports,__webpack_require__){eval("var isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n// 7.1.1 ToPrimitive(input [, PreferredType])\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n//./node_modules/core-js/internals/to-primitive.js?")},"./node_modules/core-js/internals/uid.js":function(module,exports){eval("var id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + postfix).toString(36));\n};\n//./node_modules/core-js/internals/uid.js?")},"./node_modules/core-js/internals/user-agent.js":function(module,exports,__webpack_require__){eval("var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n//./node_modules/core-js/internals/user-agent.js?")},"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":function(module,exports,__webpack_require__){eval('var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");\nmodule.exports = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) {\n throw TypeError("Can\'t set " + String(proto) + \' as a prototype\');\n }\n};\n//./node_modules/core-js/internals/validate-set-prototype-of-arguments.js?')},"./node_modules/core-js/internals/well-known-symbol.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");\nvar uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");\nvar NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");\nvar Symbol = global.Symbol;\nvar store = shared(\'wks\');\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]\n || (NATIVE_SYMBOL ? Symbol : uid)(\'Symbol.\' + name));\n};\n//./node_modules/core-js/internals/well-known-symbol.js?')},"./node_modules/core-js/modules/es.array.fill.js":function(module,exports,__webpack_require__){eval('var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js");\nvar addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");\n// `Array.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\n$({ target: \'Array\', proto: true }, { fill: fill });\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(\'fill\');\n//./node_modules/core-js/modules/es.array.fill.js?')},"./node_modules/core-js/modules/es.array.iterator.js":function(module,exports,__webpack_require__){"use strict";eval("\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar defineIterator = __webpack_require__(/*! ../internals/define-iterator */ \"./node_modules/core-js/internals/define-iterator.js\");\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n//./node_modules/core-js/modules/es.array.iterator.js?")},"./node_modules/core-js/modules/es.math.clz32.js":function(module,exports,__webpack_require__){eval("var $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar floor = Math.floor;\nvar log = Math.log;\nvar LOG2E = Math.LOG2E;\n// `Math.clz32` method\n// https://tc39.github.io/ecma262/#sec-math.clz32\n$({ target: 'Math', stat: true }, {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32;\n }\n});\n//./node_modules/core-js/modules/es.math.clz32.js?")},"./node_modules/core-js/modules/es.math.fround.js":function(module,exports,__webpack_require__){eval('var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar fround = __webpack_require__(/*! ../internals/math-fround */ "./node_modules/core-js/internals/math-fround.js");\n// `Math.fround` method\n// https://tc39.github.io/ecma262/#sec-math.fround\n$({ target: \'Math\', stat: true }, { fround: fround });\n//./node_modules/core-js/modules/es.math.fround.js?')},"./node_modules/core-js/modules/es.math.imul.js":function(module,exports,__webpack_require__){eval('var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");\nvar nativeImul = Math.imul;\nvar FORCED = fails(function () {\n return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2;\n});\n// `Math.imul` method\n// https://tc39.github.io/ecma262/#sec-math.imul\n// some WebKit versions fails with big numbers, some has wrong arity\n$({ target: \'Math\', stat: true, forced: FORCED }, {\n imul: function imul(x, y) {\n var UINT16 = 0xFFFF;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n//./node_modules/core-js/modules/es.math.imul.js?')},"./node_modules/core-js/modules/es.object.to-string.js":function(module,exports,__webpack_require__){eval('var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");\nvar toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js/internals/object-to-string.js");\nvar ObjectPrototype = Object.prototype;\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, \'toString\', toString, { unsafe: true });\n}\n//./node_modules/core-js/modules/es.object.to-string.js?')},"./node_modules/core-js/modules/es.promise.finally.js":function(module,exports,__webpack_require__){"use strict";eval("\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ \"./node_modules/core-js/internals/get-built-in.js\");\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ \"./node_modules/core-js/internals/species-constructor.js\");\nvar promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ \"./node_modules/core-js/internals/promise-resolve.js\");\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n//./node_modules/core-js/modules/es.promise.finally.js?")},"./node_modules/core-js/modules/es.promise.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");\nvar global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");\nvar redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");\nvar setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");\nvar aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");\nvar anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");\nvar checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");\nvar task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set;\nvar microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js");\nvar promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js");\nvar hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ "./node_modules/core-js/internals/host-report-errors.js");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");\nvar perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");\nvar userAgent = __webpack_require__(/*! ../internals/user-agent */ "./node_modules/core-js/internals/user-agent.js");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar SPECIES = wellKnownSymbol(\'species\');\nvar PROMISE = \'Promise\';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = global[PROMISE];\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = global.fetch;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || \'\';\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == \'process\';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = \'unhandledrejection\';\nvar REJECTION_HANDLED = \'rejectionhandled\';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper;\nvar FORCED = isForced(PROMISE, function () {\n // correct subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var empty = function () { /* empty */ };\n var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !((IS_NODE || typeof PromiseRejectionEvent == \'function\')\n && (!IS_PURE || promise[\'finally\'])\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can\'t detect it synchronously, so just check versions\n && v8.indexOf(\'6.6\') !== 0\n && userAgent.indexOf(\'Chrome/66\') === -1);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)[\'catch\'](function () { /* empty */ });\n});\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == \'function\' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError(\'Promise-chain cycle\'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can\'t use forEach\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent(\'Event\');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global[\'on\' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors(\'Unhandled promise rejection\', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit(\'unhandledRejection\', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit(\'rejectionHandled\', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError("Promise can\'t be resolved itself");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == \'function\' ? onFulfilled : true;\n reaction.fail = typeof onRejected == \'function\' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n \'catch\': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n // wrap fetch result\n if (!IS_PURE && typeof $fetch == \'function\') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n}\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = path[PROMISE];\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n//./node_modules/core-js/modules/es.promise.js?')},"./node_modules/core-js/modules/es.string.iterator.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar codePointAt = __webpack_require__(/*! ../internals/string-at */ "./node_modules/core-js/internals/string-at.js");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");\nvar defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");\nvar STRING_ITERATOR = \'String Iterator\';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, \'String\', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = codePointAt(string, index, true);\n state.index += point.length;\n return { value: point, done: false };\n});\n//./node_modules/core-js/modules/es.string.iterator.js?')},"./node_modules/core-js/modules/es.typed-array.slice.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");\nvar ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");\nvar fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar arraySlice = [].slice;\nvar FORCED = fails(function () {\n // eslint-disable-next-line no-undef\n new Int8Array(1).slice();\n});\n// `%TypedArray%.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice\nArrayBufferViewCore.exportProto(\'slice\', function slice(start, end) {\n var list = arraySlice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n//./node_modules/core-js/modules/es.typed-array.slice.js?')},"./node_modules/core-js/modules/esnext.aggregate-error.js":function(module,exports,__webpack_require__){eval('var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");\nvar create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(message), getPrototypeOf(that));\n }\n var errorsArray = [];\n iterate(errors, errorsArray.push, errorsArray);\n that.errors = errorsArray;\n if (message !== undefined) hide(that, \'message\', String(message));\n return that;\n};\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n name: createPropertyDescriptor(5, \'AggregateError\')\n});\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n//./node_modules/core-js/modules/esnext.aggregate-error.js?')},"./node_modules/core-js/modules/esnext.promise.all-settled.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");\nvar perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: \'Promise\', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: \'fulfilled\', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: \'rejected\', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n//./node_modules/core-js/modules/esnext.promise.all-settled.js?')},"./node_modules/core-js/modules/esnext.promise.any.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");\nvar getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");\nvar perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");\nvar iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");\nvar PROMISE_ANY_ERROR = \'No one promise resolved\';\n// `Promise.any` method\n// https://github.com/tc39/proposal-promise-any\n$({ target: \'Promise\', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (e) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = e;\n --remaining || reject(new (getBuiltIn(\'AggregateError\'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn(\'AggregateError\'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n//./node_modules/core-js/modules/esnext.promise.any.js?')},"./node_modules/core-js/modules/esnext.promise.try.js":function(module,exports,__webpack_require__){"use strict";eval('\nvar $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");\nvar newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");\nvar perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: \'Promise\', stat: true }, {\n \'try\': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n//./node_modules/core-js/modules/esnext.promise.try.js?')},"./node_modules/core-js/modules/web.dom-collections.iterator.js":function(module,exports,__webpack_require__){eval('var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");\nvar DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js");\nvar ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");\nvar hide = __webpack_require__(/*! ../internals/hide */ "./node_modules/core-js/internals/hide.js");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");\nvar ITERATOR = wellKnownSymbol(\'iterator\');\nvar TO_STRING_TAG = wellKnownSymbol(\'toStringTag\');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n hide(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n//./node_modules/core-js/modules/web.dom-collections.iterator.js?')},"./node_modules/fast-text-encoding/text.min.js":function(module,exports,__webpack_require__){eval('/* WEBPACK VAR INJECTION */(function(global) {(function(l){function m(b){b=void 0===b?"utf-8":b;if("utf-8"!==b)throw new RangeError("Failed to construct \'TextEncoder\': The encoding label provided (\'"+b+"\') is invalid.");}function k(b,a){b=void 0===b?"utf-8":b;a=void 0===a?{fatal:!1}:a;if("utf-8"!==b)throw new RangeError("Failed to construct \'TextDecoder\': The encoding label provided (\'"+b+"\') is invalid.");if(a.fatal)throw Error("Failed to construct \'TextDecoder\': the \'fatal\' option is unsupported.");}if(l.TextEncoder&&l.TextDecoder)return!1;\nObject.defineProperty(m.prototype,"encoding",{value:"utf-8"});m.prototype.encode=function(b,a){a=void 0===a?{stream:!1}:a;if(a.stream)throw Error("Failed to encode: the \'stream\' option is unsupported.");a=0;for(var h=b.length,f=0,c=Math.max(32,h+(h>>1)+7),e=new Uint8Array(c>>3<<3);a=d){if(a=d)continue}f+4>e.length&&(c+=8,c*=1+a/b.length*2,c=c>>3<<3,\ng=new Uint8Array(c),g.set(e),e=g);if(0===(d&4294967168))e[f++]=d;else{if(0===(d&4294965248))e[f++]=d>>6&31|192;else if(0===(d&4294901760))e[f++]=d>>12&15|224,e[f++]=d>>6&63|128;else if(0===(d&4292870144))e[f++]=d>>18&7|240,e[f++]=d>>12&63|128,e[f++]=d>>6&63|128;else continue;e[f++]=d&63|128}}return e.slice(0,f)};Object.defineProperty(k.prototype,"encoding",{value:"utf-8"});Object.defineProperty(k.prototype,"fatal",{value:!1});Object.defineProperty(k.prototype,"ignoreBOM",{value:!1});k.prototype.decode=\nfunction(b,a){a=void 0===a?{stream:!1}:a;if(a.stream)throw Error("Failed to decode: the \'stream\' option is unsupported.");b=new Uint8Array(b);a=0;for(var h=b.length,f=[];a>>10&1023|55296),c=56320|\nc&1023);f.push(c)}}return String.fromCharCode.apply(null,f)};l.TextEncoder=m;l.TextDecoder=k})("undefined"!==typeof window?window:"undefined"!==typeof global?global:this);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))\n//./node_modules/fast-text-encoding/text.min.js?')},"./node_modules/ieee754/index.js":function(module,exports){eval("exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n i += d\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n value = Math.abs(value)\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n buffer[offset + i - d] |= s * 128\n}\n//./node_modules/ieee754/index.js?")},"./node_modules/isarray/index.js":function(module,exports){eval("var toString = {}.toString;\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n//./node_modules/isarray/index.js?")},"./node_modules/regenerator-runtime/runtime.js":function(module,exports,__webpack_require__){eval('/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar runtime = (function (exports) {\n "use strict";\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === "function" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || "@@iterator";\n var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";\n var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n exports.wrap = wrap;\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there\'s no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don\'t have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: "normal", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: "throw", arg: err };\n }\n }\n var GenStateSuspendedStart = "suspendedStart";\n var GenStateSuspendedYield = "suspendedYield";\n var GenStateExecuting = "executing";\n var GenStateCompleted = "completed";\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n // This is a polyfill for %IteratorPrototype% for environments that\n // don\'t natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = "GeneratorFunction";\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n ["next", "throw", "return"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === "function" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === "GeneratorFunction"\n : false;\n };\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = "GeneratorFunction";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, "__await")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === "throw") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === "object" &&\n hasOwn.call(value, "__await")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke("next", value, resolve, reject);\n }, function(err) {\n invoke("throw", err, resolve, reject);\n });\n }\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke("throw", error, resolve, reject);\n });\n }\n }\n var previousPromise;\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error("Generator is already running");\n }\n if (state === GenStateCompleted) {\n if (method === "throw") {\n throw arg;\n }\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n context.method = method;\n context.arg = arg;\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (context.method === "next") {\n // Setting context._sent for legacy support of Babel\'s\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === "throw") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n context.dispatchException(context.arg);\n } else if (context.method === "return") {\n context.abrupt("return", context.arg);\n }\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n if (record.type === "normal") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n if (record.arg === ContinueSentinel) {\n continue;\n }\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === "throw") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = "throw";\n context.arg = record.arg;\n }\n }\n };\n }\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n if (context.method === "throw") {\n // Note: ["return"] must be used for ES3 parsing compatibility.\n if (delegate.iterator["return"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = "return";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n if (context.method === "throw") {\n // If maybeInvokeDelegate(context) changed context.method from\n // "return" to "throw", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n context.method = "throw";\n context.arg = new TypeError(\n "The iterator does not provide a \'throw\' method");\n }\n return ContinueSentinel;\n }\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (record.type === "throw") {\n context.method = "throw";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n var info = record.arg;\n if (! info) {\n context.method = "throw";\n context.arg = new TypeError("iterator result is not an object");\n context.delegate = null;\n return ContinueSentinel;\n }\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n // If context.method was "throw" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was "next", forget context.arg since it has been\n // "consumed" by the delegate iterator. If context.method was\n // "return", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== "return") {\n context.method = "next";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = "Generator";\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers\' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn\'t happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n Gp.toString = function() {\n return "[object Generator]";\n };\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = "normal";\n delete record.arg;\n entry.completion = record;\n }\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: "root" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n if (typeof iterable.next === "function") {\n return iterable;\n }\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n next.value = undefined;\n next.done = true;\n return next;\n };\n return next.next = next;\n }\n }\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n function doneResult() {\n return { value: undefined, done: true };\n }\n Context.prototype = {\n constructor: Context,\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel\'s\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = "next";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === "t" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === "throw") {\n throw rootRecord.arg;\n }\n return this.rval;\n },\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n var context = this;\n function handle(loc, caught) {\n record.type = "throw";\n record.arg = exception;\n context.next = loc;\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = "next";\n context.arg = undefined;\n }\n return !! caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n if (entry.tryLoc === "root") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle("end");\n }\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, "catchLoc");\n var hasFinally = hasOwn.call(entry, "finallyLoc");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error("try statement without catch or finally");\n }\n }\n }\n },\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, "finallyLoc") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n if (finallyEntry &&\n (type === "break" ||\n type === "continue") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n if (finallyEntry) {\n this.method = "next";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n return this.complete(record);\n },\n complete: function(record, afterLoc) {\n if (record.type === "throw") {\n throw record.arg;\n }\n if (record.type === "break" ||\n record.type === "continue") {\n this.next = record.arg;\n } else if (record.type === "return") {\n this.rval = this.arg = record.arg;\n this.method = "return";\n this.next = "end";\n } else if (record.type === "normal" && afterLoc) {\n this.next = afterLoc;\n }\n return ContinueSentinel;\n },\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n "catch": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === "throw") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error("illegal catch attempt");\n },\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n if (this.method === "next") {\n // Deliberately forget the last sent value so that we don\'t\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n return ContinueSentinel;\n }\n };\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n true ? module.exports : undefined\n));\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you\'ve misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you\'re not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function("r", "regeneratorRuntime = r")(runtime);\n}\n//./node_modules/regenerator-runtime/runtime.js?')},"./node_modules/webpack/buildin/global.js":function(module,exports){eval('var g;\n// This works in non-strict mode\ng = (function() {\n return this;\n})();\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function("return this")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === "object") g = window;\n}\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it\'s\n// easier to handle this case. if(!global) { ...}\nmodule.exports = g;\n//(webpack)/buildin/global.js?')},"./node_modules/whatwg-fetch/fetch.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Headers\", function() { return Headers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Request\", function() { return Request; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Response\", function() { return Response; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DOMException\", function() { return DOMException; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fetch\", function() { return fetch; });\nvar support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n return iterator\n}\nfunction Headers(headers) {\n this.map = {}\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\nfunction Body() {\n this.bodyUsed = false\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n return this\n}\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\nfunction Request(input, options) {\n options = options || {}\n var body = options.body\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\nBody.call(Request.prototype)\nfunction Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\nBody.call(Response.prototype)\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\nvar redirectStatuses = [301, 302, 303, 307, 308]\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n return new Response(null, {status: status, headers: {location: url}})\n}\nvar DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\nfunction fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n var xhr = new XMLHttpRequest()\n function abortXhr() {\n xhr.abort()\n }\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n xhr.open(request.method, request.url, true)\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\nfetch.polyfill = true\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n//./node_modules/whatwg-fetch/fetch.js?")},"./src/error.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RangeNotSupportedError", function() { return RangeNotSupportedError; });\nfunction _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar RangeNotSupportedError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(RangeNotSupportedError, _Error);\n function RangeNotSupportedError() {\n _classCallCheck(this, RangeNotSupportedError);\n return _possibleConstructorReturn(this, _getPrototypeOf(RangeNotSupportedError).call(this, \'RangeNotSupportedError\'));\n }\n return RangeNotSupportedError;\n}(_wrapNativeSuper(Error));\n//./src/error.ts?')},"./src/lszlw/downloader.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "downloadRange", function() { return downloadRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "downloadAll", function() { return downloadAll; });\n/* harmony import */ var abortcontroller_polyfill_dist_abortcontroller_polyfill_only__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! abortcontroller-polyfill/dist/abortcontroller-polyfill-only */ "./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js");\n/* harmony import */ var abortcontroller_polyfill_dist_abortcontroller_polyfill_only__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(abortcontroller_polyfill_dist_abortcontroller_polyfill_only__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var whatwg_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! whatwg-fetch */ "./node_modules/whatwg-fetch/fetch.js");\n/* harmony import */ var _util_abort__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/abort */ "./src/util/abort.ts");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../error */ "./src/error.ts");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }\nvar abortableFetch = \'signal\' in new Request(self.location.href) ? self.fetch : whatwg_fetch__WEBPACK_IMPORTED_MODULE_1__["fetch"];\nfunction downloadRange(_x, _x2, _x3) {\n return _downloadRange.apply(this, arguments);\n}\nfunction _downloadRange() {\n _downloadRange = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee(url, range, signal) {\n var controller, res, contentRange, byteRange, offset, buffer, chunk;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n Object(_util_abort__WEBPACK_IMPORTED_MODULE_2__["throwIfAbort"])(signal);\n controller = new AbortController();\n if (signal) {\n signal.addEventListener(\'abort\', function () {\n controller.abort();\n });\n }\n _context.next = 5;\n return abortableFetch(url, {\n headers: {\n \'Range\': range\n },\n mode: \'cors\',\n credentials: \'omit\',\n signal: controller.signal\n });\n case 5:\n res = _context.sent;\n if (!(res.status !== 206)) {\n _context.next = 9;\n break;\n }\n controller.abort();\n throw new _error__WEBPACK_IMPORTED_MODULE_3__["RangeNotSupportedError"]();\n case 9:\n contentRange = res.headers.get(\'Content-Range\');\n byteRange = contentRange && contentRange.match(/bytes (\\d+)/);\n if (!(!byteRange || !byteRange[1])) {\n _context.next = 14;\n break;\n }\n controller.abort();\n throw new Error(\'Content-Range not found.\');\n case 14:\n offset = parseInt(byteRange[1]);\n _context.next = 17;\n return res.arrayBuffer();\n case 17:\n buffer = _context.sent;\n chunk = [buffer, offset];\n return _context.abrupt("return", chunk);\n case 20:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _downloadRange.apply(this, arguments);\n}\nfunction downloadAll(_x4, _x5) {\n return _downloadAll.apply(this, arguments);\n}\nfunction _downloadAll() {\n _downloadAll = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee2(url, signal) {\n var res;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n Object(_util_abort__WEBPACK_IMPORTED_MODULE_2__["throwIfAbort"])(signal);\n _context2.next = 3;\n return abortableFetch(url, {\n mode: \'cors\',\n credentials: \'omit\',\n signal: signal\n });\n case 3:\n res = _context2.sent;\n if (res.ok) {\n _context2.next = 6;\n break;\n }\n throw new Error(\'Get request failed. status code: \' + res.status);\n case 6:\n return _context2.abrupt("return", res.arrayBuffer());\n case 7:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _downloadAll.apply(this, arguments);\n}\n//./src/lszlw/downloader.ts?')},"./src/lszlw/fragment-storage.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return FragmentStorage; });\n/* harmony import */ var _util_idb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../util/idb */ "./src/util/idb.ts");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nvar DB_VERSION = 22;\nvar LIVE_FRAGMENT_COUNT = 1000;\nvar LIVE_FRAGMENT_AGE = 1000 * 60 * 60 * 1; // 1 hour\nvar FRAGMENT_OBJECT_STORE_NAME = \'fragment\';\nvar GROUP_STORE_NAME = \'group\';\nfunction getFragmentKey(url, name) {\n return url + \':\' + name;\n}\nvar FragmentStorage = function FragmentStorage(params) {\n var _this = this;\n _classCallCheck(this, FragmentStorage);\n this.params = params;\n _defineProperty(this, "prepare", _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee() {\n var request, db;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n request = indexedDB.open(\'lszr\', DB_VERSION);\n request.onupgradeneeded = function (event) {\n var db = request.result;\n var names = db.objectStoreNames;\n if (names.contains(FRAGMENT_OBJECT_STORE_NAME)) {\n db.deleteObjectStore(FRAGMENT_OBJECT_STORE_NAME);\n }\n if (names.contains(GROUP_STORE_NAME)) {\n db.deleteObjectStore(GROUP_STORE_NAME);\n }\n var fragmentStore = db.createObjectStore(FRAGMENT_OBJECT_STORE_NAME);\n var groupStore = db.createObjectStore(GROUP_STORE_NAME);\n fragmentStore.createIndex(\'time\', \'time\', {\n unique: false\n });\n groupStore.createIndex(\'time\', \'time\', {\n unique: false\n });\n };\n _context.next = 4;\n return Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisify"])(request);\n case 4:\n db = _context.sent;\n if (!_this.params.forceKeepCache) {\n _this.clearExpired(db);\n }\n return _context.abrupt("return", db);\n case 7:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }))());\n _defineProperty(this, "getFragment",\n /*#__PURE__*/\n function () {\n var _ref2 = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee2(name, signal) {\n var onabort, db, transaction, fragmentStore, groupStore, key, result;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n onabort = signal && signal.onabort;\n _context2.next = 3;\n return _this.prepare.catch(function () {});\n case 3:\n db = _context2.sent;\n if (db) {\n _context2.next = 6;\n break;\n }\n return _context2.abrupt("return", undefined);\n case 6:\n _context2.prev = 6;\n transaction = db.transaction([FRAGMENT_OBJECT_STORE_NAME, GROUP_STORE_NAME], \'readwrite\');\n if (signal) {\n signal.onabort = transaction.abort;\n }\n fragmentStore = transaction.objectStore(FRAGMENT_OBJECT_STORE_NAME);\n groupStore = transaction.objectStore(GROUP_STORE_NAME);\n key = getFragmentKey(_this.params.url, name);\n _context2.next = 14;\n return Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisify"])(fragmentStore.get(key));\n case 14:\n result = _context2.sent;\n if (result) {\n _context2.next = 17;\n break;\n }\n return _context2.abrupt("return", undefined);\n case 17:\n Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisify"])(groupStore.put({\n time: Date.now()\n }, _this.params.url)).catch(console.warn);\n return _context2.abrupt("return", result.buffer);\n case 21:\n _context2.prev = 21;\n _context2.t0 = _context2["catch"](6);\n if (!(_context2.t0 && _context2.t0.name === \'AbortError\')) {\n _context2.next = 25;\n break;\n }\n return _context2.abrupt("return", undefined);\n case 25:\n console.error(_context2.t0);\n return _context2.abrupt("return", undefined);\n case 27:\n _context2.prev = 27;\n if (signal) {\n signal.onabort = onabort;\n }\n return _context2.finish(27);\n case 30:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[6, 21, 27, 30]]);\n }));\n return function (_x, _x2) {\n return _ref2.apply(this, arguments);\n };\n }());\n _defineProperty(this, "putFragment",\n /*#__PURE__*/\n function () {\n var _ref3 = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee3(name, buffer) {\n var db, transaction, fragmentStore, groupStore, key, fragmentPromise, groupPromise;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this.prepare.catch(function () {});\n case 2:\n db = _context3.sent;\n if (db) {\n _context3.next = 5;\n break;\n }\n return _context3.abrupt("return");\n case 5:\n _context3.prev = 5;\n transaction = db.transaction([FRAGMENT_OBJECT_STORE_NAME, GROUP_STORE_NAME], \'readwrite\');\n fragmentStore = transaction.objectStore(FRAGMENT_OBJECT_STORE_NAME);\n groupStore = transaction.objectStore(GROUP_STORE_NAME);\n key = getFragmentKey(_this.params.url, name);\n fragmentPromise = Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisify"])(fragmentStore.put({\n buffer: buffer,\n time: Date.now()\n }, key));\n groupPromise = Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisify"])(groupStore.put({\n time: Date.now()\n }, _this.params.url));\n _context3.next = 14;\n return Promise.all([fragmentPromise, groupPromise]);\n case 14:\n _context3.next = 19;\n break;\n case 16:\n _context3.prev = 16;\n _context3.t0 = _context3["catch"](5);\n console.error(_context3.t0);\n case 19:\n case "end":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[5, 16]]);\n }));\n return function (_x3, _x4) {\n return _ref3.apply(this, arguments);\n };\n }());\n _defineProperty(this, "clearExpired",\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee4(db) {\n var expire, transaction, fragmentStore, groupStore, fragmentTimeIndex, groupTimeIndex, urls, count, deleteCount;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n expire = Date.now() - LIVE_FRAGMENT_AGE;\n transaction = db.transaction([FRAGMENT_OBJECT_STORE_NAME, GROUP_STORE_NAME], \'readwrite\');\n fragmentStore = transaction.objectStore(FRAGMENT_OBJECT_STORE_NAME);\n groupStore = transaction.objectStore(GROUP_STORE_NAME);\n fragmentTimeIndex = fragmentStore.index(\'time\');\n groupTimeIndex = groupStore.index(\'time\');\n urls = [_this.params.url];\n _context4.next = 9;\n return Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisify"])(fragmentTimeIndex.count());\n case 9:\n count = _context4.sent;\n deleteCount = count - LIVE_FRAGMENT_COUNT;\n if (!(deleteCount < 1)) {\n _context4.next = 13;\n break;\n }\n return _context4.abrupt("return");\n case 13:\n _context4.next = 15;\n return Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisifyWithCursor"])(groupTimeIndex.openCursor(), function (cursor) {\n var group = cursor.value;\n var key = cursor.primaryKey;\n if (_this.params.url === key) {\n return;\n }\n if (group.time > expire) {\n urls.push(key);\n return;\n }\n cursor.delete();\n });\n case 15:\n _context4.next = 17;\n return Object(_util_idb__WEBPACK_IMPORTED_MODULE_0__["promisifyWithCursor"])(fragmentTimeIndex.openCursor(), function (cursor) {\n var key = cursor.primaryKey;\n if (urls.find(function (c) {\n return key.startsWith(c);\n })) {\n return;\n }\n if (deleteCount < 0) {\n return true;\n }\n cursor.delete();\n deleteCount--;\n });\n case 17:\n case "end":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return function (_x5) {\n return _ref4.apply(this, arguments);\n };\n }());\n};\n//./src/lszlw/fragment-storage.ts?')},"./src/lszlw/lszlw.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_features_promise__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/features/promise */ "./node_modules/core-js/features/promise/index.js");\n/* harmony import */ var core_js_features_promise__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_features_promise__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! regenerator-runtime/runtime */ "./node_modules/regenerator-runtime/runtime.js");\n/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../types */ "./src/types.ts");\n/* harmony import */ var _lszr_wrapper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lszr-wrapper */ "./src/lszlw/lszr-wrapper.ts");\n/* harmony import */ var _resolver__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../resolver */ "./src/resolver.ts");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }\nvar dataHandlers = {};\nfunction postPromise(type, promise, meta) {\n promise.then(function (payload) {\n postMessage({\n type: type,\n payload: payload,\n meta: meta\n }, undefined);\n }, function (error) {\n postMessage({\n type: type,\n error: true,\n payload: error && error.toString(),\n meta: meta\n }, undefined);\n });\n}\nfunction postTransferable(type, promise, meta) {\n promise.then(function (_ref) {\n var payload = _ref.payload,\n transferable = _ref.transferable;\n postMessage({\n type: type,\n payload: payload,\n meta: meta\n }, [transferable]);\n }, function (error) {\n postMessage({\n type: type,\n error: true,\n payload: error && error.toString(),\n meta: meta\n }, undefined);\n });\n}\nvar prepare = Object(_resolver__WEBPACK_IMPORTED_MODULE_4__["createResolver"])();\nonmessage = function onmessage(ev) {\n var message = ev.data;\n var type = message.type,\n meta = message.meta;\n if (type === _types__WEBPACK_IMPORTED_MODULE_2__["MessageType"].INIT) {\n var _ref2 = message,\n _ref2$payload = _ref2.payload,\n url = _ref2$payload.url,\n forceInMemoryCache = _ref2$payload.forceInMemoryCache,\n forceKeepCache = _ref2$payload.forceKeepCache,\n noUseCache = _ref2$payload.noUseCache;\n prepare.attachPromise(_asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee() {\n var lsuzrw;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n lsuzrw = new _lszr_wrapper__WEBPACK_IMPORTED_MODULE_3__["default"]({\n url: url,\n noUseCache: noUseCache,\n forceInMemoryCache: forceInMemoryCache,\n forceKeepCache: forceKeepCache,\n onUpdateState: function onUpdateState(state) {\n postMessage({\n type: _types__WEBPACK_IMPORTED_MODULE_2__["MessageType"].UPDATE_STATE,\n state: state,\n meta: meta\n }, undefined);\n }\n });\n postPromise(_types__WEBPACK_IMPORTED_MODULE_2__["MessageType"].INIT, lsuzrw.getState(), meta);\n return _context.abrupt("return", lsuzrw);\n case 3:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }))());\n } else if (type === _types__WEBPACK_IMPORTED_MODULE_2__["MessageType"].GET_DATA) {\n var _ref4 = message,\n _entryName = _ref4.payload;\n var exists = dataHandlers[_entryName];\n if (exists) {\n return;\n }\n var abort = new AbortController();\n var promise = prepare.then(function (lsuzrw) {\n return lsuzrw.getBuffer(_entryName, abort.signal);\n });\n dataHandlers[_entryName] = {\n promise: promise,\n abort: abort\n };\n promise.then(function () {\n delete dataHandlers[_entryName];\n }, function () {\n delete dataHandlers[_entryName];\n });\n postTransferable(type, promise.then(function (u8a) {\n return {\n payload: u8a.buffer,\n transferable: u8a.buffer\n };\n }), _entryName);\n } else if (type === _types__WEBPACK_IMPORTED_MODULE_2__["MessageType"].ABORT_DATA) {\n var _ref5 = message,\n _entryName2 = _ref5.payload;\n var _exists = dataHandlers[_entryName2];\n _exists && _exists.abort.abort(); // NO RESPONSE\n }\n};\n//./src/lszlw/lszlw.ts?')},"./src/lszlw/lszr-wrapper.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LSZRWrapper; });\n/* harmony import */ var core_js_modules_es_math_clz32__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.math.clz32 */ "./node_modules/core-js/modules/es.math.clz32.js");\n/* harmony import */ var core_js_modules_es_math_clz32__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_clz32__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_math_fround__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.math.fround */ "./node_modules/core-js/modules/es.math.fround.js");\n/* harmony import */ var core_js_modules_es_math_fround__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_fround__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_math_imul__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.math.imul */ "./node_modules/core-js/modules/es.math.imul.js");\n/* harmony import */ var core_js_modules_es_math_imul__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_math_imul__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_features_array_fill__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/features/array/fill */ "./node_modules/core-js/features/array/fill.js");\n/* harmony import */ var core_js_features_array_fill__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_features_array_fill__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_features_typed_array_slice__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/features/typed-array/slice */ "./node_modules/core-js/features/typed-array/slice.js");\n/* harmony import */ var core_js_features_typed_array_slice__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_features_typed_array_slice__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var fast_text_encoding__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! fast-text-encoding */ "./node_modules/fast-text-encoding/text.min.js");\n/* harmony import */ var fast_text_encoding__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(fast_text_encoding__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _wasm_pkg_lszr__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../wasm/pkg/lszr */ "./wasm/pkg/lszr.js");\n/* harmony import */ var _downloader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./downloader */ "./src/lszlw/downloader.ts");\n/* harmony import */ var _fragment_storage__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./fragment-storage */ "./src/lszlw/fragment-storage.ts");\n/* harmony import */ var _util_abort__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/abort */ "./src/util/abort.ts");\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../error */ "./src/error.ts");\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === \'function\') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n// polyfill manually for IE11\nvar EOCD_ENTRY_NAME = \':eocd\';\nvar CD_ENTRY_NAME = \':cd\';\nvar LSZRWrapper =\n/*#__PURE__*/\nfunction () {\n function LSZRWrapper(params) {\n _classCallCheck(this, LSZRWrapper);\n this.params = params;\n _defineProperty(this, "state", void 0);\n _defineProperty(this, "init", void 0);\n _defineProperty(this, "inMemoryCache", void 0);\n _defineProperty(this, "storage", void 0);\n this.state = {\n entryNames: [],\n fallback: false\n };\n if (!params.noUseCache) {\n this.storage = new _fragment_storage__WEBPACK_IMPORTED_MODULE_8__["default"]({\n url: params.url,\n forceKeepCache: params.forceKeepCache\n });\n }\n this.prepare();\n }\n _createClass(LSZRWrapper, [{\n key: "prepare",\n value: function prepare() {\n var _this = this;\n if (this.init) {\n return this.init;\n }\n var promise = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee() {\n var eocdCacheData, cdCacheData, eocdData, cdData, lastChunk, inMemoryCache, start, uzr, eocdRange, offset, size, _start, end, subRange, _offset, _size, _start2, _end, _start3, _end2, _ref2, _ref3, entryNames, fallback;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.t0 = _this.storage;\n if (!_context.t0) {\n _context.next = 5;\n break;\n }\n _context.next = 4;\n return _this.storage.getFragment(EOCD_ENTRY_NAME);\n case 4:\n _context.t0 = _context.sent;\n case 5:\n eocdCacheData = _context.t0;\n _context.t1 = _this.storage;\n if (!_context.t1) {\n _context.next = 11;\n break;\n }\n _context.next = 10;\n return _this.storage.getFragment(CD_ENTRY_NAME);\n case 10:\n _context.t1 = _context.sent;\n case 11:\n cdCacheData = _context.t1;\n eocdData = eocdCacheData;\n cdData = cdCacheData;\n if (eocdData) {\n _context.next = 34;\n break;\n }\n _context.prev = 15;\n if (!_this.params.forceInMemoryCache) {\n _context.next = 18;\n break;\n }\n throw new _error__WEBPACK_IMPORTED_MODULE_10__["RangeNotSupportedError"]();\n case 18:\n _context.next = 20;\n return Object(_downloader__WEBPACK_IMPORTED_MODULE_7__["downloadRange"])(_this.params.url, \'bytes=-65557\');\n case 20:\n lastChunk = _context.sent;\n eocdData = lastChunk[0];\n _context.next = 34;\n break;\n case 24:\n _context.prev = 24;\n _context.t2 = _context["catch"](15);\n if (_context.t2 instanceof _error__WEBPACK_IMPORTED_MODULE_10__["RangeNotSupportedError"]) {\n _context.next = 28;\n break;\n }\n throw _context.t2;\n case 28:\n _context.next = 30;\n return _this.cacheInMemory();\n case 30:\n inMemoryCache = _context.sent;\n start = inMemoryCache.byteLength - 65557;\n eocdData = inMemoryCache.slice(inMemoryCache.byteLength - 65557);\n lastChunk = [eocdData, start];\n case 34:\n uzr = new _wasm_pkg_lszr__WEBPACK_IMPORTED_MODULE_6__["LSZR"](new Uint8Array(eocdData));\n if (eocdCacheData) {\n _context.next = 45;\n break;\n }\n eocdRange = uzr.eocdRange;\n offset = eocdRange.offset, size = eocdRange.size;\n _start = offset;\n end = _start + size;\n eocdRange.free();\n eocdData = lastChunk[0].slice(_start, end);\n if (!_this.storage) {\n _context.next = 45;\n break;\n }\n _context.next = 45;\n return _this.storage.putFragment(EOCD_ENTRY_NAME, eocdData).catch(console.warn);\n case 45:\n if (cdData) {\n _context.next = 80;\n break;\n }\n subRange = uzr.cdRange;\n _offset = subRange.offset, _size = subRange.size;\n subRange.free();\n if (!(lastChunk && _offset > lastChunk[1])) {\n _context.next = 55;\n break;\n }\n _start2 = _offset - lastChunk[1];\n _end = _start2 + _size;\n cdData = lastChunk[0].slice(_start2, _end);\n _context.next = 77;\n break;\n case 55:\n _start3 = _offset;\n _end2 = _offset + _size;\n if (!inMemoryCache) {\n _context.next = 61;\n break;\n }\n cdData = inMemoryCache.slice(_start3, _end2 + 1);\n _context.next = 77;\n break;\n case 61:\n _context.prev = 61;\n _context.next = 64;\n return Object(_downloader__WEBPACK_IMPORTED_MODULE_7__["downloadRange"])(_this.params.url, "bytes=".concat(_start3, "-").concat(_end2));\n case 64:\n _ref2 = _context.sent;\n _ref3 = _slicedToArray(_ref2, 1);\n cdData = _ref3[0];\n _context.next = 77;\n break;\n case 69:\n _context.prev = 69;\n _context.t3 = _context["catch"](61);\n if (_context.t3 instanceof _error__WEBPACK_IMPORTED_MODULE_10__["RangeNotSupportedError"]) {\n _context.next = 73;\n break;\n }\n throw _context.t3;\n case 73:\n _context.next = 75;\n return _this.cacheInMemory();\n case 75:\n inMemoryCache = _context.sent;\n cdData = inMemoryCache.slice(_start3, _end2 + 1);\n case 77:\n if (!_this.storage) {\n _context.next = 80;\n break;\n }\n _context.next = 80;\n return _this.storage.putFragment(CD_ENTRY_NAME, cdData).catch(console.warn);\n case 80:\n entryNames = uzr.parseCD(new Uint8Array(cdData));\n fallback = !!inMemoryCache;\n _this.state = {\n entryNames: entryNames,\n fallback: fallback\n };\n return _context.abrupt("return", uzr);\n case 84:\n case "end":\n return _context.stop();\n }\n }\n }, _callee, null, [[15, 24], [61, 69]]);\n }))();\n promise.catch(function () {\n return _this.init = undefined;\n });\n return this.init = promise;\n }\n }, {\n key: "getState",\n value: function getState() {\n var _this2 = this;\n return this.prepare().then(function () {\n return _this2.state;\n });\n }\n }, {\n key: "getBuffer",\n value: function getBuffer(name, signal) {\n var _this3 = this;\n var promise = this.prepare().then(\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee2(uzr) {\n var exists, _data, range, start, end, buff, inMemoryCache, _ref5, _ref6, _inMemoryCache, data;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n Object(_util_abort__WEBPACK_IMPORTED_MODULE_9__["throwIfAbort"])(signal);\n _context2.t0 = _this3.storage;\n if (!_context2.t0) {\n _context2.next = 6;\n break;\n }\n _context2.next = 5;\n return _this3.storage.getFragment(name, signal);\n case 5:\n _context2.t0 = _context2.sent;\n case 6:\n exists = _context2.t0;\n if (!exists) {\n _context2.next = 12;\n break;\n }\n Object(_util_abort__WEBPACK_IMPORTED_MODULE_9__["throwIfAbort"])(signal);\n _data = uzr.getData(name, new Uint8Array(exists));\n Object(_util_abort__WEBPACK_IMPORTED_MODULE_9__["throwIfAbort"])(signal);\n return _context2.abrupt("return", _data);\n case 12:\n range = uzr.getRange(name);\n start = range.offset;\n end = start + range.size;\n range.free();\n if (!_this3.state.fallback) {\n _context2.next = 23;\n break;\n }\n _context2.next = 19;\n return _this3.inMemoryCache;\n case 19:\n inMemoryCache = _context2.sent;\n buff = inMemoryCache.slice(start, end + 1);\n _context2.next = 39;\n break;\n case 23:\n _context2.prev = 23;\n _context2.next = 26;\n return Object(_downloader__WEBPACK_IMPORTED_MODULE_7__["downloadRange"])(_this3.params.url, "bytes=".concat(start, "-").concat(end), signal);\n case 26:\n _ref5 = _context2.sent;\n _ref6 = _slicedToArray(_ref5, 1);\n buff = _ref6[0];\n _context2.next = 39;\n break;\n case 31:\n _context2.prev = 31;\n _context2.t1 = _context2["catch"](23);\n if (_context2.t1 instanceof _error__WEBPACK_IMPORTED_MODULE_10__["RangeNotSupportedError"]) {\n _context2.next = 35;\n break;\n }\n throw _context2.t1;\n case 35:\n _context2.next = 37;\n return _this3.cacheInMemory();\n case 37:\n _inMemoryCache = _context2.sent;\n buff = _inMemoryCache.slice(start, end + 1);\n case 39:\n if (_this3.storage) {\n _this3.storage.putFragment(name, buff).catch(console.warn);\n }\n Object(_util_abort__WEBPACK_IMPORTED_MODULE_9__["throwIfAbort"])(signal);\n data = uzr.getData(name, new Uint8Array(buff));\n Object(_util_abort__WEBPACK_IMPORTED_MODULE_9__["throwIfAbort"])(signal);\n return _context2.abrupt("return", data);\n case 44:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[23, 31]]);\n }));\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }());\n return promise;\n }\n }, {\n key: "cacheInMemory",\n value: function cacheInMemory() {\n var _this4 = this;\n if (this.inMemoryCache) {\n return this.inMemoryCache;\n }\n this.setState(_objectSpread({}, this.state, {\n fallback: true\n }));\n var promise = Object(_downloader__WEBPACK_IMPORTED_MODULE_7__["downloadAll"])(this.params.url);\n promise.catch(function (err) {\n console.warn(err);\n _this4.inMemoryCache = undefined;\n });\n promise.then(\n /*#__PURE__*/\n function () {\n var _ref7 = _asyncToGenerator(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee3(inMemoryCache) {\n var uzr;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this4.prepare();\n case 2:\n uzr = _context3.sent;\n _this4.state.entryNames.forEach(function (name) {\n var range = uzr.getRange(name);\n var start = range.offset;\n var end = start + range.size;\n range.free();\n var buff = inMemoryCache.slice(start, end + 1);\n if (_this4.storage) {\n _this4.storage.putFragment(name, buff).catch(console.warn);\n }\n });\n case 4:\n case "end":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return function (_x2) {\n return _ref7.apply(this, arguments);\n };\n }());\n return this.inMemoryCache = promise;\n }\n }, {\n key: "setState",\n value: function setState(state) {\n this.state = state;\n this.params.onUpdateState(state);\n }\n }]);\n return LSZRWrapper;\n}();\n//./src/lszlw/lszr-wrapper.ts?')},"./src/resolver.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResolverStatus", function() { return ResolverStatus; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createResolver", function() { return createResolver; });\nvar ResolverStatus;\n(function (ResolverStatus) {\n ResolverStatus[ResolverStatus["PENDING"] = 0] = "PENDING";\n ResolverStatus[ResolverStatus["RESOLVED"] = 1] = "RESOLVED";\n ResolverStatus[ResolverStatus["REJECTED"] = 2] = "REJECTED";\n})(ResolverStatus || (ResolverStatus = {}));\nfunction createResolver() {\n var resolve, reject;\n var resolver = new Promise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n resolver.status = ResolverStatus.PENDING;\n resolver.attachPromise = function (promise) {\n promise.then(function (result) {\n resolver.status = ResolverStatus.RESOLVED;\n resolve(result);\n }, function (error) {\n resolver.status = ResolverStatus.REJECTED;\n reject(error);\n });\n };\n resolver.attachMessage = function (message) {\n var error = message.error,\n payload = message.payload;\n if (!error) {\n resolver.status = ResolverStatus.RESOLVED;\n resolve(payload);\n } else {\n resolver.status = ResolverStatus.REJECTED;\n reject(payload);\n }\n };\n return resolver;\n}\n//./src/resolver.ts?')},"./src/types.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MessageType", function() { return MessageType; });\nvar MessageType;\n(function (MessageType) {\n MessageType["INIT"] = "INIT";\n MessageType["GET_DATA"] = "GET_DATA";\n MessageType["ABORT_DATA"] = "ABORT_DATA";\n MessageType["UPDATE_STATE"] = "UPDATE_STATE";\n})(MessageType || (MessageType = {}));\n//./src/types.ts?')},"./src/util/abort.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throwIfAbort", function() { return throwIfAbort; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AbortError", function() { return AbortError; });\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction throwIfAbort(signal) {\n if (!signal || !signal.aborted) {\n return;\n }\n throw new AbortError();\n}\nvar AbortError = function AbortError() {\n _classCallCheck(this, AbortError);\n _defineProperty(this, "name", \'AbortError\');\n};\n//./src/util/abort.ts?')},"./src/util/idb.ts":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "promisify", function() { return promisify; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "promisifyWithCursor", function() { return promisifyWithCursor; });\nfunction promisify(request) {\n return new Promise(function (res, rej) {\n request.onerror = function () {\n return rej(request.error);\n };\n request.onsuccess = function () {\n return res(request.result);\n };\n });\n}\nfunction promisifyWithCursor(request, ondata) {\n return new Promise(function (res, rej) {\n request.onerror = function () {\n return rej(request.error);\n };\n request.onsuccess = function () {\n if (request.result) {\n var ret = ondata(request.result);\n if (ret) {\n res();\n } else {\n request.result.continue();\n }\n } else {\n res();\n }\n };\n });\n}\n//./src/util/idb.ts?')},"./wasm/pkg/lszr.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_log_99d3625b1101d5c9", function() { return __wbg_log_99d3625b1101d5c9; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_new_acdbe9c25dc35c37", function() { return __wbg_new_acdbe9c25dc35c37; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_push_60b55c9bdc824202", function() { return __wbg_push_60b55c9bdc824202; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_new_1b8e8daea7ea040d", function() { return __wbg_new_1b8e8daea7ea040d; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_string_new", function() { return __wbindgen_string_new; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_rethrow", function() { return __wbindgen_rethrow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_throw", function() { return __wbindgen_throw; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LSZR", function() { return LSZR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Range", function() { return Range; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_object_drop_ref", function() { return __wbindgen_object_drop_ref; });\n/* harmony import */ var _lszr_bg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lszr_bg */ "./wasm/pkg/lszr_bg.js");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\nvar cachegetUint8Memory = null;\nfunction getUint8Memory() {\n if (cachegetUint8Memory === null || cachegetUint8Memory.buffer !== _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer) {\n cachegetUint8Memory = new Uint8Array(_lszr_bg__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer);\n }\n return cachegetUint8Memory;\n}\nvar WASM_VECTOR_LEN = 0;\nfunction passArray8ToWasm(arg) {\n var ptr = _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_malloc"](arg.length * 1);\n getUint8Memory().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\nvar heap = new Array(32);\nheap.fill(undefined);\nheap.push(undefined, null, true, false);\nfunction getObject(idx) {\n return heap[idx];\n}\nvar heap_next = heap.length;\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\nfunction takeObject(idx) {\n var ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\nvar cachedTextEncoder = new TextEncoder(\'utf-8\');\nvar passStringToWasm;\nif (typeof cachedTextEncoder.encodeInto === \'function\') {\n passStringToWasm = function passStringToWasm(arg) {\n var size = arg.length;\n var ptr = _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_malloc"](size);\n var offset = 0;\n {\n var mem = getUint8Memory();\n for (; offset < arg.length; offset++) {\n var code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n }\n if (offset !== arg.length) {\n arg = arg.slice(offset);\n ptr = _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_realloc"](ptr, size, size = offset + arg.length * 3);\n var view = getUint8Memory().subarray(ptr + offset, ptr + size);\n var ret = cachedTextEncoder.encodeInto(arg, view);\n offset += ret.written;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n };\n} else {\n passStringToWasm = function passStringToWasm(arg) {\n var size = arg.length;\n var ptr = _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_malloc"](size);\n var offset = 0;\n {\n var mem = getUint8Memory();\n for (; offset < arg.length; offset++) {\n var code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n }\n if (offset !== arg.length) {\n var buf = cachedTextEncoder.encode(arg.slice(offset));\n ptr = _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_realloc"](ptr, size, size = offset + buf.length);\n getUint8Memory().set(buf, ptr + offset);\n offset += buf.length;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n };\n}\nfunction getArrayU8FromWasm(ptr, len) {\n return getUint8Memory().subarray(ptr / 1, ptr / 1 + len);\n}\nvar cachedGlobalArgumentPtr = null;\nfunction globalArgumentPtr() {\n if (cachedGlobalArgumentPtr === null) {\n cachedGlobalArgumentPtr = _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_global_argument_ptr"]();\n }\n return cachedGlobalArgumentPtr;\n}\nvar cachegetUint32Memory = null;\nfunction getUint32Memory() {\n if (cachegetUint32Memory === null || cachegetUint32Memory.buffer !== _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer) {\n cachegetUint32Memory = new Uint32Array(_lszr_bg__WEBPACK_IMPORTED_MODULE_0__["memory"].buffer);\n }\n return cachegetUint32Memory;\n}\nvar cachedTextDecoder = new TextDecoder(\'utf-8\');\nfunction getStringFromWasm(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory().subarray(ptr, ptr + len));\n}\nfunction __wbg_log_99d3625b1101d5c9(arg0, arg1) {\n var varg0 = getStringFromWasm(arg0, arg1);\n console.log(varg0);\n}\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n var idx = heap_next;\n heap_next = heap[idx];\n heap[idx] = obj;\n return idx;\n}\nfunction __wbg_new_acdbe9c25dc35c37() {\n return addHeapObject(new Array());\n}\nfunction __wbg_push_60b55c9bdc824202(arg0, arg1) {\n return getObject(arg0).push(getObject(arg1));\n}\nfunction __wbg_new_1b8e8daea7ea040d(arg0, arg1) {\n var varg0 = getStringFromWasm(arg0, arg1);\n return addHeapObject(new Error(varg0));\n}\nfunction __wbindgen_string_new(p, l) {\n return addHeapObject(getStringFromWasm(p, l));\n}\nfunction __wbindgen_rethrow(idx) {\n throw takeObject(idx);\n}\nfunction __wbindgen_throw(ptr, len) {\n throw new Error(getStringFromWasm(ptr, len));\n}\nfunction freeLSZR(ptr) {\n _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbg_lszr_free"](ptr);\n}\n/**\n*/\nvar LSZR =\n/*#__PURE__*/\nfunction () {\n _createClass(LSZR, [{\n key: "free",\n value: function free() {\n var ptr = this.ptr;\n this.ptr = 0;\n freeLSZR(ptr);\n }\n /**\n * @param {Uint8Array} data\n * @returns {}\n */\n }]);\n function LSZR(data) {\n _classCallCheck(this, LSZR);\n var ptr0 = passArray8ToWasm(data);\n var len0 = WASM_VECTOR_LEN;\n this.ptr = _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["lszr_new"](ptr0, len0);\n }\n /**\n * @param {Uint8Array} data\n * @returns {any}\n */\n _createClass(LSZR, [{\n key: "parseCD",\n value: function parseCD(data) {\n var ptr0 = passArray8ToWasm(data);\n var len0 = WASM_VECTOR_LEN;\n return takeObject(_lszr_bg__WEBPACK_IMPORTED_MODULE_0__["lszr_parseCD"](this.ptr, ptr0, len0));\n }\n /**\n * @param {string} name\n * @returns {Range}\n */\n }, {\n key: "getRange",\n value: function getRange(name) {\n var ptr0 = passStringToWasm(name);\n var len0 = WASM_VECTOR_LEN;\n return Range.__wrap(_lszr_bg__WEBPACK_IMPORTED_MODULE_0__["lszr_getRange"](this.ptr, ptr0, len0));\n }\n /**\n * @param {string} name\n * @param {Uint8Array} data\n * @returns {Uint8Array}\n */\n }, {\n key: "getData",\n value: function getData(name, data) {\n var ptr0 = passStringToWasm(name);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = passArray8ToWasm(data);\n var len1 = WASM_VECTOR_LEN;\n var retptr = globalArgumentPtr();\n _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["lszr_getData"](retptr, this.ptr, ptr0, len0, ptr1, len1);\n var mem = getUint32Memory();\n var rustptr = mem[retptr / 4];\n var rustlen = mem[retptr / 4 + 1];\n var realRet = getArrayU8FromWasm(rustptr, rustlen).slice();\n _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_free"](rustptr, rustlen * 1);\n return realRet;\n }\n /**\n * @returns {Range}\n */\n }, {\n key: "cdRange",\n get: function get() {\n return Range.__wrap(_lszr_bg__WEBPACK_IMPORTED_MODULE_0__["lszr_cdRange"](this.ptr));\n }\n /**\n * @returns {Range}\n */\n }, {\n key: "eocdRange",\n get: function get() {\n return Range.__wrap(_lszr_bg__WEBPACK_IMPORTED_MODULE_0__["lszr_eocdRange"](this.ptr));\n }\n }]);\n return LSZR;\n}();\nfunction freeRange(ptr) {\n _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbg_range_free"](ptr);\n}\n/**\n*/\nvar Range =\n/*#__PURE__*/\nfunction () {\n function Range() {\n _classCallCheck(this, Range);\n }\n _createClass(Range, [{\n key: "free",\n value: function free() {\n var ptr = this.ptr;\n this.ptr = 0;\n freeRange(ptr);\n }\n /**\n * @returns {number}\n */\n }, {\n key: "offset",\n get: function get() {\n return _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbg_get_range_offset"](this.ptr) >>> 0;\n }\n /**\n * @returns {number}\n */\n }, {\n key: "size",\n get: function get() {\n return _lszr_bg__WEBPACK_IMPORTED_MODULE_0__["__wbg_get_range_size"](this.ptr) >>> 0;\n }\n }], [{\n key: "__wrap",\n value: function __wrap(ptr) {\n var obj = Object.create(Range.prototype);\n obj.ptr = ptr;\n return obj;\n }\n }]);\n return Range;\n}();\nfunction __wbindgen_object_drop_ref(i) {\n dropObject(i);\n}\n//./wasm/pkg/lszr.js?')},"./wasm/pkg/lszr_bg.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(Buffer) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "memory", function() { return memory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_lszr_free", function() { return __wbg_lszr_free; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_range_free", function() { return __wbg_range_free; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_get_range_offset", function() { return __wbg_get_range_offset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbg_get_range_size", function() { return __wbg_get_range_size; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lszr_new", function() { return lszr_new; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lszr_parseCD", function() { return lszr_parseCD; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lszr_getRange", function() { return lszr_getRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lszr_getData", function() { return lszr_getData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lszr_cdRange", function() { return lszr_cdRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lszr_eocdRange", function() { return lszr_eocdRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_global_argument_ptr", function() { return __wbindgen_global_argument_ptr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_malloc", function() { return __wbindgen_malloc; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_realloc", function() { return __wbindgen_realloc; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__wbindgen_free", function() { return __wbindgen_free; });\n/* harmony import */ var _lszr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lszr */ "./wasm/pkg/lszr.js");\nvar scratchBuffer=new ArrayBuffer(8);var i32ScratchView=new Int32Array(scratchBuffer);var f32ScratchView=new Float32Array(scratchBuffer);var f64ScratchView=new Float64Array(scratchBuffer);function legalimport$wasm2js_scratch_store_i64(low,high){i32ScratchView[0]=low;i32ScratchView[1]=high;}function asmFunc(global,env,buffer){var HEAP8=new global.Int8Array(buffer);var HEAP16=new global.Int16Array(buffer);var HEAP32=new global.Int32Array(buffer);var HEAPU8=new global.Uint8Array(buffer);var HEAPU16=new global.Uint16Array(buffer);var HEAPU32=new global.Uint32Array(buffer);var HEAPF32=new global.Float32Array(buffer);var HEAPF64=new global.Float64Array(buffer);var Math_imul=global.Math.imul;var Math_fround=global.Math.fround;var Math_abs=global.Math.abs;var Math_clz32=global.Math.clz32;var Math_min=global.Math.min;var Math_max=global.Math.max;var Math_floor=global.Math.floor;var Math_ceil=global.Math.ceil;var Math_sqrt=global.Math.sqrt;var abort=env.abort;var nan=global.NaN;var infinity=global.Infinity;var fimport$0=env.__wbg_log_99d3625b1101d5c9;var fimport$1=env.__wbindgen_string_new;var fimport$2=env.__wbindgen_object_drop_ref;var fimport$3=env.__wbg_new_acdbe9c25dc35c37;var fimport$4=env.__wbg_push_60b55c9bdc824202;var fimport$5=env.__wbg_new_1b8e8daea7ea040d;var fimport$6=env.__wbindgen_throw;var fimport$7=env.__wbindgen_rethrow;var global$0=1048576;var i64toi32_i32$HIGH_BITS=0;function $0($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0,$19_1=0,$20_1=0,$21_1=0,$22_1=0,$23_1=0,$24_1=0,$25_1=0,$26_1=0,$27_1=0,$28_1=0,$29_1=0,$30_1=0,$31_1=0;$5_1=global$0-288|0;global$0=$5_1;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{label$8:{label$9:{label$10:{label$11:{label$12:{label$13:{label$14:{label$15:{label$16:{$4_1=HEAP32[$1_1+48>>2];$6_1=HEAP32[$1_1+52>>2];if($4_1>>>0<=$6_1>>>0){if(HEAPU8[$1_1+56|0]){break label$3;}label$18:{label$19:{label$20:{$4_1=HEAPU8[$1_1+36|0];if(($4_1+1&255)>>>0>=33){while(1){if(HEAPU8[$1_1+28|0]!=3){break label$19;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$4_1=$6_1;$7_1=HEAP32[$1_1>>2];$8_1=HEAP32[$1_1+16>>2];$4_1=!$4_1&$7_1>>>0>$8_1>>>0|$4_1>>>0>0;$4_1=$4_1?$8_1:$7_1;if($8_1>>>0<$4_1>>>0){break label$16;}label$23:{label$24:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[$4_1+HEAP32[$1_1+8>>2]|0];}else{$92($5_1+208|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+208>>2],HEAP32[$5_1+212>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$24;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$23;}$4_1=0;if(($6_1&255)!=3){break label$20;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($4_1+1&255)>>>0>32){continue;}break;}}$12_1=HEAP32[$1_1+24>>2]>>>($4_1&31)&1;break label$18;}if(HEAPU8[$1_1+28|0]==2){$4_1=HEAP32[$1_1+32>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$1_1+32>>2]);}HEAP32[$1_1+28>>2]=$6_1;HEAP32[$1_1+32>>2]=$7_1;$4_1=HEAPU8[$1_1+36|0];}$12_1=0;}$4_1=$4_1+1|0;HEAP8[$1_1+36|0]=$4_1;$10_1=$1_1+32|0;$6_1=HEAP32[$10_1>>2];$7_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;if(($7_1&255)==3){$13_1=$1_1+36|0;$9_1=$1_1+28|0;label$32:{label$33:{label$34:{if(($7_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27($6_1);$4_1=HEAPU8[$13_1|0];}if(($4_1+2&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$33;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$37:{label$38:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+200|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+200>>2],HEAP32[$5_1+204>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$38;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$37;}$4_1=0;if(($6_1&255)!=3){break label$34;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($4_1+2&255)>>>0>32){continue;}break;}}$7_1=HEAP32[$1_1+24>>2]>>>($4_1&31);break label$32;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;$4_1=HEAPU8[$13_1|0];}$7_1=0;}HEAP8[$13_1|0]=$4_1+2;$6_1=HEAP32[$10_1>>2];$4_1=HEAP32[$9_1>>2];HEAP32[$9_1>>2]=3;HEAP32[$9_1+4>>2]=0;if(($4_1&255)!=3){break label$15;}if(($4_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27($6_1);}HEAP8[$1_1+56|0]=$12_1;$6_1=$1_1+48|0;$4_1=HEAP32[$6_1>>2];if($4_1>>>0>=131073){$8_1=HEAP32[$1_1+40>>2];$126($8_1,($4_1+$8_1|0)+-32768|0,32768);if(HEAPU32[$6_1>>2]>=32768){HEAP32[$1_1+48>>2]=32768;}HEAP32[$1_1+52>>2]=32768;}$22_1=$1_1+40|0;label$47:{switch(($7_1&3)-1|0){default:HEAP8[$1_1+36|0]=32;$6_1=HEAP32[$1_1+4>>2];$4_1=$6_1;$7_1=HEAP32[$1_1>>2];$8_1=HEAP32[$1_1+16>>2];$4_1=!$4_1&$7_1>>>0>$8_1>>>0|$4_1>>>0>0;$4_1=$4_1?$8_1:$7_1;if($8_1>>>0<$4_1>>>0){break label$14;}label$51:{label$52:{label$53:{label$54:{label$55:{label$56:{if($8_1-$4_1>>>0>=2){$4_1=$4_1+HEAP32[$1_1+8>>2]|0;$4_1=HEAPU8[$4_1|0]|HEAPU8[$4_1+1|0]<<8;break label$56;}$92($5_1+24|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+24>>2],HEAP32[$5_1+28>>2]);$6_1=HEAP32[$5_1+236>>2];$7_1=HEAP32[$5_1+232>>2];if(($7_1&255)!=3){break label$55;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+2|0;if($7_1>>>0<2){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$54;}if(($7_1&255)!=3){break label$53;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}HEAP16[$5_1+270>>1]=$4_1;$12_1=HEAP32[$1_1+16>>2];$8_1=$12_1;$15_1=!$6_1&$7_1>>>0>$8_1>>>0|$6_1>>>0>0;$8_1=$15_1?$8_1:$7_1;if($12_1>>>0<$8_1>>>0){break label$13;}label$58:{label$59:{label$60:{if($12_1-$8_1>>>0>=2){$8_1=$8_1+HEAP32[$1_1+8>>2]|0;$8_1=HEAPU8[$8_1|0]|HEAPU8[$8_1+1|0]<<8;break label$60;}$92($5_1+16|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+16>>2],HEAP32[$5_1+20>>2]);$6_1=HEAP32[$5_1+236>>2];$7_1=HEAP32[$5_1+232>>2];if(($7_1&255)!=3){break label$59;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$8_1=0;}$7_1=$7_1+2|0;if($7_1>>>0<2){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$58;}$8_1=0;if(($7_1&255)!=3){break label$53;}}HEAP16[$5_1+284>>1]=$8_1;if(($8_1&65535)==(($4_1^-1)&65535)){$6_1=$1_1+48|0;$8_1=HEAP32[$6_1>>2];$88($22_1,$8_1,$4_1&65535);$7_1=$6_1;$4_1=HEAPU16[$5_1+270>>1];$6_1=$4_1+$8_1|0;HEAP32[$7_1>>2]=$6_1;if($6_1>>>0<$8_1>>>0){break label$12;}$6_1=HEAP32[$1_1+4>>2];$12_1=HEAP32[$1_1>>2];$7_1=HEAP32[$1_1+16>>2];$6_1=!$6_1&$12_1>>>0>$7_1>>>0|$6_1>>>0>0;$6_1=$6_1?$7_1:$12_1;if($7_1>>>0<$6_1>>>0){break label$11;}label$63:{label$64:{if($7_1-$6_1>>>0>=$4_1>>>0){$8_1=HEAP32[$1_1+40>>2]+$8_1|0;$6_1=$6_1+HEAP32[$1_1+8>>2]|0;if(($4_1|0)!=1){$126($8_1,$6_1,$4_1);break label$64;}HEAP8[$8_1|0]=HEAPU8[$6_1|0];break label$64;}$92($5_1,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1>>2],HEAP32[$5_1+4>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$63;}}$6_1=HEAP32[$1_1+4>>2];$7_1=$4_1+HEAP32[$1_1>>2]|0;if($7_1>>>0<$4_1>>>0){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;$4_1=3;$12_1=0;break label$51;}$4_1=3;if(($6_1&255)!=3){break label$52;}$12_1=0;break label$51;}HEAP32[$5_1+252>>2]=2;HEAP32[$5_1+228>>2]=18;HEAP32[$5_1+236>>2]=2;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049264;HEAP32[$5_1+220>>2]=18;HEAP32[$5_1+248>>2]=$5_1+216;HEAP32[$5_1+224>>2]=$5_1+284;HEAP32[$5_1+216>>2]=$5_1+270;$56($5_1+272|0,$5_1+232|0);HEAP32[$5_1+240>>2]=HEAP32[$5_1+280>>2];$6_1=HEAP32[$5_1+276>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+272>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+8|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+8>>2],HEAP32[$5_1+12>>2]);$8_1=HEAP32[$5_1+236>>2];$4_1=HEAP32[$5_1+232>>2];$12_1=$4_1&-256;break label$51;}$8_1=$6_1;$4_1=$7_1;$12_1=$4_1&-256;break label$51;}$8_1=$7_1;$4_1=$6_1;$12_1=$4_1&-256;}$6_1=$4_1&255;if(($6_1|0)!=3){HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$6_1|$12_1;HEAP32[$0_1+8>>2]=$8_1;break label$2;}if(($4_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$8_1+4>>2]>>2]](HEAP32[$8_1>>2]);if(HEAP32[HEAP32[$8_1+4>>2]+4>>2]){$27(HEAP32[$8_1>>2]);}$27($8_1);}$0($0_1,$1_1,$2_1,$3_1);break label$2;case 0:$16($5_1+232|0);if(HEAP32[$5_1+232>>2]!=1){break label$7;}$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+240>>2];break label$6;case 1:$3($5_1+232|0,$1_1);if(HEAP32[$5_1+232>>2]!=1){break label$10;}$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+240>>2];break label$9;case 2:break label$47;};}HEAP32[$5_1+252>>2]=1;HEAP32[$5_1+236>>2]=1;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049088;HEAP32[$5_1+276>>2]=19;HEAP32[$5_1+272>>2]=1049144;HEAP32[$5_1+248>>2]=$5_1+272;$56($5_1+216|0,$5_1+232|0);HEAP32[$5_1+240>>2]=HEAP32[$5_1+224>>2];$1_1=HEAP32[$5_1+220>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+216>>2];HEAP32[$5_1+236>>2]=$1_1;$105($5_1+192|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+192>>2],HEAP32[$5_1+196>>2]);$1_1=HEAP32[$5_1+236>>2];HEAP32[$0_1+4>>2]=HEAP32[$5_1+232>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=1;break label$2;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$7_1;HEAP32[$1_1+8>>2]=$6_1;break label$2;}$8_1=$2_1;$2_1=$4_1-$6_1|0;$2_1=$2_1>>>0<$3_1>>>0?$2_1:$3_1;$126($8_1,$6_1+HEAP32[$1_1+40>>2]|0,$2_1);HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=0;HEAP32[$1_1+52>>2]=$2_1+HEAP32[$1_1+52>>2];break label$2;}$102($4_1,$8_1);abort();}HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$4_1;HEAP32[$0_1+8>>2]=$6_1;break label$2;}$102($4_1,$8_1);abort();}$102($8_1,$12_1);abort();}$102($8_1,$6_1);abort();}$102($6_1,$7_1);abort();}$16_1=HEAPU8[$5_1+265|0];$27_1=-1<<($16_1&15)^-1;$17_1=HEAPU8[$5_1+249|0];$28_1=-1<<($17_1&15)^-1;$18_1=HEAPU8[$5_1+264|0];$29_1=-1<<($18_1&15)^-1;$19_1=HEAPU8[$5_1+248|0];$30_1=-1<<($19_1&15)^-1;$23_1=HEAP32[$5_1+256>>2];$12_1=HEAP32[$5_1+252>>2];$20_1=$5_1+240|0;$24_1=HEAP32[$20_1>>2];$15_1=HEAP32[$5_1+236>>2];$31_1=$1_1+44|0;$14_1=$1_1+48|0;while(1){label$73:{label$74:{label$75:{$4_1=HEAPU8[$13_1|0];if(($19_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$74;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$78:{label$79:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+184|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+184>>2],HEAP32[$5_1+188>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$79;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$78;}$4_1=0;if(($6_1&255)!=3){break label$75;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($19_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$30_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$73;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$4_1=HEAPU16[($4_1<<1)+$15_1>>1];$8_1=$4_1&31;label$72:{if($8_1>>>0<=$19_1>>>0){break label$72;}label$84:{label$85:{label$86:{$4_1=HEAPU8[$13_1|0];if(($17_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$85;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$89:{label$90:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+176|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+176>>2],HEAP32[$5_1+180>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$90;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$89;}$4_1=0;if(($6_1&255)!=3){break label$86;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($17_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$28_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$84;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$4_1=HEAPU16[($4_1<<1)+$15_1>>1];$8_1=$4_1&31;if($8_1>>>0<=$17_1>>>0){break label$72;}HEAP32[$5_1+252>>2]=1;HEAP32[$5_1+236>>2]=1;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049088;HEAP32[$5_1+276>>2]=19;HEAP32[$5_1+272>>2]=1049604;HEAP32[$5_1+248>>2]=$5_1+272;$56($5_1+216|0,$5_1+232|0);HEAP32[$20_1>>2]=HEAP32[$5_1+224>>2];$6_1=HEAP32[$5_1+220>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+216>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+168|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+168>>2],HEAP32[$5_1+172>>2]);$7_1=HEAP32[$5_1+232>>2];$11_1=HEAP32[$5_1+236>>2];if(HEAPU8[$9_1|0]==2){$6_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$7_1;HEAP32[$9_1+4>>2]=$11_1;}$8_1=HEAPU8[$13_1|0]+$8_1|0;HEAP8[$13_1|0]=$8_1;$11_1=$4_1>>>5;HEAP16[$5_1+284>>1]=$11_1;label$71:{if($4_1>>>0<=8191){$4_1=1;$7_1=0;break label$71;}$4_1=0;label$98:{if($11_1+-286>>>0>=2){if(($11_1|0)==256){break label$98;}label$100:{label$101:{label$102:{$25_1=$11_1<<2;$11_1=HEAPU8[$25_1+1048374|0];if(($11_1+$8_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$101;}HEAP8[$1_1+36|0]=$8_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$105:{label$106:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+152|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+152>>2],HEAP32[$5_1+156>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$106;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$105;}$4_1=0;if(($6_1&255)!=3){break label$102;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$8_1=HEAPU8[$1_1+36|0];if(($11_1+$8_1&255)>>>0>32){continue;}break;}}$21_1=(-1<<($11_1&15)^-1)&HEAP32[$1_1+24>>2]>>>($8_1&31);break label$100;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;$8_1=HEAPU8[$13_1|0];}$21_1=0;}$4_1=$8_1+$11_1|0;HEAP8[$13_1|0]=$4_1;label$112:{label$113:{label$114:{if(($4_1+$18_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$113;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$117:{label$118:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+144|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+144>>2],HEAP32[$5_1+148>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$118;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$117;}$4_1=0;if(($6_1&255)!=3){break label$114;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($18_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$29_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$112;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$8_1=HEAPU16[($4_1<<1)+$12_1>>1];$4_1=$8_1&31;label$111:{if($4_1>>>0<=$18_1>>>0){break label$111;}label$123:{label$124:{label$125:{$4_1=HEAPU8[$13_1|0];if(($16_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$124;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$128:{label$129:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+136|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+136>>2],HEAP32[$5_1+140>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$129;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$128;}$4_1=0;if(($6_1&255)!=3){break label$125;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($16_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$27_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$123;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$8_1=HEAPU16[($4_1<<1)+$12_1>>1];$4_1=$8_1&31;if($4_1>>>0<=$16_1>>>0){break label$111;}HEAP32[$5_1+252>>2]=1;HEAP32[$5_1+236>>2]=1;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049088;HEAP32[$5_1+276>>2]=19;HEAP32[$5_1+272>>2]=1049604;HEAP32[$5_1+248>>2]=$5_1+272;$56($5_1+216|0,$5_1+232|0);HEAP32[$20_1>>2]=HEAP32[$5_1+224>>2];$6_1=HEAP32[$5_1+220>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+216>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+128|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+128>>2],HEAP32[$5_1+132>>2]);$7_1=HEAP32[$5_1+232>>2];$11_1=HEAP32[$5_1+236>>2];if(HEAPU8[$9_1|0]==2){$6_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$7_1;HEAP32[$9_1+4>>2]=$11_1;}$4_1=HEAPU8[$13_1|0]+$4_1|0;HEAP8[$13_1|0]=$4_1;label$136:{label$137:{label$138:{$26_1=$8_1>>>3&8188;$11_1=HEAPU8[$26_1+1049282|0];if(($11_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$137;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$141:{label$142:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+120|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+120>>2],HEAP32[$5_1+124>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$142;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$141;}$4_1=0;if(($6_1&255)!=3){break label$138;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($11_1+$4_1&255)>>>0>32){continue;}break;}}$6_1=(-1<<($11_1&15)^-1)&HEAP32[$1_1+24>>2]>>>($4_1&31);break label$136;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;$4_1=HEAPU8[$13_1|0];}$6_1=0;}$21_1=HEAPU16[$25_1+1048372>>1]+$21_1|0;HEAP8[$13_1|0]=$4_1+$11_1;$4_1=2;$7_1=$6_1+HEAPU16[$26_1+1049280>>1]|0;break label$71;}HEAP32[$5_1+252>>2]=1;HEAP32[$5_1+236>>2]=2;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049560;HEAP32[$5_1+276>>2]=18;HEAP32[$5_1+248>>2]=$5_1+272;HEAP32[$5_1+272>>2]=$5_1+284;$56($5_1+216|0,$5_1+232|0);HEAP32[$20_1>>2]=HEAP32[$5_1+224>>2];$6_1=HEAP32[$5_1+220>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+216>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+160|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+160>>2],HEAP32[$5_1+164>>2]);$7_1=HEAP32[$5_1+232>>2];$8_1=HEAP32[$5_1+236>>2];if(HEAPU8[$9_1|0]==2){$6_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);$11_1=HEAP32[HEAP32[$6_1+4>>2]+4>>2];if($11_1){$27(HEAP32[$6_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$7_1;HEAP32[$9_1+4>>2]=$8_1;}$7_1=0;}$6_1=HEAP32[$10_1>>2];$8_1=HEAP32[$9_1>>2];HEAP32[$9_1>>2]=3;HEAP32[$9_1+4>>2]=0;label$149:{label$150:{label$151:{label$152:{if(($8_1&255)==3){$8_1=$8_1&3;if(($8_1|0)==2){FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27($6_1);if(($8_1|0)!=1){break label$4;}}switch($4_1-1|0){case 1:break label$150;case 0:break label$151;default:break label$152;};}$7_1=$8_1;break label$149;}if($24_1){$27($15_1);}if(!$23_1){break label$8;}$27($12_1);$0($0_1,$1_1,$2_1,$3_1);break label$2;}$6_1=HEAP32[$14_1>>2];if(($6_1|0)==HEAP32[$31_1>>2]){$88($22_1,$6_1,1);$6_1=HEAP32[$14_1>>2];}HEAP8[HEAP32[$1_1+40>>2]+$6_1|0]=$11_1;HEAP32[$14_1>>2]=HEAP32[$14_1>>2]+1;continue;}HEAP16[$5_1+270>>1]=$7_1;label$159:{$6_1=HEAP32[$14_1>>2];if($6_1>>>0>=($7_1&65535)>>>0){$8_1=$21_1&65535;$88($22_1,$6_1,$8_1);HEAP32[$14_1>>2]=$6_1+$8_1;$11_1=HEAP32[$1_1+40>>2];$4_1=$11_1+$6_1|0;$7_1=HEAPU16[$5_1+270>>1];if($8_1>>>0<=$7_1>>>0){break label$159;}$6_1=0-$7_1|0;while(1){HEAP8[$4_1|0]=HEAPU8[$6_1+$4_1|0];$4_1=$4_1+1|0;$8_1=$8_1+-1|0;if($8_1){continue;}break;};continue;}HEAP32[$5_1+252>>2]=2;HEAP32[$5_1+228>>2]=18;HEAP32[$5_1+236>>2]=2;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049204;HEAP32[$5_1+220>>2]=1;HEAP32[$5_1+284>>2]=$6_1;HEAP32[$5_1+248>>2]=$5_1+216;HEAP32[$5_1+224>>2]=$5_1+270;HEAP32[$5_1+216>>2]=$5_1+284;$56($5_1+272|0,$5_1+232|0);HEAP32[$5_1+240>>2]=HEAP32[$5_1+280>>2];$6_1=HEAP32[$5_1+276>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+272>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+112|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+112>>2],HEAP32[$5_1+116>>2]);$7_1=HEAP32[$5_1+232>>2];$6_1=HEAP32[$5_1+236>>2];break label$149;}$126($4_1,$11_1+($6_1-$7_1|0)|0,$8_1);continue;}break;};if($24_1){$27($15_1);}if(!$23_1){break label$9;}$27($12_1);}if(($7_1&255)!=3){HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$7_1;HEAP32[$0_1+8>>2]=$6_1;break label$2;}if(($7_1&3)!=2){break label$8;}FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27($6_1);}$0($0_1,$1_1,$2_1,$3_1);break label$2;}$16_1=HEAPU8[$5_1+265|0];$27_1=-1<<($16_1&15)^-1;$17_1=HEAPU8[$5_1+249|0];$28_1=-1<<($17_1&15)^-1;$18_1=HEAPU8[$5_1+264|0];$29_1=-1<<($18_1&15)^-1;$19_1=HEAPU8[$5_1+248|0];$30_1=-1<<($19_1&15)^-1;$23_1=HEAP32[$5_1+256>>2];$12_1=HEAP32[$5_1+252>>2];$20_1=$5_1+240|0;$24_1=HEAP32[$20_1>>2];$15_1=HEAP32[$5_1+236>>2];$31_1=$1_1+44|0;$14_1=$1_1+48|0;while(1){label$168:{label$169:{label$170:{$4_1=HEAPU8[$13_1|0];if(($19_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$169;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$173:{label$174:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+104|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+104>>2],HEAP32[$5_1+108>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$174;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$173;}$4_1=0;if(($6_1&255)!=3){break label$170;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($19_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$30_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$168;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$4_1=HEAPU16[($4_1<<1)+$15_1>>1];$8_1=$4_1&31;label$167:{if($8_1>>>0<=$19_1>>>0){break label$167;}label$179:{label$180:{label$181:{$4_1=HEAPU8[$13_1|0];if(($17_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$180;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$184:{label$185:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+96|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+96>>2],HEAP32[$5_1+100>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$185;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$184;}$4_1=0;if(($6_1&255)!=3){break label$181;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($17_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$28_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$179;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$4_1=HEAPU16[($4_1<<1)+$15_1>>1];$8_1=$4_1&31;if($8_1>>>0<=$17_1>>>0){break label$167;}HEAP32[$5_1+252>>2]=1;HEAP32[$5_1+236>>2]=1;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049088;HEAP32[$5_1+276>>2]=19;HEAP32[$5_1+272>>2]=1049604;HEAP32[$5_1+248>>2]=$5_1+272;$56($5_1+216|0,$5_1+232|0);HEAP32[$20_1>>2]=HEAP32[$5_1+224>>2];$6_1=HEAP32[$5_1+220>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+216>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+88|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+88>>2],HEAP32[$5_1+92>>2]);$7_1=HEAP32[$5_1+232>>2];$11_1=HEAP32[$5_1+236>>2];if(HEAPU8[$9_1|0]==2){$6_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$7_1;HEAP32[$9_1+4>>2]=$11_1;}$8_1=HEAPU8[$13_1|0]+$8_1|0;HEAP8[$13_1|0]=$8_1;$11_1=$4_1>>>5;HEAP16[$5_1+284>>1]=$11_1;label$166:{if($4_1>>>0<=8191){$4_1=1;$7_1=0;break label$166;}$4_1=0;label$193:{if($11_1+-286>>>0>=2){if(($11_1|0)==256){break label$193;}label$195:{label$196:{label$197:{$25_1=$11_1<<2;$11_1=HEAPU8[$25_1+1048374|0];if(($11_1+$8_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$196;}HEAP8[$1_1+36|0]=$8_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$200:{label$201:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+72|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+72>>2],HEAP32[$5_1+76>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$201;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$200;}$4_1=0;if(($6_1&255)!=3){break label$197;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$8_1=HEAPU8[$1_1+36|0];if(($11_1+$8_1&255)>>>0>32){continue;}break;}}$21_1=(-1<<($11_1&15)^-1)&HEAP32[$1_1+24>>2]>>>($8_1&31);break label$195;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;$8_1=HEAPU8[$13_1|0];}$21_1=0;}$4_1=$8_1+$11_1|0;HEAP8[$13_1|0]=$4_1;label$207:{label$208:{label$209:{if(($4_1+$18_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$208;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$212:{label$213:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1- -64|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+64>>2],HEAP32[$5_1+68>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$213;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$212;}$4_1=0;if(($6_1&255)!=3){break label$209;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($18_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$29_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$207;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$8_1=HEAPU16[($4_1<<1)+$12_1>>1];$4_1=$8_1&31;label$206:{if($4_1>>>0<=$18_1>>>0){break label$206;}label$218:{label$219:{label$220:{$4_1=HEAPU8[$13_1|0];if(($16_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$219;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$223:{label$224:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+56|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+56>>2],HEAP32[$5_1+60>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$224;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$223;}$4_1=0;if(($6_1&255)!=3){break label$220;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($16_1+$4_1&255)>>>0>32){continue;}break;}}$4_1=$27_1&HEAP32[$1_1+24>>2]>>>($4_1&31)&65535;break label$218;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;}$4_1=0;}$8_1=HEAPU16[($4_1<<1)+$12_1>>1];$4_1=$8_1&31;if($4_1>>>0<=$16_1>>>0){break label$206;}HEAP32[$5_1+252>>2]=1;HEAP32[$5_1+236>>2]=1;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049088;HEAP32[$5_1+276>>2]=19;HEAP32[$5_1+272>>2]=1049604;HEAP32[$5_1+248>>2]=$5_1+272;$56($5_1+216|0,$5_1+232|0);HEAP32[$20_1>>2]=HEAP32[$5_1+224>>2];$6_1=HEAP32[$5_1+220>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+216>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+48|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+48>>2],HEAP32[$5_1+52>>2]);$7_1=HEAP32[$5_1+232>>2];$11_1=HEAP32[$5_1+236>>2];if(HEAPU8[$9_1|0]==2){$6_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$7_1;HEAP32[$9_1+4>>2]=$11_1;}$4_1=HEAPU8[$13_1|0]+$4_1|0;HEAP8[$13_1|0]=$4_1;label$231:{label$232:{label$233:{$26_1=$8_1>>>3&8188;$11_1=HEAPU8[$26_1+1049282|0];if(($11_1+$4_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$232;}HEAP8[$1_1+36|0]=$4_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$8_1=!$6_1&$7_1>>>0>$4_1>>>0|$6_1>>>0>0;$8_1=$8_1?$4_1:$7_1;if($4_1>>>0<$8_1>>>0){break label$1;}label$236:{label$237:{if(($4_1|0)!=($8_1|0)){$4_1=HEAPU8[HEAP32[$1_1+8>>2]+$8_1|0];}else{$92($5_1+40|0,1050604,27);$90($5_1+232|0,17,HEAP32[$5_1+40>>2],HEAP32[$5_1+44>>2]);$7_1=HEAP32[$5_1+236>>2];$6_1=HEAP32[$5_1+232>>2];if(($6_1&255)!=3){break label$237;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$4_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$236;}$4_1=0;if(($6_1&255)!=3){break label$233;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$4_1<<24;$4_1=HEAPU8[$1_1+36|0];if(($11_1+$4_1&255)>>>0>32){continue;}break;}}$6_1=(-1<<($11_1&15)^-1)&HEAP32[$1_1+24>>2]>>>($4_1&31);break label$231;}if(HEAPU8[$9_1|0]==2){$4_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$7_1;HEAP32[$9_1>>2]=$6_1;$4_1=HEAPU8[$13_1|0];}$6_1=0;}$21_1=HEAPU16[$25_1+1048372>>1]+$21_1|0;HEAP8[$13_1|0]=$4_1+$11_1;$4_1=2;$7_1=$6_1+HEAPU16[$26_1+1049280>>1]|0;break label$166;}HEAP32[$5_1+252>>2]=1;HEAP32[$5_1+236>>2]=2;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049560;HEAP32[$5_1+276>>2]=18;HEAP32[$5_1+248>>2]=$5_1+272;HEAP32[$5_1+272>>2]=$5_1+284;$56($5_1+216|0,$5_1+232|0);HEAP32[$20_1>>2]=HEAP32[$5_1+224>>2];$6_1=HEAP32[$5_1+220>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+216>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+80|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+80>>2],HEAP32[$5_1+84>>2]);$7_1=HEAP32[$5_1+232>>2];$8_1=HEAP32[$5_1+236>>2];if(HEAPU8[$9_1|0]==2){$6_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);$11_1=HEAP32[HEAP32[$6_1+4>>2]+4>>2];if($11_1){$27(HEAP32[$6_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$7_1;HEAP32[$9_1+4>>2]=$8_1;}$7_1=0;}$6_1=HEAP32[$10_1>>2];$8_1=HEAP32[$9_1>>2];HEAP32[$9_1>>2]=3;HEAP32[$9_1+4>>2]=0;label$244:{label$245:{if(($8_1&255)==3){$8_1=$8_1&3;if(($8_1|0)!=2){break label$245;}FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27($6_1);if(($8_1|0)==1){break label$245;}break label$4;}$7_1=$8_1;break label$244;}label$248:{switch($4_1-1|0){default:if($24_1){$27($15_1);}if(!$23_1){break label$5;}$27($12_1);$0($0_1,$1_1,$2_1,$3_1);break label$2;case 0:$6_1=HEAP32[$14_1>>2];if(($6_1|0)==HEAP32[$31_1>>2]){$88($22_1,$6_1,1);$6_1=HEAP32[$14_1>>2];}HEAP8[HEAP32[$1_1+40>>2]+$6_1|0]=$11_1;HEAP32[$14_1>>2]=HEAP32[$14_1>>2]+1;continue;case 1:break label$248;};}HEAP16[$5_1+270>>1]=$7_1;label$254:{$6_1=HEAP32[$14_1>>2];if($6_1>>>0>=($7_1&65535)>>>0){$8_1=$21_1&65535;$88($22_1,$6_1,$8_1);HEAP32[$14_1>>2]=$6_1+$8_1;$11_1=HEAP32[$1_1+40>>2];$4_1=$11_1+$6_1|0;$7_1=HEAPU16[$5_1+270>>1];if($8_1>>>0<=$7_1>>>0){break label$254;}$6_1=0-$7_1|0;while(1){HEAP8[$4_1|0]=HEAPU8[$6_1+$4_1|0];$4_1=$4_1+1|0;$8_1=$8_1+-1|0;if($8_1){continue;}break;};continue;}HEAP32[$5_1+252>>2]=2;HEAP32[$5_1+228>>2]=18;HEAP32[$5_1+236>>2]=2;HEAP32[$5_1+240>>2]=0;HEAP32[$5_1+232>>2]=1049204;HEAP32[$5_1+220>>2]=1;HEAP32[$5_1+284>>2]=$6_1;HEAP32[$5_1+248>>2]=$5_1+216;HEAP32[$5_1+224>>2]=$5_1+270;HEAP32[$5_1+216>>2]=$5_1+284;$56($5_1+272|0,$5_1+232|0);HEAP32[$5_1+240>>2]=HEAP32[$5_1+280>>2];$6_1=HEAP32[$5_1+276>>2];HEAP32[$5_1+232>>2]=HEAP32[$5_1+272>>2];HEAP32[$5_1+236>>2]=$6_1;$105($5_1+32|0,$5_1+232|0);$90($5_1+232|0,12,HEAP32[$5_1+32>>2],HEAP32[$5_1+36>>2]);$7_1=HEAP32[$5_1+232>>2];$6_1=HEAP32[$5_1+236>>2];break label$244;}$126($4_1,$11_1+($6_1-$7_1|0)|0,$8_1);continue;}break;};if($24_1){$27($15_1);}if(!$23_1){break label$6;}$27($12_1);}if(($7_1&255)!=3){HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$7_1;HEAP32[$0_1+8>>2]=$6_1;break label$2;}if(($7_1&3)!=2){break label$5;}FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27($6_1);}$0($0_1,$1_1,$2_1,$3_1);break label$2;}abort();}HEAP32[$0_1>>2]=0;HEAP32[$0_1+4>>2]=0;}global$0=$5_1+288|0;return;}$102($8_1,$4_1);abort();}function $1($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0;$7_1=global$0-16|0;global$0=$7_1;HEAP32[$7_1+8>>2]=0;HEAP32[$7_1+4>>2]=$5_1;HEAP32[$7_1>>2]=$4_1;label$1:{if(HEAPU8[$1_1+10|0]){if($5_1>>>0<=2){HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=1;break label$1;}HEAP8[$1_1+10|0]=0;HEAP8[$4_1|0]=HEAPU8[$1_1+11|0];HEAP32[$7_1+8>>2]=1;$10_1=1;}label$4:{$11_1=HEAPU8[$1_1+6|0];if($11_1){label$6:{label$7:{if(!$3_1){break label$7;}$4_1=0;label$8:{if($10_1+3>>>0<$5_1>>>0){$13_1=$3_1+-1|0;$16_1=$1_1+6|0;while(1){$8_1=HEAP8[$2_1+$4_1|0];$14_1=$7_1;label$11:{label$12:{label$13:{label$14:{label$15:{label$16:{label$17:{label$18:{label$19:{label$20:{label$21:{switch(($11_1&255)+-2|0){default:HEAP8[$16_1|0]=0;$5_1=$8_1+-48|0;if(($5_1&255)>>>0<=9){HEAP8[$1_1+8|0]=$5_1;$11_1=2;HEAP8[$16_1|0]=2;break label$11;}label$25:{label$26:{label$27:{$9_1=HEAPU8[$1_1+7|0];if($9_1>>>0<=31){$9_1=Math_imul($9_1,190);$5_1=$8_1+-64|0;if(($5_1&255)>>>0>62){if(($8_1|0)>-2){break label$27;}$5_1=$8_1+-65|0;}$9_1=$9_1+($5_1&255)|0;$5_1=$9_1&65535;$11_1=$5_1>>>0<2880?0:958;$8_1=$11_1+479|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+239|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+120|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+60|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+30|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+15|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+7|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+4|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+2|0;$11_1=$5_1>>>0>1]?$11_1:$8_1;$8_1=$11_1+1|0;$8_1=$5_1>>>0>1]?$11_1:$8_1;$11_1=$8_1<<1;$12_1=HEAPU16[$11_1+1141216>>1];if(($12_1|0)!=($5_1|0)){break label$26;}$11_1=HEAPU16[$11_1+1145048>>1];$12_1=$11_1>>>12;$5_1=$11_1>>>6;break label$25;}label$31:{label$32:{label$33:{$5_1=$8_1+95&255;if($5_1>>>0>=94){$9_1=Math_imul($9_1+-32&255,96);$5_1=$8_1+-64|0;if(($5_1&255)>>>0>62){if(($8_1|0)>-96){break label$33;}$5_1=$8_1+-65|0;}$5_1=$9_1+($5_1&255)|0;$8_1=$5_1+-864|0;if($8_1>>>0<8059){break label$32;}if($5_1>>>0<864){break label$31;}$5_1=$5_1+-8923|0;if($5_1>>>0>=101){break label$19;}$5_1=HEAPU16[($5_1<<1)+1155626>>1];HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}label$37:{label$38:{label$39:{label$40:{$11_1=$9_1+-47&255;if($11_1>>>0>=72){$11_1=$9_1+-32|0;if($11_1>>>0>7){break label$37;}switch($11_1-1|0){case 0:case 1:case 2:case 3:case 5:break label$37;case 6:break label$38;case 4:break label$39;default:break label$40;};}$5_1=$5_1+Math_imul($11_1,94)|0;if($5_1>>>0>6767){break label$20;}$5_1=HEAPU16[($5_1<<1)+1155828>>1];HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}$5_1=HEAPU16[($5_1<<1)+1169364>>1];if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}$8_1=$8_1+32&255;if($8_1>>>0>21){break label$13;}$5_1=HEAPU16[($8_1<<1)+1169552>>1];if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}if($5_1>>>0>=32){break label$13;}$5_1=HEAPU16[($5_1<<1)+1169596>>1];if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}if($9_1>>>0<=118){break label$13;}$5_1=($5_1+Math_imul($9_1+-119&255,94)|0)+-7628|0;$8_1=$5_1&65535;HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$8_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[$0_1+4|0]=2;if(($8_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;}$5_1=$8_1&65535;$11_1=$5_1>>>0<2870?0:813;$9_1=$11_1+407|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+203|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+102|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+51|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+25|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+13|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+6|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+3|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+2|0;$11_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+1|0;$9_1=HEAPU16[($9_1<<1)+1148880>>1]>$5_1>>>0?$11_1:$9_1;$11_1=$9_1<<1;$12_1=HEAPU16[$11_1+1148880>>1];label$46:{if(($12_1|0)==($5_1|0)){$11_1=HEAPU16[$11_1+1152134>>1];$12_1=$11_1>>>12;$5_1=$11_1>>>6;break label$46;}$5_1=($9_1+($12_1>>>0<$5_1>>>0)|0)+-1|0;if($5_1>>>0>1626){break label$18;}$5_1=$5_1<<1;$11_1=($8_1+HEAPU16[$5_1+1152134>>1]|0)-HEAPU16[$5_1+1148880>>1]|0;$5_1=$11_1&65535;$12_1=$5_1>>>12;$5_1=$5_1>>>6;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$12_1|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$11_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}$9_1=$5_1>>>0<777?0:29;$8_1=$9_1+15|0;$9_1=HEAPU16[($8_1<<1)+1155388>>1]>$5_1>>>0?$9_1:$8_1;$8_1=$9_1+7|0;$9_1=HEAPU16[($8_1<<1)+1155388>>1]>$5_1>>>0?$9_1:$8_1;$8_1=$9_1+4|0;$9_1=HEAPU16[($8_1<<1)+1155388>>1]>$5_1>>>0?$9_1:$8_1;$8_1=$9_1+2|0;$9_1=HEAPU16[($8_1<<1)+1155388>>1]>$5_1>>>0?$9_1:$8_1;$8_1=$9_1+1|0;$8_1=HEAPU16[($8_1<<1)+1155388>>1]>$5_1>>>0?$9_1:$8_1;$9_1=$8_1<<1;$11_1=HEAPU16[$9_1+1155388>>1];label$48:{if(($11_1|0)==($5_1|0)){$5_1=HEAPU16[$9_1+1155508>>1];break label$48;}$8_1=($8_1+($11_1>>>0<$5_1>>>0)|0)+-1|0;if($8_1>>>0>58){break label$17;}$8_1=$8_1<<1;$5_1=($5_1+HEAPU16[$8_1+1155508>>1]|0)-HEAPU16[$8_1+1155388>>1]|0;}$8_1=$5_1&65535;if($8_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$8_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[$0_1+4|0]=2;if(($8_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;}$5_1=($8_1+($5_1>>>0>$12_1>>>0)|0)+-1|0;if($5_1>>>0>1915){break label$16;}$5_1=$5_1<<1;$11_1=($9_1+HEAPU16[$5_1+1145048>>1]|0)-HEAPU16[$5_1+1141216>>1]|0;$5_1=$11_1&65535;$12_1=$5_1>>>12;$5_1=$5_1>>>6;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$12_1|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$11_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;case 0:HEAP8[$16_1|0]=0;$5_1=$8_1+127|0;if(($5_1&255)>>>0<=125){HEAP8[$1_1+9|0]=$5_1;$11_1=3;HEAP8[$16_1|0]=3;break label$11;}$2_1=HEAPU8[$1_1+8|0];HEAP8[$1_1+10|0]=1;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$4_1;HEAP8[$1_1+11|0]=$2_1+48;HEAP8[$0_1+6|0]=1;break label$1;case 1:break label$21;};}HEAP8[$16_1|0]=0;$5_1=HEAPU8[$1_1+9|0];$9_1=HEAPU8[$1_1+8|0];$8_1=$8_1+-48&255;if($8_1>>>0>9){break label$15;}label$53:{$8_1=(($8_1+Math_imul(HEAPU8[$1_1+7|0],12600)|0)+Math_imul($9_1,1260)|0)+Math_imul($5_1,10)|0;if($8_1>>>0>=39420){if($8_1+-189e3>>>0<1048576){break label$53;}HEAP16[$0_1+4>>1]=1026;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}if(($8_1|0)!=7457){$5_1=$8_1&65535;$11_1=$5_1>>>0<11334?0:103;$9_1=$11_1+51|0;$11_1=HEAPU16[($9_1<<1)+1169834>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+26|0;$11_1=HEAPU16[($9_1<<1)+1169834>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+13|0;$11_1=HEAPU16[($9_1<<1)+1169834>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+6|0;$11_1=HEAPU16[($9_1<<1)+1169834>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+3|0;$11_1=HEAPU16[($9_1<<1)+1169834>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+2|0;$11_1=HEAPU16[($9_1<<1)+1169834>>1]>$5_1>>>0?$11_1:$9_1;$9_1=$11_1+1|0;$9_1=HEAPU16[($9_1<<1)+1169834>>1]>$5_1>>>0?$11_1:$9_1;$11_1=$9_1<<1;$12_1=HEAPU16[$11_1+1169834>>1];label$56:{if(($12_1|0)==($5_1|0)){$5_1=HEAPU16[$11_1+1170246>>1];break label$56;}$5_1=($9_1+($12_1>>>0<$5_1>>>0)|0)+-1|0;if($5_1>>>0>205){break label$14;}$5_1=$5_1<<1;$5_1=($8_1+HEAPU16[$5_1+1170246>>1]|0)-HEAPU16[$5_1+1169834>>1]|0;}$8_1=$5_1&65535;if($8_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$8_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=238;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=159;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=135;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}$5_1=$8_1+-123464|0;HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>18|240;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>12&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}$100(1052700,$5_1,6768);abort();}$100(1052716,$5_1,101);abort();}$100(1052584,$5_1,1627);abort();}$100(1052584,$8_1,59);abort();}$100(1052584,$5_1,1916);abort();}HEAP8[$1_1+10|0]=1;HEAP8[$1_1+7|0]=$5_1;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$4_1;HEAP8[$1_1+11|0]=$9_1+48;HEAP8[$1_1+6|0]=1;HEAP8[$0_1+6|0]=2;break label$1;}$100(1052584,$5_1,206);abort();}$5_1=$5_1+Math_imul($9_1+-33&255,94)|0;$9_1=$5_1>>>0<400?0:21;$8_1=$9_1+11|0;$9_1=$5_1>>>0>1]?$9_1:$8_1;$8_1=$9_1+5|0;$9_1=$5_1>>>0>1]?$9_1:$8_1;$8_1=$9_1+3|0;$9_1=$5_1>>>0>1]?$9_1:$8_1;$8_1=$9_1+1|0;$9_1=$5_1>>>0>1]?$9_1:$8_1;$8_1=$9_1+1|0;$8_1=$5_1>>>0>1]?$9_1:$8_1;$9_1=$8_1<<1;$11_1=HEAPU16[$9_1+1169660>>1];label$59:{if(($11_1|0)==($5_1|0)){$5_1=HEAPU16[$9_1+1169748>>1];break label$59;}$8_1=($8_1+($5_1>>>0>$11_1>>>0)|0)+-1|0;if($8_1>>>0>42){break label$8;}$8_1=$8_1<<1;$5_1=($5_1+HEAPU16[$8_1+1169748>>1]|0)-HEAPU16[$8_1+1169660>>1]|0;}$8_1=$5_1&65535;if($8_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$8_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$12;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;}HEAP32[$14_1+8>>2]=$10_1;$11_1=HEAPU8[$16_1|0];if(!$11_1){break label$6;}}if(($4_1|0)==($13_1|0)){break label$7;}$4_1=$4_1+1|0;if($10_1+3>>>0>2]){continue;}break;};}HEAP32[$0_1>>2]=$4_1;HEAP8[$0_1+4|0]=1;break label$1;}$100(1052584,$8_1,43);abort();}if(!$6_1){HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+4|0]=0;break label$1;}HEAP8[$0_1+4|0]=2;HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+6|0]=0;HEAP8[$0_1+5|0]=$11_1;HEAP8[$1_1+6|0]=0;break label$1;}$12_1=$4_1+1|0;$5_1=HEAP32[$7_1+4>>2];}if($5_1>>>0>=$10_1>>>0){$16_1=$7_1&-256;$9_1=0;while(1){$4_1=$5_1-$10_1|0;$8_1=$3_1-$12_1|0;$14_1=$4_1>>>0<$8_1>>>0;$13_1=$14_1?$4_1:$8_1;$4_1=0;label$65:{label$66:{label$67:{label$68:{$15_1=$2_1+$12_1|0;$17_1=HEAP32[$7_1>>2]+$10_1|0;label$69:{if(($15_1^$17_1)&3){break label$69;}$8_1=0-$15_1&3;if(($8_1|8)>>>0>$13_1>>>0){break label$69;}if($8_1){while(1){$11_1=HEAP8[$4_1+$15_1|0];if(($11_1|0)<0){$8_1=$4_1;break label$67;}HEAP8[$4_1+$17_1|0]=$11_1;$4_1=$4_1+1|0;if(($8_1|0)!=($4_1|0)){continue;}break;}}$11_1=$13_1+-8|0;while(1){$8_1=$4_1+$15_1|0;$10_1=HEAP32[$8_1>>2];$18_1=$4_1+$17_1|0;$8_1=HEAP32[$8_1+4>>2];HEAP32[$18_1+4>>2]=$8_1;HEAP32[$18_1>>2]=$10_1;$8_1=$8_1&-2139062144;$10_1=$10_1&-2139062144;if($8_1|$10_1){break label$68;}$4_1=$4_1+8|0;if($4_1>>>0<=$11_1>>>0){continue;}break;};}if($4_1>>>0<$13_1>>>0){while(1){$11_1=HEAP8[$4_1+$15_1|0];if(($11_1|0)<0){$8_1=$4_1;break label$67;}HEAP8[$4_1+$17_1|0]=$11_1;$4_1=$4_1+1|0;if(($13_1|0)!=($4_1|0)){continue;}break;}}$10_1=HEAP32[$7_1+8>>2]+$13_1|0;HEAP32[$7_1+8>>2]=$10_1;$4_1=$12_1+$13_1|0;break label$66;}if($10_1){if($10_1){$8_1=31-Math_clz32($10_1+-1^$10_1)|0;}else{$8_1=32;}$10_1=$8_1>>>3;}else{if($8_1){$8_1=31-Math_clz32($8_1+-1^$8_1)|0;}else{$8_1=32;}$10_1=($8_1>>>3)+4|0;}$8_1=$10_1+$4_1|0;$11_1=HEAPU8[($10_1+$15_1|0)+$4_1|0];}$10_1=HEAP32[$7_1+8>>2]+$8_1|0;HEAP32[$7_1+8>>2]=$10_1;$4_1=$8_1+$12_1|0;if($10_1+3>>>0<$5_1>>>0){break label$65;}$14_1=1;}HEAP32[$0_1>>2]=$4_1;HEAP32[$0_1+4>>2]=$9_1|$14_1;break label$1;}$12_1=$4_1+1|0;label$80:{label$81:{while(1){label$83:{label$84:{$10_1=$11_1+127|0;$9_1=$10_1&255;if($9_1>>>0<=125){if($12_1>>>0<$3_1>>>0){break label$83;}if($6_1){break label$84;}HEAP8[$1_1+6|0]=1;HEAP8[$1_1+7|0]=$10_1;$10_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$12_1;HEAP8[$0_1+4|0]=0;break label$1;}if(($11_1&255)!=128){$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$12_1;break label$1;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=226;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=130;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;$5_1=$7_1+8|0;$4_1=$4_1+HEAP32[$7_1>>2]|0;$11_1=172;break label$80;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$12_1;break label$1;}$8_1=$12_1+1|0;$14_1=$7_1;label$87:{label$88:{label$89:{label$90:{label$91:{label$92:{label$93:{label$94:{label$95:{label$96:{label$97:{label$98:{label$99:{$5_1=HEAP8[$2_1+$12_1|0];$13_1=$5_1+-48|0;$15_1=$13_1&255;if($15_1>>>0<=9){if($8_1>>>0<$3_1>>>0){break label$98;}if($6_1){break label$99;}HEAP8[$1_1+6|0]=2;HEAP8[$1_1+8|0]=$13_1;HEAP8[$1_1+7|0]=$10_1;$10_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$8_1;HEAP8[$0_1+4|0]=0;break label$1;}label$101:{label$102:{label$103:{if($9_1>>>0<=31){$10_1=Math_imul($9_1,190);$4_1=$5_1+-64|0;if(($4_1&255)>>>0>62){if(($5_1|0)>-2){break label$103;}$4_1=$5_1+-65|0;}$9_1=$10_1+($4_1&255)|0;$4_1=$9_1&65535;$10_1=$4_1>>>0<2880?0:958;$5_1=$10_1+479|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+239|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+120|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+60|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+30|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+15|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+7|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+4|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+2|0;$10_1=$4_1>>>0>1]?$10_1:$5_1;$5_1=$10_1+1|0;$5_1=$4_1>>>0>1]?$10_1:$5_1;$10_1=$5_1<<1;$11_1=HEAPU16[$10_1+1141216>>1];if(($11_1|0)!=($4_1|0)){break label$102;}$11_1=HEAPU16[$10_1+1145048>>1];$10_1=$11_1>>>12;$4_1=$11_1>>>6;break label$101;}label$107:{label$108:{label$109:{$4_1=$5_1+95&255;if($4_1>>>0>=94){$10_1=Math_imul($11_1+95&255,96);$4_1=$5_1+-64|0;if(($4_1&255)>>>0>62){if(($5_1|0)>-96){break label$109;}$4_1=$5_1+-65|0;}$4_1=$10_1+($4_1&255)|0;$5_1=$4_1+-864|0;if($5_1>>>0<8059){break label$108;}if($4_1>>>0<864){break label$107;}$4_1=$4_1+-8923|0;if($4_1>>>0>=101){break label$96;}$4_1=HEAPU16[($4_1<<1)+1155626>>1];HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}label$113:{label$114:{label$115:{label$116:{$10_1=$11_1+80&255;if($10_1>>>0>=72){$10_1=($11_1&255)+-161|0;if($10_1>>>0>7){break label$113;}switch($10_1-1|0){case 0:case 1:case 2:case 3:case 5:break label$113;case 6:break label$114;case 4:break label$115;default:break label$116;};}$4_1=$4_1+Math_imul($10_1,94)|0;if($4_1>>>0>6767){break label$97;}$4_1=HEAPU16[($4_1<<1)+1155828>>1];HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}$11_1=HEAPU16[($4_1<<1)+1169364>>1];if($11_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$11_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$11_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$11_1>>>6|192;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}$5_1=$5_1+32&255;if($5_1>>>0>21){break label$89;}$11_1=HEAPU16[($5_1<<1)+1169552>>1];if($11_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$11_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$11_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$11_1>>>6|192;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}if($4_1>>>0>=32){break label$89;}$11_1=HEAPU16[($4_1<<1)+1169596>>1];if($11_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$11_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$11_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$11_1>>>6|192;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}if($9_1>>>0<=118){break label$89;}$11_1=($4_1+Math_imul($11_1+8&255,94)|0)+-7628|0;$4_1=$11_1&65535;HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$8_1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$12_1;break label$1;}$4_1=$5_1&65535;$10_1=$4_1>>>0<2870?0:813;$9_1=$10_1+407|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+203|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+102|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+51|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+25|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+13|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+6|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+3|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+2|0;$10_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+1|0;$9_1=HEAPU16[($9_1<<1)+1148880>>1]>$4_1>>>0?$10_1:$9_1;$10_1=$9_1<<1;$11_1=HEAPU16[$10_1+1148880>>1];label$122:{if(($11_1|0)==($4_1|0)){$11_1=HEAPU16[$10_1+1152134>>1];$10_1=$11_1>>>12;$4_1=$11_1>>>6;break label$122;}$4_1=($9_1+($11_1>>>0<$4_1>>>0)|0)+-1|0;if($4_1>>>0>1626){break label$95;}$4_1=$4_1<<1;$11_1=($5_1+HEAPU16[$4_1+1152134>>1]|0)-HEAPU16[$4_1+1148880>>1]|0;$4_1=$11_1&65535;$10_1=$4_1>>>12;$4_1=$4_1>>>6;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$11_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}$9_1=$4_1>>>0<777?0:29;$5_1=$9_1+15|0;$9_1=HEAPU16[($5_1<<1)+1155388>>1]>$4_1>>>0?$9_1:$5_1;$5_1=$9_1+7|0;$9_1=HEAPU16[($5_1<<1)+1155388>>1]>$4_1>>>0?$9_1:$5_1;$5_1=$9_1+4|0;$9_1=HEAPU16[($5_1<<1)+1155388>>1]>$4_1>>>0?$9_1:$5_1;$5_1=$9_1+2|0;$9_1=HEAPU16[($5_1<<1)+1155388>>1]>$4_1>>>0?$9_1:$5_1;$5_1=$9_1+1|0;$5_1=HEAPU16[($5_1<<1)+1155388>>1]>$4_1>>>0?$9_1:$5_1;$9_1=$5_1<<1;$10_1=HEAPU16[$9_1+1155388>>1];label$124:{if(($10_1|0)==($4_1|0)){$4_1=HEAPU16[$9_1+1155508>>1];break label$124;}$5_1=($5_1+($10_1>>>0<$4_1>>>0)|0)+-1|0;if($5_1>>>0>58){break label$94;}$5_1=$5_1<<1;$4_1=($4_1+HEAPU16[$5_1+1155508>>1]|0)-HEAPU16[$5_1+1155388>>1]|0;}$5_1=$4_1&65535;if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$5_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>6|192;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$8_1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$12_1;break label$1;}$4_1=($5_1+($4_1>>>0>$11_1>>>0)|0)+-1|0;if($4_1>>>0>1915){break label$93;}$4_1=$4_1<<1;$11_1=($9_1+HEAPU16[$4_1+1145048>>1]|0)-HEAPU16[$4_1+1141216>>1]|0;$4_1=$11_1&65535;$10_1=$4_1>>>12;$4_1=$4_1>>>6;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$11_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=$8_1;break label$1;}$11_1=HEAPU8[$2_1+$8_1|0]+127|0;$14_1=$11_1&255;if($14_1>>>0>125){break label$92;}$4_1=$12_1+2|0;if($4_1>>>0>=$3_1>>>0){if(!$6_1){HEAP8[$1_1+6|0]=3;HEAP8[$1_1+9|0]=$11_1;HEAP8[$1_1+8|0]=$13_1;HEAP8[$1_1+7|0]=$10_1;$10_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$4_1;HEAP8[$0_1+4|0]=0;break label$1;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=770;HEAP32[$0_1>>2]=$4_1;break label$1;}$10_1=HEAPU8[$2_1+$4_1|0]+-48&255;if($10_1>>>0>9){break label$91;}$8_1=$12_1+3|0;label$130:{$5_1=$10_1+((Math_imul($15_1,1260)+Math_imul($9_1,12600)|0)+Math_imul($14_1,10)|0)|0;if($5_1>>>0>=39420){if($5_1+-189e3>>>0<1048576){break label$130;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=1026;HEAP32[$0_1>>2]=$8_1;break label$1;}if(($5_1|0)!=7457){$4_1=$5_1&65535;$10_1=$4_1>>>0<11334?0:103;$9_1=$10_1+51|0;$10_1=HEAPU16[($9_1<<1)+1169834>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+26|0;$10_1=HEAPU16[($9_1<<1)+1169834>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+13|0;$10_1=HEAPU16[($9_1<<1)+1169834>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+6|0;$10_1=HEAPU16[($9_1<<1)+1169834>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+3|0;$10_1=HEAPU16[($9_1<<1)+1169834>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+2|0;$10_1=HEAPU16[($9_1<<1)+1169834>>1]>$4_1>>>0?$10_1:$9_1;$9_1=$10_1+1|0;$9_1=HEAPU16[($9_1<<1)+1169834>>1]>$4_1>>>0?$10_1:$9_1;$10_1=$9_1<<1;$11_1=HEAPU16[$10_1+1169834>>1];label$133:{if(($11_1|0)==($4_1|0)){$4_1=HEAPU16[$10_1+1170246>>1];break label$133;}$4_1=($9_1+($11_1>>>0<$4_1>>>0)|0)+-1|0;if($4_1>>>0>205){break label$90;}$4_1=$4_1<<1;$4_1=($5_1+HEAPU16[$4_1+1170246>>1]|0)-HEAPU16[$4_1+1169834>>1]|0;}$5_1=$4_1&65535;if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$5_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>6|192;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=238;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=159;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=135;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}$4_1=$5_1+-123464|0;HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>18|240;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>12&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$87;}$100(1052700,$4_1,6768);abort();}$100(1052716,$4_1,101);abort();}$100(1052584,$4_1,1627);abort();}$100(1052584,$5_1,59);abort();}$100(1052584,$4_1,1916);abort();}HEAP8[$1_1+10|0]=1;HEAP8[$1_1+11|0]=$5_1;$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=1;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$8_1;break label$1;}HEAP8[$1_1+10|0]=1;HEAP8[$1_1+6|0]=1;HEAP8[$1_1+11|0]=$5_1;HEAP8[$1_1+7|0]=$11_1;$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=2;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$4_1;break label$1;}$100(1052584,$4_1,206);abort();}$4_1=$4_1+Math_imul($11_1+94&255,94)|0;$9_1=$4_1>>>0<400?0:21;$5_1=$9_1+11|0;$9_1=$4_1>>>0>1]?$9_1:$5_1;$5_1=$9_1+5|0;$9_1=$4_1>>>0>1]?$9_1:$5_1;$5_1=$9_1+3|0;$9_1=$4_1>>>0>1]?$9_1:$5_1;$5_1=$9_1+1|0;$9_1=$4_1>>>0>1]?$9_1:$5_1;$5_1=$9_1+1|0;$5_1=$4_1>>>0>1]?$9_1:$5_1;$9_1=$5_1<<1;$10_1=HEAPU16[$9_1+1169660>>1];label$136:{if(($10_1|0)==($4_1|0)){$11_1=HEAPU16[$9_1+1169748>>1];break label$136;}$5_1=($5_1+($4_1>>>0>$10_1>>>0)|0)+-1|0;if($5_1>>>0>42){break label$81;}$5_1=$5_1<<1;$11_1=($4_1+HEAPU16[$5_1+1169748>>1]|0)-HEAPU16[$5_1+1169660>>1]|0;}$4_1=$11_1&65535;if($4_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$88;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$11_1>>>6|192;$4_1=HEAP32[$7_1+8>>2]+1|0;}HEAP32[$14_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$11_1&63|128;$4_1=$7_1+8|0;HEAP32[$4_1>>2]=HEAP32[$4_1>>2]+1;}$5_1=$7_1+8|0;$10_1=HEAP32[$5_1>>2];if($8_1>>>0>=$3_1>>>0){HEAP32[$0_1>>2]=$8_1;HEAP8[$0_1+4|0]=0;break label$1;}if($10_1+3>>>0>=HEAPU32[$7_1+4>>2]){HEAP32[$0_1>>2]=$8_1;HEAP8[$0_1+4|0]=1;break label$1;}$12_1=$8_1+1|0;$11_1=HEAP8[$2_1+$8_1|0];if(($11_1|0)<0){continue;}break;};$4_1=HEAP32[$7_1>>2]+$10_1|0;break label$80;}$100(1052584,$5_1,43);abort();}HEAP8[$4_1|0]=$11_1;HEAP32[$5_1>>2]=HEAP32[$5_1>>2]+1;if($12_1>>>0>$3_1>>>0){break label$4;}$9_1=$16_1;$5_1=HEAP32[$7_1+4>>2];$10_1=HEAP32[$7_1+8>>2];if($5_1>>>0>=$10_1>>>0){continue;}break;};}$102($10_1,$5_1);abort();}$102($12_1,$3_1);abort();}HEAP32[$0_1+8>>2]=$10_1;global$0=$7_1+16|0;}function $2($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0;$7_1=global$0-16|0;global$0=$7_1;HEAP32[$7_1+8>>2]=0;HEAP32[$7_1+4>>2]=$5_1;HEAP32[$7_1>>2]=$4_1;label$1:{label$2:{$11_1=HEAPU8[$1_1|0];$9_1=0;label$3:{label$4:{if(!$11_1){break label$4;}if(!$3_1){break label$2;}$4_1=0;label$7:{if($5_1>>>0>=3){$12_1=$3_1+-1|0;while(1){$5_1=HEAP8[$2_1+$4_1|0];$15_1=$7_1;label$10:{label$11:{label$12:{label$13:{label$14:{label$15:{label$16:{switch(($11_1&255)+-2|0){default:HEAP8[$1_1|0]=0;$8_1=$5_1+95&255;$9_1=HEAPU8[$1_1+1|0];if(($9_1|0)==3?$8_1>>>0<=82:0){break label$15;}if(($9_1|0)==4?$8_1>>>0<=85:0){break label$14;}label$20:{label$21:{label$22:{if($8_1>>>0<=93){$9_1=$8_1+Math_imul($9_1,94)|0;$5_1=$9_1+-1410|0;if($5_1>>>0<2965){break label$22;}$5_1=$9_1+-4418|0;if($5_1>>>0<3390){break label$21;}$5_1=$9_1+-8272|0;if($5_1>>>0<360){break label$13;}$8_1=2;if($9_1>>>0>107){break label$20;}$5_1=$9_1;break label$12;}HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;}$5_1=HEAPU16[($5_1<<1)+1093184>>1];HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}$5_1=HEAPU16[($5_1<<1)+1099114>>1];HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}$8_1=5;$5_1=$9_1+-119|0;if($5_1>>>0<8){break label$12;}$8_1=8;$5_1=$9_1+-135|0;if($5_1>>>0<7){break label$12;}$8_1=11;$5_1=$9_1+-153|0;if($5_1>>>0<15){break label$12;}$8_1=14;$5_1=$9_1+-175|0;if($5_1>>>0<8){break label$12;}if(($9_1|0)==187){$8_1=17;$5_1=0;break label$12;}$8_1=20;$5_1=$9_1+-658|0;if($5_1>>>0<32){break label$12;}$8_1=23;$5_1=$9_1+-1159|0;if($5_1>>>0<23){break label$12;}$8_1=26;$5_1=$9_1+-1190|0;if($5_1>>>0<30){break label$12;}$8_1=29;$5_1=$9_1+-10736|0;if($5_1>>>0<8){break label$12;}$8_1=32;$5_1=$9_1+-8644|0;if($5_1>>>0<4){break label$12;}$8_1=2;label$26:{$5_1=$9_1+-203|0;if($5_1>>>0<10){break label$26;}$8_1=5;$5_1=$9_1+-220|0;if($5_1>>>0<26){break label$26;}$8_1=8;$5_1=$9_1+-252|0;if($5_1>>>0<26){break label$26;}$8_1=11;$5_1=$9_1+-470|0;if($5_1>>>0<17){break label$26;}$8_1=14;$5_1=$9_1+-487|0;if($5_1>>>0<7){break label$26;}$8_1=17;$5_1=$9_1+-502|0;if($5_1>>>0<17){break label$26;}$8_1=20;$5_1=$9_1+-519|0;if($5_1>>>0<7){break label$26;}$8_1=23;$5_1=$9_1+-564|0;if($5_1>>>0<6){break label$26;}$8_1=26;$5_1=0;if(($9_1|0)==570){break label$26;}$8_1=29;$5_1=$9_1+-571|0;if($5_1>>>0<26){break label$26;}$8_1=32;$5_1=$9_1+-612|0;if($5_1>>>0<6){break label$26;}$8_1=35;$5_1=0;if(($9_1|0)==618){break label$26;}$8_1=38;$5_1=$9_1+-619|0;if($5_1>>>0<26){break label$26;}$8_1=41;$5_1=$9_1+-1128|0;if($5_1>>>0<20){break label$26;}$8_1=44;$5_1=$9_1+-1148|0;if($5_1>>>0<10){break label$26;}$8_1=47;$5_1=$9_1+-8634|0;if($5_1>>>0<10){break label$26;}$8_1=50;$5_1=$9_1+-10716|0;if($5_1>>>0<10){break label$26;}$8_1=53;$5_1=$9_1+-10726|0;if($5_1>>>0<10){break label$26;}HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}$5_1=HEAPU16[($8_1<<1)+1107160>>1]+$5_1|0;$8_1=$5_1&65535;if($8_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$8_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;case 0:HEAP8[$1_1|0]=0;$8_1=$5_1+95|0;if(($8_1&255)>>>0<=93){$11_1=3;HEAP8[$1_1|0]=3;HEAP8[$1_1+1|0]=$8_1;break label$10;}HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;case 1:HEAP8[$1_1|0]=0;label$30:{label$31:{label$32:{label$33:{label$34:{label$35:{$8_1=$5_1+95&255;if($8_1>>>0<=93){$9_1=$8_1+Math_imul(HEAPU8[$1_1+1|0],94)|0;$5_1=$9_1+-1410|0;if($5_1>>>0<5801){break label$35;}$8_1=2;$5_1=$9_1+-108|0;label$37:{if($5_1>>>0<=10){break label$37;}$8_1=5;$5_1=$9_1+-127|0;if($5_1>>>0<3){break label$37;}$8_1=8;$5_1=$9_1+-168|0;if($5_1>>>0<7){break label$37;}$8_1=11;$5_1=$9_1+-534|0;if($5_1>>>0<12){break label$37;}$8_1=14;$5_1=$9_1+-550|0;if($5_1>>>0<12){break label$37;}$8_1=17;$5_1=$9_1+-608|0;if($5_1>>>0<2){break label$37;}$8_1=20;$5_1=$9_1+-656|0;if($5_1>>>0<2){break label$37;}$8_1=23;$5_1=$9_1+-752|0;if($5_1>>>0<16){break label$37;}$8_1=26;$5_1=$9_1+-784|0;if($5_1>>>0<16){break label$37;}$8_1=29;$5_1=$9_1+-846|0;if($5_1>>>0<87){break label$37;}$8_1=32;$5_1=$9_1+-940|0;if($5_1>>>0>=87){break label$33;}}$5_1=HEAPU16[($8_1<<1)+1141150>>1]+$5_1|0;if($5_1>>>0<255){break label$34;}$100(1170776,$5_1,255);abort();}HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=3;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;}$5_1=HEAPU16[($5_1<<1)+1129038>>1];HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}$5_1=HEAPU16[($5_1<<1)+1140640>>1];if($5_1){break label$32;}}$5_1=$9_1+-597|0;if($5_1>>>0<11){break label$31;}$5_1=$9_1+-645|0;if($5_1>>>0<11){break label$30;}HEAP16[$0_1+4>>1]=770;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}$5_1=$5_1+1026|0;HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}$5_1=$5_1+1106|0;HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;case 2:break label$16;};}HEAP8[$1_1|0]=0;$8_1=$5_1+95&255;if($8_1>>>0<=62){$5_1=$8_1+-159|0;$8_1=$5_1&65535;HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$8_1>>>12|224;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;HEAP8[$9_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1+1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=227;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;$9_1=$5_1+HEAP32[$7_1>>2]|0;$5_1=$8_1+12353|0;HEAP8[$9_1|0]=$5_1>>>6&7|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=227;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;$9_1=$5_1+HEAP32[$7_1>>2]|0;$5_1=$8_1+12449|0;HEAP8[$9_1|0]=$5_1>>>6&7|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}$5_1=HEAPU16[($5_1<<1)+1105894>>1];HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}$5_1=HEAPU16[($8_1<<1)+1107094>>1]+$5_1|0;if($5_1>>>0>=240){$100(1170760,$5_1,240);abort();}$5_1=HEAPU16[($5_1<<1)+1106614>>1];if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1>>>6&63|128;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;break label$11;}HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$5_1>>>6|192;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$7_1>>2]|0]=$5_1&63|128;$10_1=HEAP32[$7_1+8>>2]+1|0;}HEAP32[$15_1+8>>2]=$10_1;$11_1=HEAPU8[$1_1|0];if(!$11_1){break label$7;}}if(($4_1|0)==($12_1|0)){break label$2;}$4_1=$4_1+1|0;if($10_1+2>>>0>2]){continue;}break;};}HEAP32[$0_1>>2]=$4_1;HEAP8[$0_1+4|0]=1;break label$1;}$5_1=HEAP32[$7_1+4>>2];if($5_1>>>0<$10_1>>>0){break label$3;}$9_1=$4_1+1|0;}$15_1=$7_1&-256;$12_1=0;while(1){$4_1=$5_1-$10_1|0;$8_1=$3_1-$9_1|0;$16_1=$4_1>>>0<$8_1>>>0;$13_1=$16_1?$4_1:$8_1;$4_1=0;label$45:{label$46:{label$47:{label$48:{$14_1=HEAP32[$7_1>>2]+$10_1|0;$10_1=$2_1+$9_1|0;label$49:{if(($14_1^$10_1)&3){break label$49;}$8_1=0-$10_1&3;if(($8_1|8)>>>0>$13_1>>>0){break label$49;}if($8_1){while(1){$11_1=HEAP8[$4_1+$10_1|0];if(($11_1|0)<0){$8_1=$4_1;break label$47;}HEAP8[$4_1+$14_1|0]=$11_1;$4_1=$4_1+1|0;if(($8_1|0)!=($4_1|0)){continue;}break;}}$18_1=$13_1+-8|0;while(1){$8_1=$4_1+$10_1|0;$11_1=HEAP32[$8_1>>2];$17_1=$4_1+$14_1|0;$8_1=HEAP32[$8_1+4>>2];HEAP32[$17_1+4>>2]=$8_1;HEAP32[$17_1>>2]=$11_1;$8_1=$8_1&-2139062144;$11_1=$11_1&-2139062144;if($8_1|$11_1){break label$48;}$4_1=$4_1+8|0;if($4_1>>>0<=$18_1>>>0){continue;}break;};}if($4_1>>>0<$13_1>>>0){while(1){$11_1=HEAP8[$4_1+$10_1|0];if(($11_1|0)<0){$8_1=$4_1;break label$47;}HEAP8[$4_1+$14_1|0]=$11_1;$4_1=$4_1+1|0;if(($13_1|0)!=($4_1|0)){continue;}break;}}$10_1=$13_1+HEAP32[$7_1+8>>2]|0;HEAP32[$7_1+8>>2]=$10_1;$4_1=$9_1+$13_1|0;break label$46;}if($11_1){if($11_1){$8_1=31-Math_clz32($11_1+-1^$11_1)|0;}else{$8_1=32;}$11_1=$8_1>>>3;}else{if($8_1){$8_1=31-Math_clz32($8_1+-1^$8_1)|0;}else{$8_1=32;}$11_1=($8_1>>>3)+4|0;}$8_1=$11_1+$4_1|0;$11_1=HEAPU8[($10_1+$11_1|0)+$4_1|0];}$10_1=HEAP32[$7_1+8>>2]+$8_1|0;HEAP32[$7_1+8>>2]=$10_1;$4_1=$8_1+$9_1|0;if($10_1+2>>>0<$5_1>>>0){break label$45;}$16_1=1;}HEAP32[$0_1>>2]=$4_1;HEAP32[$0_1+4>>2]=$12_1|$16_1;break label$1;}$9_1=$4_1+1|0;while(1){$13_1=$7_1;label$61:{label$62:{label$63:{label$64:{label$65:{label$66:{label$67:{label$68:{label$69:{label$70:{$5_1=$11_1+95|0;$4_1=$5_1&255;if($4_1>>>0>=94){$4_1=($11_1&255)+-142|0;if($4_1>>>0>1){break label$69;}if($4_1-1){break label$68;}break label$70;}if($9_1>>>0>=$3_1>>>0){if(!$6_1){HEAP8[$1_1|0]=1;HEAP8[$1_1+1|0]=$5_1;$10_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$9_1;HEAP8[$0_1+4|0]=0;break label$1;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$9_1;break label$1;}$11_1=$9_1+1|0;$8_1=HEAP8[$2_1+$9_1|0];$5_1=$8_1+95|0;if(($4_1|0)==3){$12_1=$5_1&255;if($12_1>>>0<83){break label$67;}}if(($4_1|0)==4){$12_1=$5_1&255;if($12_1>>>0<86){break label$66;}}label$76:{label$77:{label$78:{$5_1=$5_1&255;if($5_1>>>0<=93){$4_1=$5_1+Math_imul($4_1,94)|0;$5_1=$4_1+-1410|0;if($5_1>>>0<2965){break label$78;}$5_1=$4_1+-4418|0;if($5_1>>>0<3390){break label$77;}$5_1=$4_1+-8272|0;if($5_1>>>0<360){break label$65;}$8_1=2;if($4_1>>>0>107){break label$76;}$9_1=$4_1;break label$63;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($8_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$11_1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$9_1;break label$1;}$10_1=HEAPU16[($5_1<<1)+1093184>>1];HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$10_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$62;}$10_1=HEAPU16[($5_1<<1)+1099114>>1];HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$10_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$62;}$8_1=5;$9_1=$4_1+-119|0;if($9_1>>>0<8){break label$63;}$8_1=8;$9_1=$4_1+-135|0;if($9_1>>>0<7){break label$63;}$8_1=11;$9_1=$4_1+-153|0;if($9_1>>>0<15){break label$63;}$8_1=14;$9_1=$4_1+-175|0;if($9_1>>>0<8){break label$63;}if(($4_1|0)==187){$8_1=17;$9_1=0;break label$63;}$8_1=20;$9_1=$4_1+-658|0;if($9_1>>>0<32){break label$63;}$8_1=23;$9_1=$4_1+-1159|0;if($9_1>>>0<23){break label$63;}$8_1=26;$9_1=$4_1+-1190|0;if($9_1>>>0<30){break label$63;}$8_1=32;$9_1=$4_1+-8644|0;if($9_1>>>0<4){break label$63;}$8_1=2;label$82:{$9_1=$4_1+-203|0;if($9_1>>>0<10){break label$82;}$8_1=5;$9_1=$4_1+-220|0;if($9_1>>>0<26){break label$82;}$8_1=8;$9_1=$4_1+-252|0;if($9_1>>>0<26){break label$82;}$8_1=11;$9_1=$4_1+-470|0;if($9_1>>>0<17){break label$82;}$8_1=14;$9_1=$4_1+-487|0;if($9_1>>>0<7){break label$82;}$8_1=17;$9_1=$4_1+-502|0;if($9_1>>>0<17){break label$82;}$8_1=20;$9_1=$4_1+-519|0;if($9_1>>>0<7){break label$82;}$8_1=23;$9_1=$4_1+-564|0;if($9_1>>>0<6){break label$82;}$8_1=26;$9_1=0;if(($4_1|0)==570){break label$82;}$8_1=29;$9_1=$4_1+-571|0;if($9_1>>>0<26){break label$82;}$8_1=32;$9_1=$4_1+-612|0;if($9_1>>>0<6){break label$82;}$8_1=35;$9_1=0;if(($4_1|0)==618){break label$82;}$8_1=38;$9_1=$4_1+-619|0;if($9_1>>>0<26){break label$82;}$8_1=41;$9_1=$4_1+-1128|0;if($9_1>>>0<20){break label$82;}$8_1=44;$9_1=$4_1+-1148|0;if($9_1>>>0<10){break label$82;}$8_1=47;$9_1=$4_1+-8634|0;if($9_1>>>0<10){break label$82;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=$11_1;break label$1;}$10_1=HEAPU16[($8_1<<1)+1107160>>1]+$9_1|0;$4_1=$10_1&65535;if($4_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$62;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1>>>6|192;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$62;}if($9_1>>>0>=$3_1>>>0){if(!$6_1){HEAP8[$1_1|0]=2;$10_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$9_1;HEAP8[$0_1+4|0]=0;break label$1;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$9_1;break label$1;}$4_1=$9_1+1|0;label$86:{label$87:{$5_1=HEAP8[$2_1+$9_1|0];$8_1=$5_1+95|0;$12_1=$8_1&255;if($12_1>>>0<=93){if($4_1>>>0<$3_1>>>0){break label$86;}if($6_1){break label$87;}HEAP8[$1_1|0]=3;HEAP8[$1_1+1|0]=$8_1;$10_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$4_1;HEAP8[$0_1+4|0]=0;break label$1;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$9_1;break label$1;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=$4_1;break label$1;}$11_1=$9_1+2|0;label$90:{label$91:{label$92:{label$93:{label$94:{label$95:{$5_1=HEAP8[$2_1+$4_1|0];$8_1=$5_1+95&255;if($8_1>>>0<=93){$4_1=$8_1+Math_imul($12_1,94)|0;$5_1=$4_1+-1410|0;if($5_1>>>0<5801){break label$95;}$8_1=2;$9_1=$4_1+-108|0;label$97:{if($9_1>>>0<=10){break label$97;}$8_1=5;$9_1=$4_1+-127|0;if($9_1>>>0<3){break label$97;}$8_1=8;$9_1=$4_1+-168|0;if($9_1>>>0<7){break label$97;}$8_1=11;$9_1=$4_1+-534|0;if($9_1>>>0<12){break label$97;}$8_1=14;$9_1=$4_1+-550|0;if($9_1>>>0<12){break label$97;}$8_1=17;$9_1=$4_1+-608|0;if($9_1>>>0<2){break label$97;}$8_1=20;$9_1=$4_1+-656|0;if($9_1>>>0<2){break label$97;}$8_1=23;$9_1=$4_1+-752|0;if($9_1>>>0<16){break label$97;}$8_1=26;$9_1=$4_1+-784|0;if($9_1>>>0<16){break label$97;}$8_1=29;$9_1=$4_1+-846|0;if($9_1>>>0<87){break label$97;}$8_1=32;$9_1=$4_1+-940|0;if($9_1>>>0>=87){break label$93;}}$5_1=HEAPU16[($8_1<<1)+1141150>>1]+$9_1|0;if($5_1>>>0<255){break label$94;}$100(1170776,$5_1,255);abort();}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=3;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$11_1;break label$1;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$4_1;break label$1;}$8_1=HEAPU16[($5_1<<1)+1129038>>1];HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$8_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;break label$64;}$8_1=HEAPU16[($5_1<<1)+1140640>>1];if($8_1){break label$92;}}$5_1=$4_1+-597|0;if($5_1>>>0<11){break label$91;}$4_1=$4_1+-645|0;if($4_1>>>0<11){break label$90;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=770;HEAP32[$0_1>>2]=$11_1;break label$1;}if($8_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$8_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$8_1>>>6&63|128;break label$64;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$8_1>>>6|192;break label$64;}$8_1=$5_1+1026|0;HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$8_1>>>6|192;break label$64;}$8_1=$4_1+1106|0;HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$8_1>>>6|192;break label$64;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$9_1;break label$1;}if($9_1>>>0>=$3_1>>>0){if(!$6_1){HEAP8[$1_1|0]=4;$10_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$9_1;HEAP8[$0_1+4|0]=0;break label$1;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$9_1;break label$1;}$11_1=$9_1+1|0;$4_1=HEAP8[$2_1+$9_1|0];$5_1=$4_1+95&255;if($5_1>>>0<=62){$8_1=$5_1+-159|0;$4_1=$8_1&65535;HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;break label$64;}$10_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($4_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$11_1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$9_1;break label$1;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=227;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;$5_1=$4_1+HEAP32[$7_1>>2]|0;$4_1=$12_1+12353|0;HEAP8[$5_1|0]=$4_1>>>6&7|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$61;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=227;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;$5_1=$4_1+HEAP32[$7_1>>2]|0;$4_1=$12_1+12449|0;HEAP8[$5_1|0]=$4_1>>>6&7|128;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;break label$61;}$10_1=HEAPU16[($5_1<<1)+1105894>>1];HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$10_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$62;}$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$8_1&63|128;$4_1=$7_1+8|0;HEAP32[$4_1>>2]=HEAP32[$4_1>>2]+1;break label$61;}$4_1=HEAPU16[($8_1<<1)+1107094>>1]+$9_1|0;if($4_1>>>0>=240){$100(1170760,$4_1,240);abort();}$10_1=HEAPU16[($4_1<<1)+1106614>>1];if($10_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1>>>12|224;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$10_1>>>6&63|128;$4_1=HEAP32[$7_1+8>>2]+1|0;break label$62;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$10_1>>>6|192;$4_1=HEAP32[$7_1+8>>2]+1|0;}HEAP32[$13_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=$10_1&63|128;$4_1=$7_1+8|0;HEAP32[$4_1>>2]=HEAP32[$4_1>>2]+1;}$10_1=HEAP32[$7_1+8>>2];if($11_1>>>0>=$3_1>>>0){HEAP32[$0_1>>2]=$11_1;HEAP8[$0_1+4|0]=0;break label$1;}if($10_1+2>>>0>=HEAPU32[$7_1+4>>2]){HEAP32[$0_1>>2]=$11_1;HEAP8[$0_1+4|0]=1;break label$1;}$9_1=$11_1+1|0;$11_1=HEAP8[$2_1+$11_1|0];if(($11_1|0)<0){continue;}break;};HEAP8[HEAP32[$7_1>>2]+$10_1|0]=$11_1;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;$12_1=$15_1;$5_1=HEAP32[$7_1+4>>2];$10_1=HEAP32[$7_1+8>>2];if($5_1>>>0>=$10_1>>>0){continue;}break;};}$102($10_1,$5_1);abort();}if(!$6_1){HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+4|0]=0;break label$1;}HEAP8[$0_1+4|0]=2;HEAP8[$1_1|0]=0;HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+6|0]=0;HEAP8[$0_1+5|0]=($11_1|0)==3?2:1;}HEAP32[$0_1+8>>2]=$10_1;global$0=$7_1+16|0;}function $3($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0,$19_1=0,$20_1=0;$3_1=global$0-256|0;global$0=$3_1;label$1:{label$2:{label$3:{label$4:{$2_1=HEAPU8[$1_1+36|0];if(($2_1+5&255)>>>0>=33){while(1){if(HEAPU8[$1_1+28|0]!=3){break label$3;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$2_1=HEAP32[$1_1+16>>2];$7_1=!$4_1&$6_1>>>0>$2_1>>>0|$4_1>>>0>0;$5_1=$7_1?$2_1:$6_1;if($2_1>>>0<$5_1>>>0){break label$1;}label$7:{label$8:{if(($2_1|0)!=($5_1|0)){$2_1=HEAPU8[HEAP32[$1_1+8>>2]+$5_1|0];}else{$92($3_1+120|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+120>>2],HEAP32[$3_1+124>>2]);$7_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$8;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$7_1=$6_1+1|0;if($7_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$4_1;break label$7;}$2_1=0;if(($4_1&255)!=3){break label$4;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($2_1+5&255)>>>0>32){continue;}break;}}$7_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&31;break label$2;}if(HEAPU8[$1_1+28|0]==2){$2_1=HEAP32[$1_1+32>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$1_1+32>>2]);}HEAP32[$1_1+28>>2]=$4_1;HEAP32[$1_1+32>>2]=$7_1;$2_1=HEAPU8[$1_1+36|0];}$7_1=0;}$2_1=$2_1+5|0;HEAP8[$1_1+36|0]=$2_1;$10_1=$1_1+32|0;$4_1=HEAP32[$10_1>>2];$5_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;label$13:{if(($5_1&255)==3){$9_1=$1_1+28|0;label$15:{label$16:{label$17:{if(($5_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27($4_1);$2_1=HEAPU8[$1_1+36|0];}if(($2_1+5&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$16;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$2_1=HEAP32[$1_1+16>>2];$5_1=!$4_1&$6_1>>>0>$2_1>>>0|$4_1>>>0>0;$5_1=$5_1?$2_1:$6_1;if($2_1>>>0<$5_1>>>0){break label$1;}label$22:{label$23:{if(($2_1|0)!=($5_1|0)){$2_1=HEAPU8[HEAP32[$1_1+8>>2]+$5_1|0];}else{$92($3_1+112|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+112>>2],HEAP32[$3_1+116>>2]);$5_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$23;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$5_1=$6_1+1|0;if($5_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$4_1;break label$22;}$2_1=0;if(($4_1&255)!=3){break label$17;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($2_1+5&255)>>>0>32){continue;}break;}}$5_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&31;break label$15;}if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$1_1+32>>2]=$5_1;HEAP32[$1_1+28>>2]=$4_1;$2_1=HEAPU8[$1_1+36|0];}$5_1=0;}$2_1=$2_1+5|0;HEAP8[$1_1+36|0]=$2_1;$4_1=HEAP32[$1_1+32>>2];$6_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;label$28:{label$29:{label$30:{label$31:{label$32:{if(($6_1&255)==3){if(($6_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27($4_1);$2_1=HEAPU8[$1_1+36|0];}HEAP16[$3_1+134>>1]=$5_1+1;label$36:{label$37:{label$38:{if(($2_1+4&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$37;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$2_1=HEAP32[$1_1+16>>2];$5_1=!$4_1&$6_1>>>0>$2_1>>>0|$4_1>>>0>0;$5_1=$5_1?$2_1:$6_1;if($2_1>>>0<$5_1>>>0){break label$1;}label$41:{label$42:{if(($2_1|0)!=($5_1|0)){$2_1=HEAPU8[HEAP32[$1_1+8>>2]+$5_1|0];}else{$92($3_1+104|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+104>>2],HEAP32[$3_1+108>>2]);$5_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$42;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$5_1=$6_1+1|0;if($5_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$4_1;break label$41;}$2_1=0;if(($4_1&255)!=3){break label$38;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($2_1+4&255)>>>0>32){continue;}break;}}$5_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&15;break label$36;}if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$1_1+32>>2]=$5_1;HEAP32[$1_1+28>>2]=$4_1;$2_1=HEAPU8[$1_1+36|0];}$5_1=0;}HEAP8[$1_1+36|0]=$2_1+4;$4_1=HEAP32[$1_1+32>>2];$2_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;if(($2_1&255)!=3){break label$32;}if(($2_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27($4_1);}if(HEAPU16[$3_1+134>>1]>30){break label$29;}$11_1=$7_1+257|0;$2_1=$3_1+151|0;HEAP8[$2_1|0]=0;HEAP8[$2_1+1|0]=0;HEAP8[$2_1+2|0]=0;HEAP8[$2_1+3|0]=0;$2_1=$3_1+144|0;HEAP32[$2_1>>2]=0;HEAP32[$2_1+4>>2]=0;HEAP32[$3_1+136>>2]=0;HEAP32[$3_1+140>>2]=0;$8_1=$5_1+4|0;$5_1=1049676;label$49:{label$50:{while(1){$12_1=HEAP32[$5_1>>2];label$52:{label$53:{label$54:{$2_1=HEAPU8[$1_1+36|0];if(($2_1+3&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$53;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$2_1=$4_1;$6_1=HEAP32[$1_1>>2];$7_1=HEAP32[$1_1+16>>2];$2_1=!$2_1&$6_1>>>0>$7_1>>>0|$2_1>>>0>0;$2_1=$2_1?$7_1:$6_1;if($7_1>>>0<$2_1>>>0){break label$31;}label$57:{label$58:{if(($2_1|0)!=($7_1|0)){$2_1=HEAPU8[$2_1+HEAP32[$1_1+8>>2]|0];}else{$92($3_1+96|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+96>>2],HEAP32[$3_1+100>>2]);$7_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$58;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$7_1=$6_1+1|0;if($7_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$4_1;break label$57;}$2_1=0;if(($4_1&255)!=3){break label$54;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($2_1+3&255)>>>0>32){continue;}break;}}$4_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&7;break label$52;}if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$1_1+32>>2]=$7_1;HEAP32[$1_1+28>>2]=$4_1;$2_1=HEAPU8[$1_1+36|0];}$4_1=0;}HEAP8[$1_1+36|0]=$2_1+3;$2_1=HEAP32[$1_1+32>>2];$7_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;if(($7_1&255)!=3){break label$50;}$8_1=$8_1+-1|0;if(($7_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);}$5_1=$5_1+4|0;HEAP8[$12_1+($3_1+136|0)|0]=$4_1;if($8_1){continue;}break;};$40($3_1+232|0,$3_1+136|0,19,0,$1_1);if(HEAP32[$3_1+232>>2]!=1){break label$49;}$1_1=HEAP32[$3_1+240>>2];HEAP32[$0_1+4>>2]=HEAP32[$3_1+236>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=1;break label$13;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$7_1;HEAP32[$1_1+8>>2]=$2_1;break label$13;}$12_1=HEAPU8[$3_1+248|0];$14_1=$3_1+240|0;$16_1=HEAP32[$14_1>>2];$13_1=HEAPU8[$3_1+249|0];$7_1=HEAP32[$3_1+236>>2];$2_1=$166($11_1,1);if(!$2_1){break label$30;}HEAP32[$3_1+168>>2]=0;HEAP32[$3_1+164>>2]=$11_1;HEAP32[$3_1+160>>2]=$2_1;$17_1=-1<<($13_1&15)^-1;$18_1=-1<<($12_1&15)^-1;break label$28;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$6_1;HEAP32[$1_1+8>>2]=$4_1;break label$13;}HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1+8>>2]=$4_1;break label$13;}$102($2_1,$7_1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($11_1,1);abort();}HEAP32[$3_1+252>>2]=2;HEAP32[$3_1+220>>2]=18;HEAP32[$3_1+236>>2]=2;HEAP32[$3_1+240>>2]=0;HEAP32[$3_1+232>>2]=1049656;HEAP32[$3_1+212>>2]=1;HEAP32[$3_1+208>>2]=1049672;HEAP32[$3_1+248>>2]=$3_1+208;HEAP32[$3_1+216>>2]=$3_1+134;$56($3_1+136|0,$3_1+232|0);HEAP32[$3_1+240>>2]=HEAP32[$3_1+144>>2];$1_1=HEAP32[$3_1+140>>2];HEAP32[$3_1+232>>2]=HEAP32[$3_1+136>>2];HEAP32[$3_1+236>>2]=$1_1;$105($3_1,$3_1+232|0);$90($3_1+232|0,12,HEAP32[$3_1>>2],HEAP32[$3_1+4>>2]);HEAP32[$0_1>>2]=1;$1_1=HEAP32[$3_1+236>>2];HEAP32[$0_1+4>>2]=HEAP32[$3_1+232>>2];HEAP32[$0_1+8>>2]=$1_1;break label$13;}label$65:{while(1){label$68:{label$69:{label$70:{$2_1=HEAPU8[$1_1+36|0];if(($12_1+$2_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$69;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$2_1=HEAP32[$1_1+16>>2];$5_1=!$4_1&$6_1>>>0>$2_1>>>0|$4_1>>>0>0;$5_1=$5_1?$2_1:$6_1;if($2_1>>>0<$5_1>>>0){break label$1;}label$73:{label$74:{if(($2_1|0)!=($5_1|0)){$2_1=HEAPU8[HEAP32[$1_1+8>>2]+$5_1|0];}else{$92($3_1+88|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+88>>2],HEAP32[$3_1+92>>2]);$5_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$74;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$5_1=$6_1+1|0;if($5_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$4_1;break label$73;}$2_1=0;if(($4_1&255)!=3){break label$70;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($12_1+$2_1&255)>>>0>32){continue;}break;}}$2_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&$18_1&65535;break label$68;}if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$5_1;HEAP32[$9_1>>2]=$4_1;}$2_1=0;}$8_1=HEAPU16[($2_1<<1)+$7_1>>1];$5_1=$8_1&31;label$67:{if($5_1>>>0<=$12_1>>>0){break label$67;}label$79:{label$80:{label$81:{$2_1=HEAPU8[$1_1+36|0];if(($13_1+$2_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$80;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$2_1=HEAP32[$1_1+16>>2];$5_1=!$4_1&$6_1>>>0>$2_1>>>0|$4_1>>>0>0;$5_1=$5_1?$2_1:$6_1;if($2_1>>>0<$5_1>>>0){break label$1;}label$84:{label$85:{if(($2_1|0)!=($5_1|0)){$2_1=HEAPU8[HEAP32[$1_1+8>>2]+$5_1|0];}else{$92($3_1+80|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+80>>2],HEAP32[$3_1+84>>2]);$5_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$85;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$5_1=$6_1+1|0;if($5_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$4_1;break label$84;}$2_1=0;if(($4_1&255)!=3){break label$81;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($13_1+$2_1&255)>>>0>32){continue;}break;}}$2_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&$17_1&65535;break label$79;}if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$5_1;HEAP32[$9_1>>2]=$4_1;}$2_1=0;}$8_1=HEAPU16[($2_1<<1)+$7_1>>1];$5_1=$8_1&31;if($5_1>>>0<=$13_1>>>0){break label$67;}HEAP32[$3_1+252>>2]=1;HEAP32[$3_1+236>>2]=1;HEAP32[$3_1+240>>2]=0;HEAP32[$3_1+232>>2]=1050532;HEAP32[$3_1+196>>2]=19;HEAP32[$3_1+192>>2]=1050596;HEAP32[$3_1+248>>2]=$3_1+192;$56($3_1+208|0,$3_1+232|0);HEAP32[$14_1>>2]=HEAP32[$3_1+216>>2];$2_1=HEAP32[$3_1+212>>2];HEAP32[$3_1+232>>2]=HEAP32[$3_1+208>>2];HEAP32[$3_1+236>>2]=$2_1;$105($3_1+72|0,$3_1+232|0);$90($3_1+232|0,12,HEAP32[$3_1+72>>2],HEAP32[$3_1+76>>2]);$4_1=HEAP32[$3_1+232>>2];$6_1=HEAP32[$3_1+236>>2];if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$4_1;HEAP32[$9_1+4>>2]=$6_1;}$2_1=HEAP32[$1_1+32>>2];$4_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;HEAP8[$1_1+36|0]=HEAPU8[$1_1+36|0]+$5_1;label$92:{label$93:{if(($4_1&255)==3){$4_1=$4_1&3;label$95:{if(($4_1|0)!=2){break label$95;}FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);$5_1=HEAP32[$2_1+4>>2];if(HEAP32[$5_1+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);if(($4_1|0)==1){break label$95;}FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);$5_1=HEAP32[HEAP32[$2_1+4>>2]+4>>2];if($5_1){$27(HEAP32[$2_1>>2]);}$27($2_1);}$6_1=$8_1>>>5;$8_1=0;$2_1=HEAP32[$3_1+168>>2];$4_1=$2_1+-1|0;if($4_1>>>0<$2_1>>>0){break label$93;}break label$92;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$4_1;HEAP32[$1_1+8>>2]=$2_1;break label$65;}if($4_1>>>0>$2_1>>>0){break label$92;}$5_1=HEAPU8[$4_1+HEAP32[$3_1+160>>2]|0];$8_1=1;}$13($3_1+232|0,$1_1,$6_1,$8_1,$5_1);$4_1=HEAP32[$3_1+240>>2];$2_1=HEAP32[$3_1+236>>2];$6_1=HEAP32[$3_1+232>>2];if(($6_1|0)==1){HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1+8>>2]=$4_1;break label$65;}$15_1=HEAP32[$4_1+12>>2];FUNCTION_TABLE[$15_1]($3_1- -64|0,$2_1);if(HEAP8[$3_1+64|0]&1){$8_1=HEAPU8[$3_1+65|0];while(1){$5_1=HEAP32[$3_1+168>>2];if(($5_1|0)==HEAP32[$3_1+164>>2]){FUNCTION_TABLE[HEAP32[$4_1+16>>2]]($3_1+232|0,$2_1);$19_1=HEAP32[$3_1+232>>2];$20_1=$19_1+1|0;$88($3_1+160|0,HEAP32[$3_1+168>>2],$20_1>>>0<$19_1>>>0?-1:$20_1);}HEAP8[$5_1+HEAP32[$3_1+160>>2]|0]=$8_1;HEAP32[$3_1+168>>2]=$5_1+1;FUNCTION_TABLE[$15_1]($3_1+56|0,$2_1);$8_1=HEAPU8[$3_1+57|0];if(HEAP8[$3_1+56|0]&1){continue;}break;};}FUNCTION_TABLE[HEAP32[$4_1>>2]]($2_1);if(HEAP32[$4_1+4>>2]){$27($2_1);}label$103:{if(!$6_1){break label$103;}if(($2_1&255)>>>0<2){break label$103;}FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27($4_1);}$2_1=HEAP32[$3_1+168>>2];if($2_1>>>0<$11_1>>>0){continue;}break;};HEAP32[$3_1+168>>2]=$11_1;$4_1=HEAP32[$3_1+160>>2];HEAP32[$3_1+232>>2]=$2_1;HEAP32[$3_1+244>>2]=$2_1+$4_1;HEAP32[$3_1+240>>2]=$4_1+$11_1;HEAP32[$3_1+236>>2]=0;HEAP32[$3_1+248>>2]=$3_1+160;$47($3_1+176|0,$3_1+232|0);label$105:{$2_1=HEAP32[$3_1+184>>2];$8_1=HEAPU16[$3_1+134>>1];if($2_1>>>0<$8_1>>>0){while(1){label$109:{label$110:{label$111:{$2_1=HEAPU8[$1_1+36|0];if(($12_1+$2_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$110;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$2_1=HEAP32[$1_1+16>>2];$5_1=!$4_1&$6_1>>>0>$2_1>>>0|$4_1>>>0>0;$5_1=$5_1?$2_1:$6_1;if($2_1>>>0<$5_1>>>0){break label$1;}label$114:{label$115:{if(($2_1|0)!=($5_1|0)){$2_1=HEAPU8[HEAP32[$1_1+8>>2]+$5_1|0];}else{$92($3_1+48|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+48>>2],HEAP32[$3_1+52>>2]);$5_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$115;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$5_1=$6_1+1|0;if($5_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$4_1;break label$114;}$2_1=0;if(($4_1&255)!=3){break label$111;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($12_1+$2_1&255)>>>0>32){continue;}break;}}$2_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&$18_1&65535;break label$109;}if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$5_1;HEAP32[$9_1>>2]=$4_1;}$2_1=0;}$8_1=HEAPU16[($2_1<<1)+$7_1>>1];$5_1=$8_1&31;label$108:{if($5_1>>>0<=$12_1>>>0){break label$108;}label$120:{label$121:{label$122:{$2_1=HEAPU8[$1_1+36|0];if(($13_1+$2_1&255)>>>0>=33){while(1){if(HEAPU8[$9_1|0]!=3){break label$121;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$2_1=HEAP32[$1_1+16>>2];$5_1=!$4_1&$6_1>>>0>$2_1>>>0|$4_1>>>0>0;$5_1=$5_1?$2_1:$6_1;if($2_1>>>0<$5_1>>>0){break label$1;}label$125:{label$126:{if(($2_1|0)!=($5_1|0)){$2_1=HEAPU8[HEAP32[$1_1+8>>2]+$5_1|0];}else{$92($3_1+40|0,1050604,27);$90($3_1+232|0,17,HEAP32[$3_1+40>>2],HEAP32[$3_1+44>>2]);$5_1=HEAP32[$3_1+236>>2];$4_1=HEAP32[$3_1+232>>2];if(($4_1&255)!=3){break label$126;}$6_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+4>>2];$2_1=0;}$5_1=$6_1+1|0;if($5_1>>>0<1){$4_1=$4_1+1|0;}HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$4_1;break label$125;}$2_1=0;if(($4_1&255)!=3){break label$122;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($13_1+$2_1&255)>>>0>32){continue;}break;}}$2_1=HEAP32[$1_1+24>>2]>>>($2_1&31)&$17_1&65535;break label$120;}if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$10_1>>2]=$5_1;HEAP32[$9_1>>2]=$4_1;}$2_1=0;}$8_1=HEAPU16[($2_1<<1)+$7_1>>1];$5_1=$8_1&31;if($5_1>>>0<=$13_1>>>0){break label$108;}HEAP32[$3_1+252>>2]=1;HEAP32[$3_1+236>>2]=1;HEAP32[$3_1+240>>2]=0;HEAP32[$3_1+232>>2]=1050532;HEAP32[$3_1+196>>2]=19;HEAP32[$3_1+192>>2]=1050596;HEAP32[$3_1+248>>2]=$3_1+192;$56($3_1+208|0,$3_1+232|0);HEAP32[$3_1+240>>2]=HEAP32[$3_1+216>>2];$2_1=HEAP32[$3_1+212>>2];HEAP32[$3_1+232>>2]=HEAP32[$3_1+208>>2];HEAP32[$3_1+236>>2]=$2_1;$105($3_1+32|0,$3_1+232|0);$90($3_1+232|0,12,HEAP32[$3_1+32>>2],HEAP32[$3_1+36>>2]);$4_1=HEAP32[$3_1+232>>2];$6_1=HEAP32[$3_1+236>>2];if(HEAPU8[$9_1|0]==2){$2_1=HEAP32[$10_1>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$10_1>>2]);}HEAP32[$9_1>>2]=$4_1;HEAP32[$9_1+4>>2]=$6_1;}$2_1=HEAP32[$1_1+32>>2];$4_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;HEAP8[$1_1+36|0]=HEAPU8[$1_1+36|0]+$5_1;label$133:{label$134:{label$135:{if(($4_1&255)==3){$4_1=$4_1&3;label$137:{if(($4_1|0)!=2){break label$137;}FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);$5_1=HEAP32[$2_1+4>>2];if(HEAP32[$5_1+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);if(($4_1|0)==1){break label$137;}FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);$5_1=HEAP32[HEAP32[$2_1+4>>2]+4>>2];if($5_1){$27(HEAP32[$2_1>>2]);}$27($2_1);}$11_1=$8_1>>>5;$4_1=HEAP32[$3_1+184>>2];$2_1=$4_1+-1|0;if($2_1>>>0<$4_1>>>0){$6_1=$3_1+176|0;if($2_1>>>0<=$4_1>>>0){break label$134;}}$8_1=0;$4_1=HEAP32[$3_1+168>>2];$2_1=$4_1+-1|0;if($2_1>>>0<$4_1>>>0){break label$135;}break label$133;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$4_1;HEAP32[$1_1+8>>2]=$2_1;break label$105;}$6_1=$3_1+160|0;if($2_1>>>0>$4_1>>>0){break label$133;}}$5_1=HEAPU8[HEAP32[$6_1>>2]+$2_1|0];$8_1=1;}$13($3_1+232|0,$1_1,$11_1,$8_1,$5_1);$2_1=HEAP32[$3_1+240>>2];$4_1=HEAP32[$3_1+236>>2];$6_1=HEAP32[$3_1+232>>2];if(($6_1|0)==1){HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$4_1;HEAP32[$1_1+8>>2]=$2_1;break label$105;}$11_1=HEAP32[$2_1+12>>2];FUNCTION_TABLE[$11_1]($3_1+24|0,$4_1);if(HEAP8[$3_1+24|0]&1){$8_1=HEAPU8[$3_1+25|0];while(1){$5_1=HEAP32[$3_1+184>>2];if(($5_1|0)==HEAP32[$3_1+180>>2]){FUNCTION_TABLE[HEAP32[$2_1+16>>2]]($3_1+232|0,$4_1);$14_1=HEAP32[$3_1+232>>2];$15_1=$14_1+1|0;$88($3_1+176|0,HEAP32[$3_1+184>>2],$15_1>>>0<$14_1>>>0?-1:$15_1);}HEAP8[$5_1+HEAP32[$3_1+176>>2]|0]=$8_1;HEAP32[$3_1+184>>2]=$5_1+1;FUNCTION_TABLE[$11_1]($3_1+16|0,$4_1);$8_1=HEAPU8[$3_1+17|0];if(HEAP8[$3_1+16|0]&1){continue;}break;};}FUNCTION_TABLE[HEAP32[$2_1>>2]]($4_1);if(HEAP32[$2_1+4>>2]){$27($4_1);}label$146:{if(!$6_1){break label$146;}if(($4_1&255)>>>0<2){break label$146;}FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);}$2_1=HEAP32[$3_1+184>>2];$8_1=HEAPU16[$3_1+134>>1];if($2_1>>>0<$8_1>>>0){continue;}break;}}if($2_1>>>0>$8_1>>>0){HEAP32[$3_1+252>>2]=2;HEAP32[$3_1+220>>2]=18;HEAP32[$3_1+236>>2]=2;HEAP32[$3_1+240>>2]=0;HEAP32[$3_1+232>>2]=1049828;HEAP32[$3_1+212>>2]=1;HEAP32[$3_1+204>>2]=$2_1;HEAP32[$3_1+248>>2]=$3_1+208;HEAP32[$3_1+216>>2]=$3_1+134;HEAP32[$3_1+208>>2]=$3_1+204;$56($3_1+192|0,$3_1+232|0);HEAP32[$3_1+240>>2]=HEAP32[$3_1+200>>2];$1_1=HEAP32[$3_1+196>>2];HEAP32[$3_1+232>>2]=HEAP32[$3_1+192>>2];HEAP32[$3_1+236>>2]=$1_1;$105($3_1+8|0,$3_1+232|0);$90($3_1+232|0,12,HEAP32[$3_1+8>>2],HEAP32[$3_1+12>>2]);HEAP32[$0_1>>2]=1;$1_1=HEAP32[$3_1+236>>2];HEAP32[$0_1+4>>2]=HEAP32[$3_1+232>>2];HEAP32[$0_1+8>>2]=$1_1;break label$105;}$40($3_1+208|0,HEAP32[$3_1+160>>2],HEAP32[$3_1+168>>2],1,256);if(HEAP32[$3_1+208>>2]==1){$1_1=HEAP32[$3_1+216>>2];HEAP32[$0_1+4>>2]=HEAP32[$3_1+212>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=1;if(HEAP32[$3_1+180>>2]){$27(HEAP32[$3_1+176>>2]);}if(HEAP32[$3_1+164>>2]){$27(HEAP32[$3_1+160>>2]);}if(!$16_1){break label$13;}$27($7_1);break label$13;}$1_1=$3_1+220|0;$4_1=HEAP32[$1_1>>2];$5_1=HEAP32[$1_1+4>>2];$1_1=HEAP32[$3_1+212>>2];$2_1=HEAP32[$3_1+216>>2];$40($3_1+232|0,HEAP32[$3_1+176>>2],HEAP32[$3_1+184>>2],0,$2_1);if(HEAP32[$3_1+232>>2]!=1){HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1>>2]=0;$1_1=$0_1+12|0;HEAP32[$1_1>>2]=$4_1;HEAP32[$1_1+4>>2]=$5_1;HEAP32[$0_1+8>>2]=$2_1;$1_1=$3_1+232|4;$4_1=HEAP32[$1_1+4>>2];$2_1=$0_1+20|0;HEAP32[$2_1>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+4>>2]=$4_1;$1_1=$1_1+8|0;$2_1=HEAP32[$1_1+4>>2];$0_1=$0_1+28|0;HEAP32[$0_1>>2]=HEAP32[$1_1>>2];HEAP32[$0_1+4>>2]=$2_1;if(HEAP32[$3_1+180>>2]){$27(HEAP32[$3_1+176>>2]);}if(HEAP32[$3_1+164>>2]){$27(HEAP32[$3_1+160>>2]);}if(!$16_1){break label$13;}$27($7_1);break label$13;}$4_1=HEAP32[$3_1+240>>2];HEAP32[$0_1+4>>2]=HEAP32[$3_1+236>>2];HEAP32[$0_1+8>>2]=$4_1;HEAP32[$0_1>>2]=1;if($2_1){$27($1_1);}if(HEAP32[$3_1+180>>2]){$27(HEAP32[$3_1+176>>2]);}if(HEAP32[$3_1+164>>2]){$27(HEAP32[$3_1+160>>2]);}if(!$16_1){break label$13;}$27($7_1);break label$13;}if(!HEAP32[$3_1+180>>2]){break label$65;}$27(HEAP32[$3_1+176>>2]);}if(HEAP32[$3_1+164>>2]){$27(HEAP32[$3_1+160>>2]);}if(!$16_1){break label$13;}$27($7_1);break label$13;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$5_1;HEAP32[$1_1+8>>2]=$4_1;}global$0=$3_1+256|0;return;}$102($5_1,$2_1);abort();}function $4($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0;$10_1=global$0-16|0;global$0=$10_1;HEAP32[$10_1+8>>2]=0;HEAP32[$10_1+4>>2]=$5_1;HEAP32[$10_1>>2]=$4_1;label$1:{label$2:{label$3:{if(HEAPU8[$1_1|0]==1){HEAP8[$1_1|0]=0;if(!$3_1){if(!$6_1){HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=0;break label$1;}HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=0;HEAP8[$0_1+6|0]=0;break label$1;}if($5_1>>>0<=2){HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=1;break label$1;}$7_1=HEAP8[$2_1|0];$16_1=$10_1;label$8:{label$9:{label$10:{label$11:{label$12:{label$13:{label$14:{label$15:{label$16:{label$17:{$8_1=HEAPU8[$1_1+1|0];if($8_1>>>0<=31){if(($7_1+127&255)>>>0<126){break label$16;}if(($7_1+-97&255)>>>0<26){break label$17;}$12_1=$7_1+-65|0;if(($12_1&255)>>>0<26){break label$15;}HEAP8[$0_1+4|0]=2;if(($7_1|0)>-1){break label$2;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=1;$12_1=0;break label$1;}$13_1=$8_1+-32|0;label$19:{label$20:{label$21:{$9_1=$7_1+95|0;$11_1=$9_1&255;if($11_1>>>0>=94){if(($7_1+127&255)>>>0<32){break label$20;}if(($7_1+-97&255)>>>0<26){break label$21;}$9_1=$7_1+-65|0;if(($9_1&255)>>>0<26){break label$19;}HEAP8[$0_1+4|0]=2;if(($7_1|0)>-1){break label$2;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=1;break label$1;}$7_1=$11_1+Math_imul($13_1&255,94)|0;$13_1=$7_1+-1410|0;if($13_1>>>0<2350){break label$14;}label$23:{label$24:{label$25:{label$26:{label$27:{if($7_1>>>0>=165){$13_1=$7_1+-3854|0;if($13_1>>>0<4888){break label$27;}$8_1=$8_1+-37|0;if($8_1>>>0>3){break label$23;}switch($8_1-1|0){case 0:break label$23;case 2:break label$25;case 1:break label$26;default:break label$24;};}$7_1=HEAPU16[($7_1<<1)+1128200>>1];if($7_1>>>0>=2048){HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;break label$9;}HEAP8[$4_1+1|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>6|192;$12_1=2;break label$8;}$7_1=HEAPU16[($13_1<<1)+1118424>>1];HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;break label$9;}if(($9_1&255)>>>0>14){break label$23;}$7_1=HEAPU16[($11_1<<1)+1128530>>1];if($7_1){HEAP8[$4_1+1|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>6|192;$12_1=2;break label$8;}HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=1;HEAP8[$0_1+6|0]=0;break label$1;}if(($9_1&255)>>>0>15){break label$23;}$7_1=HEAPU16[($11_1<<1)+1128560>>1];HEAP8[$4_1+1|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>6|192;$12_1=2;break label$8;}if(($9_1&255)>>>0<68){break label$13;}}$11_1=$7_1+-188|0;if($11_1>>>0>=927){HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=1;HEAP8[$0_1+6|0]=0;break label$1;}$7_1=$11_1&65535;$9_1=$7_1>>>0<443?0:38;$8_1=$9_1+19|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$7_1>>>0?$9_1:$8_1;$8_1=$9_1+10|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$7_1>>>0?$9_1:$8_1;$8_1=$9_1+5|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$7_1>>>0?$9_1:$8_1;$8_1=$9_1+2|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$7_1>>>0?$9_1:$8_1;$8_1=$9_1+1|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$7_1>>>0?$9_1:$8_1;$8_1=$9_1+1|0;$8_1=HEAPU16[($8_1<<1)+1128728>>1]>$7_1>>>0?$9_1:$8_1;$9_1=$8_1<<1;$13_1=HEAPU16[$9_1+1128728>>1];label$32:{if(($13_1|0)==($7_1|0)){$7_1=HEAPU16[$9_1+1128884>>1];break label$32;}$7_1=($8_1+($13_1>>>0<$7_1>>>0)|0)+-1|0;if($7_1>>>0>76){break label$12;}$7_1=$7_1<<1;$7_1=($11_1+HEAPU16[$7_1+1128884>>1]|0)-HEAPU16[$7_1+1128728>>1]|0;}$11_1=$7_1&65535;if($11_1>>>0>=128){if($11_1>>>0>=2048){HEAP8[$4_1+2|0]=$7_1&63|128;$7_1=$7_1&65535;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;break label$9;}HEAP8[$4_1+1|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>6|192;$12_1=2;break label$8;}HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=1;HEAP8[$0_1+6|0]=0;break label$1;}$9_1=$7_1+-71|0;break label$19;}$9_1=$7_1+-77|0;}label$36:{$11_1=Math_imul($13_1&255,84)+($9_1&255)|0;if($11_1>>>0>=3126){HEAP8[$0_1+4|0]=2;if(($7_1|0)>-1){break label$36;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=1;break label$1;}$8_1=$11_1>>>0<1715?0:267;$7_1=$8_1+134|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+67|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+33|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+17|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+8|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+4|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+2|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+1|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$7_1=$8_1+1|0;$7_1=HEAPU16[($7_1<<1)+1111584>>1]>$11_1>>>0?$8_1:$7_1;$8_1=$7_1<<1;$9_1=HEAPU16[$8_1+1111584>>1];label$38:{if(($9_1|0)==($11_1|0)){$8_1=HEAPU16[$8_1+1112654>>1];$9_1=$8_1>>>12;$7_1=$8_1>>>6;break label$38;}$7_1=($7_1+($9_1>>>0<$11_1>>>0)|0)+-1|0;if($7_1>>>0>534){break label$11;}$7_1=$7_1<<1;$8_1=($11_1+HEAPU16[$7_1+1112654>>1]|0)-HEAPU16[$7_1+1111584>>1]|0;$7_1=$8_1&65535;$9_1=$7_1>>>12;$7_1=$7_1>>>6;}HEAP8[$4_1|0]=$9_1|224;HEAP8[$4_1+2|0]=$8_1&63|128;HEAP8[$4_1+1|0]=$7_1&63|128;break label$9;}break label$2;}$12_1=$7_1+-71|0;break label$15;}$12_1=$7_1+-77|0;}$8_1=Math_imul($8_1,178)+($12_1&255)|0;$7_1=$8_1&65535;$9_1=$7_1>>>0<2868?0:539;$11_1=$9_1+270|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+135|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+67|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+34|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+17|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+8|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+4|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+2|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+1|0;$9_1=$7_1>>>0>1]?$9_1:$11_1;$11_1=$9_1+1|0;$11_1=$7_1>>>0>1]?$9_1:$11_1;$9_1=$11_1<<1;$12_1=HEAPU16[$9_1+1107268>>1];label$40:{if(($12_1|0)==($7_1|0)){$8_1=HEAPU16[$9_1+1109426>>1];$9_1=$8_1>>>12;$7_1=$8_1>>>6;break label$40;}$7_1=($11_1+($7_1>>>0>$12_1>>>0)|0)+-1|0;if($7_1>>>0>1078){break label$10;}$7_1=$7_1<<1;$8_1=($8_1+HEAPU16[$7_1+1109426>>1]|0)-HEAPU16[$7_1+1107268>>1]|0;$7_1=$8_1&65535;$9_1=$7_1>>>12;$7_1=$7_1>>>6;}HEAP8[$4_1|0]=$9_1|224;HEAP8[$4_1+2|0]=$8_1&63|128;HEAP8[$4_1+1|0]=$7_1&63|128;break label$9;}$7_1=HEAPU16[($13_1<<1)+1113724>>1];HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;break label$9;}$7_1=HEAPU16[($11_1<<1)+1128592>>1];HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;break label$9;}$100(1171144,$7_1,77);abort();}$100(1171144,$7_1,535);abort();}$100(1171144,$7_1,1079);abort();}$12_1=3;}HEAP32[$16_1+8>>2]=$12_1;$9_1=1;if($12_1>>>0>$5_1>>>0){break label$3;}}$11_1=$10_1&-256;$7_1=0;while(1){$8_1=$5_1-$12_1|0;$13_1=$3_1-$9_1|0;$17_1=$8_1>>>0<$13_1>>>0;$13_1=$17_1?$8_1:$13_1;$8_1=0;label$43:{label$44:{label$45:{label$46:{$15_1=$2_1+$9_1|0;$12_1=$4_1+$12_1|0;label$47:{if(($15_1^$12_1)&3){break label$47;}$14_1=0-$15_1&3;if(($14_1|8)>>>0>$13_1>>>0){break label$47;}if($14_1){while(1){$4_1=HEAP8[$8_1+$15_1|0];if(($4_1|0)<0){break label$45;}HEAP8[$8_1+$12_1|0]=$4_1;$8_1=$8_1+1|0;if(($14_1|0)!=($8_1|0)){continue;}break;}}$18_1=$13_1+-8|0;while(1){$4_1=$8_1+$15_1|0;$14_1=HEAP32[$4_1>>2];$16_1=$8_1+$12_1|0;$4_1=HEAP32[$4_1+4>>2];HEAP32[$16_1+4>>2]=$4_1;HEAP32[$16_1>>2]=$14_1;$4_1=$4_1&-2139062144;$14_1=$14_1&-2139062144;if($4_1|$14_1){break label$46;}$8_1=$8_1+8|0;if($8_1>>>0<=$18_1>>>0){continue;}break;};}if($8_1>>>0<$13_1>>>0){while(1){$4_1=HEAP8[$8_1+$15_1|0];if(($4_1|0)<0){break label$45;}HEAP8[$8_1+$12_1|0]=$4_1;$8_1=$8_1+1|0;if(($13_1|0)!=($8_1|0)){continue;}break;}}$12_1=HEAP32[$10_1+8>>2]+$13_1|0;HEAP32[$10_1+8>>2]=$12_1;$8_1=$9_1+$13_1|0;break label$44;}$12_1=$8_1;if($14_1){if($14_1){$4_1=31-Math_clz32($14_1+-1^$14_1)|0;}else{$4_1=32;}$4_1=$4_1>>>3;}else{if($4_1){$4_1=31-Math_clz32($4_1+-1^$4_1)|0;}else{$4_1=32;}$4_1=($4_1>>>3)+4|0;}$8_1=$8_1+$4_1|0;$4_1=HEAPU8[($4_1+$15_1|0)+$12_1|0];}$12_1=HEAP32[$10_1+8>>2]+$8_1|0;HEAP32[$10_1+8>>2]=$12_1;$8_1=$8_1+$9_1|0;if($12_1+2>>>0<$5_1>>>0){break label$43;}$17_1=1;}HEAP32[$0_1>>2]=$8_1;HEAP32[$0_1+4>>2]=$7_1|$17_1;break label$1;}$5_1=$8_1+1|0;label$58:{$8_1=$4_1+127|0;if(($8_1&255)>>>0<=125){while(1){if($5_1>>>0>=$3_1>>>0){if(!$6_1){HEAP8[$1_1|0]=1;HEAP8[$1_1+1|0]=$8_1;$12_1=HEAP32[$10_1+8>>2];HEAP32[$0_1>>2]=$5_1;HEAP8[$0_1+4|0]=0;break label$1;}$12_1=HEAP32[$10_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$5_1;break label$1;}$13_1=$5_1+1|0;$7_1=HEAP8[$2_1+$5_1|0];label$63:{label$64:{label$65:{label$66:{label$67:{label$68:{label$69:{label$70:{label$71:{label$72:{label$73:{$8_1=$8_1&255;if($8_1>>>0<=31){if(($7_1+127&255)>>>0<126){break label$71;}if(($7_1+-97&255)>>>0<26){break label$73;}$4_1=$7_1+-65|0;if(($4_1&255)>>>0<26){break label$70;}$12_1=HEAP32[$10_1+8>>2];HEAP8[$0_1+4|0]=2;if(($7_1|0)>-1){break label$72;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$13_1;break label$1;}$9_1=$4_1+95|0;label$75:{label$76:{label$77:{label$78:{$8_1=$7_1+95&255;if($8_1>>>0>=94){if(($7_1+127&255)>>>0<32){break label$76;}if(($7_1+-97&255)>>>0<26){break label$78;}$4_1=$7_1+-65|0;if(($4_1&255)>>>0<26){break label$75;}$12_1=HEAP32[$10_1+8>>2];HEAP8[$0_1+4|0]=2;if(($7_1|0)>-1){break label$77;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$13_1;break label$1;}$7_1=$8_1+Math_imul($9_1&255,94)|0;$9_1=$7_1+-1410|0;if($9_1>>>0<2350){break label$69;}label$80:{label$81:{label$82:{label$83:{label$84:{if($7_1>>>0>=165){$9_1=$7_1+-3854|0;if($9_1>>>0<4888){break label$84;}$4_1=($4_1&255)+-166|0;if($4_1>>>0>3){break label$80;}switch($4_1-1|0){case 0:break label$80;case 2:break label$82;case 1:break label$83;default:break label$81;};}$4_1=HEAPU16[($7_1<<1)+1128200>>1];if($4_1>>>0>=2048){HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>12|224;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1>>>6&63|128;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1&63|128;HEAP32[$10_1+8>>2]=HEAP32[$10_1+8>>2]+1;break label$63;}HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>6|192;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1&63|128;HEAP32[$10_1+8>>2]=HEAP32[$10_1+8>>2]+1;break label$63;}$4_1=HEAPU16[($9_1<<1)+1118424>>1];HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>12|224;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1>>>6&63|128;break label$64;}if($8_1>>>0>14){break label$80;}$4_1=HEAPU16[($8_1<<1)+1128530>>1];if($4_1){HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>6|192;break label$64;}$12_1=HEAP32[$10_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=$13_1;break label$1;}if($8_1>>>0>15){break label$80;}$4_1=HEAPU16[($8_1<<1)+1128560>>1];HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>6|192;break label$64;}if($8_1>>>0<68){break label$68;}}$7_1=$7_1+-188|0;if($7_1>>>0>=927){$12_1=HEAP32[$10_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=$13_1;break label$1;}$4_1=$7_1&65535;$9_1=$4_1>>>0<443?0:38;$8_1=$9_1+19|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$4_1>>>0?$9_1:$8_1;$8_1=$9_1+10|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$4_1>>>0?$9_1:$8_1;$8_1=$9_1+5|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$4_1>>>0?$9_1:$8_1;$8_1=$9_1+2|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$4_1>>>0?$9_1:$8_1;$8_1=$9_1+1|0;$9_1=HEAPU16[($8_1<<1)+1128728>>1]>$4_1>>>0?$9_1:$8_1;$8_1=$9_1+1|0;$8_1=HEAPU16[($8_1<<1)+1128728>>1]>$4_1>>>0?$9_1:$8_1;$9_1=$8_1<<1;$12_1=HEAPU16[$9_1+1128728>>1];label$89:{if(($12_1|0)==($4_1|0)){$4_1=HEAPU16[$9_1+1128884>>1];break label$89;}$4_1=($8_1+($12_1>>>0<$4_1>>>0)|0)+-1|0;if($4_1>>>0>76){break label$67;}$4_1=$4_1<<1;$4_1=($7_1+HEAPU16[$4_1+1128884>>1]|0)-HEAPU16[$4_1+1128728>>1]|0;}$7_1=$4_1&65535;if($7_1>>>0>=128){if($7_1>>>0>=2048){HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$7_1>>>12|224;$8_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$10_1>>2]|0]=$7_1>>>6&63|128;break label$64;}HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>6|192;break label$64;}$12_1=HEAP32[$10_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=514;HEAP32[$0_1>>2]=$13_1;break label$1;}$4_1=$7_1+-71|0;break label$75;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$5_1;break label$1;}$4_1=$7_1+-77|0;}label$93:{$4_1=Math_imul($9_1&255,84)+($4_1&255)|0;if($4_1>>>0>=3126){$12_1=HEAP32[$10_1+8>>2];HEAP8[$0_1+4|0]=2;if(($7_1|0)>-1){break label$93;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$13_1;break label$1;}$8_1=$4_1>>>0<1715?0:267;$7_1=$8_1+134|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+67|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+33|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+17|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+8|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+4|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+2|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+1|0;$8_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$7_1=$8_1+1|0;$7_1=HEAPU16[($7_1<<1)+1111584>>1]>$4_1>>>0?$8_1:$7_1;$8_1=$7_1<<1;$9_1=HEAPU16[$8_1+1111584>>1];label$95:{if(($9_1|0)==($4_1|0)){$4_1=HEAPU16[$8_1+1112654>>1];$9_1=$4_1>>>12;$7_1=$4_1>>>6;break label$95;}$7_1=($7_1+($9_1>>>0<$4_1>>>0)|0)+-1|0;if($7_1>>>0>534){break label$66;}$7_1=$7_1<<1;$4_1=($4_1+HEAPU16[$7_1+1112654>>1]|0)-HEAPU16[$7_1+1111584>>1]|0;$7_1=$4_1&65535;$9_1=$7_1>>>12;$7_1=$7_1>>>6;}HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$9_1|224;$8_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$10_1>>2]|0]=$7_1&63|128;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1&63|128;HEAP32[$10_1+8>>2]=HEAP32[$10_1+8>>2]+1;break label$63;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$5_1;break label$1;}$4_1=$7_1+-71|0;break label$70;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$5_1;break label$1;}$4_1=$7_1+-77|0;}$8_1=Math_imul($8_1,178)+($4_1&255)|0;$4_1=$8_1&65535;$9_1=$4_1>>>0<2868?0:539;$7_1=$9_1+270|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+135|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+67|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+34|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+17|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+8|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+4|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+2|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+1|0;$9_1=$4_1>>>0>1]?$9_1:$7_1;$7_1=$9_1+1|0;$7_1=$4_1>>>0>1]?$9_1:$7_1;$9_1=$7_1<<1;$12_1=HEAPU16[$9_1+1107268>>1];label$97:{if(($12_1|0)==($4_1|0)){$4_1=HEAPU16[$9_1+1109426>>1];$9_1=$4_1>>>12;$7_1=$4_1>>>6;break label$97;}$4_1=($7_1+($4_1>>>0>$12_1>>>0)|0)+-1|0;if($4_1>>>0>1078){break label$65;}$4_1=$4_1<<1;$4_1=($8_1+HEAPU16[$4_1+1109426>>1]|0)-HEAPU16[$4_1+1107268>>1]|0;$7_1=$4_1&65535;$9_1=$7_1>>>12;$7_1=$7_1>>>6;}HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$9_1|224;$8_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$8_1;HEAP8[$8_1+HEAP32[$10_1>>2]|0]=$7_1&63|128;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1&63|128;HEAP32[$10_1+8>>2]=HEAP32[$10_1+8>>2]+1;break label$63;}$4_1=HEAPU16[($9_1<<1)+1113724>>1];HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>12|224;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1>>>6&63|128;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1&63|128;HEAP32[$10_1+8>>2]=HEAP32[$10_1+8>>2]+1;break label$63;}$4_1=HEAPU16[($8_1<<1)+1128592>>1];HEAP8[HEAP32[$10_1>>2]+HEAP32[$10_1+8>>2]|0]=$4_1>>>12|224;$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1>>>6&63|128;break label$64;}$100(1171144,$4_1,77);abort();}$100(1171144,$7_1,535);abort();}$100(1171144,$4_1,1079);abort();}$7_1=HEAP32[$10_1+8>>2]+1|0;HEAP32[$10_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$10_1>>2]|0]=$4_1&63|128;$4_1=$10_1+8|0;HEAP32[$4_1>>2]=HEAP32[$4_1>>2]+1;}$7_1=$10_1+8|0;$12_1=HEAP32[$7_1>>2];if($13_1>>>0>=$3_1>>>0){HEAP32[$0_1>>2]=$13_1;HEAP8[$0_1+4|0]=0;break label$1;}if($12_1+2>>>0>=HEAPU32[$10_1+4>>2]){HEAP32[$0_1>>2]=$13_1;HEAP8[$0_1+4|0]=1;break label$1;}$9_1=$5_1+2|0;$4_1=HEAP8[$2_1+$13_1|0];label$101:{if(($4_1|0)<0){$5_1=$9_1;break label$101;}while(1){HEAP8[HEAP32[$10_1>>2]+$12_1|0]=$4_1;$5_1=HEAP32[$7_1>>2];$12_1=$5_1+1|0;HEAP32[$7_1>>2]=$12_1;if(($4_1&255)>>>0>=60){break label$58;}if(($3_1|0)==($9_1|0)){HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+4|0]=0;break label$1;}if($5_1+3>>>0>=HEAPU32[$10_1+4>>2]){HEAP32[$0_1>>2]=$9_1;HEAP8[$0_1+4|0]=1;break label$1;}$4_1=$2_1+$9_1|0;$5_1=$9_1+1|0;$9_1=$5_1;$4_1=HEAP8[$4_1|0];if(($4_1|0)>=0){continue;}break;};}$8_1=$4_1+127|0;if(($8_1&255)>>>0<=125){continue;}break;}}HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$5_1;HEAP8[$0_1+6|0]=0;break label$1;}if($9_1>>>0<=$3_1>>>0){$5_1=HEAP32[$10_1+4>>2];$12_1=HEAP32[$10_1+8>>2];if($5_1>>>0<$12_1>>>0){break label$3;}$4_1=HEAP32[$10_1>>2];$7_1=$11_1;continue;}break;};$102($9_1,$3_1);abort();}$102($12_1,$5_1);abort();}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;$12_1=0;HEAP32[$0_1>>2]=0;}HEAP32[$0_1+8>>2]=$12_1;global$0=$10_1+16|0;}function $5($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0;$8_1=global$0-16|0;global$0=$8_1;HEAP32[$8_1+8>>2]=0;HEAP32[$8_1+4>>2]=$5_1;HEAP32[$8_1>>2]=$4_1;label$1:{label$2:{label$3:{if(HEAPU8[$1_1|0]==1){HEAP8[$1_1|0]=0;if(!$3_1){if(!$6_1){HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=0;break label$1;}HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=0;HEAP8[$0_1+6|0]=0;break label$1;}if($5_1>>>0<=2){HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=1;break label$1;}$12_1=HEAP8[$2_1|0];$13_1=$8_1;label$8:{label$9:{label$10:{label$11:{label$12:{label$13:{label$14:{$7_1=HEAPU8[$1_1+1|0];if(($7_1|0)==1){$11_1=$12_1+97&255;if($11_1>>>0<83){break label$14;}}$9_1=$12_1+-64|0;if(($9_1&255)>>>0>62){break label$13;}break label$12;}HEAP8[$4_1|0]=227;$7_1=$11_1+12353|0;HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1+1|0]=$7_1>>>6&7|128;$9_1=3;break label$8;}if(($12_1|0)<=-4){$9_1=$12_1+-65|0;break label$12;}HEAP8[$0_1+4|0]=2;if(($12_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=1;$9_1=0;break label$1;}break label$11;}label$18:{label$19:{label$20:{label$21:{label$22:{label$23:{label$24:{if(($7_1|0)==2){$11_1=$9_1&255;if($11_1>>>0<86){break label$24;}}$11_1=Math_imul($7_1,188)+($9_1&255)|0;$7_1=$11_1+-1410|0;if($7_1>>>0<2965){break label$23;}$7_1=$11_1+-4418|0;if($7_1>>>0<3390){break label$22;}$7_1=$11_1+-10744|0;if($7_1>>>0<360){break label$21;}$7_1=$11_1+-8272|0;if($7_1>>>0<360){break label$20;}if($11_1+-8836>>>0<1880){break label$18;}$9_1=2;if($11_1>>>0>107){break label$19;}$7_1=$11_1;break label$10;}HEAP8[$4_1|0]=227;$7_1=$11_1+12449|0;HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1+1|0]=$7_1>>>6&7|128;$9_1=3;break label$8;}$7_1=HEAPU16[($7_1<<1)+1093184>>1];HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;$9_1=3;break label$8;}$7_1=HEAPU16[($7_1<<1)+1099114>>1];HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;$9_1=3;break label$8;}$7_1=HEAPU16[($7_1<<1)+1105894>>1];HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;$9_1=3;break label$8;}$7_1=HEAPU16[($7_1<<1)+1105894>>1];HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;$9_1=3;break label$8;}$9_1=5;$7_1=$11_1+-119|0;if($7_1>>>0<8){break label$10;}$9_1=8;$7_1=$11_1+-135|0;if($7_1>>>0<7){break label$10;}$9_1=11;$7_1=$11_1+-153|0;if($7_1>>>0<15){break label$10;}$9_1=14;$7_1=$11_1+-175|0;if($7_1>>>0<8){break label$10;}if(($11_1|0)==187){$9_1=17;$7_1=0;break label$10;}$9_1=20;$7_1=$11_1+-658|0;if($7_1>>>0<32){break label$10;}$9_1=23;$7_1=$11_1+-1159|0;if($7_1>>>0<23){break label$10;}$9_1=26;$7_1=$11_1+-1190|0;if($7_1>>>0<30){break label$10;}$9_1=29;$7_1=$11_1+-10736|0;if($7_1>>>0<8){break label$10;}$9_1=32;$7_1=$11_1+-8644|0;if($7_1>>>0<4){break label$10;}$9_1=2;label$27:{label$28:{$7_1=$11_1+-203|0;if($7_1>>>0<10){break label$28;}$9_1=5;$7_1=$11_1+-220|0;if($7_1>>>0<26){break label$28;}$9_1=8;$7_1=$11_1+-252|0;if($7_1>>>0<26){break label$28;}$9_1=11;$7_1=$11_1+-470|0;if($7_1>>>0<17){break label$28;}$9_1=14;$7_1=$11_1+-487|0;if($7_1>>>0<7){break label$28;}$9_1=17;$7_1=$11_1+-502|0;if($7_1>>>0<17){break label$28;}$9_1=20;$7_1=$11_1+-519|0;if($7_1>>>0<7){break label$28;}$9_1=23;$7_1=$11_1+-564|0;if($7_1>>>0<6){break label$28;}$9_1=26;$7_1=0;if(($11_1|0)==570){break label$28;}$9_1=29;$7_1=$11_1+-571|0;if($7_1>>>0<26){break label$28;}$9_1=32;$7_1=$11_1+-612|0;if($7_1>>>0<6){break label$28;}$9_1=35;$7_1=0;if(($11_1|0)==618){break label$28;}$9_1=38;$7_1=$11_1+-619|0;if($7_1>>>0<26){break label$28;}$9_1=41;$7_1=$11_1+-1128|0;if($7_1>>>0<20){break label$28;}$9_1=44;$7_1=$11_1+-1148|0;if($7_1>>>0<10){break label$28;}$9_1=47;$7_1=$11_1+-8634|0;if($7_1>>>0<10){break label$28;}$9_1=50;$7_1=$11_1+-10716|0;if($7_1>>>0<10){break label$28;}$9_1=53;$7_1=$11_1+-10726|0;if($7_1>>>0<10){break label$28;}HEAP8[$0_1+4|0]=2;if(($12_1|0)>-1){break label$27;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=1;$9_1=0;break label$1;}$7_1=HEAPU16[($9_1<<1)+1107160>>1]+$7_1|0;$11_1=$7_1&65535;if($11_1>>>0>=2048){HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$11_1>>>12|224;HEAP8[$4_1+1|0]=$11_1>>>6&63|128;$9_1=3;break label$8;}break label$9;}break label$11;}$7_1=$11_1+-17028|0;HEAP8[$4_1+2|0]=$7_1&63|128;$7_1=$7_1&65535;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;$9_1=3;break label$8;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;$9_1=0;HEAP32[$0_1>>2]=0;break label$1;}$7_1=HEAPU16[($9_1<<1)+1107094>>1]+$7_1|0;if($7_1>>>0>=240){$100(1170760,$7_1,240);abort();}$7_1=HEAPU16[($7_1<<1)+1106614>>1];if($7_1>>>0>=2048){HEAP8[$4_1+2|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;$9_1=3;break label$8;}}HEAP8[$4_1+1|0]=$7_1&63|128;HEAP8[$4_1|0]=$7_1>>>6|192;$9_1=2;}HEAP32[$13_1+8>>2]=$9_1;$12_1=1;if($9_1>>>0>$5_1>>>0){break label$3;}}$11_1=$8_1&-256;while(1){$7_1=$5_1-$9_1|0;$14_1=$3_1-$12_1|0;$16_1=$7_1>>>0<$14_1>>>0;$14_1=$16_1?$7_1:$14_1;$7_1=0;label$33:{label$34:{label$35:{label$36:{$15_1=$2_1+$12_1|0;$9_1=$4_1+$9_1|0;label$37:{if(($15_1^$9_1)&3){break label$37;}$13_1=0-$15_1&3;if(($13_1|8)>>>0>$14_1>>>0){break label$37;}if($13_1){while(1){$4_1=HEAP8[$7_1+$15_1|0];if(($4_1|0)<0){break label$35;}HEAP8[$7_1+$9_1|0]=$4_1;$7_1=$7_1+1|0;if(($13_1|0)!=($7_1|0)){continue;}break;}}$18_1=$14_1+-8|0;while(1){$4_1=$7_1+$15_1|0;$13_1=HEAP32[$4_1>>2];$17_1=$7_1+$9_1|0;$4_1=HEAP32[$4_1+4>>2];HEAP32[$17_1+4>>2]=$4_1;HEAP32[$17_1>>2]=$13_1;$4_1=$4_1&-2139062144;$13_1=$13_1&-2139062144;if($4_1|$13_1){break label$36;}$7_1=$7_1+8|0;if($7_1>>>0<=$18_1>>>0){continue;}break;};}if($7_1>>>0<$14_1>>>0){while(1){$4_1=HEAP8[$7_1+$15_1|0];if(($4_1|0)<0){break label$35;}HEAP8[$7_1+$9_1|0]=$4_1;$7_1=$7_1+1|0;if(($14_1|0)!=($7_1|0)){continue;}break;}}$9_1=HEAP32[$8_1+8>>2]+$14_1|0;HEAP32[$8_1+8>>2]=$9_1;$7_1=$12_1+$14_1|0;break label$34;}$9_1=$7_1;if($13_1){if($13_1){$4_1=31-Math_clz32($13_1+-1^$13_1)|0;}else{$4_1=32;}$4_1=$4_1>>>3;}else{if($4_1){$4_1=31-Math_clz32($4_1+-1^$4_1)|0;}else{$4_1=32;}$4_1=($4_1>>>3)+4|0;}$7_1=$7_1+$4_1|0;$4_1=HEAPU8[($4_1+$15_1|0)+$9_1|0];}$9_1=HEAP32[$8_1+8>>2]+$7_1|0;HEAP32[$8_1+8>>2]=$9_1;$7_1=$7_1+$12_1|0;if($9_1+2>>>0<$5_1>>>0){break label$33;}$16_1=1;}HEAP32[$0_1>>2]=$7_1;HEAP32[$0_1+4>>2]=$10_1|$16_1;break label$1;}$12_1=$7_1+1|0;label$48:{while(1){label$50:{label$51:{label$52:{$9_1=$4_1+127|0;if(($9_1&255)>>>0>=31){if(($4_1+32&255)>>>0>28){break label$52;}$9_1=$4_1+63|0;}if($12_1>>>0<$3_1>>>0){break label$50;}if($6_1){break label$51;}HEAP8[$1_1|0]=1;HEAP8[$1_1+1|0]=$9_1;$9_1=HEAP32[$8_1+8>>2];HEAP32[$0_1>>2]=$12_1;HEAP8[$0_1+4|0]=0;break label$1;}$5_1=$4_1+95&255;if($5_1>>>0<=62){$4_1=$5_1+-159|0;$5_1=$4_1&65535;HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$5_1>>>12|224;$7_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$7_1;HEAP8[$7_1+HEAP32[$8_1>>2]|0]=$5_1>>>6&63|128;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;$10_1=$8_1+8|0;$4_1=$4_1&63|-128;$7_1=$5_1+HEAP32[$8_1>>2]|0;break label$48;}if(($4_1&255)!=128){$9_1=HEAP32[$8_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$12_1;break label$1;}HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=194;$4_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$4_1;$10_1=$8_1+8|0;$7_1=$4_1+HEAP32[$8_1>>2]|0;$4_1=128;break label$48;}$9_1=HEAP32[$8_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$12_1;break label$1;}$14_1=$2_1+$12_1|0;$7_1=HEAP8[$14_1|0];$13_1=$8_1;label$56:{label$57:{label$58:{label$59:{label$60:{$4_1=$9_1&255;if(($4_1|0)==1){$5_1=$7_1+97&255;if($5_1>>>0<83){break label$60;}}label$62:{label$63:{label$64:{label$65:{label$66:{label$67:{label$68:{$10_1=$7_1+-64|0;if(($10_1&255)>>>0>62){if(($7_1|0)>-4){break label$68;}$10_1=$7_1+-65|0;}if(($4_1|0)==2){$5_1=$10_1&255;if($5_1>>>0<86){break label$67;}}$4_1=Math_imul($4_1,188)+($10_1&255)|0;$5_1=$4_1+-1410|0;if($5_1>>>0<2965){break label$66;}$5_1=$4_1+-4418|0;if($5_1>>>0<3390){break label$65;}$5_1=$4_1+-10744|0;if($5_1>>>0<360){break label$64;}$5_1=$4_1+-8272|0;if($5_1>>>0<360){break label$63;}if($4_1+-8836>>>0<1880){break label$59;}$10_1=2;if($4_1>>>0>107){break label$62;}$5_1=$4_1;break label$58;}$9_1=HEAP32[$8_1+8>>2];HEAP8[$0_1+4|0]=2;if(($7_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$12_1+1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$12_1;break label$1;}HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=227;$4_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$4_1;$7_1=$4_1+HEAP32[$8_1>>2]|0;$4_1=$5_1+12449|0;HEAP8[$7_1|0]=$4_1>>>6&7|128;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1&63|128;HEAP32[$8_1+8>>2]=HEAP32[$8_1+8>>2]+1;break label$56;}$4_1=HEAPU16[($5_1<<1)+1093184>>1];HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1>>>6&63|128;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1&63|128;HEAP32[$8_1+8>>2]=HEAP32[$8_1+8>>2]+1;break label$56;}$4_1=HEAPU16[($5_1<<1)+1099114>>1];HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1>>>6&63|128;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1&63|128;HEAP32[$8_1+8>>2]=HEAP32[$8_1+8>>2]+1;break label$56;}$9_1=HEAPU16[($5_1<<1)+1105894>>1];HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$9_1>>>12|224;$4_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$8_1>>2]|0]=$9_1>>>6&63|128;$4_1=HEAP32[$8_1+8>>2]+1|0;break label$57;}$9_1=HEAPU16[($5_1<<1)+1105894>>1];HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$9_1>>>12|224;$4_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$8_1>>2]|0]=$9_1>>>6&63|128;$4_1=HEAP32[$8_1+8>>2]+1|0;break label$57;}$10_1=5;$5_1=$4_1+-119|0;if($5_1>>>0<8){break label$58;}$10_1=8;$5_1=$4_1+-135|0;if($5_1>>>0<7){break label$58;}$10_1=11;$5_1=$4_1+-153|0;if($5_1>>>0<15){break label$58;}$10_1=14;$5_1=$4_1+-175|0;if($5_1>>>0<8){break label$58;}if(($4_1|0)==187){$10_1=17;$5_1=0;break label$58;}$10_1=20;$5_1=$4_1+-658|0;if($5_1>>>0<32){break label$58;}$10_1=23;$5_1=$4_1+-1159|0;if($5_1>>>0<23){break label$58;}$10_1=26;$5_1=$4_1+-1190|0;if($5_1>>>0<30){break label$58;}$10_1=29;$5_1=$4_1+-10736|0;if($5_1>>>0<8){break label$58;}$10_1=32;$5_1=$4_1+-8644|0;if($5_1>>>0<4){break label$58;}$5_1=2;label$73:{label$74:{$10_1=$4_1+-203|0;if($10_1>>>0<10){break label$74;}$5_1=5;$10_1=$4_1+-220|0;if($10_1>>>0<26){break label$74;}$5_1=8;$10_1=$4_1+-252|0;if($10_1>>>0<26){break label$74;}$5_1=11;$10_1=$4_1+-470|0;if($10_1>>>0<17){break label$74;}$5_1=14;$10_1=$4_1+-487|0;if($10_1>>>0<7){break label$74;}$5_1=17;$10_1=$4_1+-502|0;if($10_1>>>0<17){break label$74;}$5_1=20;$10_1=$4_1+-519|0;if($10_1>>>0<7){break label$74;}$5_1=23;$10_1=$4_1+-564|0;if($10_1>>>0<6){break label$74;}$5_1=26;$10_1=0;if(($4_1|0)==570){break label$74;}$5_1=29;$10_1=$4_1+-571|0;if($10_1>>>0<26){break label$74;}$5_1=32;$10_1=$4_1+-612|0;if($10_1>>>0<6){break label$74;}$5_1=35;$10_1=0;if(($4_1|0)==618){break label$74;}$5_1=38;$10_1=$4_1+-619|0;if($10_1>>>0<26){break label$74;}$5_1=41;$10_1=$4_1+-1128|0;if($10_1>>>0<20){break label$74;}$5_1=44;$10_1=$4_1+-1148|0;if($10_1>>>0<10){break label$74;}$5_1=47;$10_1=$4_1+-8634|0;if($10_1>>>0<10){break label$74;}$5_1=50;$10_1=$4_1+-10716|0;if($10_1>>>0<10){break label$74;}$5_1=53;$10_1=$4_1+-10726|0;if($10_1>>>0<10){break label$74;}$9_1=HEAP32[$8_1+8>>2];HEAP8[$0_1+4|0]=2;if(($7_1|0)>-1){break label$73;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$12_1+1;break label$1;}$9_1=HEAPU16[($5_1<<1)+1107160>>1]+$10_1|0;$4_1=$9_1&65535;if($4_1>>>0>=2048){HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1>>>6&63|128;$4_1=HEAP32[$8_1+8>>2]+1|0;break label$57;}HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$9_1>>>6|192;$4_1=HEAP32[$8_1+8>>2]+1|0;break label$57;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$12_1;break label$1;}HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=227;$4_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$4_1;$7_1=$4_1+HEAP32[$8_1>>2]|0;$4_1=$5_1+12353|0;HEAP8[$7_1|0]=$4_1>>>6&7|128;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1&63|128;HEAP32[$8_1+8>>2]=HEAP32[$8_1+8>>2]+1;break label$56;}$9_1=$4_1+-17028|0;$4_1=$9_1&65535;HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$8_1>>2]|0]=$4_1>>>6&63|128;$4_1=HEAP32[$8_1+8>>2]+1|0;break label$57;}$4_1=HEAPU16[($10_1<<1)+1107094>>1]+$5_1|0;if($4_1>>>0>=240){$100(1170760,$4_1,240);abort();}$9_1=HEAPU16[($4_1<<1)+1106614>>1];if($9_1>>>0>=2048){HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$9_1>>>12|224;$4_1=HEAP32[$8_1+8>>2]+1|0;HEAP32[$8_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$8_1>>2]|0]=$9_1>>>6&63|128;$4_1=HEAP32[$8_1+8>>2]+1|0;break label$57;}HEAP8[HEAP32[$8_1>>2]+HEAP32[$8_1+8>>2]|0]=$9_1>>>6|192;$4_1=HEAP32[$8_1+8>>2]+1|0;}HEAP32[$13_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$8_1>>2]|0]=$9_1&63|128;$4_1=$8_1+8|0;HEAP32[$4_1>>2]=HEAP32[$4_1>>2]+1;}$10_1=$8_1+8|0;$9_1=HEAP32[$10_1>>2];if($12_1+1>>>0>=$3_1>>>0){HEAP8[$0_1+4|0]=0;HEAP32[$0_1>>2]=$12_1+1;break label$1;}if($9_1+2>>>0>=HEAPU32[$8_1+4>>2]){HEAP8[$0_1+4|0]=1;HEAP32[$0_1>>2]=$12_1+1;break label$1;}$12_1=$12_1+2|0;$4_1=HEAP8[$14_1+1|0];if(($4_1|0)<0){continue;}break;};$7_1=HEAP32[$8_1>>2]+$9_1|0;}HEAP8[$7_1|0]=$4_1;HEAP32[$10_1>>2]=HEAP32[$10_1>>2]+1;if($12_1>>>0>$3_1>>>0){break label$2;}$5_1=HEAP32[$8_1+4>>2];$9_1=HEAP32[$8_1+8>>2];if($5_1>>>0<$9_1>>>0){break label$3;}$4_1=HEAP32[$8_1>>2];$10_1=$11_1;continue;};}$102($9_1,$5_1);abort();}$102($12_1,$3_1);abort();}HEAP32[$0_1+8>>2]=$9_1;global$0=$8_1+16|0;}function $6($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0;$3_1=global$0-224|0;global$0=$3_1;HEAP32[$3_1+88>>2]=0;$69($3_1+128|0,$1_1,$3_1+88|0,4);label$1:{label$2:{label$3:{label$4:{label$5:{if(HEAPU8[$3_1+128|0]!=3){$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}label$7:{label$8:{label$9:{label$10:{label$11:{label$12:{label$13:{label$14:{if(HEAP32[$3_1+88>>2]==67324752){$4_1=HEAP32[$1_1+4>>2];$5_1=$4_1;$6_1=HEAP32[$1_1>>2];$7_1=$6_1+2|0;if($7_1>>>0<2){$4_1=$4_1+1|0;}if(($4_1|0)==($5_1|0)&$7_1>>>0<$6_1>>>0|$4_1>>>0<$5_1>>>0){$92($3_1+8|0,1050755,50);$90($3_1+128|0,11,HEAP32[$3_1+8>>2],HEAP32[$3_1+12>>2]);$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$4_1;HEAP16[$3_1+88>>1]=0;$69($3_1+128|0,$1_1,$3_1+88|0,2);if(HEAPU8[$3_1+128|0]!=3){$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}$8_1=HEAPU8[$3_1+88|0];$14_1=HEAPU8[$3_1+89|0];HEAP16[$3_1+88>>1]=0;$69($3_1+128|0,$1_1,$3_1+88|0,2);if(HEAPU8[$3_1+128|0]!=3){$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}$4_1=HEAP32[$1_1+4>>2];$5_1=$4_1;$6_1=HEAP32[$1_1>>2];$7_1=$6_1+4|0;if($7_1>>>0<4){$4_1=$4_1+1|0;}if(($4_1|0)==($5_1|0)&$7_1>>>0<$6_1>>>0|$4_1>>>0<$5_1>>>0){$92($3_1+16|0,1050755,50);$90($3_1+128|0,11,HEAP32[$3_1+16>>2],HEAP32[$3_1+20>>2]);$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}$6_1=HEAPU16[$3_1+88>>1];HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$4_1;HEAP32[$3_1+88>>2]=0;$69($3_1+128|0,$1_1,$3_1+88|0,4);if(HEAPU8[$3_1+128|0]!=3){break label$14;}HEAP32[$3_1+44>>2]=HEAP32[$3_1+88>>2];HEAP32[$3_1+88>>2]=0;$69($3_1+128|0,$1_1,$3_1+88|0,4);if(HEAPU8[$3_1+128|0]!=3){break label$13;}HEAP32[$3_1+48>>2]=HEAP32[$3_1+88>>2];HEAP32[$3_1+88>>2]=0;$69($3_1+128|0,$1_1,$3_1+88|0,4);if(HEAPU8[$3_1+128|0]!=3){break label$12;}HEAP32[$3_1+52>>2]=HEAP32[$3_1+88>>2];HEAP16[$3_1+88>>1]=0;$69($3_1+128|0,$1_1,$3_1+88|0,2);if(HEAPU8[$3_1+128|0]!=3){break label$11;}$5_1=HEAPU8[$3_1+88|0];$7_1=HEAPU8[$3_1+89|0];HEAP16[$3_1+88>>1]=0;$69($3_1+128|0,$1_1,$3_1+88|0,2);if(HEAPU8[$3_1+128|0]!=3){break label$10;}$4_1=HEAPU8[$3_1+89|0];$10_1=HEAPU8[$3_1+88|0];$7_1=$5_1|$7_1<<8;label$20:{if(!$7_1){$9_1=1;break label$20;}$9_1=$122($7_1);if(!$9_1){break label$8;}}$69($3_1+128|0,$1_1,$9_1,$7_1);if(HEAPU8[$3_1+128|0]==3){break label$9;}$2_1=HEAP32[$3_1+132>>2];$4_1=HEAP32[$3_1+128>>2];if($7_1){$27($9_1);}HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;HEAP32[$0_1+12>>2]=$2_1;HEAP32[$0_1+8>>2]=$4_1;break label$5;}HEAP32[$0_1>>2]=1;HEAP16[$0_1+4>>1]=2;break label$5;}$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;break label$5;}HEAP32[$3_1+64>>2]=$7_1;HEAP32[$3_1+60>>2]=$7_1;HEAP32[$3_1+56>>2]=$9_1;$5_1=HEAP32[$1_1+4>>2];$11_1=$5_1;$12_1=HEAP32[$1_1>>2];$13_1=$10_1|$4_1<<8;$10_1=$12_1+$13_1|0;$4_1=($4_1>>>24)+$5_1|0;$4_1=$10_1>>>0<$13_1>>>0?$4_1+1|0:$4_1;$5_1=$10_1;if(($4_1|0)==($11_1|0)&$5_1>>>0>=$12_1>>>0|$4_1>>>0>$11_1>>>0){break label$7;}$92($3_1+24|0,1050755,50);$90($3_1+128|0,11,HEAP32[$3_1+24>>2],HEAP32[$3_1+28>>2]);$4_1=HEAP32[$3_1+132>>2];$2_1=$0_1+8|0;HEAP32[$2_1>>2]=HEAP32[$3_1+128>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;if(!$7_1){break label$5;}$27($9_1);break label$5;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($7_1,1);abort();}HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$4_1;HEAP8[$3_1+71|0]=$8_1&1;$34($3_1+128|0,$3_1+56|0,($14_1&8)>>>3);label$23:{label$24:{label$25:{label$26:{label$27:{label$28:{label$29:{if(HEAPU8[$3_1+128|0]!=1){HEAP32[$3_1+80>>2]=HEAP32[$3_1+140>>2];$4_1=HEAP32[$3_1+136>>2];HEAP32[$3_1+72>>2]=HEAP32[$3_1+132>>2];HEAP32[$3_1+76>>2]=$4_1;if($8_1&8){$4_1=-1;$5_1=HEAP32[$1_1+16>>2];$8_1=$5_1+-12|0;if($8_1>>>0<4294967284){$4_1=0;}if(!$4_1&$8_1>>>0>$5_1>>>0|$4_1>>>0>0){$92($3_1+32|0,1050755,50);$90($3_1+128|0,11,HEAP32[$3_1+32>>2],HEAP32[$3_1+36>>2]);break label$23;}$5_1=HEAP32[$1_1>>2];$11_1=HEAP32[$1_1+4>>2];HEAP32[$1_1>>2]=$8_1;HEAP32[$1_1+4>>2]=$4_1;HEAP32[$3_1+88>>2]=0;$69($3_1+128|0,$1_1,$3_1+88|0,4);if(HEAPU8[$3_1+128|0]!=3){break label$23;}HEAP32[$3_1+44>>2]=HEAP32[$3_1+88>>2];HEAP32[$3_1+88>>2]=0;$69($3_1+128|0,$1_1,$3_1+88|0,4);if(HEAPU8[$3_1+128|0]!=3){break label$23;}HEAP32[$3_1+48>>2]=HEAP32[$3_1+88>>2];HEAP32[$3_1+88>>2]=0;$69($3_1+128|0,$1_1,$3_1+88|0,4);if(HEAPU8[$3_1+128|0]!=3){break label$23;}$4_1=HEAP32[$3_1+88>>2];HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$11_1;HEAP32[$3_1+52>>2]=$4_1;}label$33:{label$34:{label$35:{label$36:{label$37:{$4_1=HEAP32[$3_1+80>>2];if(($4_1|0)!=HEAP32[$2_1+32>>2]){break label$37;}$5_1=HEAP32[$3_1+72>>2];$8_1=HEAP32[$2_1+24>>2];if(($5_1|0)!=($8_1|0)){if($120($5_1,$8_1,$4_1)){break label$37;}}if(HEAP32[$3_1+44>>2]!=HEAP32[$2_1+4>>2]){break label$37;}if(HEAPU8[$3_1+71|0]!=0^HEAPU8[$2_1+83|0]!=0){break label$37;}$4_1=HEAP32[$3_1+48>>2];if(($4_1|0)!=HEAP32[$2_1+8>>2]){break label$37;}if(HEAP32[$3_1+52>>2]!=HEAP32[$2_1+12>>2]){break label$37;}$5_1=HEAP32[$1_1>>2];$2_1=$5_1+$4_1|0;if($2_1>>>0<$4_1>>>0){break label$28;}$8_1=HEAP32[$1_1+16>>2];if($8_1>>>0<$2_1>>>0){break label$27;}if(($4_1|0)<=-1){break label$26;}$8_1=HEAP32[$1_1+12>>2];$2_1=HEAP32[$1_1+8>>2];label$39:{if(!$4_1){$1_1=1;break label$39;}$1_1=$166($4_1,1);if(!$1_1){break label$3;}}HEAP32[$3_1+136>>2]=0;HEAP32[$3_1+132>>2]=$4_1;HEAP32[$3_1+128>>2]=$1_1;$88($3_1+128|0,0,$4_1);$1_1=HEAP32[$3_1+136>>2];HEAP32[$3_1+136>>2]=$1_1+$4_1;$77($1_1+HEAP32[$3_1+128>>2]|0,$4_1,$2_1+$5_1|0,$4_1);$1_1=HEAP32[$3_1+132>>2];$4_1=HEAP32[$3_1+128>>2];if($6_1>>>0>8){break label$36;}$5_1=HEAP32[$3_1+136>>2];switch($6_1-1|0){case 7:break label$34;case 0:case 1:case 2:case 3:case 4:case 5:case 6:break label$36;default:break label$35;};}HEAP32[$3_1+124>>2]=1;HEAP32[$3_1+108>>2]=2;HEAP32[$3_1+92>>2]=2;HEAP32[$3_1+96>>2]=0;HEAP32[$3_1+88>>2]=1048676;HEAP32[$3_1+120>>2]=$2_1+4;HEAP32[$3_1+116>>2]=1;HEAP32[$3_1+104>>2]=$3_1+112;HEAP32[$3_1+112>>2]=$3_1+44;HEAP32[$3_1+204>>2]=$3_1+88;HEAP32[$3_1+216>>2]=0;HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;HEAP32[$3_1+196>>2]=2;HEAP32[$3_1+192>>2]=$3_1+204;HEAP32[$3_1+220>>2]=$3_1+208;HEAP32[$3_1+148>>2]=1;HEAP32[$3_1+132>>2]=1;HEAP32[$3_1+136>>2]=0;HEAP32[$3_1+128>>2]=1048584;HEAP32[$3_1+144>>2]=$3_1+192;if($21($3_1+220|0,1048980,$3_1+128|0)){break label$2;}$4_1=HEAP32[$3_1+216>>2];$5_1=HEAP32[$3_1+212>>2];label$41:{if(($4_1|0)==($5_1|0)){$6_1=HEAP32[$3_1+208>>2];break label$41;}if($5_1>>>0<$4_1>>>0){break label$1;}if(!$4_1){if($5_1){$27(HEAP32[$3_1+208>>2]);}HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;$6_1=1;$5_1=0;break label$41;}$6_1=$159(HEAP32[$3_1+208>>2],$5_1,1,$4_1);if(!$6_1){break label$3;}HEAP32[$3_1+212>>2]=$4_1;HEAP32[$3_1+208>>2]=$6_1;$5_1=$4_1;}fimport$0($6_1|0,HEAP32[$3_1+216>>2]);if($5_1){$27($6_1);}HEAP32[$3_1+108>>2]=2;HEAP32[$3_1+124>>2]=3;HEAP32[$3_1+92>>2]=2;HEAP32[$3_1+96>>2]=0;HEAP32[$3_1+88>>2]=1048704;HEAP32[$3_1+120>>2]=$2_1+24;HEAP32[$3_1+116>>2]=3;HEAP32[$3_1+104>>2]=$3_1+112;HEAP32[$3_1+112>>2]=$3_1+72;HEAP32[$3_1+204>>2]=$3_1+88;HEAP32[$3_1+216>>2]=0;HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;HEAP32[$3_1+196>>2]=2;HEAP32[$3_1+192>>2]=$3_1+204;HEAP32[$3_1+220>>2]=$3_1+208;HEAP32[$3_1+148>>2]=1;HEAP32[$3_1+132>>2]=1;HEAP32[$3_1+136>>2]=0;HEAP32[$3_1+128>>2]=1048584;HEAP32[$3_1+144>>2]=$3_1+192;if($21($3_1+220|0,1048980,$3_1+128|0)){break label$2;}$4_1=HEAP32[$3_1+216>>2];$5_1=HEAP32[$3_1+212>>2];label$46:{if(($4_1|0)==($5_1|0)){$6_1=HEAP32[$3_1+208>>2];break label$46;}if($5_1>>>0<$4_1>>>0){break label$1;}if(!$4_1){if($5_1){$27(HEAP32[$3_1+208>>2]);}HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;$6_1=1;$5_1=0;break label$46;}$6_1=$159(HEAP32[$3_1+208>>2],$5_1,1,$4_1);if(!$6_1){break label$3;}HEAP32[$3_1+212>>2]=$4_1;HEAP32[$3_1+208>>2]=$6_1;$5_1=$4_1;}fimport$0($6_1|0,HEAP32[$3_1+216>>2]);if($5_1){$27($6_1);}HEAP32[$3_1+108>>2]=2;HEAP32[$3_1+124>>2]=4;HEAP32[$3_1+92>>2]=2;HEAP32[$3_1+96>>2]=0;HEAP32[$3_1+88>>2]=1048736;HEAP32[$3_1+120>>2]=$2_1+83;HEAP32[$3_1+116>>2]=4;HEAP32[$3_1+104>>2]=$3_1+112;HEAP32[$3_1+112>>2]=$3_1+71;HEAP32[$3_1+204>>2]=$3_1+88;HEAP32[$3_1+216>>2]=0;HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;HEAP32[$3_1+196>>2]=2;HEAP32[$3_1+192>>2]=$3_1+204;HEAP32[$3_1+220>>2]=$3_1+208;HEAP32[$3_1+148>>2]=1;HEAP32[$3_1+132>>2]=1;HEAP32[$3_1+136>>2]=0;HEAP32[$3_1+128>>2]=1048584;HEAP32[$3_1+144>>2]=$3_1+192;if($21($3_1+220|0,1048980,$3_1+128|0)){break label$2;}$4_1=HEAP32[$3_1+216>>2];$5_1=HEAP32[$3_1+212>>2];label$51:{if(($4_1|0)==($5_1|0)){$6_1=HEAP32[$3_1+208>>2];break label$51;}if($5_1>>>0<$4_1>>>0){break label$1;}if(!$4_1){if($5_1){$27(HEAP32[$3_1+208>>2]);}HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;$6_1=1;$5_1=0;break label$51;}$6_1=$159(HEAP32[$3_1+208>>2],$5_1,1,$4_1);if(!$6_1){break label$3;}HEAP32[$3_1+212>>2]=$4_1;HEAP32[$3_1+208>>2]=$6_1;$5_1=$4_1;}fimport$0($6_1|0,HEAP32[$3_1+216>>2]);if($5_1){$27($6_1);}HEAP32[$3_1+108>>2]=2;HEAP32[$3_1+124>>2]=1;HEAP32[$3_1+92>>2]=2;HEAP32[$3_1+96>>2]=0;HEAP32[$3_1+88>>2]=1048772;HEAP32[$3_1+120>>2]=$2_1+8;HEAP32[$3_1+116>>2]=1;HEAP32[$3_1+104>>2]=$3_1+112;HEAP32[$3_1+112>>2]=$3_1+48;HEAP32[$3_1+204>>2]=$3_1+88;HEAP32[$3_1+216>>2]=0;HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;HEAP32[$3_1+196>>2]=2;HEAP32[$3_1+192>>2]=$3_1+204;HEAP32[$3_1+220>>2]=$3_1+208;HEAP32[$3_1+148>>2]=1;HEAP32[$3_1+132>>2]=1;HEAP32[$3_1+136>>2]=0;HEAP32[$3_1+128>>2]=1048584;HEAP32[$3_1+144>>2]=$3_1+192;if($21($3_1+220|0,1048980,$3_1+128|0)){break label$2;}$4_1=HEAP32[$3_1+216>>2];$5_1=HEAP32[$3_1+212>>2];label$56:{if(($4_1|0)==($5_1|0)){$6_1=HEAP32[$3_1+208>>2];break label$56;}if($5_1>>>0<$4_1>>>0){break label$1;}if(!$4_1){if($5_1){$27(HEAP32[$3_1+208>>2]);}HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;$6_1=1;$5_1=0;break label$56;}$6_1=$159(HEAP32[$3_1+208>>2],$5_1,1,$4_1);if(!$6_1){break label$3;}HEAP32[$3_1+212>>2]=$4_1;HEAP32[$3_1+208>>2]=$6_1;$5_1=$4_1;}fimport$0($6_1|0,HEAP32[$3_1+216>>2]);if($5_1){$27($6_1);}HEAP32[$3_1+108>>2]=2;HEAP32[$3_1+124>>2]=1;HEAP32[$3_1+92>>2]=2;HEAP32[$3_1+96>>2]=0;HEAP32[$3_1+88>>2]=1048808;HEAP32[$3_1+120>>2]=$2_1+12;HEAP32[$3_1+116>>2]=1;HEAP32[$3_1+104>>2]=$3_1+112;HEAP32[$3_1+112>>2]=$3_1+52;HEAP32[$3_1+204>>2]=$3_1+88;HEAP32[$3_1+216>>2]=0;HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;HEAP32[$3_1+196>>2]=2;HEAP32[$3_1+192>>2]=$3_1+204;HEAP32[$3_1+220>>2]=$3_1+208;HEAP32[$3_1+148>>2]=1;HEAP32[$3_1+132>>2]=1;HEAP32[$3_1+136>>2]=0;HEAP32[$3_1+128>>2]=1048584;HEAP32[$3_1+144>>2]=$3_1+192;if($21($3_1+220|0,1048980,$3_1+128|0)){break label$2;}$2_1=HEAP32[$3_1+212>>2];$5_1=HEAP32[$3_1+216>>2];label$61:{if(($2_1|0)==($5_1|0)){$4_1=HEAP32[$3_1+208>>2];break label$61;}if($2_1>>>0<$5_1>>>0){break label$1;}if(!$5_1){if($2_1){$27(HEAP32[$3_1+208>>2]);}HEAP32[$3_1+208>>2]=1;HEAP32[$3_1+212>>2]=0;$4_1=1;$2_1=0;break label$61;}$4_1=$159(HEAP32[$3_1+208>>2],$2_1,1,$5_1);if(!$4_1){break label$25;}HEAP32[$3_1+212>>2]=$5_1;HEAP32[$3_1+208>>2]=$4_1;$2_1=$5_1;}fimport$0($4_1|0,HEAP32[$3_1+216>>2]);if($2_1){$27($4_1);}HEAP32[$0_1>>2]=1;HEAP16[$0_1+4>>1]=2;if(HEAP32[$3_1+76>>2]){$27(HEAP32[$3_1+72>>2]);}if(!$7_1){break label$5;}$27($9_1);break label$5;}HEAP16[$0_1+4>>1]=3;HEAP32[$0_1>>2]=1;HEAP16[$0_1+6>>1]=$6_1;if(!$1_1){break label$33;}$27($4_1);break label$33;}HEAP32[$0_1+4>>2]=$4_1;HEAP32[$0_1>>2]=0;HEAP32[$0_1+12>>2]=$5_1;HEAP32[$0_1+8>>2]=$1_1;break label$33;}HEAP32[$3_1+144>>2]=$5_1;HEAP32[$3_1+140>>2]=$1_1;$1_1=$3_1+172|0;HEAP32[$1_1>>2]=0;HEAP32[$1_1+4>>2]=0;$1_1=$3_1+177|0;HEAP8[$1_1|0]=0;HEAP8[$1_1+1|0]=0;HEAP8[$1_1+2|0]=0;HEAP8[$1_1+3|0]=0;HEAP8[$1_1+4|0]=0;HEAP8[$1_1+5|0]=0;HEAP8[$1_1+6|0]=0;HEAP8[$1_1+7|0]=0;HEAP8[$3_1+164|0]=32;HEAP32[$3_1+152>>2]=0;HEAP32[$3_1+136>>2]=$4_1;HEAP32[$3_1+128>>2]=0;HEAP32[$3_1+132>>2]=0;$4_1=1;HEAP32[$3_1+168>>2]=1;HEAP8[$3_1+156|0]=3;$1_1=HEAP32[$3_1+52>>2];if(($1_1|0)<=-1){break label$26;}if($1_1){$4_1=$166($1_1,1);if(!$4_1){break label$24;}}HEAP32[$3_1+120>>2]=0;HEAP32[$3_1+116>>2]=$1_1;HEAP32[$3_1+112>>2]=$4_1;$51($3_1+88|0,$3_1+128|0,$3_1+112|0);$4_1=HEAP32[$3_1+96>>2];$1_1=HEAP32[$3_1+92>>2];$5_1=HEAP32[$3_1+88>>2];label$68:{if($5_1>>>0<=1){if($5_1-1){break label$68;}break label$29;}if(($1_1&255)>>>0<2){break label$68;}FUNCTION_TABLE[HEAP32[HEAP32[$4_1+4>>2]>>2]](HEAP32[$4_1>>2]);if(HEAP32[HEAP32[$4_1+4>>2]+4>>2]){$27(HEAP32[$4_1>>2]);}$27($4_1);}$1_1=HEAP32[$3_1+116>>2];HEAP32[$0_1+4>>2]=HEAP32[$3_1+112>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=0;HEAP32[$0_1+12>>2]=HEAP32[$3_1+120>>2];if(HEAP32[$3_1+140>>2]){$27(HEAP32[$3_1+136>>2]);}if(HEAPU8[$3_1+156|0]==2){$0_1=HEAP32[$3_1+160>>2];FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]>>2]](HEAP32[$0_1>>2]);if(HEAP32[HEAP32[$0_1+4>>2]+4>>2]){$27(HEAP32[$0_1>>2]);}$27(HEAP32[$3_1+160>>2]);}if(!HEAP32[$3_1+172>>2]){break label$33;}$27(HEAP32[$3_1+168>>2]);}if($8_1){$27($2_1);}if(HEAP32[$3_1+76>>2]){$27(HEAP32[$3_1+72>>2]);}if(!$7_1){break label$4;}$27($9_1);break label$4;}HEAP32[$0_1>>2]=1;HEAP16[$0_1+4>>1]=1;if(!$7_1){break label$5;}$27($9_1);break label$5;}HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;$0_1=$0_1+8|0;HEAP32[$0_1>>2]=$1_1;HEAP32[$0_1+4>>2]=$4_1;if(HEAP32[$3_1+116>>2]){$27(HEAP32[$3_1+112>>2]);}if(HEAP32[$3_1+140>>2]){$27(HEAP32[$3_1+136>>2]);}if(HEAPU8[$3_1+156|0]==2){$0_1=HEAP32[$3_1+160>>2];FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]>>2]](HEAP32[$0_1>>2]);if(HEAP32[HEAP32[$0_1+4>>2]+4>>2]){$27(HEAP32[$0_1>>2]);}$27(HEAP32[$3_1+160>>2]);}if(HEAP32[$3_1+172>>2]){$27(HEAP32[$3_1+168>>2]);}if($8_1){$27($2_1);}if(HEAP32[$3_1+76>>2]){$27(HEAP32[$3_1+72>>2]);}if(!$7_1){break label$4;}$27($9_1);break label$4;}$102($5_1,$2_1);abort();}$101($2_1,$8_1);abort();}$183();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($5_1,1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($1_1,1);abort();}$2_1=HEAP32[$3_1+128>>2];$4_1=HEAP32[$3_1+132>>2];HEAP16[$0_1+4>>1]=4;HEAP32[$0_1>>2]=1;$0_1=$0_1+8|0;HEAP32[$0_1>>2]=$2_1;HEAP32[$0_1+4>>2]=$4_1;if(HEAP32[$3_1+76>>2]){$27(HEAP32[$3_1+72>>2]);}if(!$7_1){break label$5;}$27($9_1);}if(!HEAP32[$1_1+12>>2]){break label$4;}$27(HEAP32[$1_1+8>>2]);}global$0=$3_1+224|0;return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($4_1,1);abort();}$93(1048592,55,$3_1+128|0,1048648);abort();}$117(1049064);abort();}function $7($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,wasm2js_i32$0=0,wasm2js_i32$1=0;label$1:{label$2:{label$3:{if($0_1>>>0>=245){if($0_1>>>0>=4294901709){break label$2;}$0_1=$0_1+11|0;$4_1=$0_1&-8;$8_1=HEAP32[294717];if(!$8_1){break label$3;}$5_1=0-$4_1|0;$0_1=$0_1>>>8;$7_1=0;label$7:{if(!$0_1){break label$7;}$7_1=31;if($4_1>>>0>16777215){break label$7;}$0_1=Math_clz32($0_1);$7_1=(($4_1>>>(6-$0_1&31)&1)-($0_1<<1)|0)+62|0;}$0_1=HEAP32[($7_1<<2)+1179136>>2];label$5:{label$6:{if($0_1){$6_1=$4_1<<(($7_1|0)==31?0:25-($7_1>>>1)&31);while(1){label$10:{$2_1=HEAP32[$0_1+4>>2]&-8;if($2_1>>>0<$4_1>>>0){break label$10;}$2_1=$2_1-$4_1|0;if($2_1>>>0>=$5_1>>>0){break label$10;}$3_1=$0_1;$5_1=$2_1;if($2_1){break label$10;}$5_1=0;break label$6;}$2_1=HEAP32[$0_1+20>>2];$0_1=HEAP32[(($6_1>>>29&4)+$0_1|0)+16>>2];$1_1=$2_1?($2_1|0)!=($0_1|0)?$2_1:$1_1:$1_1;$6_1=$6_1<<1;if($0_1){continue;}break;};if($1_1){$0_1=$1_1;break label$6;}if($3_1){break label$5;}}$3_1=0;$0_1=2<<($7_1&31);$0_1=$8_1&(0-$0_1|$0_1);if(!$0_1){break label$3;}$0_1=$0_1&0-$0_1;$1_1=31-Math_clz32($0_1^$0_1+-1)|0;__inlined_func$__wasm_ctz_i32:{if($0_1){break __inlined_func$__wasm_ctz_i32;}$1_1=32;}$0_1=HEAP32[($1_1<<2)+1179136>>2];if(!$0_1){break label$3;}}while(1){$1_1=HEAP32[$0_1+4>>2]&-8;$2_1=$1_1-$4_1|0;$1_1=$2_1>>>0<$5_1>>>0&$1_1>>>0>=$4_1>>>0;$3_1=$1_1?$0_1:$3_1;$5_1=$1_1?$2_1:$5_1;$1_1=HEAP32[$0_1+16>>2];if($1_1){$0_1=$1_1;}else{$0_1=HEAP32[$0_1+20>>2];}if($0_1){continue;}break;};if(!$3_1){break label$3;}}$0_1=HEAP32[294816];if($5_1>>>0>=$0_1-$4_1>>>0?$0_1>>>0>=$4_1>>>0:0){break label$3;}$66($3_1);label$15:{if($5_1>>>0>=16){HEAP32[$3_1+4>>2]=$4_1|3;$6_1=$4_1+$3_1|0;HEAP32[$6_1+4>>2]=$5_1|1;HEAP32[$5_1+$6_1>>2]=$5_1;if($5_1>>>0>=256){$61($6_1,$5_1);break label$15;}$0_1=$5_1>>>3;$2_1=($0_1<<3)+1178872|0;$1_1=HEAP32[294716];$0_1=1<<($0_1&31);$7_1=HEAP32[$2_1+8>>2];label$18:{if($1_1&$0_1){break label$18;}HEAP32[294716]=$0_1|$1_1;$7_1=$2_1;}$0_1=$7_1;HEAP32[$2_1+8>>2]=$6_1;HEAP32[$0_1+12>>2]=$6_1;HEAP32[$6_1+12>>2]=$2_1;HEAP32[$6_1+8>>2]=$0_1;break label$15;}$0_1=$4_1+$5_1|0;HEAP32[$3_1+4>>2]=$0_1|3;$0_1=$0_1+$3_1|0;HEAP32[$0_1+4>>2]=HEAP32[$0_1+4>>2]|1;}return $3_1+8|0;}label$20:{label$21:{$6_1=HEAP32[294716];$4_1=$0_1>>>0<11?16:$0_1+11&-8;$0_1=$4_1>>>3;$1_1=$0_1&31;$2_1=$6_1>>>$1_1;if(!($2_1&3)){if($4_1>>>0<=HEAPU32[294816]){break label$3;}if($2_1){break label$21;}$0_1=HEAP32[294717];if(!$0_1){break label$3;}$0_1=$0_1&0-$0_1;$1_1=31-Math_clz32($0_1^$0_1+-1)|0;__inlined_func$__wasm_ctz_i320:{if($0_1){break __inlined_func$__wasm_ctz_i320;}$1_1=32;}$1_1=HEAP32[($1_1<<2)+1179136>>2];$5_1=(HEAP32[$1_1+4>>2]&-8)-$4_1|0;$6_1=$1_1;while(1){$0_1=HEAP32[$1_1+16>>2];if(!$0_1){$0_1=HEAP32[$1_1+20>>2];if(!$0_1){break label$20;}}$1_1=(HEAP32[$0_1+4>>2]&-8)-$4_1|0;$2_1=$1_1>>>0<$5_1>>>0;$5_1=$2_1?$1_1:$5_1;$6_1=$2_1?$0_1:$6_1;$1_1=$0_1;continue;};}$2_1=$0_1+(($2_1^-1)&1)|0;$0_1=($2_1<<3)+1178864|0;$3_1=HEAP32[$0_1+16>>2];$5_1=$3_1+8|0;$1_1=HEAP32[$3_1+8>>2];$0_1=$0_1+8|0;label$25:{if(($1_1|0)!=($0_1|0)){HEAP32[$1_1+12>>2]=$0_1;HEAP32[$0_1+8>>2]=$1_1;break label$25;}(wasm2js_i32$0=1178864,wasm2js_i32$1=__wasm_rotl_i32($2_1)&$6_1),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}$0_1=$2_1<<3;HEAP32[$3_1+4>>2]=$0_1|3;$0_1=$0_1+$3_1|0;HEAP32[$0_1+4>>2]=HEAP32[$0_1+4>>2]|1;break label$2;}$0_1=2<<$1_1;$0_1=(0-$0_1|$0_1)&$2_1<<$1_1;$0_1=0-$0_1&$0_1;$3_1=31-Math_clz32($0_1^$0_1+-1)|0;__inlined_func$__wasm_ctz_i321:{if($0_1){break __inlined_func$__wasm_ctz_i321;}$3_1=32;}$0_1=($3_1<<3)+1178864|0;$8_1=HEAP32[$0_1+16>>2];$1_1=HEAP32[$8_1+8>>2];$0_1=$0_1+8|0;label$27:{if(($1_1|0)!=($0_1|0)){HEAP32[$1_1+12>>2]=$0_1;HEAP32[$0_1+8>>2]=$1_1;break label$27;}(wasm2js_i32$0=1178864,wasm2js_i32$1=__wasm_rotl_i32($3_1)&$6_1),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}HEAP32[$8_1+4>>2]=$4_1|3;$2_1=$4_1+$8_1|0;$0_1=$3_1<<3;$3_1=$0_1-$4_1|0;HEAP32[$2_1+4>>2]=$3_1|1;HEAP32[$0_1+$8_1>>2]=$3_1;$0_1=HEAP32[294816];if($0_1){$5_1=HEAP32[294818];$0_1=$0_1>>>3;$6_1=($0_1<<3)+1178872|0;$1_1=HEAP32[294716];$0_1=1<<($0_1&31);$7_1=HEAP32[$6_1+8>>2];label$30:{if($1_1&$0_1){break label$30;}HEAP32[294716]=$0_1|$1_1;$7_1=$6_1;}$0_1=$7_1;HEAP32[$6_1+8>>2]=$5_1;HEAP32[$0_1+12>>2]=$5_1;HEAP32[$5_1+12>>2]=$6_1;HEAP32[$5_1+8>>2]=$0_1;}HEAP32[294818]=$2_1;HEAP32[294816]=$3_1;return $8_1+8|0;}$66($6_1);label$32:{if($5_1>>>0>=16){HEAP32[$6_1+4>>2]=$4_1|3;$2_1=$4_1+$6_1|0;HEAP32[$2_1+4>>2]=$5_1|1;HEAP32[$2_1+$5_1>>2]=$5_1;$0_1=HEAP32[294816];if($0_1){$8_1=HEAP32[294818];$0_1=$0_1>>>3;$3_1=($0_1<<3)+1178872|0;$1_1=HEAP32[294716];$0_1=1<<($0_1&31);$7_1=HEAP32[$3_1+8>>2];label$35:{if($1_1&$0_1){break label$35;}HEAP32[294716]=$0_1|$1_1;$7_1=$3_1;}$0_1=$7_1;HEAP32[$3_1+8>>2]=$8_1;HEAP32[$0_1+12>>2]=$8_1;HEAP32[$8_1+12>>2]=$3_1;HEAP32[$8_1+8>>2]=$0_1;}HEAP32[294818]=$2_1;HEAP32[294816]=$5_1;break label$32;}$0_1=$4_1+$5_1|0;HEAP32[$6_1+4>>2]=$0_1|3;$0_1=$0_1+$6_1|0;HEAP32[$0_1+4>>2]=HEAP32[$0_1+4>>2]|1;}return $6_1+8|0;}label$37:{label$38:{label$39:{label$40:{$2_1=HEAP32[294816];if($2_1>>>0<$4_1>>>0){$0_1=HEAP32[294817];if($0_1>>>0>$4_1>>>0){break label$1;}$5_1=0;$1_1=$4_1+65583|0;$0_1=__wasm_memory_grow($1_1>>>16);if(($0_1|0)==-1){break label$2;}$9_1=$0_1<<16;if(!$9_1){break label$2;}$8_1=$1_1&-65536;$1_1=$8_1+HEAP32[294820]|0;HEAP32[294820]=$1_1;$0_1=HEAP32[294821];HEAP32[294821]=$0_1>>>0>$1_1>>>0?$0_1:$1_1;$10_1=HEAP32[294819];if(!$10_1){break label$40;}$0_1=1179288;while(1){$2_1=HEAP32[$0_1>>2];$1_1=HEAP32[$0_1+4>>2];if(($9_1|0)==($2_1+$1_1|0)){break label$39;}$0_1=HEAP32[$0_1+8>>2];if($0_1){continue;}break;};break label$38;}$3_1=HEAP32[294818];$1_1=$2_1-$4_1|0;label$43:{if($1_1>>>0<=15){HEAP32[294818]=0;HEAP32[294816]=0;HEAP32[$3_1+4>>2]=$2_1|3;$0_1=$2_1+$3_1|0;$4_1=$0_1+4|0;$5_1=HEAP32[$0_1+4>>2]|1;break label$43;}HEAP32[294816]=$1_1;$0_1=$4_1+$3_1|0;HEAP32[294818]=$0_1;HEAP32[$0_1+4>>2]=$1_1|1;HEAP32[$2_1+$3_1>>2]=$1_1;$5_1=$4_1|3;$4_1=$3_1+4|0;}HEAP32[$4_1>>2]=$5_1;return $3_1+8|0;}$0_1=HEAP32[294827];if(!($0_1>>>0<=$9_1>>>0?$0_1:0)){HEAP32[294827]=$9_1;}HEAP32[294828]=4095;HEAP32[294822]=$9_1;$0_1=0;HEAP32[294825]=0;HEAP32[294823]=$8_1;while(1){$2_1=$0_1+1178864|0;$1_1=$2_1+8|0;HEAP32[$2_1+16>>2]=$1_1;HEAP32[$2_1+20>>2]=$1_1;$0_1=$0_1+8|0;if(($0_1|0)!=256){continue;}break;};HEAP32[294819]=$9_1;$0_1=$8_1+-40|0;HEAP32[294817]=$0_1;HEAP32[$9_1+4>>2]=$0_1|1;HEAP32[($0_1+$9_1|0)+4>>2]=40;HEAP32[294826]=2097152;break label$37;}if(HEAP32[$0_1+12>>2]){break label$38;}if($9_1>>>0<=$10_1>>>0){break label$38;}if($2_1>>>0>$10_1>>>0){break label$38;}HEAP32[$0_1+4>>2]=$1_1+$8_1;$3_1=HEAP32[294819];$2_1=$3_1+15&-8;HEAP32[294819]=$2_1+-8;$1_1=$8_1+HEAP32[294817]|0;$0_1=($1_1+($3_1-$2_1|0)|0)+8|0;HEAP32[294817]=$0_1;HEAP32[$2_1+-4>>2]=$0_1|1;HEAP32[($1_1+$3_1|0)+4>>2]=40;HEAP32[294826]=2097152;break label$37;}$0_1=HEAP32[294827];HEAP32[294827]=$0_1>>>0<$9_1>>>0?$0_1:$9_1;$6_1=$8_1+$9_1|0;$0_1=1179288;label$47:{while(1){if(HEAP32[$0_1>>2]!=($6_1|0)){$0_1=HEAP32[$0_1+8>>2];if($0_1){continue;}break label$47;}break;};if(HEAP32[$0_1+12>>2]){break label$47;}HEAP32[$0_1>>2]=$9_1;HEAP32[$0_1+4>>2]=$8_1+HEAP32[$0_1+4>>2];HEAP32[$9_1+4>>2]=$4_1|3;$5_1=$4_1+$9_1|0;$4_1=($6_1-$9_1|0)-$4_1|0;label$50:{label$51:{if(HEAP32[294819]!=($6_1|0)){if(HEAP32[294818]==($6_1|0)){break label$51;}$3_1=HEAP32[$6_1+4>>2];if(($3_1&3)==1){$2_1=$3_1&-8;label$54:{if($2_1>>>0>=256){$66($6_1);break label$54;}$1_1=HEAP32[$6_1+12>>2];$0_1=HEAP32[$6_1+8>>2];if(($1_1|0)!=($0_1|0)){HEAP32[$0_1+12>>2]=$1_1;HEAP32[$1_1+8>>2]=$0_1;break label$54;}(wasm2js_i32$0=1178864,wasm2js_i32$1=HEAP32[294716]&__wasm_rotl_i32($3_1>>>3)),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}$4_1=$2_1+$4_1|0;$6_1=$2_1+$6_1|0;}HEAP32[$6_1+4>>2]=HEAP32[$6_1+4>>2]&-2;HEAP32[$5_1+4>>2]=$4_1|1;HEAP32[$4_1+$5_1>>2]=$4_1;if($4_1>>>0>=256){$61($5_1,$4_1);break label$50;}$0_1=$4_1>>>3;$2_1=($0_1<<3)+1178872|0;$1_1=HEAP32[294716];$0_1=1<<($0_1&31);$3_1=HEAP32[$2_1+8>>2];label$58:{if($1_1&$0_1){break label$58;}HEAP32[294716]=$0_1|$1_1;$3_1=$2_1;}$0_1=$3_1;HEAP32[$2_1+8>>2]=$5_1;HEAP32[$0_1+12>>2]=$5_1;HEAP32[$5_1+12>>2]=$2_1;HEAP32[$5_1+8>>2]=$0_1;break label$50;}HEAP32[294819]=$5_1;$0_1=HEAP32[294817]+$4_1|0;HEAP32[294817]=$0_1;HEAP32[$5_1+4>>2]=$0_1|1;break label$50;}HEAP32[294818]=$5_1;$0_1=HEAP32[294816]+$4_1|0;HEAP32[294816]=$0_1;HEAP32[$5_1+4>>2]=$0_1|1;HEAP32[$0_1+$5_1>>2]=$0_1;}return $9_1+8|0;}$0_1=1179288;while(1){label$61:{$1_1=HEAP32[$0_1>>2];if($1_1>>>0<=$10_1>>>0){$6_1=$1_1+HEAP32[$0_1+4>>2]|0;if($6_1>>>0>$10_1>>>0){break label$61;}}$0_1=HEAP32[$0_1+8>>2];continue;}break;};HEAP32[294819]=$9_1;$0_1=$8_1+-40|0;HEAP32[294817]=$0_1;HEAP32[$9_1+4>>2]=$0_1|1;HEAP32[($0_1+$9_1|0)+4>>2]=40;HEAP32[294826]=2097152;$0_1=($6_1+-32&-8)+-8|0;$7_1=$0_1>>>0<$10_1+16>>>0?$10_1:$0_1;HEAP32[$7_1+4>>2]=27;$3_1=HEAP32[294822];$2_1=HEAP32[294823];$1_1=HEAP32[294825];$0_1=$7_1+16|0;HEAP32[$0_1>>2]=HEAP32[294824];HEAP32[$0_1+4>>2]=$1_1;HEAP32[$7_1+8>>2]=$3_1;HEAP32[$7_1+12>>2]=$2_1;HEAP32[294825]=0;HEAP32[294823]=$8_1;HEAP32[294822]=$9_1;HEAP32[294824]=$7_1+8;$0_1=$7_1+28|0;while(1){HEAP32[$0_1>>2]=7;$0_1=$0_1+4|0;if($6_1>>>0>$0_1>>>0){continue;}break;};if(($7_1|0)==($10_1|0)){break label$37;}HEAP32[$7_1+4>>2]=HEAP32[$7_1+4>>2]&-2;$0_1=$7_1-$10_1|0;HEAP32[$10_1+4>>2]=$0_1|1;HEAP32[$7_1>>2]=$0_1;if($0_1>>>0>=256){$61($10_1,$0_1);break label$37;}$0_1=$0_1>>>3;$2_1=($0_1<<3)+1178872|0;$1_1=HEAP32[294716];$0_1=1<<($0_1&31);$3_1=HEAP32[$2_1+8>>2];label$65:{if($1_1&$0_1){break label$65;}HEAP32[294716]=$0_1|$1_1;$3_1=$2_1;}$0_1=$3_1;HEAP32[$2_1+8>>2]=$10_1;HEAP32[$0_1+12>>2]=$10_1;HEAP32[$10_1+12>>2]=$2_1;HEAP32[$10_1+8>>2]=$0_1;}$0_1=HEAP32[294817];if($0_1>>>0<=$4_1>>>0){break label$2;}break label$1;}return $5_1;}$1_1=$0_1-$4_1|0;HEAP32[294817]=$1_1;$2_1=HEAP32[294819];$0_1=$2_1+$4_1|0;HEAP32[294819]=$0_1;HEAP32[$0_1+4>>2]=$1_1|1;HEAP32[$2_1+4>>2]=$4_1|3;return $2_1+8|0;}function $8($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0,$19_1=0,$20_1=0,$21_1=0,$22_1=0,$23_1=0,$24_1=0;label$1:{label$2:{if(HEAPU8[$1_1+5|0]){if($5_1>>>0<=2){HEAP8[$0_1+4|0]=1;break label$2;}$7_1=HEAPU16[$1_1>>1];label$5:{if($7_1>>>0>=128){if($7_1>>>0>=2048){HEAP8[$4_1|0]=$7_1>>>12|224;HEAP8[$4_1+1|0]=$7_1>>>6&63|128;$7_1=$7_1&63|-128;$10_1=2;$13_1=3;break label$5;}HEAP8[$4_1|0]=$7_1>>>6|192;$7_1=$7_1&63|-128;$10_1=1;$13_1=2;break label$5;}$13_1=1;}HEAP8[$4_1+$10_1|0]=$7_1;HEAP16[$1_1>>1]=0;HEAP8[$1_1+5|0]=0;}$24_1=$1_1+2|0;while(1){label$9:{$7_1=$21_1;label$10:{label$11:{label$12:{label$13:{if(HEAPU8[$24_1|0]==1){break label$13;}if(HEAPU16[$1_1>>1]){break label$13;}if(!HEAPU8[$1_1+4|0]){if($7_1>>>0>$3_1>>>0){break label$12;}if($13_1>>>0>$5_1>>>0){break label$11;}$15_1=$3_1-$21_1>>>1;if(!$15_1){break label$13;}$8_1=0;$11_1=0;$9_1=$5_1-$13_1|0;label$15:{if($9_1>>>0<4){break label$15;}label$16:{label$17:{label$18:{label$19:{label$20:{label$21:{label$22:{label$23:{label$24:{label$25:{$7_1=$15_1+-1|0;$11_1=$7_1;$19_1=$2_1+$21_1|0;$7_1=$19_1+($7_1<<1)|0;$16_1=((HEAPU8[$7_1|0]|HEAPU8[$7_1+1|0]<<8)&64512)==55296?$11_1:$15_1;$11_1=$16_1>>>0>$9_1>>>0?$9_1:$16_1;label$26:{if(!$11_1){$17_1=0;$12_1=0;$7_1=0;break label$26;}$22_1=$9_1+-3|0;$12_1=0;$14_1=$9_1;$18_1=$4_1+$13_1|0;$23_1=$18_1;$17_1=0;$8_1=$19_1;$15_1=$16_1;while(1){$7_1=0;label$29:{label$30:{while(1){if(($7_1|0)==($15_1|0)){break label$1;}$10_1=HEAPU8[$8_1|0]|HEAPU8[$8_1+1|0]<<8;if($10_1>>>0>127){break label$29;}if(($7_1|0)==($14_1|0)){break label$30;}HEAP8[$7_1+$23_1|0]=$10_1;$8_1=$8_1+2|0;$7_1=$7_1+1|0;if(($11_1|0)!=($7_1|0)){continue;}break;};$7_1=$11_1;break label$26;}$100(1052972,$14_1,$14_1);abort();}$8_1=$7_1+$17_1|0;if($8_1>>>0>=$22_1>>>0){break label$16;}$12_1=($7_1+$12_1|0)+1|0;while(1){label$33:{label$34:{$7_1=$10_1+10240&65535;if($7_1>>>0<=2047){if($12_1>>>0>=$16_1>>>0){break label$9;}if($7_1>>>0>=1024){break label$9;}$7_1=$19_1+($12_1<<1)|0;$7_1=HEAPU8[$7_1|0]|HEAPU8[$7_1+1|0]<<8;if(($7_1&64512)==56320){break label$34;}break label$9;}label$36:{if(($10_1&65535)>>>0>=2048){if($8_1>>>0<$9_1>>>0){break label$36;}$100(1053020,$8_1,$9_1);abort();}if($8_1>>>0>=$9_1>>>0){break label$25;}HEAP8[$8_1+$18_1|0]=$10_1>>>6|192;$7_1=$8_1+1|0;if($7_1>>>0>=$9_1>>>0){break label$24;}$15_1=2;$11_1=$12_1;$7_1=$7_1+$18_1|0;break label$33;}HEAP8[$8_1+$18_1|0]=($10_1&61440)>>>12|224;$7_1=$8_1+1|0;if($7_1>>>0>=$9_1>>>0){break label$23;}HEAP8[$7_1+$18_1|0]=$10_1>>>6&63|128;$7_1=$8_1+2|0;if($7_1>>>0>=$9_1>>>0){break label$22;}$15_1=3;$11_1=$12_1;$7_1=$7_1+$18_1|0;break label$33;}if($8_1>>>0>=$9_1>>>0){break label$21;}$10_1=($7_1+(($10_1&65535)<<10)|0)+-56613888|0;HEAP8[$8_1+$18_1|0]=$10_1>>>18|240;$7_1=$8_1+1|0;if($7_1>>>0>=$9_1>>>0){break label$20;}HEAP8[$7_1+$18_1|0]=$10_1>>>12&63|128;$7_1=$8_1+2|0;if($7_1>>>0>=$9_1>>>0){break label$19;}HEAP8[$7_1+$18_1|0]=$10_1>>>6&63|128;$7_1=$8_1+3|0;if($7_1>>>0>=$9_1>>>0){break label$18;}$11_1=$12_1+1|0;$15_1=4;$7_1=$7_1+$18_1|0;}HEAP8[$7_1|0]=$10_1&63|128;$8_1=$8_1+$15_1|0;if($8_1>>>0>=$22_1>>>0){break label$15;}if(($11_1|0)==($16_1|0)){break label$15;}if($11_1>>>0>=$16_1>>>0){break label$1;}$12_1=$11_1+1|0;$7_1=$19_1+($11_1<<1)|0;$10_1=HEAPU8[$7_1|0]|HEAPU8[$7_1+1|0]<<8;if($10_1>>>0>127){continue;}break;};if($8_1>>>0>=$9_1>>>0){break label$17;}HEAP8[$8_1+$18_1|0]=$10_1;$17_1=$8_1+1|0;$23_1=$18_1+$17_1|0;$8_1=$19_1+($12_1<<1)|0;$7_1=0;$14_1=$9_1-$17_1|0;$15_1=$16_1-$12_1|0;$11_1=$15_1>>>0>$14_1>>>0?$14_1:$15_1;if($11_1){continue;}break;};}$8_1=$7_1+$17_1|0;$11_1=$7_1+$12_1|0;break label$15;}$100(1052988,$8_1,$9_1);abort();}$100(1053004,$7_1,$9_1);abort();}$100(1053036,$7_1,$9_1);abort();}$100(1053052,$7_1,$9_1);abort();}$100(1053068,$8_1,$9_1);abort();}$100(1053084,$7_1,$9_1);abort();}$100(1053100,$7_1,$9_1);abort();}$100(1053116,$7_1,$9_1);abort();}$100(1053132,$8_1,$9_1);abort();}$11_1=$7_1+$12_1|0;$8_1=$7_1+$17_1|0;}$13_1=$8_1+$13_1|0;$7_1=($11_1<<1)+$21_1|0;break label$13;}if($7_1>>>0>$3_1>>>0){break label$12;}if($13_1>>>0>$5_1>>>0){break label$11;}$11_1=$3_1-$21_1>>>1;if(!$11_1){break label$13;}$8_1=0;$12_1=0;$9_1=$5_1-$13_1|0;label$38:{if($9_1>>>0<4){break label$38;}label$39:{label$40:{label$41:{label$42:{label$43:{label$44:{label$45:{label$46:{label$47:{label$48:{$7_1=$11_1+-1|0;$8_1=$7_1;$14_1=$11_1;$11_1=$2_1+$21_1|0;$7_1=$11_1+($7_1<<1)|0;$19_1=((HEAPU8[$7_1|0]|HEAPU8[$7_1+1|0]<<8)&252)==216?$8_1:$14_1;$16_1=$19_1>>>0>$9_1>>>0?$9_1:$19_1;label$49:{if(!$16_1){$17_1=0;$7_1=0;break label$49;}$18_1=$9_1+-3|0;$14_1=$9_1;$20_1=$4_1+$13_1|0;$23_1=$20_1;$17_1=0;$8_1=$11_1;$15_1=$19_1;while(1){$7_1=0;label$52:{label$53:{while(1){if(($7_1|0)==($15_1|0)){break label$1;}$22_1=HEAPU8[$8_1|0]|HEAPU8[$8_1+1|0]<<8;$10_1=($22_1<<24|$22_1<<8&16711680)>>>16;if($10_1>>>0>127){break label$52;}if(($7_1|0)==($14_1|0)){break label$53;}HEAP8[$7_1+$23_1|0]=$10_1;$8_1=$8_1+2|0;$7_1=$7_1+1|0;if(($16_1|0)!=($7_1|0)){continue;}break;};$7_1=$16_1;break label$49;}$100(1052972,$14_1,$14_1);abort();}$8_1=$7_1+$17_1|0;if($8_1>>>0>=$18_1>>>0){break label$39;}$12_1=($7_1+$12_1|0)+1|0;while(1){$7_1=$10_1+10240&65535;label$56:{if($7_1>>>0<=2047){if($12_1>>>0>=$19_1>>>0){break label$9;}if($7_1>>>0>=1024){break label$9;}$7_1=$11_1+($12_1<<1)|0;$7_1=HEAPU8[$7_1|0]|HEAPU8[$7_1+1|0]<<8;$7_1=($7_1<<24|$7_1<<8&16711680)>>>16;if(($7_1&64512)!=56320){break label$9;}if($8_1>>>0>=$9_1>>>0){break label$44;}$10_1=($7_1+(($10_1&65535)<<10)|0)+-56613888|0;HEAP8[$8_1+$20_1|0]=$10_1>>>18|240;$7_1=$8_1+1|0;if($7_1>>>0>=$9_1>>>0){break label$43;}HEAP8[$7_1+$20_1|0]=$10_1>>>12&63|128;$7_1=$8_1+2|0;if($7_1>>>0>=$9_1>>>0){break label$42;}HEAP8[$7_1+$20_1|0]=$10_1>>>6&63|128;$7_1=$8_1+3|0;if($7_1>>>0>=$9_1>>>0){break label$41;}$12_1=$12_1+1|0;$16_1=4;$7_1=$7_1+$20_1|0;break label$56;}label$58:{if(($10_1&65535)>>>0>=2048){if($8_1>>>0<$9_1>>>0){break label$58;}$100(1053020,$8_1,$9_1);abort();}if($8_1>>>0>=$9_1>>>0){break label$48;}HEAP8[$8_1+$20_1|0]=$10_1>>>6|192;$7_1=$8_1+1|0;if($7_1>>>0>=$9_1>>>0){break label$47;}$16_1=2;$7_1=$7_1+$20_1|0;break label$56;}HEAP8[$8_1+$20_1|0]=($10_1&61440)>>>12|224;$7_1=$8_1+1|0;if($7_1>>>0>=$9_1>>>0){break label$46;}HEAP8[$7_1+$20_1|0]=$10_1>>>6&63|128;$7_1=$8_1+2|0;if($7_1>>>0>=$9_1>>>0){break label$45;}$16_1=3;$7_1=$7_1+$20_1|0;}HEAP8[$7_1|0]=$10_1&63|128;$8_1=$8_1+$16_1|0;if($8_1>>>0>=$18_1>>>0){break label$38;}if(($12_1|0)==($19_1|0)){break label$38;}if($12_1>>>0>=$19_1>>>0){break label$1;}$7_1=$12_1<<1;$12_1=$12_1+1|0;$7_1=$7_1+$11_1|0;$7_1=HEAPU8[$7_1|0]|HEAPU8[$7_1+1|0]<<8;$10_1=($7_1<<24|$7_1<<8&16711680)>>>16;if($10_1>>>0>127){continue;}break;};if($8_1>>>0>=$9_1>>>0){break label$40;}HEAP8[$8_1+$20_1|0]=$10_1;$17_1=$8_1+1|0;$23_1=$20_1+$17_1|0;$8_1=$11_1+($12_1<<1)|0;$7_1=0;$14_1=$9_1-$17_1|0;$15_1=$19_1-$12_1|0;$16_1=$15_1>>>0>$14_1>>>0?$14_1:$15_1;if($16_1){continue;}break;};}$8_1=$7_1+$17_1|0;$12_1=$7_1+$12_1|0;break label$38;}$100(1052988,$8_1,$9_1);abort();}$100(1053004,$7_1,$9_1);abort();}$100(1053036,$7_1,$9_1);abort();}$100(1053052,$7_1,$9_1);abort();}$100(1053068,$8_1,$9_1);abort();}$100(1053084,$7_1,$9_1);abort();}$100(1053100,$7_1,$9_1);abort();}$100(1053116,$7_1,$9_1);abort();}$100(1053132,$8_1,$9_1);abort();}$12_1=$7_1+$12_1|0;$8_1=$7_1+$17_1|0;}$13_1=$8_1+$13_1|0;$7_1=($12_1<<1)+$21_1|0;}if($7_1>>>0>=$3_1>>>0){label$61:{if(!$6_1){break label$61;}if(!HEAPU16[$1_1>>1]){$1_1=$1_1+2|0;if(HEAPU8[$1_1|0]!=1){break label$61;}HEAP16[$0_1+4>>1]=258;HEAP8[$0_1+6|0]=0;HEAP8[$1_1|0]=0;break label$2;}HEAP16[$1_1>>1]=0;$1_1=$1_1+2|0;if(HEAPU8[$1_1|0]==1){HEAP16[$0_1+4>>1]=770;HEAP8[$0_1+6|0]=0;HEAP8[$1_1|0]=0;break label$2;}HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=0;break label$2;}HEAP8[$0_1+4|0]=0;break label$2;}$11_1=$13_1+3|0;if($11_1>>>0>=$5_1>>>0){HEAP8[$0_1+4|0]=1;break label$2;}$21_1=$7_1+1|0;$8_1=HEAPU8[$2_1+$7_1|0];if(HEAPU8[$24_1|0]!=1){HEAP8[$1_1+3|0]=$8_1;HEAP8[$24_1|0]=1;continue;}HEAP8[$24_1|0]=0;$14_1=HEAPU8[$1_1+3|0];$7_1=HEAPU8[$1_1+4|0];$15_1=$7_1?$14_1:$8_1;$12_1=$15_1<<8;$14_1=$7_1?$8_1:$14_1;$8_1=$12_1|$14_1&255;label$66:{$7_1=$12_1&64512;if(($7_1|0)!=56320){if(($7_1|0)!=55296){break label$66;}$7_1=HEAPU16[$1_1>>1];HEAP16[$1_1>>1]=$8_1;if(!$7_1){continue;}HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=2;$7_1=$21_1;break label$2;}$7_1=HEAPU16[$1_1>>1];if($7_1){$11_1=(($8_1&65535)+($7_1<<10)|0)+-56613888|0;HEAP8[$4_1+$13_1|0]=$11_1>>>18|240;$7_1=$4_1+$13_1|0;HEAP8[$7_1+3|0]=$11_1&63|128;HEAP8[$7_1+2|0]=$11_1>>>6&63|128;HEAP8[$7_1+1|0]=$11_1>>>12&63|128;HEAP16[$1_1>>1]=0;$13_1=$13_1+4|0;continue;}HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=0;$7_1=$21_1;break label$2;}if(!HEAPU16[$1_1>>1]){$7_1=$8_1&65535;if($7_1>>>0<128){break label$10;}if($7_1>>>0>=2048){$7_1=$4_1+$13_1|0;HEAP8[$7_1+2|0]=$14_1&63|128;HEAP8[$7_1+1|0]=$8_1>>>6&63|128;HEAP8[$7_1|0]=($15_1&240)>>>4|224;$13_1=$11_1;continue;}$7_1=$4_1+$13_1|0;HEAP8[$7_1+1|0]=$14_1&63|128;HEAP8[$7_1|0]=$8_1>>>6|192;$13_1=$13_1+2|0;continue;}HEAP8[$1_1+5|0]=1;HEAP16[$1_1>>1]=$8_1;HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=2;$7_1=$21_1;break label$2;}$102($7_1,$3_1);abort();}$102($13_1,$5_1);abort();}HEAP8[$4_1+$13_1|0]=$14_1;$13_1=$13_1+1|0;continue;}break;};HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=0;$13_1=$8_1+$13_1|0;$7_1=($12_1<<1)+$21_1|0;}HEAP32[$0_1+8>>2]=$13_1;HEAP32[$0_1>>2]=$7_1;return;}$139(1052840,30,1052824);abort();}function $9($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0;label$1:{label$2:{if(HEAPU8[$1_1+4|0]){if($5_1>>>0<=2){HEAP8[$0_1+4|0]=1;break label$1;}HEAP8[$1_1+3|0]=0;HEAP8[$1_1+4|0]=0;label$5:{label$6:{label$7:{$11_1=HEAPU8[$1_1|0];if($11_1>>>0<=3){switch($11_1-2|0){case 1:break label$5;case 0:break label$6;default:break label$7;}}$139(1171272,40,1171256);abort();}HEAP8[$4_1|0]=HEAPU8[$1_1+2|0];HEAP8[$1_1+2|0]=0;$9_1=1;break label$2;}$11_1=HEAPU8[$1_1+2|0]+-192|0;HEAP8[$4_1+2|0]=$11_1&63|128;$11_1=$11_1&65535;HEAP8[$4_1|0]=$11_1>>>12|224;HEAP8[$4_1+1|0]=$11_1>>>6&63|128;HEAP8[$1_1+2|0]=0;$9_1=3;break label$2;}HEAP8[$1_1|0]=4;}$9_1=0;}if($3_1){$11_1=0;while(1){if($9_1+2>>>0>=$5_1>>>0){HEAP8[$0_1+4|0]=1;break label$1;}$10_1=HEAPU8[$2_1+$11_1|0];$8_1=$10_1<<24>>24;label$12:{label$13:{label$14:{label$15:{label$16:{label$17:{label$18:{label$19:{label$20:{label$21:{label$22:{label$23:{label$24:{label$25:{label$26:{switch(HEAPU8[$1_1|0]-1|0){case 5:$12_1=HEAPU8[$1_1+2|0];if(($8_1|0)==66){$7_1=0;if(($12_1|0)==40){break label$24;}}if(($8_1|0)==74){$7_1=1;if(($12_1|0)==40){break label$24;}}if(($8_1|0)==73){$7_1=2;if(($12_1|0)==40){break label$24;}}if(($12_1|0)!=36){break label$25;}$8_1=$10_1+-64|0;if($8_1>>>0>2){break label$25;}$7_1=3;if($8_1-1){break label$24;}break label$25;default:if(($8_1|0)==27){break label$13;}HEAP8[$1_1+3|0]=0;label$36:{if(($8_1|0)<0){break label$36;}if(($8_1|1)==15){break label$36;}HEAP8[$4_1+$9_1|0]=$8_1;$9_1=$9_1+1|0;break label$12;}HEAP16[$0_1+4>>1]=258;HEAP8[$0_1+6|0]=0;$11_1=$11_1+1|0;break label$1;case 0:if(($8_1|0)==27){break label$13;}HEAP8[$1_1+3|0]=0;if(($10_1|0)==92){break label$23;}if(($10_1|0)==126){break label$22;}label$37:{if(($8_1|0)<0){break label$37;}if(($8_1|1)==15){break label$37;}HEAP8[$4_1+$9_1|0]=$8_1;$9_1=$9_1+1|0;break label$12;}HEAP16[$0_1+4>>1]=258;HEAP8[$0_1+6|0]=0;$11_1=$11_1+1|0;break label$1;case 1:if(($8_1|0)==27){break label$13;}HEAP8[$1_1+3|0]=0;if(($8_1+-33&255)>>>0>=63){HEAP16[$0_1+4>>1]=258;HEAP8[$0_1+6|0]=0;$11_1=$11_1+1|0;break label$1;}$7_1=($8_1&255)+-192|0;$8_1=$7_1&65535;HEAP8[$4_1+$9_1|0]=$8_1>>>12|224;$10_1=$4_1+$9_1|0;HEAP8[$10_1+2|0]=$7_1&63|128;HEAP8[$10_1+1|0]=$8_1>>>6&63|128;$9_1=$9_1+3|0;break label$12;case 2:if(($8_1|0)==27){break label$13;}HEAP8[$1_1+3|0]=0;if(($8_1+-33&255)>>>0>=94){HEAP16[$0_1+4>>1]=258;HEAP8[$0_1+6|0]=0;$11_1=$11_1+1|0;break label$1;}HEAP8[$1_1|0]=4;HEAP8[$1_1+2|0]=$8_1;break label$12;case 3:if(($8_1|0)==27){break label$21;}HEAP8[$1_1|0]=3;$7_1=$8_1+-33&255;$8_1=HEAPU8[$1_1+2|0]+-33|0;if(($8_1&255)==3?$7_1>>>0<=82:0){break label$20;}if(($8_1&255)==4?$7_1>>>0<=85:0){break label$19;}if($7_1>>>0>93){break label$18;}$8_1=$7_1+Math_imul($8_1&255,94)|0;$7_1=$8_1+-1410|0;if($7_1>>>0<2965){break label$17;}$7_1=$8_1+-4418|0;if($7_1>>>0<3390){break label$16;}$7_1=$8_1+-8272|0;if($7_1>>>0<360){break label$15;}$10_1=2;if($8_1>>>0<=107){$7_1=$8_1;break label$14;}$10_1=5;$7_1=$8_1+-119|0;if($7_1>>>0<8){break label$14;}$10_1=8;$7_1=$8_1+-135|0;if($7_1>>>0<7){break label$14;}$10_1=11;$7_1=$8_1+-153|0;if($7_1>>>0<15){break label$14;}$10_1=14;$7_1=$8_1+-175|0;if($7_1>>>0<8){break label$14;}if(($8_1|0)==187){$10_1=17;$7_1=0;break label$14;}$10_1=20;$7_1=$8_1+-658|0;if($7_1>>>0<32){break label$14;}$10_1=23;$7_1=$8_1+-1159|0;if($7_1>>>0<23){break label$14;}$10_1=26;$7_1=$8_1+-1190|0;if($7_1>>>0<30){break label$14;}$10_1=29;$7_1=$8_1+-10736|0;if($7_1>>>0<8){break label$14;}$10_1=32;$7_1=$8_1+-8644|0;if($7_1>>>0<4){break label$14;}$10_1=2;label$42:{$7_1=$8_1+-203|0;if($7_1>>>0<10){break label$42;}$10_1=5;$7_1=$8_1+-220|0;if($7_1>>>0<26){break label$42;}$10_1=8;$7_1=$8_1+-252|0;if($7_1>>>0<26){break label$42;}$10_1=11;$7_1=$8_1+-470|0;if($7_1>>>0<17){break label$42;}$10_1=14;$7_1=$8_1+-487|0;if($7_1>>>0<7){break label$42;}$10_1=17;$7_1=$8_1+-502|0;if($7_1>>>0<17){break label$42;}$10_1=20;$7_1=$8_1+-519|0;if($7_1>>>0<7){break label$42;}$10_1=23;$7_1=$8_1+-564|0;if($7_1>>>0<6){break label$42;}$10_1=26;$7_1=0;if(($8_1|0)==570){break label$42;}$10_1=29;$7_1=$8_1+-571|0;if($7_1>>>0<26){break label$42;}$10_1=32;$7_1=$8_1+-612|0;if($7_1>>>0<6){break label$42;}$10_1=35;$7_1=0;if(($8_1|0)==618){break label$42;}$10_1=38;$7_1=$8_1+-619|0;if($7_1>>>0<26){break label$42;}$10_1=41;$7_1=$8_1+-1128|0;if($7_1>>>0<20){break label$42;}$10_1=44;$7_1=$8_1+-1148|0;if($7_1>>>0<10){break label$42;}$10_1=47;$7_1=$8_1+-8634|0;if($7_1>>>0<10){break label$42;}$10_1=50;$7_1=$8_1+-10716|0;if($7_1>>>0<10){break label$42;}$10_1=53;$7_1=$8_1+-10726|0;if($7_1>>>0<10){break label$42;}HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=0;$11_1=$11_1+1|0;break label$1;}$7_1=HEAPU16[($10_1<<1)+1107160>>1]+$7_1|0;$8_1=$7_1&65535;if($8_1>>>0>=2048){HEAP8[$4_1+$9_1|0]=$8_1>>>12|224;$10_1=$4_1+$9_1|0;HEAP8[$10_1+2|0]=$7_1&63|128;HEAP8[$10_1+1|0]=$8_1>>>6&63|128;$9_1=$9_1+3|0;break label$12;}HEAP8[$4_1+$9_1|0]=$7_1>>>6|192;HEAP8[($4_1+$9_1|0)+1|0]=$7_1&63|128;$9_1=$9_1+2|0;break label$12;case 4:break label$26;};}label$44:{label$45:{$7_1=$10_1+-36|0;if($7_1>>>0>4){break label$45;}switch($7_1-1|0){case 0:case 1:case 2:break label$45;default:break label$44;};}HEAP8[$1_1+3|0]=0;HEAP16[$0_1+4>>1]=258;HEAP8[$1_1|0]=HEAPU8[$1_1+1|0];HEAP8[$0_1+6|0]=0;break label$1;}HEAP8[$1_1|0]=6;HEAP8[$1_1+2|0]=$8_1;break label$12;}HEAP8[$1_1+3|0]=256;HEAP8[$1_1+4|0]=1;HEAP16[$0_1+4>>1]=258;HEAP8[$1_1|0]=HEAPU8[$1_1+1|0];HEAP8[$0_1+6|0]=1;break label$1;}HEAP8[$1_1+1|0]=$7_1;HEAP8[$1_1|0]=$7_1;HEAP8[$1_1+2|0]=0;$7_1=HEAPU8[$1_1+3|0];HEAP8[$1_1+3|0]=1;if(!$7_1){break label$12;}HEAP16[$0_1+4>>1]=770;HEAP8[$0_1+6|0]=3;$11_1=$11_1+1|0;break label$1;}HEAP8[$4_1+$9_1|0]=194;HEAP8[($4_1+$9_1|0)+1|0]=165;$9_1=$9_1+2|0;break label$12;}HEAP8[$4_1+$9_1|0]=226;$7_1=($4_1+$9_1|0)+1|0;HEAP8[$7_1|0]=48768;HEAP8[$7_1+1|0]=190;$9_1=$9_1+3|0;break label$12;}HEAP16[$0_1+4>>1]=258;HEAP8[$1_1|0]=5;HEAP8[$0_1+6|0]=1;$11_1=$11_1+1|0;break label$1;}HEAP8[$4_1+$9_1|0]=227;$8_1=$4_1+$9_1|0;$7_1=$7_1+12353|0;HEAP8[$8_1+2|0]=$7_1&63|128;HEAP8[$8_1+1|0]=$7_1>>>6&7|128;$9_1=$9_1+3|0;break label$12;}HEAP8[$4_1+$9_1|0]=227;$8_1=$4_1+$9_1|0;$7_1=$7_1+12449|0;HEAP8[$8_1+2|0]=$7_1&63|128;HEAP8[$8_1+1|0]=$7_1>>>6&7|128;$9_1=$9_1+3|0;break label$12;}HEAP16[$0_1+4>>1]=514;HEAP8[$0_1+6|0]=0;$11_1=$11_1+1|0;break label$1;}$7_1=HEAPU16[($7_1<<1)+1093184>>1];HEAP8[$4_1+$9_1|0]=$7_1>>>12|224;$8_1=$4_1+$9_1|0;HEAP8[$8_1+2|0]=$7_1&63|128;HEAP8[$8_1+1|0]=$7_1>>>6&63|128;$9_1=$9_1+3|0;break label$12;}$7_1=HEAPU16[($7_1<<1)+1099114>>1];HEAP8[$4_1+$9_1|0]=$7_1>>>12|224;$8_1=$4_1+$9_1|0;HEAP8[$8_1+2|0]=$7_1&63|128;HEAP8[$8_1+1|0]=$7_1>>>6&63|128;$9_1=$9_1+3|0;break label$12;}$7_1=HEAPU16[($7_1<<1)+1105894>>1];HEAP8[$4_1+$9_1|0]=$7_1>>>12|224;$8_1=$4_1+$9_1|0;HEAP8[$8_1+2|0]=$7_1&63|128;HEAP8[$8_1+1|0]=$7_1>>>6&63|128;$9_1=$9_1+3|0;break label$12;}$7_1=HEAPU16[($10_1<<1)+1107094>>1]+$7_1|0;if($7_1>>>0>=240){$100(1170760,$7_1,240);abort();}$7_1=HEAPU16[($7_1<<1)+1106614>>1];if($7_1>>>0>=2048){HEAP8[$4_1+$9_1|0]=$7_1>>>12|224;$8_1=$4_1+$9_1|0;HEAP8[$8_1+2|0]=$7_1&63|128;HEAP8[$8_1+1|0]=$7_1>>>6&63|128;$9_1=$9_1+3|0;break label$12;}HEAP8[$4_1+$9_1|0]=$7_1>>>6|192;HEAP8[($4_1+$9_1|0)+1|0]=$7_1&63|128;$9_1=$9_1+2|0;break label$12;}HEAP8[$1_1|0]=5;}$11_1=$11_1+1|0;if(($11_1|0)!=($3_1|0)){continue;}break;};}label$48:{if(!$6_1){break label$48;}$2_1=HEAPU8[$1_1|0]+-4|0;if($2_1>>>0>2){break label$48;}if($2_1-2){HEAP16[$0_1+4>>1]=258;HEAP8[$1_1|0]=HEAPU8[$1_1+1|0];HEAP8[$0_1+6|0]=0;$11_1=$3_1;break label$1;}HEAP8[$1_1+4|0]=1;HEAP16[$0_1+4>>1]=258;HEAP8[$1_1|0]=HEAPU8[$1_1+1|0];HEAP8[$0_1+6|0]=1;$11_1=$3_1;break label$1;}HEAP8[$0_1+4|0]=0;$11_1=$3_1;}HEAP32[$0_1+8>>2]=$9_1;HEAP32[$0_1>>2]=$11_1;}function $10($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0;$7_1=global$0-16|0;global$0=$7_1;HEAP32[$7_1+8>>2]=0;HEAP32[$7_1+4>>2]=$5_1;HEAP32[$7_1>>2]=$4_1;label$1:{label$2:{label$3:{label$4:{label$5:{if(HEAPU8[$1_1|0]==1){HEAP8[$1_1|0]=0;if(!$3_1){if(!$6_1){HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=0;break label$1;}HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=0;HEAP8[$0_1+6|0]=0;break label$1;}if($5_1>>>0<=3){HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=1;break label$1;}$12_1=$7_1;label$10:{label$11:{label$12:{label$13:{$11_1=Math_imul(HEAPU8[$1_1+1|0],157);$14_1=HEAP8[$2_1|0];$8_1=$14_1+-64|0;if(($8_1&255)>>>0>=63){if(($14_1+95&255)>>>0>93){break label$13;}$8_1=$14_1+-98|0;}$10_1=$11_1+($8_1&255)|0;$8_1=$10_1+-942|0;if($8_1>>>0>18839){break label$12;}$11_1=HEAPU16[($8_1<<1)+1055504>>1];if(!$11_1){break label$12;}if(!(HEAP32[($8_1>>>3&536870908)+1053148>>2]&1<<($8_1&31))){break label$11;}HEAP8[$4_1|0]=240;HEAP8[$4_1+3|0]=$11_1&63|128;HEAP8[$4_1+1|0]=$11_1>>>12|160;HEAP8[$4_1+2|0]=$11_1>>>6&63|128;$9_1=4;break label$10;}HEAP8[$0_1+4|0]=2;if(($14_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=1;break label$1;}break label$2;}label$17:{$11_1=$10_1+-1133|0;if($11_1>>>0>33){break label$17;}label$18:{switch($11_1-1|0){default:HEAP8[$4_1|0]=-2066969917;HEAP8[$4_1+1|0]=8703114;HEAP8[$4_1+2|0]=33996;HEAP8[$4_1+3|0]=132;$9_1=4;break label$10;case 1:HEAP8[$4_1|0]=-1932752189;HEAP8[$4_1+1|0]=9227402;HEAP8[$4_1+2|0]=36044;HEAP8[$4_1+3|0]=140;$9_1=4;break label$10;case 30:HEAP8[$4_1|0]=-2066961725;HEAP8[$4_1+1|0]=8703146;HEAP8[$4_1+2|0]=33996;HEAP8[$4_1+3|0]=132;$9_1=4;break label$10;case 0:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 31:break label$17;case 32:break label$18;};}HEAP8[$4_1|0]=-1932743997;HEAP8[$4_1+1|0]=9227434;HEAP8[$4_1+2|0]=36044;HEAP8[$4_1+3|0]=140;$9_1=4;break label$10;}HEAP8[$0_1+4|0]=2;if(($14_1|0)<=-1){break label$3;}break label$2;}if($11_1>>>0>=2048){HEAP8[$4_1+2|0]=$11_1&63|128;HEAP8[$4_1|0]=$11_1>>>12|224;HEAP8[$4_1+1|0]=$11_1>>>6&63|128;$9_1=3;break label$10;}HEAP8[$4_1+1|0]=$11_1&63|128;HEAP8[$4_1|0]=$11_1>>>6|192;$9_1=2;}HEAP32[$12_1+8>>2]=$9_1;$10_1=1;if($9_1>>>0>$5_1>>>0){break label$5;}}$14_1=$7_1&-256;$11_1=0;while(1){$8_1=$5_1-$9_1|0;$12_1=$3_1-$10_1|0;$16_1=$8_1>>>0<$12_1>>>0;$12_1=$16_1?$8_1:$12_1;$8_1=0;label$24:{label$25:{label$26:{label$27:{$15_1=$2_1+$10_1|0;$9_1=$4_1+$9_1|0;label$28:{if(($15_1^$9_1)&3){break label$28;}$13_1=0-$15_1&3;if(($13_1|8)>>>0>$12_1>>>0){break label$28;}if($13_1){while(1){$4_1=HEAP8[$8_1+$15_1|0];if(($4_1|0)<0){break label$26;}HEAP8[$8_1+$9_1|0]=$4_1;$8_1=$8_1+1|0;if(($13_1|0)!=($8_1|0)){continue;}break;}}$18_1=$12_1+-8|0;while(1){$4_1=$8_1+$15_1|0;$13_1=HEAP32[$4_1>>2];$17_1=$8_1+$9_1|0;$4_1=HEAP32[$4_1+4>>2];HEAP32[$17_1+4>>2]=$4_1;HEAP32[$17_1>>2]=$13_1;$4_1=$4_1&-2139062144;$13_1=$13_1&-2139062144;if($4_1|$13_1){break label$27;}$8_1=$8_1+8|0;if($8_1>>>0<=$18_1>>>0){continue;}break;};}if($8_1>>>0<$12_1>>>0){while(1){$4_1=HEAP8[$8_1+$15_1|0];if(($4_1|0)<0){break label$26;}HEAP8[$8_1+$9_1|0]=$4_1;$8_1=$8_1+1|0;if(($12_1|0)!=($8_1|0)){continue;}break;}}$9_1=HEAP32[$7_1+8>>2]+$12_1|0;HEAP32[$7_1+8>>2]=$9_1;$8_1=$10_1+$12_1|0;break label$25;}$9_1=$8_1;if($13_1){if($13_1){$4_1=31-Math_clz32($13_1+-1^$13_1)|0;}else{$4_1=32;}$4_1=$4_1>>>3;}else{if($4_1){$4_1=31-Math_clz32($4_1+-1^$4_1)|0;}else{$4_1=32;}$4_1=($4_1>>>3)+4|0;}$8_1=$8_1+$4_1|0;$4_1=HEAPU8[($4_1+$15_1|0)+$9_1|0];}$9_1=HEAP32[$7_1+8>>2]+$8_1|0;HEAP32[$7_1+8>>2]=$9_1;$8_1=$8_1+$10_1|0;if($9_1+3>>>0<$5_1>>>0){break label$24;}$16_1=1;}HEAP32[$0_1>>2]=$8_1;HEAP32[$0_1+4>>2]=$11_1|$16_1;break label$1;}$10_1=$8_1+1|0;while(1){label$40:{label$41:{label$42:{label$43:{$4_1=$4_1+127|0;$5_1=$4_1&255;if($5_1>>>0<=125){if($10_1>>>0>=$3_1>>>0){if(!$6_1){HEAP8[$1_1|0]=1;HEAP8[$1_1+1|0]=$4_1;$9_1=HEAP32[$7_1+8>>2];HEAP32[$0_1>>2]=$10_1;HEAP8[$0_1+4|0]=0;break label$1;}$9_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$10_1;break label$1;}label$47:{label$48:{label$49:{$8_1=Math_imul($5_1,157);$12_1=$2_1+$10_1|0;$5_1=HEAP8[$12_1|0];$4_1=$5_1+-64|0;if(($4_1&255)>>>0>=63){if(($5_1+95&255)>>>0>93){break label$49;}$4_1=$5_1+-98|0;}$8_1=$8_1+($4_1&255)|0;$11_1=$8_1+-942|0;if($11_1>>>0>18839){break label$48;}$4_1=HEAPU16[($11_1<<1)+1055504>>1];if(!$4_1){break label$48;}if(!(HEAP32[($11_1>>>3&536870908)+1053148>>2]&1<<($11_1&31))){break label$47;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=240;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>12|160;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;$8_1=$4_1&63|-128;$4_1=$7_1+8|0;break label$40;}$9_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$10_1+1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$10_1;break label$1;}label$53:{$4_1=$8_1+-1133|0;if($4_1>>>0>33){break label$53;}label$54:{switch($4_1-1|0){default:HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=195;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=138;break label$41;case 1:HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=195;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=138;break label$42;case 30:HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=195;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=170;break label$41;case 0:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 31:break label$53;case 32:break label$54;};}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=195;$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=170;break label$42;}$9_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+4|0]=2;if(($5_1|0)<=-1){break label$43;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$10_1;break label$1;}if($4_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>12|224;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1>>>6&63|128;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;$8_1=$4_1&63|-128;$4_1=$7_1+8|0;break label$40;}HEAP8[HEAP32[$7_1>>2]+HEAP32[$7_1+8>>2]|0]=$4_1>>>6|192;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;$8_1=$4_1&63|-128;$4_1=$7_1+8|0;break label$40;}$9_1=HEAP32[$7_1+8>>2];HEAP8[$0_1+6|0]=0;HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$10_1;break label$1;}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=$10_1+1;break label$1;}$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=204;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;$8_1=140;$4_1=$7_1+8|0;break label$40;}$4_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$4_1;HEAP8[$4_1+HEAP32[$7_1>>2]|0]=204;$9_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$9_1;$8_1=132;$4_1=$7_1+8|0;}HEAP8[HEAP32[$7_1>>2]+$9_1|0]=$8_1;HEAP32[$4_1>>2]=HEAP32[$4_1>>2]+1;$9_1=HEAP32[$7_1+8>>2];if($10_1+1>>>0>=$3_1>>>0){HEAP8[$0_1+4|0]=0;HEAP32[$0_1>>2]=$10_1+1;break label$1;}if($9_1+3>>>0>=HEAPU32[$7_1+4>>2]){HEAP8[$0_1+4|0]=1;HEAP32[$0_1>>2]=$10_1+1;break label$1;}$10_1=$10_1+2|0;$4_1=HEAP8[$12_1+1|0];if(($4_1|0)<0){continue;}break;};HEAP8[HEAP32[$7_1>>2]+$9_1|0]=$4_1;HEAP32[$7_1+8>>2]=HEAP32[$7_1+8>>2]+1;if($10_1>>>0>$3_1>>>0){break label$4;}$5_1=HEAP32[$7_1+4>>2];$9_1=HEAP32[$7_1+8>>2];if($5_1>>>0<$9_1>>>0){break label$5;}$4_1=HEAP32[$7_1>>2];$11_1=$14_1;continue;};}$102($9_1,$5_1);abort();}$102($10_1,$3_1);abort();}HEAP8[$0_1+5|0]=2;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=1;break label$1;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+6|0]=0;HEAP32[$0_1>>2]=0;}HEAP32[$0_1+8>>2]=$9_1;global$0=$7_1+16|0;}function $11($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0,$19_1=0,$20_1=0,$21_1=0,$22_1=0,$23_1=0,$24_1=0,$25_1=0,$26_1=0,$27_1=0,$28_1=0,$29_1=0;$3_1=global$0+-64|0;global$0=$3_1;$4_1=__wasm_i64_mul($2_1,0,84);label$1:{label$2:{label$3:{label$4:{if(!i64toi32_i32$HIGH_BITS){if(($4_1|0)>-1){label$7:{label$8:{if(!$4_1){$5_1=4;break label$8;}$5_1=$166($4_1,4);if(!$5_1){break label$7;}}HEAP32[$3_1+8>>2]=0;HEAP32[$3_1+4>>2]=$2_1;HEAP32[$3_1>>2]=$5_1;if($2_1){$11_1=$3_1+48|4;while(1){HEAP32[$3_1+32>>2]=0;$69($3_1+48|0,$1_1,$3_1+32|0,4);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$5_1=HEAPU8[$3_1+33|0];$4_1=$5_1>>>24;$6_1=HEAPU8[$3_1+32|0]|$5_1<<8;$5_1=HEAPU8[$3_1+34|0];$7_1=$5_1>>>16;$5_1=$6_1|$5_1<<16;$7_1=$4_1|$7_1;label$13:{label$14:{label$15:{label$16:{$6_1=$5_1;$5_1=HEAPU8[$3_1+35|0];$4_1=$5_1>>>8;$5_1=$6_1|$5_1<<24;if(!($4_1|$7_1)&($5_1|0)==33639248){HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$19_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$20_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$13_1=HEAPU8[$3_1+32|0];$4_1=HEAPU8[$3_1+33|0];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$21_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$22_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$23_1=HEAPU16[$3_1+32>>1];HEAP32[$3_1+32>>2]=0;$69($3_1+48|0,$1_1,$3_1+32|0,4);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$12_1=HEAP32[$3_1+32>>2];HEAP32[$3_1+32>>2]=0;$69($3_1+48|0,$1_1,$3_1+32|0,4);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$24_1=HEAP32[$3_1+32>>2];HEAP32[$3_1+32>>2]=0;$69($3_1+48|0,$1_1,$3_1+32|0,4);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$25_1=HEAP32[$3_1+32>>2];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$5_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$7_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$6_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$26_1=HEAPU16[$3_1+32>>1];HEAP16[$3_1+32>>1]=0;$69($3_1+48|0,$1_1,$3_1+32|0,2);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$27_1=HEAPU16[$3_1+32>>1];HEAP32[$3_1+32>>2]=0;$69($3_1+48|0,$1_1,$3_1+32|0,4);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$28_1=HEAP32[$3_1+32>>2];HEAP32[$3_1+32>>2]=0;$69($3_1+48|0,$1_1,$3_1+32|0,4);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+48>>2];$2_1=HEAP32[$3_1+52>>2];HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$2;}$29_1=HEAP32[$3_1+32>>2];label$34:{if(!$5_1){$8_1=1;break label$34;}$8_1=$122($5_1);if(!$8_1){break label$16;}}$69($3_1+48|0,$1_1,$8_1,$5_1);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+52>>2];$2_1=HEAP32[$3_1+48>>2];if($5_1){$27($8_1);}HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=1;HEAP32[$0_1+8>>2]=$1_1;break label$2;}HEAP32[$3_1+24>>2]=$5_1;HEAP32[$3_1+20>>2]=$5_1;HEAP32[$3_1+16>>2]=$8_1;label$38:{if(!$7_1){$9_1=1;break label$38;}$9_1=$122($7_1);if(!$9_1){break label$15;}}$69($3_1+48|0,$1_1,$9_1,$7_1);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+52>>2];$2_1=HEAP32[$3_1+48>>2];if($7_1){$27($9_1);}HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=1;HEAP32[$0_1+8>>2]=$1_1;break label$3;}label$42:{if(!$6_1){$10_1=1;break label$42;}$10_1=$122($6_1);if(!$10_1){break label$14;}}$69($3_1+48|0,$1_1,$10_1,$6_1);if(HEAPU8[$3_1+48|0]!=3){$1_1=HEAP32[$3_1+52>>2];$2_1=HEAP32[$3_1+48>>2];if($6_1){$27($10_1);}HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=1;HEAP32[$0_1+8>>2]=$1_1;break label$4;}$14_1=$4_1<<8;$15_1=($14_1&2048)>>>11;$34($3_1+48|0,$3_1+16|0,$15_1);if(HEAPU8[$3_1+48|0]!=1){break label$13;}HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=4;HEAP32[$0_1+8>>2]=0;if(!$6_1){break label$4;}$27($10_1);break label$4;}HEAP32[$0_1>>2]=1;HEAP8[$0_1+4|0]=3;break label$2;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($5_1,1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($7_1,1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($6_1,1);abort();}$16_1=HEAP32[$11_1+8>>2];HEAP32[$3_1+40>>2]=$16_1;$4_1=HEAP32[$11_1+4>>2];$17_1=HEAP32[$11_1>>2];HEAP32[$3_1+32>>2]=$17_1;HEAP32[$3_1+36>>2]=$4_1;$18_1=$3_1+56|0;HEAP32[$18_1>>2]=$16_1;HEAP32[$3_1+48>>2]=$17_1;HEAP32[$3_1+52>>2]=$4_1;$4_1=HEAP32[$3_1+8>>2];if(($4_1|0)==HEAP32[$3_1+4>>2]){$79($3_1,$4_1);$4_1=HEAP32[$3_1+8>>2];}$4_1=HEAP32[$3_1>>2]+Math_imul($4_1,84)|0;HEAP32[$4_1+20>>2]=$29_1;HEAP32[$4_1+16>>2]=$28_1;HEAP32[$4_1+12>>2]=$25_1;HEAP32[$4_1+8>>2]=$24_1;HEAP32[$4_1+4>>2]=$12_1;HEAP32[$4_1>>2]=33639248;$12_1=HEAP32[$3_1+52>>2];HEAP32[$4_1+24>>2]=HEAP32[$3_1+48>>2];HEAP32[$4_1+28>>2]=$12_1;HEAP8[$4_1+83|0]=$13_1&1;HEAP8[$4_1+82|0]=$15_1;HEAP16[$4_1+80>>1]=$27_1;HEAP16[$4_1+78>>1]=$26_1;HEAP16[$4_1+76>>1]=$6_1;HEAP16[$4_1+74>>1]=$7_1;HEAP16[$4_1+72>>1]=$5_1;HEAP16[$4_1+70>>1]=$23_1;HEAP16[$4_1+68>>1]=$22_1;HEAP16[$4_1+66>>1]=$21_1;HEAP16[$4_1+64>>1]=$13_1|$14_1;HEAP16[$4_1+62>>1]=$20_1;HEAP16[$4_1+60>>1]=$19_1;HEAP32[$4_1+48>>2]=$10_1;HEAP32[$4_1+36>>2]=$9_1;HEAP32[$4_1+32>>2]=HEAP32[$18_1>>2];HEAP32[$4_1+56>>2]=$6_1;HEAP32[$4_1+52>>2]=$6_1;HEAP32[$4_1+44>>2]=$7_1;HEAP32[$4_1+40>>2]=$7_1;$4_1=HEAP32[$3_1+8>>2]+1|0;HEAP32[$3_1+8>>2]=$4_1;if($5_1){$27($8_1);$4_1=HEAP32[$3_1+8>>2];}if($4_1>>>0<$2_1>>>0){continue;}break;};}$1_1=HEAP32[$3_1+4>>2];HEAP32[$0_1+4>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=0;HEAP32[$0_1+12>>2]=HEAP32[$3_1+8>>2];break label$1;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($4_1,4);abort();}$183();abort();}$183();abort();}if(!$7_1){break label$3;}$27($9_1);}if(!$5_1){break label$2;}$27($8_1);}$0_1=HEAP32[$3_1+8>>2];if($0_1){$1_1=HEAP32[$3_1>>2];$2_1=Math_imul($0_1,84);$4_1=0;while(1){$0_1=$1_1+$4_1|0;if(HEAP32[$0_1+28>>2]){$27(HEAP32[$0_1+24>>2]);}if(HEAP32[$0_1+40>>2]){$27(HEAP32[$0_1+36>>2]);}if(HEAP32[$0_1+52>>2]){$27(HEAP32[$0_1+48>>2]);}$4_1=$4_1+84|0;if(($2_1|0)!=($4_1|0)){continue;}break;};}if(!HEAP32[$3_1+4>>2]){break label$1;}$27(HEAP32[$3_1>>2]);}global$0=$3_1- -64|0;}function $12($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0,$18_1=0,$19_1=0,$20_1=0,$21_1=0,$22_1=0,$23_1=0,$24_1=0;$11_1=global$0-16|0;global$0=$11_1;label$1:{if($1_1>>>0>=21){$20_1=$1_1>>>1;if(($20_1|0)==($20_1&1073741823)){$2_1=$20_1<<2;if(($2_1|0)>-1){label$5:{label$6:{if(!$2_1){$18_1=2;$12_1=2;break label$6;}$18_1=$166($2_1,2);if(!$18_1){break label$5;}$12_1=$18_1;}HEAP32[$11_1+8>>2]=0;HEAP32[$11_1>>2]=4;HEAP32[$11_1+4>>2]=0;$22_1=$0_1+-4|0;$23_1=$0_1+-8|0;$24_1=$0_1+-10|0;$6_1=$1_1;while(1){$9_1=$6_1;$6_1=0;$5_1=1;label$9:{$19_1=$9_1+-1|0;if(!$19_1){break label$9;}label$10:{label$11:{label$12:{label$13:{$5_1=$9_1+-2|0;$4_1=HEAPU8[(($5_1<<2)+$0_1|0)+2|0];label$14:{if(HEAPU8[(($19_1<<2)+$0_1|0)+2|0]>=$4_1>>>0){$5_1=$9_1+-2|0;$3_1=($9_1<<2)+$24_1|0;$2_1=0;while(1){if(($2_1|0)==($5_1|0)){$5_1=$9_1;break label$9;}$2_1=$2_1+1|0;$7_1=$4_1&255;$4_1=HEAPU8[$3_1|0];$3_1=$3_1+-4|0;if($7_1>>>0>=$4_1>>>0){continue;}break;};$5_1=$2_1+1|0;$2_1=$9_1+($2_1^-1)|0;break label$14;}$8_1=2;$7_1=($9_1<<2)+$23_1|0;while(1){$6_1=$8_1;$3_1=$7_1;$2_1=$5_1;label$19:{if(!$2_1){break label$19;}$7_1=$3_1+-4|0;$8_1=$6_1+1|0;$16_1=$4_1&255;$5_1=$2_1+-1|0;$4_1=HEAPU8[(($5_1<<2)+$0_1|0)+2|0];if($16_1>>>0<$4_1>>>0){continue;}}break;};if($9_1>>>0<$2_1>>>0){break label$13;}if($9_1>>>0>$1_1>>>0){break label$11;}$5_1=$9_1-$2_1|0;if(!($5_1>>>1)){break label$14;}$8_1=$6_1>>>1;$4_1=($9_1<<2)+$22_1|0;while(1){$7_1=HEAPU16[$3_1>>1]|HEAPU16[$3_1+2>>1]<<16;$6_1=HEAPU16[$4_1>>1]|HEAPU16[$4_1+2>>1]<<16;HEAP16[$3_1>>1]=$6_1;HEAP16[$3_1+2>>1]=$6_1>>>16;HEAP16[$4_1>>1]=$7_1;HEAP16[$4_1+2>>1]=$7_1>>>16;$3_1=$3_1+4|0;$4_1=$4_1+-4|0;$8_1=$8_1+-1|0;if($8_1){continue;}break;};}if(!$2_1){$6_1=$2_1;break label$9;}if($5_1>>>0>9){$6_1=$2_1;break label$9;}if($9_1>>>0>$1_1>>>0){break label$12;}$7_1=($2_1<<2)+$0_1|0;while(1){$6_1=$2_1+-1|0;if($9_1>>>0<$6_1>>>0){break label$10;}$5_1=$9_1-$6_1|0;label$24:{if($5_1>>>0<2){break label$24;}$4_1=($2_1<<2)+$0_1|0;$13_1=($6_1<<2)+$0_1|0;$14_1=HEAPU8[$13_1+2|0];if(HEAPU8[$4_1+2|0]>=$14_1>>>0){break label$24;}$21_1=HEAPU16[$13_1>>1];$3_1=HEAPU16[$4_1>>1]|HEAPU16[$4_1+2>>1]<<16;HEAP16[$13_1>>1]=$3_1;HEAP16[$13_1+2>>1]=$3_1>>>16;label$25:{if($5_1>>>0<3){break label$25;}$8_1=$19_1;$3_1=$7_1;if(HEAPU8[$13_1+10|0]>=$14_1>>>0){break label$25;}while(1){$4_1=$3_1+4|0;$13_1=HEAPU16[$4_1>>1]|HEAPU16[$4_1+2>>1]<<16;HEAP16[$3_1>>1]=$13_1;HEAP16[$3_1+2>>1]=$13_1>>>16;$8_1=$8_1+-1|0;if(($8_1|0)==($2_1|0)){break label$25;}$13_1=$3_1+10|0;$3_1=$4_1;if(HEAPU8[$13_1|0]<$14_1>>>0){continue;}break;};}$2_1=$21_1|$14_1<<16;HEAP16[$4_1>>1]=$2_1;HEAP16[$4_1+2>>1]=$2_1>>>16;}if(!$6_1){break label$9;}$7_1=$7_1+-4|0;$2_1=$6_1;if($5_1>>>0<10){continue;}break;};break label$9;}$102($2_1,$9_1);abort();}$6_1=$2_1+-1|0;if($9_1>>>0<$6_1>>>0){break label$10;}}$101($9_1,$1_1);abort();}$102($6_1,$9_1);abort();}if(HEAP32[$11_1+4>>2]==($10_1|0)){$80($11_1,$10_1);$10_1=HEAP32[$11_1+8>>2];}$2_1=HEAP32[$11_1>>2]+($10_1<<3)|0;HEAP32[$2_1+4>>2]=$5_1;HEAP32[$2_1>>2]=$6_1;$2_1=HEAP32[$11_1+8>>2]+1|0;HEAP32[$11_1+8>>2]=$2_1;$10_1=$2_1;label$28:{if($2_1>>>0<2){break label$28;}label$29:{while(1){label$31:{label$32:{label$33:{label$34:{$8_1=HEAP32[$11_1>>2];$10_1=$8_1+($2_1+-1<<3)|0;if(HEAP32[$10_1>>2]){$3_1=$8_1+($2_1<<3)|0;$5_1=HEAP32[$3_1+-12>>2];$7_1=HEAP32[$10_1+4>>2];if($5_1>>>0>$7_1>>>0){break label$34;}}if($2_1>>>0<3){break label$32;}$7_1=HEAP32[$10_1+4>>2];$15_1=$2_1+-3|0;$4_1=HEAP32[($8_1+($15_1<<3)|0)+4>>2];break label$33;}$10_1=2;if($2_1>>>0<=2){break label$28;}$15_1=$2_1+-3|0;$4_1=HEAP32[($8_1+($15_1<<3)|0)+4>>2];if($4_1>>>0<=$7_1+$5_1>>>0){break label$33;}$10_1=3;if($2_1>>>0<=3){break label$28;}if(HEAPU32[$3_1+-28>>2]<=$4_1+$5_1>>>0){break label$33;}$10_1=$2_1;break label$28;}if($4_1>>>0<$7_1>>>0){break label$31;}}$15_1=$2_1+-2|0;}label$36:{label$37:{label$38:{label$39:{label$40:{$16_1=$15_1+1|0;if($2_1>>>0>$16_1>>>0){if($2_1>>>0<=$15_1>>>0){break label$40;}$19_1=$15_1<<3;$2_1=$19_1+$8_1|0;$21_1=HEAP32[$2_1+4>>2];$3_1=$21_1+HEAP32[$2_1>>2]|0;$9_1=$16_1<<3;$2_1=$8_1+$9_1|0;$14_1=HEAP32[$2_1>>2];if($3_1>>>0<$14_1>>>0){break label$39;}if($3_1>>>0>$1_1>>>0){break label$38;}$10_1=($14_1<<2)+$0_1|0;$17_1=HEAP32[$2_1+4>>2];$8_1=$17_1<<2;$7_1=$10_1+$8_1|0;$5_1=$3_1<<2;$2_1=$3_1-$14_1|0;$3_1=$2_1-$17_1|0;if($3_1>>>0>=$17_1>>>0){break label$37;}$2_1=$3_1<<2;$126($18_1,$7_1,$2_1);$4_1=$2_1+$12_1|0;if(!(($3_1|0)>=1?($17_1|0)>=1:0)){$3_1=$7_1;$2_1=$12_1;break label$36;}$5_1=$5_1+$22_1|0;$3_1=$7_1;while(1){$8_1=$3_1+-4|0;$7_1=$4_1+-4|0;$13_1=HEAPU8[$4_1+-2|0]>1]|HEAPU16[$2_1+2>>1]<<16;HEAP16[$5_1>>1]=$2_1;HEAP16[$5_1+2>>1]=$2_1>>>16;$4_1=$13_1?$4_1:$7_1;$3_1=$13_1?$8_1:$3_1;if($10_1>>>0>=$3_1>>>0){$2_1=$12_1;break label$36;}$5_1=$5_1+-4|0;$2_1=$12_1;if($2_1>>>0<$4_1>>>0){continue;}break;};break label$36;}$100(1051560,$16_1,$2_1);abort();}$100(1051560,$15_1,$2_1);abort();}$102($14_1,$3_1);abort();}$101($3_1,$1_1);abort();}$126($18_1,$10_1,$8_1);$4_1=$8_1+$12_1|0;if(!(($2_1|0)>($17_1|0)?($17_1|0)>=1:0)){$3_1=$10_1;$2_1=$12_1;break label$36;}$5_1=$0_1+$5_1|0;$2_1=$12_1;$3_1=$10_1;while(1){$8_1=HEAPU8[$7_1+2|0]>1]|HEAPU16[$10_1+2>>1]<<16;HEAP16[$3_1>>1]=$10_1;HEAP16[$3_1+2>>1]=$10_1>>>16;$2_1=$8_1?$2_1:$2_1+4|0;$3_1=$3_1+4|0;$7_1=$8_1?$7_1+4|0:$7_1;if($7_1>>>0>=$5_1>>>0){break label$36;}if($4_1>>>0>$2_1>>>0){continue;}break;};}$126($3_1,$2_1,$4_1-$2_1&-4);$2_1=HEAP32[$11_1+8>>2];if($2_1>>>0>$15_1>>>0){$2_1=$19_1+HEAP32[$11_1>>2]|0;HEAP32[$2_1+4>>2]=$17_1+$21_1;HEAP32[$2_1>>2]=$14_1;$3_1=HEAP32[$11_1+8>>2];if($3_1>>>0<=$16_1>>>0){break label$29;}$2_1=HEAP32[$11_1>>2]+$9_1|0;$94($2_1,$2_1+8|0,$3_1+($16_1^-1)<<3);$2_1=$3_1+-1|0;HEAP32[$11_1+8>>2]=$2_1;$10_1=$2_1;if($2_1>>>0<=1){break label$28;}continue;}break;};$100(1051576,$15_1,$2_1);abort();}$117(1051460);abort();}if($6_1){continue;}break;};if(HEAP32[$11_1+4>>2]){$27(HEAP32[$11_1>>2]);}if(!$20_1){break label$1;}$27($18_1);break label$1;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,2);abort();}$183();abort();}$183();abort();}if($1_1>>>0<2){break label$1;}$3_1=$1_1+-1|0;$7_1=($1_1<<2)+$0_1|0;while(1){label$50:{label$51:{$2_1=$3_1;$3_1=$2_1+-1|0;if($3_1>>>0<=$1_1>>>0){$12_1=$1_1-$3_1|0;if($12_1>>>0<2){break label$50;}$2_1=($2_1<<2)+$0_1|0;$9_1=($3_1<<2)+$0_1|0;$8_1=HEAPU8[$9_1+2|0];if(HEAPU8[$2_1+2|0]>=$8_1>>>0){break label$50;}$10_1=HEAPU16[$9_1>>1];$6_1=HEAPU16[$2_1>>1]|HEAPU16[$2_1+2>>1]<<16;HEAP16[$9_1>>1]=$6_1;HEAP16[$9_1+2>>1]=$6_1>>>16;if($12_1>>>0<3){break label$51;}$4_1=$5_1;$6_1=$7_1;if(HEAPU8[$9_1+10|0]>=$8_1>>>0){break label$51;}while(1){$2_1=$6_1;$12_1=$2_1+-4|0;$6_1=HEAPU16[$2_1>>1]|HEAPU16[$2_1+2>>1]<<16;HEAP16[$12_1>>1]=$6_1;HEAP16[$12_1+2>>1]=$6_1>>>16;$4_1=$4_1+-1|0;if(!$4_1){break label$51;}$6_1=$2_1+4|0;if(HEAPU8[$2_1+6|0]<$8_1>>>0){continue;}break;};break label$51;}$102($3_1,$1_1);abort();}$6_1=$10_1|$8_1<<16;HEAP16[$2_1>>1]=$6_1;HEAP16[$2_1+2>>1]=$6_1>>>16;}$5_1=$5_1+1|0;$7_1=$7_1+-4|0;if($3_1){continue;}break;};}global$0=$11_1+16|0;}function $13($0_1,$1_1,$2_1,$3_1,$4_1){var $5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0;$5_1=global$0-80|0;global$0=$5_1;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{label$8:{label$9:{label$10:{label$11:{$6_1=$2_1&65535;if($6_1>>>0<=15){$1_1=$166(2,1);if(!$1_1){break label$11;}HEAP8[$1_1+1|0]=$2_1;HEAP8[$1_1|0]=1;$2_1=1049844;break label$3;}$2_1=$6_1+-16|0;if($2_1>>>0>2){break label$10;}switch($2_1-1|0){case 0:break label$8;case 1:break label$9;default:break label$7;};}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](2,1);abort();}$138();abort();}label$13:{label$14:{label$15:{label$16:{$2_1=HEAPU8[$1_1+36|0];if(($2_1+7&255)>>>0>=33){while(1){$3_1=11;if(HEAPU8[$1_1+28|0]!=3){break label$15;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$2_1=$6_1;$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$2_1=!$2_1&$7_1>>>0>$4_1>>>0|$2_1>>>0>0;$2_1=$2_1?$4_1:$7_1;if($4_1>>>0<$2_1>>>0){break label$14;}label$19:{label$20:{if(($2_1|0)!=($4_1|0)){$2_1=HEAPU8[$2_1+HEAP32[$1_1+8>>2]|0];}else{$92($5_1+24|0,1050604,27);$90($5_1+48|0,17,HEAP32[$5_1+24>>2],HEAP32[$5_1+28>>2]);$6_1=HEAP32[$5_1+52>>2];$4_1=HEAP32[$5_1+48>>2];if(($4_1&255)!=3){break label$20;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$2_1=0;}$3_1=$7_1+1|0;if($3_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$3_1;HEAP32[$1_1+4>>2]=$6_1;break label$19;}$2_1=0;if(($4_1&255)!=3){break label$16;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($2_1+7&255)>>>0>32){continue;}break;}}$3_1=(HEAP32[$1_1+24>>2]>>>($2_1&31)&127)+11|0;break label$15;}if(HEAPU8[$1_1+28|0]==2){$2_1=HEAP32[$1_1+32>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$1_1+32>>2]);}HEAP32[$1_1+28>>2]=$4_1;HEAP32[$1_1+32>>2]=$6_1;$2_1=HEAPU8[$1_1+36|0];}HEAP8[$1_1+36|0]=$2_1+7;$6_1=HEAP32[$1_1+32>>2];$2_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;if(($2_1&255)==3){if(($2_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$6_1+4>>2]>>2]](HEAP32[$6_1>>2]);if(HEAP32[HEAP32[$6_1+4>>2]+4>>2]){$27(HEAP32[$6_1>>2]);}$27($6_1);}$1_1=$166(8,4);if(!$1_1){break label$13;}HEAP8[$1_1+4|0]=0;HEAP32[$1_1>>2]=$3_1;$2_1=1050264;break label$3;}$1_1=$0_1;HEAP32[$1_1+4>>2]=$2_1;HEAP32[$1_1+8>>2]=$6_1;break label$6;}$102($2_1,$4_1);abort();}break label$1;}label$28:{label$29:{label$30:{label$31:{$2_1=HEAPU8[$1_1+36|0];if(($2_1+3&255)>>>0>=33){while(1){$3_1=3;if(HEAPU8[$1_1+28|0]!=3){break label$30;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$2_1=$6_1;$7_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$2_1=!$2_1&$7_1>>>0>$4_1>>>0|$2_1>>>0>0;$2_1=$2_1?$4_1:$7_1;if($4_1>>>0<$2_1>>>0){break label$29;}label$34:{label$35:{if(($2_1|0)!=($4_1|0)){$2_1=HEAPU8[$2_1+HEAP32[$1_1+8>>2]|0];}else{$92($5_1+16|0,1050604,27);$90($5_1+48|0,17,HEAP32[$5_1+16>>2],HEAP32[$5_1+20>>2]);$6_1=HEAP32[$5_1+52>>2];$4_1=HEAP32[$5_1+48>>2];if(($4_1&255)!=3){break label$35;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$2_1=0;}$3_1=$7_1+1|0;if($3_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$3_1;HEAP32[$1_1+4>>2]=$6_1;break label$34;}$2_1=0;if(($4_1&255)!=3){break label$31;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($2_1+3&255)>>>0>32){continue;}break;}}$3_1=(HEAP32[$1_1+24>>2]>>>($2_1&31)&7)+3|0;break label$30;}if(HEAPU8[$1_1+28|0]==2){$2_1=HEAP32[$1_1+32>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$1_1+32>>2]);}HEAP32[$1_1+28>>2]=$4_1;HEAP32[$1_1+32>>2]=$6_1;$2_1=HEAPU8[$1_1+36|0];}HEAP8[$1_1+36|0]=$2_1+3;$2_1=HEAP32[$1_1+32>>2];$4_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;if(($4_1&255)==3){if(($4_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);}$1_1=$166(8,4);if(!$1_1){break label$28;}HEAP8[$1_1+4|0]=0;HEAP32[$1_1>>2]=$3_1;$2_1=1050264;break label$3;}HEAP32[$0_1+4>>2]=$4_1;HEAP32[$0_1+8>>2]=$2_1;break label$6;}$102($2_1,$4_1);abort();}break label$1;}label$43:{label$44:{$2_1=HEAPU8[$1_1+36|0];if(($2_1+2&255)>>>0>=33){$9_1=3;while(1){if(HEAPU8[$1_1+28|0]!=3){break label$43;}HEAP8[$1_1+36|0]=$2_1+-8;HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]>>>8;$6_1=HEAP32[$1_1+4>>2];$2_1=$6_1;$7_1=HEAP32[$1_1>>2];$8_1=HEAP32[$1_1+16>>2];$2_1=!$2_1&$7_1>>>0>$8_1>>>0|$2_1>>>0>0;$2_1=$2_1?$8_1:$7_1;if($8_1>>>0<$2_1>>>0){break label$4;}label$47:{label$48:{if(($2_1|0)!=($8_1|0)){$2_1=HEAPU8[$2_1+HEAP32[$1_1+8>>2]|0];}else{$92($5_1+8|0,1050604,27);$90($5_1+48|0,17,HEAP32[$5_1+8>>2],HEAP32[$5_1+12>>2]);$7_1=HEAP32[$5_1+52>>2];$6_1=HEAP32[$5_1+48>>2];if(($6_1&255)!=3){break label$48;}$7_1=HEAP32[$1_1>>2];$6_1=HEAP32[$1_1+4>>2];$2_1=0;}$7_1=$7_1+1|0;if($7_1>>>0<1){$6_1=$6_1+1|0;}HEAP32[$1_1>>2]=$7_1;HEAP32[$1_1+4>>2]=$6_1;break label$47;}$2_1=0;if(($6_1&255)!=3){break label$44;}}HEAP32[$1_1+24>>2]=HEAP32[$1_1+24>>2]|$2_1<<24;$2_1=HEAPU8[$1_1+36|0];if(($2_1+2&255)>>>0>32){continue;}break;};}$9_1=(HEAP32[$1_1+24>>2]>>>($2_1&31)&3)+3|0;break label$43;}if(HEAPU8[$1_1+28|0]==2){$2_1=HEAP32[$1_1+32>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$1_1+32>>2]);}HEAP32[$1_1+28>>2]=$6_1;HEAP32[$1_1+32>>2]=$7_1;$2_1=HEAPU8[$1_1+36|0];}HEAP8[$1_1+36|0]=$2_1+2;$2_1=HEAP32[$1_1+32>>2];$6_1=HEAP32[$1_1+28>>2];HEAP32[$1_1+28>>2]=3;HEAP32[$1_1+32>>2]=0;if(($6_1&255)==3){if(($6_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);}if(!$3_1){break label$5;}$1_1=$166(8,4);if(!$1_1){break label$1;}HEAP8[$1_1+4|0]=$4_1;HEAP32[$1_1>>2]=$9_1;$2_1=1050264;break label$3;}HEAP32[$0_1+4>>2]=$6_1;HEAP32[$0_1+8>>2]=$2_1;}$1_1=1;break label$2;}HEAP32[$5_1+68>>2]=1;HEAP32[$5_1+52>>2]=1;HEAP32[$5_1+56>>2]=0;HEAP32[$5_1+48>>2]=1050532;HEAP32[$5_1+76>>2]=19;HEAP32[$5_1+72>>2]=1050560;HEAP32[$5_1+64>>2]=$5_1+72;$56($5_1+32|0,$5_1+48|0);HEAP32[$5_1+56>>2]=HEAP32[$5_1+40>>2];$1_1=HEAP32[$5_1+36>>2];HEAP32[$5_1+48>>2]=HEAP32[$5_1+32>>2];HEAP32[$5_1+52>>2]=$1_1;$105($5_1,$5_1+48|0);$90($5_1+48|0,12,HEAP32[$5_1>>2],HEAP32[$5_1+4>>2]);$1_1=HEAP32[$5_1+52>>2];HEAP32[$0_1+4>>2]=HEAP32[$5_1+48>>2];HEAP32[$0_1+8>>2]=$1_1;$1_1=1;break label$2;}$102($2_1,$8_1);abort();}HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;$1_1=0;}HEAP32[$0_1>>2]=$1_1;global$0=$5_1+80|0;return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](8,4);abort();}function $14($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0;$4_1=global$0-128|0;global$0=$4_1;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{label$8:{label$9:{label$10:{label$11:{label$12:{if(($1_1|0)==1052036){break label$12;}if(($1_1|0)==1052004){break label$12;}if(($1_1|0)!=1052104){break label$11;}}$9_1=10;label$13:{switch(HEAPU8[$1_1+8|0]-1|0){default:$6_1=HEAP32[$1_1+16>>2];$7_1=$6_1&255;$5_1=$6_1&65280;$10_1=$6_1&16711680;$11_1=$6_1&-16777216;$9_1=0;break label$10;case 0:$9_1=1;break label$10;case 1:case 2:$9_1=2;break label$10;case 3:$9_1=3;break label$10;case 4:$9_1=4;break label$10;case 5:$9_1=5;break label$10;case 6:$9_1=6;break label$10;case 7:$9_1=7;break label$10;case 8:$9_1=8;break label$10;case 11:$9_1=9;break label$10;case 10:break label$10;case 9:break label$13;};}$10_1=65536;break label$10;}label$24:{label$25:{label$26:{label$27:{if(($1_1|0)!=1052068){if(($1_1|0)!=1051940){$5_1=0-$2_1&3;if(($5_1|8)>>>0>$3_1>>>0){break label$26;}if(!$5_1){break label$27;}while(1){if(($3_1|0)!=($7_1|0)){if(HEAP8[$2_1+$7_1|0]<0){break label$25;}$7_1=$7_1+1|0;if(($5_1|0)!=($7_1|0)){continue;}break label$27;}break;};$100(1171036,$3_1,$3_1);abort();}while(1){$7_1=$5_1;if(($7_1|0)==($3_1|0)){break label$24;}$6_1=HEAP8[$2_1+$7_1|0];if(($6_1|0)<0){break label$25;}$5_1=$7_1+1|0;$6_1=$6_1&255;if($6_1>>>0>27){continue;}if(!(1<<$6_1&134266880)){continue;}break;};break label$25;}$7_1=$20($2_1,$3_1);break label$25;}$8_1=$3_1+-8|0;while(1){$6_1=$2_1+$7_1|0;$5_1=HEAP32[$6_1+4>>2]&-2139062144;$6_1=HEAP32[$6_1>>2]&-2139062144;if($5_1|$6_1){if(!$6_1){if($5_1){$5_1=31-Math_clz32($5_1+-1^$5_1)|0;}else{$5_1=32;}$7_1=(($5_1>>>3)+4|0)+$7_1|0;break label$25;}if($6_1){$5_1=31-Math_clz32($6_1+-1^$6_1)|0;}else{$5_1=32;}$7_1=($5_1>>>3)+$7_1|0;break label$25;}$7_1=$7_1+8|0;if($7_1>>>0<=$8_1>>>0){continue;}break;};}if($7_1>>>0>=$3_1>>>0){break label$24;}while(1){if(HEAP8[$2_1+$7_1|0]<0){break label$25;}$7_1=$7_1+1|0;if(($7_1|0)!=($3_1|0)){continue;}break;};break label$24;}if(($3_1|0)==($7_1|0)){break label$24;}$8_1=10;$5_1=0;label$37:{label$38:{label$39:{switch(HEAPU8[$1_1+8|0]-1|0){default:$6_1=HEAP32[$1_1+16>>2];$9_1=$6_1&255;$10_1=$6_1&65280;$5_1=$6_1&16711680;$11_1=$6_1&-16777216;$8_1=0;break label$37;case 0:$8_1=1;$5_1=0;break label$38;case 1:case 2:$8_1=2;$5_1=0;break label$38;case 3:$8_1=3;$5_1=0;break label$38;case 4:$8_1=4;$5_1=0;break label$38;case 5:$8_1=5;$5_1=0;break label$38;case 6:$8_1=6;$5_1=0;break label$38;case 7:$8_1=7;$5_1=0;break label$38;case 8:$8_1=8;$5_1=0;break label$38;case 11:$8_1=9;$5_1=0;break label$38;case 10:break label$37;case 9:break label$39;};}$5_1=65536;}}HEAP16[$4_1+116>>1]=49024;$6_1=$4_1+108|0;HEAP32[$6_1>>2]=0;HEAP32[$6_1+4>>2]=0;HEAP32[$4_1+104>>2]=$5_1|$11_1|$10_1|$9_1;HEAP8[$4_1+120|0]=9;HEAP16[$4_1+102>>1]=0;HEAP8[$4_1+101|0]=0;HEAP8[$4_1+100|0]=$8_1;HEAP32[$4_1+96>>2]=$1_1;$5_1=$3_1-$7_1|0;$38($4_1+16|0,$4_1+96|0,$5_1);label$50:{if(HEAP32[$4_1+16>>2]!=1){break label$50;}$6_1=HEAP32[$4_1+20>>2];$8_1=$6_1+$7_1|0;if($8_1>>>0<$6_1>>>0){break label$50;}$1_1=1;$12_1=1;if($8_1>>>0<2){break label$50;}$1_1=(-1>>>Math_clz32($8_1+-1|0))+1|0;}$36($4_1+8|0,$4_1+96|0,$5_1);if(HEAP32[$4_1+8>>2]!=1){$6_1=0;}else{$6_1=HEAP32[$4_1+12>>2];$5_1=$6_1+$7_1|0;$6_1=$5_1>>>0>=$6_1>>>0;}label$52:{label$53:{if($12_1){if($6_1){break label$53;}$5_1=$1_1;break label$52;}if($6_1){break label$52;}$117(1051904);abort();}$5_1=$1_1>>>0>$5_1>>>0?$5_1:$1_1;}if(($5_1|0)<=-1){break label$6;}label$55:{label$56:{if(!$5_1){$10_1=1;break label$56;}$10_1=$166($5_1,1);if(!$10_1){break label$55;}}$126($10_1,$2_1,$7_1);$1_1=$4_1+96|0;break label$9;}break label$1;}HEAP8[$0_1+16|0]=0;HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=0;HEAP32[$0_1+8>>2]=$3_1;break label$8;}HEAP16[$4_1+116>>1]=49024;$6_1=$4_1+108|0;HEAP32[$6_1>>2]=0;HEAP32[$6_1+4>>2]=0;HEAP32[$4_1+104>>2]=$5_1|$7_1|$11_1|$10_1;HEAP8[$4_1+120|0]=9;HEAP16[$4_1+102>>1]=0;HEAP8[$4_1+101|0]=0;HEAP8[$4_1+100|0]=$9_1;HEAP32[$4_1+96>>2]=$1_1;$38($4_1+40|0,$4_1+96|0,$3_1);label$58:{if(HEAP32[$4_1+40>>2]){$5_1=1;$1_1=HEAP32[$4_1+44>>2];if($1_1>>>0>=2){$5_1=(-1>>>Math_clz32($1_1+-1|0))+1|0;}$36($4_1+32|0,$4_1+96|0,$3_1);if(HEAP32[$4_1+32>>2]!=1){break label$58;}$1_1=HEAP32[$4_1+36>>2];$5_1=$5_1>>>0>$1_1>>>0?$1_1:$5_1;break label$58;}$36($4_1+24|0,$4_1+96|0,$3_1);if(!HEAP32[$4_1+24>>2]){break label$7;}$5_1=HEAP32[$4_1+28>>2];}if(($5_1|0)<=-1){break label$6;}$7_1=0;$1_1=$4_1+96|0;if(!$5_1){$10_1=1;break label$9;}$10_1=$166($5_1,1);if($10_1){break label$9;}break label$1;}$11_1=HEAP32[$1_1+24>>2];HEAP32[$4_1+88>>2]=$11_1;$12_1=$1_1+16|0;$13_1=HEAP32[$12_1+4>>2];$6_1=$4_1+80|0;$8_1=HEAP32[$12_1>>2];HEAP32[$6_1>>2]=$8_1;HEAP32[$6_1+4>>2]=$13_1;$12_1=$1_1+8|0;$14_1=HEAP32[$12_1+4>>2];$6_1=$4_1+72|0;$12_1=HEAP32[$12_1>>2];HEAP32[$6_1>>2]=$12_1;HEAP32[$6_1+4>>2]=$14_1;$9_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];HEAP32[$4_1+64>>2]=$6_1;HEAP32[$4_1+68>>2]=$9_1;HEAP32[$4_1+120>>2]=$11_1;$1_1=$4_1+112|0;HEAP32[$1_1>>2]=$8_1;HEAP32[$1_1+4>>2]=$13_1;$1_1=$4_1+104|0;HEAP32[$1_1>>2]=$12_1;HEAP32[$1_1+4>>2]=$14_1;HEAP32[$4_1+96>>2]=$6_1;HEAP32[$4_1+100>>2]=$9_1;HEAP32[$4_1+52>>2]=$5_1;HEAP32[$4_1+48>>2]=$10_1;HEAP32[$4_1+56>>2]=$7_1;if($7_1>>>0>$3_1>>>0){break label$3;}HEAP32[$4_1+56>>2]=$5_1;if($5_1>>>0<$7_1>>>0){break label$2;}$11_1=0;$1_1=$7_1;while(1){label$63:{$68($4_1- -64|0,$4_1+96|0,$2_1+$7_1|0,$3_1-$7_1|0,$1_1+$10_1|0,$5_1-$1_1|0);$1_1=HEAP32[$4_1+68>>2]+$1_1|0;HEAP32[$4_1+56>>2]=$1_1;$11_1=HEAPU8[$4_1+73|0]!=0|$11_1;if(HEAPU8[$4_1+72|0]!=1){break label$63;}$7_1=HEAP32[$4_1+64>>2]+$7_1|0;$36($4_1,$4_1+96|0,$3_1-$7_1|0);if(!HEAP32[$4_1>>2]){break label$5;}$74($4_1- -64|0,$4_1+48|0,$1_1,HEAP32[$4_1+4>>2]);if(HEAP32[$4_1+64>>2]==1){if(HEAP32[$4_1+72>>2]){break label$4;}$182();abort();}if($7_1>>>0>$3_1>>>0){break label$3;}$1_1=HEAP32[$4_1+56>>2];$5_1=HEAP32[$4_1+52>>2];HEAP32[$4_1+56>>2]=$5_1;if($5_1>>>0<$1_1>>>0){$7_1=$1_1;break label$2;}else{$10_1=HEAP32[$4_1+48>>2];continue;}}break;};HEAP32[$0_1>>2]=1;$1_1=HEAP32[$4_1+52>>2];HEAP32[$0_1+4>>2]=HEAP32[$4_1+48>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP8[$0_1+16|0]=$11_1&1;HEAP32[$0_1+12>>2]=HEAP32[$4_1+56>>2];}global$0=$4_1+128|0;return;}$117(1051904);abort();}$183();abort();}$117(1051904);abort();}$117(1170876);abort();}$102($7_1,$3_1);abort();}$102($7_1,$5_1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($5_1,1);abort();}function $15($0_1,$1_1,$2_1,$3_1,$4_1,$5_1){var $6_1=0,$7_1=0,$8_1=0,$9_1=0;$7_1=global$0-16|0;global$0=$7_1;$6_1=HEAPU8[$1_1+24|0];label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{label$8:{label$9:{label$10:{label$11:{label$12:{label$13:{label$14:{if($3_1){switch(($6_1&15)-1|0){case 3:break label$10;case 2:break label$11;case 1:break label$12;case 0:break label$13;case 7:break label$2;case 9:break label$3;case 8:break label$4;case 4:break label$6;case 5:break label$7;case 6:break label$8;default:break label$14;}}label$16:{switch($6_1-1|0){case 7:$60($0_1,$1_1,$2_1,0,$4_1,$5_1,0,187);break label$1;case 8:$3_1=0;break label$4;default:HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=0;break label$1;case 0:HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=0;break label$1;case 1:HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=0;break label$1;case 2:break label$16;case 9:break label$3;case 3:break label$5;case 4:break label$6;case 5:break label$7;case 6:break label$8;};}HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=0;break label$1;}$6_1=0;break label$9;}$6_1=1;break label$9;}$6_1=2;break label$9;}$6_1=3;break label$9;}$6_1=4;}while(1){$9_1=$1_1;label$23:{label$24:{label$25:{label$26:{label$27:{label$28:{label$29:{label$30:{label$31:{switch($6_1|0){case 0:$6_1=HEAPU8[$2_1|0]+-239|0;if($6_1>>>0>16){break label$26;}switch($6_1-1|0){case 15:break label$25;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:break label$26;case 14:break label$28;default:break label$30;};case 3:break label$27;case 2:break label$29;case 1:break label$31;default:break label$24;};}if(HEAPU8[$2_1|0]!=239){break label$26;}}$6_1=4;break label$23;}if(HEAPU8[$2_1|0]!=254){break label$26;}}$6_1=6;break label$23;}if(HEAPU8[$2_1|0]==255){break label$25;}}HEAP8[$1_1+24|0]=9;break label$4;}$6_1=7;break label$23;}if($8_1>>>0>=$3_1>>>0){break label$5;}if(HEAPU8[$2_1+$8_1|0]!=187){$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1,239);break label$1;}$6_1=5;}HEAP8[$9_1+24|0]=$6_1;$8_1=$8_1+1|0;label$34:{switch($6_1-1|0){default:$6_1=0;continue;case 0:$6_1=1;continue;case 1:$6_1=2;continue;case 2:$6_1=3;continue;case 7:break label$2;case 9:break label$3;case 3:break label$34;case 8:break label$4;case 4:break label$6;case 5:break label$7;case 6:break label$8;};}$6_1=4;continue;};}if($8_1>>>0>=$3_1>>>0){$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1,255);break label$1;}if(HEAPU8[$2_1+$8_1|0]!=254){$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1,255);break label$1;}HEAP8[$1_1+24|0]=9;if(HEAP32[$1_1>>2]!=1052036){HEAP8[$1_1+4|0]=10;HEAP32[$1_1>>2]=1052036;HEAP16[$1_1+10>>1]=0;HEAP8[$1_1+8|0]=0;HEAP16[$1_1+6>>1]=0;}$6_1=$2_1;$2_1=$8_1+1|0;$45($7_1,$1_1+4|0,$6_1+$2_1|0,$3_1-$2_1|0,$4_1,$5_1,1);$4_1=HEAP32[$7_1+8>>2];$5_1=HEAP32[$7_1>>2];$3_1=HEAPU8[$7_1+5|0]|HEAPU8[$7_1+6|0]<<8;$6_1=HEAPU8[$7_1+4|0];if(!$6_1){HEAP8[$1_1+24|0]=10;}HEAP8[$0_1+4|0]=$6_1;HEAP32[$0_1+8>>2]=$4_1;$1_1=$0_1+5|0;HEAP8[$1_1|0]=$3_1;HEAP8[$1_1+1|0]=$3_1>>>8;HEAP32[$0_1>>2]=$2_1+$5_1;break label$1;}if($8_1>>>0>=$3_1>>>0){$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1,254);break label$1;}if(HEAPU8[$2_1+$8_1|0]!=255){$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1,254);break label$1;}HEAP8[$1_1+24|0]=9;if(HEAP32[$1_1>>2]!=1052004){HEAP8[$1_1+4|0]=10;HEAP32[$1_1>>2]=1052004;HEAP16[$1_1+10>>1]=1;HEAP8[$1_1+8|0]=0;HEAP16[$1_1+6>>1]=0;}$6_1=$2_1;$2_1=$8_1+1|0;$45($7_1,$1_1+4|0,$6_1+$2_1|0,$3_1-$2_1|0,$4_1,$5_1,1);$4_1=HEAP32[$7_1+8>>2];$5_1=HEAP32[$7_1>>2];$3_1=HEAPU8[$7_1+5|0]|HEAPU8[$7_1+6|0]<<8;$6_1=HEAPU8[$7_1+4|0];if(!$6_1){HEAP8[$1_1+24|0]=10;}HEAP8[$0_1+4|0]=$6_1;HEAP32[$0_1+8>>2]=$4_1;$1_1=$0_1+5|0;HEAP8[$1_1|0]=$3_1;HEAP8[$1_1+1|0]=$3_1>>>8;HEAP32[$0_1>>2]=$2_1+$5_1;break label$1;}if($8_1>>>0>=$3_1>>>0){$55($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1);break label$1;}if(HEAPU8[$2_1+$8_1|0]!=191){$55($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1);break label$1;}HEAP8[$1_1+24|0]=9;if(HEAP32[$1_1>>2]!=1052068){HEAP8[$1_1+4|0]=1;HEAP32[$1_1>>2]=1052068;HEAP16[$1_1+20>>1]=49024;HEAP32[$1_1+16>>2]=0;$6_1=$1_1+8|0;HEAP32[$6_1>>2]=0;HEAP32[$6_1+4>>2]=0;}$6_1=$2_1;$2_1=$8_1+1|0;$45($7_1,$1_1+4|0,$6_1+$2_1|0,$3_1-$2_1|0,$4_1,$5_1,1);$4_1=HEAP32[$7_1+8>>2];$5_1=HEAP32[$7_1>>2];$3_1=HEAPU8[$7_1+5|0]|HEAPU8[$7_1+6|0]<<8;$6_1=HEAPU8[$7_1+4|0];if(!$6_1){HEAP8[$1_1+24|0]=10;}HEAP8[$0_1+4|0]=$6_1;HEAP32[$0_1+8>>2]=$4_1;$1_1=$0_1+5|0;HEAP8[$1_1|0]=$3_1;HEAP8[$1_1+1|0]=$3_1>>>8;HEAP32[$0_1>>2]=$2_1+$5_1;break label$1;}$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$8_1,239);break label$1;}$45($7_1,$1_1+4|0,$2_1,$3_1,$4_1,$5_1,1);$3_1=HEAP32[$7_1+8>>2];$4_1=HEAP32[$7_1>>2];$2_1=HEAPU8[$7_1+5|0]|HEAPU8[$7_1+6|0]<<8;$5_1=HEAPU8[$7_1+4|0];if(!$5_1){HEAP8[$1_1+24|0]=10;}HEAP8[$0_1+4|0]=$5_1;HEAP32[$0_1+8>>2]=$3_1;HEAP32[$0_1>>2]=$4_1;$0_1=$0_1+5|0;HEAP8[$0_1|0]=$2_1;HEAP8[$0_1+1|0]=$2_1>>>8;break label$1;}$139(1052320,41,1052428);abort();}$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,0,187);}global$0=$7_1+16|0;}function $16($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;$2_1=global$0-160|0;global$0=$2_1;$130($2_1+40|0,9,1,256);label$1:{label$2:{label$3:{while(1){$1_1=$2_1+32|0;HEAP8[$1_1+2|0]=8;HEAP16[$1_1>>1]=$3_1+48;$42($2_1+88|0,$2_1+40|0,$4_1,HEAPU16[$2_1+32>>1],HEAPU8[$2_1+34|0]);$1_1=HEAP32[$2_1+92>>2];$5_1=HEAP32[$2_1+88>>2];if(($5_1&255)!=3){break label$3;}$3_1=$3_1+1|0;if(($5_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$1_1+4>>2]>>2]](HEAP32[$1_1>>2]);if(HEAP32[HEAP32[$1_1+4>>2]+4>>2]){$27(HEAP32[$1_1>>2]);}$27($1_1);}$4_1=$4_1+1|0;if(($3_1&65535)!=144){continue;}break;};$4_1=144;$3_1=0;while(1){$1_1=$2_1+24|0;HEAP8[$1_1+2|0]=9;HEAP16[$1_1>>1]=$3_1+400;$42($2_1+88|0,$2_1+40|0,$4_1,HEAPU16[$2_1+24>>1],HEAPU8[$2_1+26|0]);$1_1=HEAP32[$2_1+92>>2];$5_1=HEAP32[$2_1+88>>2];if(($5_1&255)!=3){break label$3;}$3_1=$3_1+1|0;if(($5_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$1_1+4>>2]>>2]](HEAP32[$1_1>>2]);if(HEAP32[HEAP32[$1_1+4>>2]+4>>2]){$27(HEAP32[$1_1>>2]);}$27($1_1);}$4_1=$4_1+1|0;if(($3_1&65535)!=112){continue;}break;};$4_1=256;$3_1=0;while(1){$1_1=$2_1+16|0;HEAP8[$1_1+2|0]=7;HEAP16[$1_1>>1]=$3_1;$42($2_1+88|0,$2_1+40|0,$4_1,HEAPU16[$2_1+16>>1],HEAPU8[$2_1+18|0]);$1_1=HEAP32[$2_1+92>>2];$5_1=HEAP32[$2_1+88>>2];if(($5_1&255)!=3){break label$3;}$3_1=$3_1+1|0;if(($5_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$1_1+4>>2]>>2]](HEAP32[$1_1>>2]);if(HEAP32[HEAP32[$1_1+4>>2]+4>>2]){$27(HEAP32[$1_1>>2]);}$27($1_1);}$4_1=$4_1+1|0;if(($3_1&65535)!=24){continue;}break;};$4_1=280;$3_1=0;while(1){$1_1=$2_1+8|0;HEAP8[$1_1+2|0]=8;HEAP16[$1_1>>1]=$3_1+192;$42($2_1+88|0,$2_1+40|0,$4_1,HEAPU16[$2_1+8>>1],HEAPU8[$2_1+10|0]);$1_1=HEAP32[$2_1+92>>2];$5_1=HEAP32[$2_1+88>>2];if(($5_1&255)!=3){break label$3;}$3_1=$3_1+1|0;if(($5_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$1_1+4>>2]>>2]](HEAP32[$1_1>>2]);if(HEAP32[HEAP32[$1_1+4>>2]+4>>2]){$27(HEAP32[$1_1>>2]);}$27($1_1);}$4_1=$4_1+1|0;if(($3_1&65535)!=8){continue;}break;};$130($2_1- -64|0,5,0,$2_1);$1_1=0;label$16:{while(1){HEAP8[$2_1+2|0]=5;HEAP16[$2_1>>1]=$1_1;$42($2_1+88|0,$2_1- -64|0,$1_1,HEAPU16[$2_1>>1],HEAPU8[$2_1+2|0]);$3_1=HEAP32[$2_1+92>>2];$4_1=HEAP32[$2_1+88>>2];if(($4_1&255)!=3){break label$16;}$1_1=$1_1+1|0;if(($4_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$3_1+4>>2]>>2]](HEAP32[$3_1>>2]);if(HEAP32[HEAP32[$3_1+4>>2]+4>>2]){$27(HEAP32[$3_1>>2]);}$27($3_1);}if(($1_1&65535)>>>0<30){continue;}break;};$5_1=$2_1+152|0;HEAP32[$5_1>>2]=HEAP32[$2_1+56>>2];$3_1=$2_1+48|0;$6_1=HEAP32[$3_1+4>>2];$4_1=$2_1+144|0;$1_1=$4_1;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$6_1;$1_1=HEAP32[$2_1+44>>2];HEAP32[$2_1+136>>2]=HEAP32[$2_1+40>>2];HEAP32[$2_1+140>>2]=$1_1;$3_1=$2_1+136|0;$6_1=HEAP32[$3_1+4>>2];$1_1=$2_1+88|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$6_1;HEAP16[$1_1+12>>1]=HEAPU16[$3_1+16>>1];HEAP32[$1_1+8>>2]=HEAP32[$3_1+8>>2];HEAP32[$5_1>>2]=HEAP32[$2_1+80>>2];$1_1=$2_1+72|0;$3_1=HEAP32[$1_1+4>>2];HEAP32[$4_1>>2]=HEAP32[$1_1>>2];HEAP32[$4_1+4>>2]=$3_1;$1_1=HEAP32[$2_1+68>>2];HEAP32[$2_1+136>>2]=HEAP32[$2_1+64>>2];HEAP32[$2_1+140>>2]=$1_1;$3_1=$2_1+136|0;$4_1=HEAP32[$3_1+4>>2];$1_1=$2_1+120|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;HEAP16[$1_1+12>>1]=HEAPU16[$3_1+16>>1];HEAP32[$1_1+8>>2]=HEAP32[$3_1+8>>2];$4_1=$2_1+128|0;$1_1=HEAP32[$4_1+4>>2];$3_1=$2_1+112|0;$4_1=HEAP32[$4_1>>2];HEAP32[$3_1>>2]=$4_1;HEAP32[$3_1+4>>2]=$1_1;$3_1=HEAP32[$2_1+124>>2];$5_1=HEAP32[$2_1+120>>2];HEAP32[$2_1+104>>2]=$5_1;HEAP32[$2_1+108>>2]=$3_1;$6_1=$0_1+28|0;HEAP32[$6_1>>2]=$4_1;HEAP32[$6_1+4>>2]=$1_1;$1_1=$0_1+20|0;HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=$3_1;$3_1=$2_1+96|0;$4_1=HEAP32[$3_1+4>>2];$1_1=$0_1+12|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;$1_1=HEAP32[$2_1+92>>2];HEAP32[$0_1+4>>2]=HEAP32[$2_1+88>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=0;break label$1;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$4_1;HEAP32[$1_1+8>>2]=$3_1;if(!HEAP32[$2_1+68>>2]){break label$2;}$27(HEAP32[$2_1+64>>2]);break label$2;}HEAP32[$0_1>>2]=1;$3_1=$0_1;HEAP32[$3_1+4>>2]=$5_1;HEAP32[$3_1+8>>2]=$1_1;}if(!HEAP32[$2_1+44>>2]){break label$1;}$27(HEAP32[$2_1+40>>2]);}global$0=$2_1+160|0;}function $17($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0;$9_1=HEAP32[$1_1+4>>2];$2_1=HEAP32[$1_1>>2];label$1:{label$2:{label$3:{while(1){if($9_1-$2_1>>>0<=3){if(($2_1|0)!=($9_1|0)){$4_1=HEAP32[$1_1+8>>2];while(1){$7_1=$2_1+1|0;HEAP32[$1_1>>2]=$7_1;$6_1=HEAPU8[$2_1|0];$5_1=$4_1+1|0;HEAP32[$1_1+8>>2]=$5_1;if($6_1?$2_1:0){break label$3;}$4_1=$5_1;$2_1=$7_1;if(($9_1|0)!=($2_1|0)){continue;}break;};}HEAP32[$0_1>>2]=2;$8_1=0;$4_1=0;break label$1;}$7_1=$2_1+1|0;HEAP32[$1_1>>2]=$7_1;$5_1=HEAPU8[$2_1|0];$10_1=HEAP32[$1_1+8>>2];$4_1=$10_1+1|0;HEAP32[$1_1+8>>2]=$4_1;if(!$5_1){$3_1=$2_1+2|0;HEAP32[$1_1>>2]=$3_1;$5_1=HEAPU8[$2_1+1|0];$8_1=$10_1+2|0;HEAP32[$1_1+8>>2]=$8_1;if($5_1){$6_1=$8_1;$5_1=$3_1;break label$2;}$7_1=$2_1+3|0;HEAP32[$1_1>>2]=$7_1;$5_1=HEAPU8[$2_1+2|0];$4_1=$10_1+3|0;HEAP32[$1_1+8>>2]=$4_1;if($5_1){$6_1=$4_1;$5_1=$7_1;$7_1=$3_1;$4_1=$8_1;break label$2;}$5_1=$2_1+4|0;HEAP32[$1_1>>2]=$5_1;$3_1=HEAPU8[$2_1+3|0];$6_1=$10_1+4|0;HEAP32[$1_1+8>>2]=$6_1;$2_1=$5_1;if(!$3_1){continue;}break label$2;}break;};$6_1=$4_1;$5_1=$7_1;$7_1=$2_1;$4_1=$10_1;break label$2;}$5_1=$2_1+1|0;$6_1=$4_1+1|0;$7_1=$2_1;}$1_1=HEAPU8[$7_1|0];label$11:{label$12:{label$13:{label$14:{$7_1=$166(4,2);if($7_1){HEAP8[$7_1+2|0]=$1_1;HEAP16[$7_1>>1]=$4_1;$4_1=$9_1-$5_1|0;$3_1=0;label$16:{label$17:{label$18:{label$19:{label$20:{while(1){$2_1=$3_1+$5_1|0;if($9_1-$2_1>>>0<=3){if(($3_1|0)==($4_1|0)){$4_1=1;break label$12;}$5_1=$4_1-$3_1|0;$8_1=0;while(1){$4_1=$2_1+$8_1|0;$1_1=HEAPU8[$4_1|0];if($1_1){break label$17;}$4_1=1;$8_1=$8_1+1|0;$5_1=$5_1+-1|0;if($5_1){continue;}break;};break label$12;}$1_1=HEAPU8[$2_1|0];if($1_1){break label$18;}$1_1=HEAPU8[$2_1+1|0];if($1_1){break label$20;}$1_1=HEAPU8[$2_1+2|0];if($1_1){break label$19;}$3_1=$3_1+4|0;$1_1=HEAPU8[$2_1+3|0];if(!$1_1){continue;}break;};$5_1=$3_1+$5_1|0;$6_1=$3_1+$6_1|0;$3_1=$6_1+-1|0;break label$16;}$5_1=$2_1+2|0;$4_1=$3_1+$6_1|0;$6_1=$4_1+2|0;$3_1=$4_1+1|0;break label$16;}$5_1=$2_1+3|0;$4_1=$3_1+$6_1|0;$6_1=$4_1+3|0;$3_1=$4_1+2|0;break label$16;}$5_1=$2_1+1|0;$3_1=$3_1+$6_1|0;$6_1=$3_1+1|0;break label$16;}$5_1=$4_1+1|0;$3_1=($3_1+$6_1|0)+$8_1|0;$6_1=$3_1+1|0;}$4_1=1;$8_1=1;while(1){if(($4_1|0)==($8_1|0)){$2_1=$4_1+1|0;if($2_1>>>0<$4_1>>>0){break label$13;}$8_1=$4_1<<1;$8_1=$8_1>>>0>$2_1>>>0?$8_1:$2_1;if(($8_1|0)!=($8_1&1073741823)){break label$13;}$2_1=$8_1<<2;if(($2_1|0)<0){break label$13;}label$27:{if(!$4_1){$7_1=$166($2_1,2);break label$27;}$7_1=$159($7_1,$4_1<<2,2,$2_1);}if(!$7_1){break label$14;}}$2_1=($4_1<<2)+$7_1|0;HEAP8[$2_1+2|0]=$1_1;HEAP16[$2_1>>1]=$3_1;$4_1=$4_1+1|0;$3_1=0;label$29:{label$30:{label$31:{label$32:{while(1){$2_1=$3_1+$5_1|0;if($9_1-$2_1>>>0<=3){if(($9_1-$5_1|0)==($3_1|0)){break label$11;}$3_1=$3_1+$6_1|0;while(1){$1_1=HEAPU8[$2_1|0];if($1_1){break label$31;}$3_1=$3_1+1|0;$2_1=$2_1+1|0;if(($9_1|0)!=($2_1|0)){continue;}break;};break label$11;}$1_1=HEAPU8[$2_1|0];if($1_1){break label$32;}$1_1=HEAPU8[$2_1+1|0];if($1_1){break label$29;}$1_1=HEAPU8[$2_1+2|0];if($1_1){break label$30;}$3_1=$3_1+4|0;$1_1=HEAPU8[$2_1+3|0];if(!$1_1){continue;}break;};$5_1=$3_1+$5_1|0;$6_1=$3_1+$6_1|0;$3_1=$6_1+-1|0;continue;}$5_1=($3_1+$5_1|0)+1|0;$3_1=$3_1+$6_1|0;$6_1=$3_1+1|0;continue;}$5_1=$2_1+1|0;$6_1=$3_1+1|0;continue;}$5_1=($3_1+$5_1|0)+3|0;$2_1=$3_1+$6_1|0;$6_1=$2_1+3|0;$3_1=$2_1+2|0;continue;}$5_1=($3_1+$5_1|0)+2|0;$2_1=$3_1+$6_1|0;$6_1=$2_1+2|0;$3_1=$2_1+1|0;continue;};}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](4,2);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,2);abort();}$182();abort();}$8_1=1;}HEAP32[$0_1>>2]=$7_1;}HEAP32[$0_1+8>>2]=$4_1;HEAP32[$0_1+4>>2]=$8_1;}function $18($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0;$8_1=global$0-32|0;global$0=$8_1;$9_1=1;label$1:{label$2:{if(FUNCTION_TABLE[HEAP32[HEAP32[$2_1+28>>2]+16>>2]](HEAP32[$2_1+24>>2],34)){break label$2;}label$3:{if(!$1_1){break label$3;}$14_1=$0_1+$1_1|0;$7_1=$0_1;$16_1=$0_1;while(1){$3_1=$7_1+1|0;$5_1=HEAP8[$7_1|0];label$5:{label$6:{label$7:{if(($5_1|0)<=-1){label$9:{if(($3_1|0)==($14_1|0)){$6_1=0;$7_1=$14_1;break label$9;}$6_1=HEAPU8[$7_1+1|0]&63;$3_1=$7_1+2|0;$7_1=$3_1;}$15_1=$5_1&31;$11_1=$15_1<<6|$6_1;$5_1=$5_1&255;if($5_1>>>0<=223){break label$7;}label$11:{if(($7_1|0)==($14_1|0)){$9_1=0;$7_1=$14_1;break label$11;}$9_1=HEAPU8[$7_1|0]&63;$3_1=$7_1+1|0;$7_1=$3_1;}$9_1=$6_1<<6|$9_1;$11_1=$9_1|$15_1<<12;if($5_1>>>0<240){break label$7;}$6_1=$7_1;label$13:{if(($6_1|0)==($14_1|0)){$7_1=$3_1;$3_1=0;break label$13;}$7_1=$6_1+1|0;$3_1=HEAPU8[$6_1|0]&63;}$6_1=$3_1|($15_1<<18&1835008|$9_1<<6);if(($6_1|0)!=1114112){break label$6;}break label$5;}$11_1=$5_1&255;}$6_1=$11_1;$7_1=$3_1;}$3_1=2;label$15:{label$16:{label$17:{label$18:{$5_1=$6_1+-9|0;if($5_1>>>0>30){if(($6_1|0)!=92){break label$18;}break label$17;}$11_1=116;label$20:{switch($5_1-1|0){case 3:$11_1=114;break label$16;case 24:case 29:break label$17;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 25:case 26:case 27:case 28:break label$18;case 0:break label$20;default:break label$16;};}$11_1=110;break label$16;}if(!$67($6_1)){if($81($6_1)){break label$15;}}$13_1=Math_clz32($6_1|1)>>>2^7;$10_1=5;$3_1=3;}$11_1=$6_1;}HEAP32[$8_1+4>>2]=$1_1;HEAP32[$8_1>>2]=$0_1;HEAP32[$8_1+8>>2]=$4_1;HEAP32[$8_1+12>>2]=$12_1;label$23:{label$24:{if($12_1>>>0<$4_1>>>0){break label$24;}label$25:{if(!$4_1){break label$25;}if(($1_1|0)==($4_1|0)){break label$25;}if($4_1>>>0>=$1_1>>>0){break label$24;}if(HEAP8[$0_1+$4_1|0]<=-65){break label$24;}}label$26:{if(!$12_1){break label$26;}if(($1_1|0)==($12_1|0)){break label$26;}if($12_1>>>0>=$1_1>>>0){break label$24;}if(HEAP8[$0_1+$12_1|0]<=-65){break label$24;}}if(!FUNCTION_TABLE[HEAP32[HEAP32[$2_1+28>>2]+12>>2]](HEAP32[$2_1+24>>2],$0_1+$4_1|0,$12_1-$4_1|0)){break label$23;}$9_1=1;break label$2;}HEAP32[$8_1+24>>2]=$8_1+12;HEAP32[$8_1+20>>2]=$8_1+8;HEAP32[$8_1+16>>2]=$8_1;$0_1=$8_1+16|0;$1_1=HEAP32[$0_1>>2];$19(HEAP32[$1_1>>2],HEAP32[$1_1+4>>2],HEAP32[HEAP32[$0_1+4>>2]>>2],HEAP32[HEAP32[$0_1+8>>2]>>2]);abort();}while(1){$5_1=$3_1;$9_1=1;$4_1=92;$3_1=1;label$28:{label$29:{label$30:{label$31:{label$32:{switch($5_1-1|0){case 2:label$34:{switch(($10_1&255)-1|0){case 3:$10_1=$10_1&-256|3;$3_1=3;$4_1=117;break label$28;case 2:$10_1=$10_1&-256|2;$3_1=3;$4_1=123;break label$28;case 1:$3_1=$13_1;$13_1=$11_1>>>($3_1<<2&28)&15;$4_1=$13_1>>>0<10?$13_1|48:$13_1+87|0;$5_1=$3_1+-1|0;$13_1=$5_1;$5_1=$10_1;if($3_1){break label$29;}$13_1=$3_1;$5_1=$10_1&-256|1;break label$29;case 4:break label$30;case 0:break label$34;default:break label$31;};}$10_1=$10_1&-256;$3_1=3;$4_1=125;break label$28;case 1:break label$28;case 0:break label$32;default:break label$31;};}$3_1=0;$4_1=$11_1;break label$28;}$3_1=1;label$38:{if($6_1>>>0<128){break label$38;}$3_1=2;if($6_1>>>0<2048){break label$38;}$3_1=$6_1>>>0<65536?3:4;}$4_1=$3_1+$12_1|0;break label$15;}$5_1=$10_1&-256|4;}$10_1=$5_1;$3_1=3;}if(!FUNCTION_TABLE[HEAP32[HEAP32[$2_1+28>>2]+16>>2]](HEAP32[$2_1+24>>2],$4_1)){continue;}break;};break label$2;}$12_1=($12_1-$16_1|0)+$7_1|0;$16_1=$7_1;if(($7_1|0)!=($14_1|0)){continue;}}break;};if(!$4_1){break label$3;}if(($1_1|0)==($4_1|0)){break label$3;}if($4_1>>>0>=$1_1>>>0){break label$1;}if(HEAP8[$0_1+$4_1|0]<=-65){break label$1;}}$9_1=1;if(FUNCTION_TABLE[HEAP32[HEAP32[$2_1+28>>2]+12>>2]](HEAP32[$2_1+24>>2],$0_1+$4_1|0,$1_1-$4_1|0)){break label$2;}$9_1=FUNCTION_TABLE[HEAP32[HEAP32[$2_1+28>>2]+16>>2]](HEAP32[$2_1+24>>2],34)|0;}global$0=$8_1+32|0;return $9_1;}$19($0_1,$1_1,$4_1,$1_1);abort();}function $19($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0;$4_1=global$0-112|0;global$0=$4_1;HEAP32[$4_1+12>>2]=$3_1;HEAP32[$4_1+8>>2]=$2_1;$7_1=1;$6_1=$1_1;label$1:{if($1_1>>>0<257){break label$1;}$8_1=0-$1_1|0;$5_1=256;while(1){label$3:{if($5_1>>>0>=$1_1>>>0){break label$3;}if(HEAP8[$0_1+$5_1|0]<=-65){break label$3;}$7_1=0;$6_1=$5_1;break label$1;}$6_1=$5_1+-1|0;$7_1=0;if(($5_1|0)==1){break label$1;}$9_1=$5_1+$8_1|0;$5_1=$6_1;if(($9_1|0)!=1){continue;}break;};}HEAP32[$4_1+20>>2]=$6_1;HEAP32[$4_1+16>>2]=$0_1;HEAP32[$4_1+28>>2]=$7_1?0:5;HEAP32[$4_1+24>>2]=$7_1?1172892:1173578;label$4:{label$5:{label$6:{label$7:{$5_1=$2_1>>>0>$1_1>>>0;if($5_1){break label$7;}if($3_1>>>0>$1_1>>>0){break label$7;}if($2_1>>>0>$3_1>>>0){break label$6;}label$8:{label$9:{if(!$2_1){break label$9;}if(($1_1|0)==($2_1|0)){break label$9;}if($1_1>>>0<=$2_1>>>0){break label$8;}if(HEAP8[$0_1+$2_1|0]<-64){break label$8;}}$2_1=$3_1;}HEAP32[$4_1+32>>2]=$2_1;if(!$2_1){break label$5;}if(($1_1|0)==($2_1|0)){break label$5;}$3_1=$1_1+1|0;while(1){if(HEAP8[$0_1+$2_1|0]>=-64?$2_1>>>0<$1_1>>>0:0){break label$5;}$5_1=$2_1+-1|0;if(($2_1|0)==1){break label$4;}$6_1=($2_1|0)==($3_1|0);$2_1=$5_1;if(!$6_1){continue;}break;};break label$4;}HEAP32[$4_1+40>>2]=$5_1?$2_1:$3_1;HEAP32[$4_1+68>>2]=3;HEAP32[$4_1+92>>2]=77;HEAP32[$4_1+84>>2]=77;HEAP32[$4_1+52>>2]=3;HEAP32[$4_1+56>>2]=0;HEAP32[$4_1+48>>2]=1173616;HEAP32[$4_1+76>>2]=1;HEAP32[$4_1+64>>2]=$4_1+72;HEAP32[$4_1+88>>2]=$4_1+24;HEAP32[$4_1+80>>2]=$4_1+16;HEAP32[$4_1+72>>2]=$4_1+40;$123($4_1+48|0,1173640);abort();}HEAP32[$4_1+100>>2]=77;HEAP32[$4_1+92>>2]=77;HEAP32[$4_1+84>>2]=1;HEAP32[$4_1+68>>2]=4;HEAP32[$4_1+52>>2]=4;HEAP32[$4_1+56>>2]=0;HEAP32[$4_1+48>>2]=1173692;HEAP32[$4_1+76>>2]=1;HEAP32[$4_1+64>>2]=$4_1+72;HEAP32[$4_1+96>>2]=$4_1+24;HEAP32[$4_1+88>>2]=$4_1+16;HEAP32[$4_1+80>>2]=$4_1+12;HEAP32[$4_1+72>>2]=$4_1+8;$123($4_1+48|0,1173724);abort();}$5_1=$2_1;}label$12:{if(($1_1|0)==($5_1|0)){break label$12;}$6_1=1;label$13:{label$14:{label$15:{$3_1=$0_1+$5_1|0;$2_1=HEAP8[$3_1|0];if(($2_1|0)<=-1){$7_1=0;$0_1=$0_1+$1_1|0;$1_1=$0_1;if(($1_1|0)!=($3_1+1|0)){$7_1=HEAPU8[$3_1+1|0]&63;$1_1=$3_1+2|0;}$3_1=$2_1&31;if(($2_1&255)>>>0>223){break label$15;}$1_1=$3_1<<6|$7_1;break label$14;}HEAP32[$4_1+36>>2]=$2_1&255;$2_1=$4_1+40|0;break label$13;}$6_1=$0_1;if(($0_1|0)!=($1_1|0)){$6_1=$1_1+1|0;$1_1=HEAPU8[$1_1|0]&63;}else{$1_1=0;}$1_1=$1_1|$7_1<<6;if(($2_1&255)>>>0<240){$1_1=$1_1|$3_1<<12;break label$14;}$1_1=$3_1<<18&1835008|$1_1<<6|(($0_1|0)!=($6_1|0)?HEAPU8[$6_1|0]&63:0);if(($1_1|0)==1114112){break label$12;}}HEAP32[$4_1+36>>2]=$1_1;$6_1=1;$2_1=$4_1+40|0;if($1_1>>>0<128){break label$13;}$6_1=2;if($1_1>>>0<2048){break label$13;}$6_1=$1_1>>>0<65536?3:4;}HEAP32[$4_1+40>>2]=$5_1;HEAP32[$4_1+44>>2]=$5_1+$6_1;HEAP32[$4_1+68>>2]=5;HEAP32[$4_1+108>>2]=77;HEAP32[$4_1+100>>2]=77;HEAP32[$4_1+92>>2]=78;HEAP32[$4_1+84>>2]=79;HEAP32[$4_1+52>>2]=5;HEAP32[$4_1+56>>2]=0;HEAP32[$4_1+48>>2]=1173792;HEAP32[$4_1+88>>2]=$2_1;HEAP32[$4_1+76>>2]=1;HEAP32[$4_1+64>>2]=$4_1+72;HEAP32[$4_1+104>>2]=$4_1+24;HEAP32[$4_1+96>>2]=$4_1+16;HEAP32[$4_1+80>>2]=$4_1+36;HEAP32[$4_1+72>>2]=$4_1+32;$123($4_1+48|0,1173832);abort();}$117(1173052);abort();}function $20($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0;label$1:{label$2:{while(1){$3_1=0;label$4:{$7_1=$0_1+$6_1|0;$2_1=0-$7_1&3;$5_1=$1_1-$6_1|0;if(($2_1|8)>>>0<=$5_1>>>0){label$6:{if(!$2_1){break label$6;}label$7:{while(1){if(($3_1|0)==($5_1|0)){break label$7;}$4_1=HEAP8[$3_1+$7_1|0];if(($4_1|0)>=0){$3_1=$3_1+1|0;if(($2_1|0)==($3_1|0)){break label$6;}continue;}break;};$2_1=$3_1;break label$4;}$100(1171948,$5_1,$5_1);abort();}$8_1=$5_1+-8|0;while(1){$4_1=$3_1+$7_1|0;$2_1=HEAP32[$4_1+4>>2]&-2139062144;$4_1=HEAP32[$4_1>>2]&-2139062144;if($2_1|$4_1){if($4_1){if($4_1){$2_1=31-Math_clz32($4_1+-1^$4_1)|0;}else{$2_1=32;}$4_1=$2_1>>>3;}else{if($2_1){$2_1=31-Math_clz32($2_1+-1^$2_1)|0;}else{$2_1=32;}$4_1=($2_1>>>3)+4|0;}$2_1=$4_1+$3_1|0;$4_1=HEAPU8[($4_1+$7_1|0)+$3_1|0];break label$4;}$3_1=$3_1+8|0;if($3_1>>>0<=$8_1>>>0){continue;}break;};}if($3_1>>>0>=$5_1>>>0){return $1_1;}while(1){$4_1=HEAP8[$3_1+$7_1|0];if(($4_1|0)<0){$2_1=$3_1;break label$4;}$3_1=$3_1+1|0;if(($5_1|0)!=($3_1|0)){continue;}break;};return $1_1;}$2_1=$2_1+$6_1|0;if($2_1+4>>>0>$1_1>>>0){break label$2;}label$17:{while(1){$3_1=$2_1;if(($4_1+62&255)>>>0>=30){$5_1=$4_1&255;if($5_1>>>0<=239){$3_1=$3_1+3|0;while(1){label$22:{$2_1=$0_1+$3_1|0;if((HEAPU8[($4_1&255)+1171456|0]&HEAPU8[HEAPU8[$2_1+-2|0]+1171328|0]|HEAPU8[$2_1+-1|0]>>>6)==2){if($3_1+4>>>0<=$1_1>>>0){break label$22;}$2_1=$3_1;break label$2;}$3_1=$3_1+-3|0;break label$1;}$3_1=$3_1+3|0;$2_1=HEAPU8[$2_1|0];$4_1=$2_1<<24>>24;if(($2_1&240)==224){continue;}break;};$2_1=$3_1+-3|0;if(($4_1|0)<0){continue;}$6_1=$3_1+-2|0;break label$17;}$2_1=$0_1+$3_1|0;if(((HEAPU8[$2_1+3|0]&192)<<2|(HEAPU8[$5_1+1171456|0]&HEAPU8[HEAPU8[$2_1+1|0]+1171328|0]|HEAPU8[$2_1+2|0]>>>6))!=514){break label$1;}$2_1=$3_1+4|0;if($3_1+8>>>0>$1_1>>>0){break label$2;}$4_1=HEAP8[$0_1+$2_1|0];if(($4_1|0)<0){continue;}$6_1=$3_1+5|0;break label$17;}if(HEAP8[($0_1+$3_1|0)+1|0]>-65){break label$1;}$2_1=$3_1+2|0;if($3_1+6>>>0>$1_1>>>0){break label$2;}$4_1=HEAP8[$0_1+$2_1|0];if(($4_1|0)<0){continue;}break;};$6_1=$3_1+3|0;}if($6_1>>>0<=$1_1>>>0){continue;}break;};$102($6_1,$1_1);abort();}if($2_1>>>0>=$1_1>>>0){return $2_1;}while(1){label$26:{label$27:{label$28:{label$29:{label$30:{label$31:{$3_1=HEAP8[$0_1+$2_1|0];if(($3_1|0)<=-1){if(($3_1+62&255)>>>0<30){break label$31;}if(($3_1&255)>>>0<240){break label$30;}return $2_1;}$2_1=$2_1+1|0;break label$26;}$4_1=$2_1+2|0;if($4_1>>>0>$1_1>>>0){return $2_1;}$5_1=$2_1+1|0;if($5_1>>>0>=$1_1>>>0){break label$29;}$3_1=$2_1;$2_1=$4_1;if(HEAP8[$0_1+$5_1|0]>=-64){break label$1;}break label$26;}$6_1=$2_1+3|0;if($6_1>>>0>$1_1>>>0){return $2_1;}$4_1=$2_1+1|0;if($4_1>>>0>=$1_1>>>0){break label$28;}$5_1=$2_1+2|0;if($5_1>>>0>=$1_1>>>0){break label$27;}return(HEAPU8[($3_1&255)+1171456|0]&HEAPU8[HEAPU8[$0_1+$4_1|0]+1171328|0]|HEAPU8[$0_1+$5_1|0]>>>6)==2?$6_1:$2_1;}$100(1171804,$5_1,$1_1);abort();}$100(1171820,$4_1,$1_1);abort();}$100(1171836,$5_1,$1_1);abort();}$3_1=$2_1;if($3_1>>>0<$1_1>>>0){continue;}break;};}return $3_1;}function $21($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0;$3_1=global$0+-64|0;global$0=$3_1;HEAP32[$3_1+36>>2]=$1_1;$4_1=HEAP32[$2_1+20>>2];HEAP32[$3_1+52>>2]=$4_1;HEAP8[$3_1+56|0]=3;$5_1=HEAP32[$2_1+16>>2];HEAP32[$3_1+44>>2]=$5_1+($4_1<<3);HEAP32[$3_1+8>>2]=0;HEAP32[$3_1+12>>2]=32;HEAP32[$3_1+32>>2]=$0_1;HEAP32[$3_1+24>>2]=0;HEAP32[$3_1+16>>2]=0;HEAP32[$3_1+48>>2]=$5_1;HEAP32[$3_1+40>>2]=$5_1;label$1:{label$2:{label$3:{label$4:{$6_1=HEAP32[$2_1+8>>2];if(!$6_1){$8_1=HEAP32[$2_1>>2];$9_1=HEAP32[$2_1+4>>2];$6_1=$4_1>>>0>$9_1>>>0?$9_1:$4_1;if(!$6_1){break label$4;}$4_1=1;if(FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,HEAP32[$8_1>>2],HEAP32[$8_1+4>>2])){break label$1;}$2_1=$8_1+12|0;$7_1=1;while(1){if(FUNCTION_TABLE[HEAP32[$5_1+4>>2]](HEAP32[$5_1>>2],$3_1+8|0)){break label$1;}if($7_1>>>0>=$6_1>>>0){break label$4;}$0_1=$2_1+-4|0;$1_1=HEAP32[$2_1>>2];$2_1=$2_1+8|0;$5_1=$5_1+8|0;$7_1=$7_1+1|0;if(!FUNCTION_TABLE[HEAP32[HEAP32[$3_1+36>>2]+12>>2]](HEAP32[$3_1+32>>2],HEAP32[$0_1>>2],$1_1)){continue;}break;};break label$1;}$8_1=HEAP32[$2_1>>2];$9_1=HEAP32[$2_1+4>>2];$2_1=HEAP32[$2_1+12>>2];$10_1=$2_1>>>0>$9_1>>>0?$9_1:$2_1;if(!$10_1){break label$4;}$4_1=1;if(FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,HEAP32[$8_1>>2],HEAP32[$8_1+4>>2])){break label$1;}$2_1=$8_1+12|0;$5_1=$6_1+16|0;$7_1=1;while(1){HEAP32[$3_1+12>>2]=HEAP32[$5_1+-8>>2];HEAP8[$3_1+56|0]=HEAPU8[$5_1+16|0];HEAP32[$3_1+8>>2]=HEAP32[$5_1+-4>>2];$1_1=0;$4_1=0;label$9:{label$10:{switch(HEAP32[$5_1+8>>2]-1|0){default:$0_1=HEAP32[$5_1+12>>2];$4_1=1;break label$9;case 0:$6_1=HEAP32[$5_1+12>>2];$4_1=HEAP32[$3_1+52>>2];if($6_1>>>0<$4_1>>>0){$4_1=0;$6_1=HEAP32[$3_1+48>>2]+($6_1<<3)|0;if(HEAP32[$6_1+4>>2]!=80){break label$9;}$0_1=HEAP32[HEAP32[$6_1>>2]>>2];$4_1=1;break label$9;}$100(1174168,$6_1,$4_1);abort();case 1:break label$10;case 2:break label$9;};}$6_1=HEAP32[$3_1+40>>2];if(($6_1|0)==HEAP32[$3_1+44>>2]){break label$9;}HEAP32[$3_1+40>>2]=$6_1+8;if(HEAP32[$6_1+4>>2]!=80){break label$9;}$0_1=HEAP32[HEAP32[$6_1>>2]>>2];$4_1=1;}HEAP32[$3_1+20>>2]=$0_1;HEAP32[$3_1+16>>2]=$4_1;label$14:{label$15:{label$16:{label$17:{label$18:{label$19:{switch(HEAP32[$5_1>>2]-1|0){case 1:$0_1=HEAP32[$3_1+40>>2];if(($0_1|0)!=HEAP32[$3_1+44>>2]){break label$18;}break label$14;case 2:break label$14;case 0:break label$19;default:break label$16;};}$0_1=HEAP32[$5_1+4>>2];$4_1=HEAP32[$3_1+52>>2];if($0_1>>>0>=$4_1>>>0){break label$17;}$0_1=HEAP32[$3_1+48>>2]+($0_1<<3)|0;if(HEAP32[$0_1+4>>2]!=80){break label$14;}$4_1=HEAP32[HEAP32[$0_1>>2]>>2];break label$15;}HEAP32[$3_1+40>>2]=$0_1+8;if(HEAP32[$0_1+4>>2]!=80){break label$14;}$4_1=HEAP32[HEAP32[$0_1>>2]>>2];break label$15;}$100(1174168,$0_1,$4_1);abort();}$4_1=HEAP32[$5_1+4>>2];}$1_1=1;}HEAP32[$3_1+28>>2]=$4_1;HEAP32[$3_1+24>>2]=$1_1;label$21:{if(HEAP32[$5_1+-16>>2]!=1){$4_1=HEAP32[$3_1+40>>2];if(($4_1|0)==HEAP32[$3_1+44>>2]){break label$3;}HEAP32[$3_1+40>>2]=$4_1+8;break label$21;}$0_1=HEAP32[$5_1+-12>>2];$1_1=HEAP32[$3_1+52>>2];if($0_1>>>0>=$1_1>>>0){break label$2;}$4_1=HEAP32[$3_1+48>>2]+($0_1<<3)|0;}if(FUNCTION_TABLE[HEAP32[$4_1+4>>2]](HEAP32[$4_1>>2],$3_1+8|0)){$4_1=1;break label$1;}if($7_1>>>0>=$10_1>>>0){break label$4;}$0_1=$2_1+-4|0;$1_1=HEAP32[$2_1>>2];$2_1=$2_1+8|0;$5_1=$5_1+36|0;$4_1=1;$7_1=$7_1+1|0;if(!FUNCTION_TABLE[HEAP32[HEAP32[$3_1+36>>2]+12>>2]](HEAP32[$3_1+32>>2],HEAP32[$0_1>>2],$1_1)){continue;}break;};break label$1;}if($9_1>>>0>$7_1>>>0){$4_1=1;$0_1=($7_1<<3)+$8_1|0;if(FUNCTION_TABLE[HEAP32[HEAP32[$3_1+36>>2]+12>>2]](HEAP32[$3_1+32>>2],HEAP32[$0_1>>2],HEAP32[$0_1+4>>2])){break label$1;}}$4_1=0;break label$1;}$117(1173052);abort();}$100(1174152,$0_1,$1_1);abort();}global$0=$3_1- -64|0;return $4_1;}function $22($0_1,$1_1,$2_1,$3_1,$4_1,$5_1){var $6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0,$17_1=0;$7_1=global$0-16|0;global$0=$7_1;HEAP32[$7_1+8>>2]=0;HEAP32[$7_1+4>>2]=$5_1;HEAP32[$7_1>>2]=$4_1;$15_1=$7_1&-256;while(1){label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{if($5_1>>>0>=$8_1>>>0){$4_1=$5_1-$8_1|0;$6_1=$3_1-$10_1|0;$13_1=$4_1>>>0<$6_1>>>0;$11_1=$13_1?$4_1:$6_1;$4_1=0;$12_1=HEAP32[$7_1>>2]+$8_1|0;$8_1=$2_1+$10_1|0;label$9:{if(($12_1^$8_1)&3){break label$9;}$6_1=0-$8_1&3;if(($6_1|8)>>>0>$11_1>>>0){break label$9;}if($6_1){while(1){$9_1=HEAP8[$4_1+$8_1|0];if(($9_1|0)<0){$6_1=$4_1;break label$6;}HEAP8[$4_1+$12_1|0]=$9_1;$4_1=$4_1+1|0;if(($6_1|0)!=($4_1|0)){continue;}break;}}$16_1=$11_1+-8|0;while(1){$6_1=$4_1+$8_1|0;$9_1=HEAP32[$6_1>>2];$14_1=$4_1+$12_1|0;$6_1=HEAP32[$6_1+4>>2];HEAP32[$14_1+4>>2]=$6_1;HEAP32[$14_1>>2]=$9_1;$6_1=$6_1&-2139062144;$9_1=$9_1&-2139062144;if($6_1|$9_1){break label$7;}$4_1=$4_1+8|0;if($4_1>>>0<=$16_1>>>0){continue;}break;};}if($4_1>>>0<$11_1>>>0){while(1){$9_1=HEAP8[$4_1+$8_1|0];if(($9_1|0)<0){$6_1=$4_1;break label$6;}HEAP8[$4_1+$12_1|0]=$9_1;$4_1=$4_1+1|0;if(($11_1|0)!=($4_1|0)){continue;}break;}}$8_1=$11_1+HEAP32[$7_1+8>>2]|0;HEAP32[$7_1+8>>2]=$8_1;$4_1=$10_1+$11_1|0;break label$5;}$102($8_1,$5_1);abort();}if($9_1){if($9_1){$6_1=31-Math_clz32($9_1+-1^$9_1)|0;}else{$6_1=32;}$11_1=$6_1>>>3;}else{if($6_1){$6_1=31-Math_clz32($6_1+-1^$6_1)|0;}else{$6_1=32;}$11_1=($6_1>>>3)+4|0;}$6_1=$11_1+$4_1|0;$9_1=HEAPU8[($8_1+$11_1|0)+$4_1|0];}$8_1=HEAP32[$7_1+8>>2]+$6_1|0;HEAP32[$7_1+8>>2]=$8_1;$4_1=$6_1+$10_1|0;if($8_1+2>>>0<$5_1>>>0){break label$4;}$13_1=1;}HEAP32[$0_1>>2]=$4_1;HEAP32[$0_1+4>>2]=$13_1|$17_1;break label$3;}$6_1=$4_1+1|0;label$19:{$4_1=HEAPU16[(HEAP32[$1_1>>2]+(($9_1&255)<<1)|0)+-256>>1];if($4_1){while(1){$5_1=$4_1&65535;label$22:{if($5_1>>>0>=2048){HEAP8[HEAP32[$7_1>>2]+$8_1|0]=$5_1>>>12|224;$8_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$8_1;$5_1=$5_1>>>6&63|-128;break label$22;}$5_1=$4_1>>>6|-64;}HEAP8[HEAP32[$7_1>>2]+$8_1|0]=$5_1;$5_1=HEAP32[$7_1+8>>2]+1|0;HEAP32[$7_1+8>>2]=$5_1;HEAP8[$5_1+HEAP32[$7_1>>2]|0]=$4_1&63|128;$4_1=HEAP32[$7_1+8>>2];$8_1=$4_1+1|0;HEAP32[$7_1+8>>2]=$8_1;if($6_1>>>0>=$3_1>>>0){HEAP32[$0_1>>2]=$6_1;HEAP8[$0_1+4|0]=0;break label$3;}if($4_1+3>>>0>=HEAPU32[$7_1+4>>2]){HEAP32[$0_1>>2]=$6_1;HEAP8[$0_1+4|0]=1;break label$3;}$10_1=$6_1+1|0;$4_1=HEAP8[$2_1+$6_1|0];label$26:{if(($4_1|0)<0){$6_1=$10_1;break label$26;}while(1){HEAP8[HEAP32[$7_1>>2]+$8_1|0]=$4_1;$5_1=HEAP32[$7_1+8>>2];$8_1=$5_1+1|0;HEAP32[$7_1+8>>2]=$8_1;if(($4_1&255)>>>0>59){break label$2;}if(($3_1|0)==($10_1|0)){HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+4|0]=0;break label$3;}if($5_1+3>>>0>=HEAPU32[$7_1+4>>2]){break label$19;}$4_1=$2_1+$10_1|0;$6_1=$10_1+1|0;$10_1=$6_1;$4_1=HEAP8[$4_1|0];if(($4_1|0)>=0){continue;}break;};}$4_1=HEAPU16[(HEAP32[$1_1>>2]+(($4_1&255)<<1)|0)+-256>>1];if($4_1){continue;}break;}}HEAP16[$0_1+4>>1]=258;HEAP32[$0_1>>2]=$6_1;HEAP8[$0_1+6|0]=0;break label$3;}HEAP32[$0_1>>2]=$10_1;HEAP8[$0_1+4|0]=1;}HEAP32[$0_1+8>>2]=$8_1;global$0=$7_1+16|0;return;}$5_1=HEAP32[$7_1+4>>2];$17_1=$15_1;if($10_1>>>0<=$3_1>>>0){continue;}break;};$102($10_1,$3_1);abort();}function $23($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0;while(1){label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{label$8:{label$9:{if(!HEAP32[$1_1+8>>2]){if($11_1>>>0>$3_1>>>0){break label$9;}if($9_1>>>0>$5_1>>>0){break label$8;}$12_1=$2_1+$11_1|0;$10_1=$5_1-$9_1|0;$8_1=$3_1-$11_1|0;$7_1=$20($12_1,$8_1>>>0>$10_1>>>0?$10_1:$8_1);if($10_1>>>0<$7_1>>>0){break label$7;}if($8_1>>>0<$7_1>>>0){break label$6;}$126($4_1+$9_1|0,$12_1,$7_1);$9_1=$7_1+$9_1|0;$11_1=$7_1+$11_1|0;}$7_1=$11_1;if($7_1>>>0>=$3_1>>>0){label$12:{if(!HEAP32[$1_1+8>>2]){break label$12;}if(!$6_1){break label$12;}HEAP32[$1_1+8>>2]=0;HEAP8[$0_1+4|0]=2;$2_1=HEAPU8[$1_1+4|0];HEAP32[$1_1>>2]=0;HEAP32[$1_1+4>>2]=0;HEAP8[$0_1+6|0]=0;HEAP8[$0_1+5|0]=$2_1+1;break label$2;}HEAP8[$0_1+4|0]=0;break label$2;}$10_1=$9_1+3|0;if($10_1>>>0>=$5_1>>>0){HEAP8[$0_1+4|0]=1;break label$2;}$11_1=$7_1+1|0;$8_1=HEAPU8[$2_1+$7_1|0];label$14:{$12_1=HEAP32[$1_1+8>>2];if($12_1){if($8_1>>>0<=HEAPU8[$1_1+13|0]?$8_1>>>0>=HEAPU8[$1_1+12|0]:0){break label$14;}HEAP32[$1_1+8>>2]=0;HEAP16[$1_1+12>>1]=49024;HEAP8[$0_1+4|0]=2;$2_1=HEAPU8[$1_1+4|0];HEAP32[$1_1>>2]=0;HEAP32[$1_1+4>>2]=0;HEAP8[$0_1+6|0]=0;HEAP8[$0_1+5|0]=$2_1+1;break label$2;}if($8_1<<24>>24>-1){break label$5;}if($8_1>>>0<194){break label$4;}if($8_1>>>0<224){break label$3;}label$17:{if($8_1>>>0>=240){if($8_1>>>0<245){break label$17;}HEAP16[$0_1+4>>1]=258;HEAP8[$0_1+6|0]=0;$7_1=$11_1;break label$2;}$7_1=$8_1+-224|0;label$19:{if($7_1>>>0>13){break label$19;}label$20:{switch($7_1-1|0){default:HEAP8[$1_1+12|0]=160;break label$19;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:break label$19;case 12:break label$20;};}HEAP8[$1_1+13|0]=159;}HEAP32[$1_1+8>>2]=2;HEAP32[$1_1>>2]=$8_1&15;continue;}$7_1=$8_1+-240|0;label$22:{if($7_1>>>0>4){break label$22;}label$23:{switch($7_1-1|0){default:HEAP8[$1_1+12|0]=144;break label$22;case 0:case 1:case 2:break label$22;case 3:break label$23;};}HEAP8[$1_1+13|0]=143;}HEAP32[$1_1+8>>2]=3;HEAP32[$1_1>>2]=$8_1&7;continue;}HEAP16[$1_1+12>>1]=49024;$14_1=HEAP32[$1_1+4>>2]+1|0;HEAP32[$1_1+4>>2]=$14_1;$8_1=$8_1&63;$7_1=HEAP32[$1_1>>2];$13_1=$8_1|$7_1<<6;HEAP32[$1_1>>2]=$13_1;if(($12_1|0)!=($14_1|0)){continue;}label$25:{if(($12_1|0)!=3){$7_1=$13_1&65535;if($7_1>>>0>=2048){$9_1=$4_1+$9_1|0;HEAP8[$9_1+2|0]=$8_1|128;HEAP8[$9_1|0]=$7_1>>>12|224;HEAP8[$9_1+1|0]=$7_1>>>6&63|128;$7_1=$10_1;break label$25;}$7_1=$4_1+$9_1|0;HEAP8[$7_1+1|0]=$8_1|128;HEAP8[$7_1|0]=$13_1>>>6|192;$7_1=$9_1+2|0;break label$25;}HEAP8[$4_1+$10_1|0]=$8_1|128;$10_1=$4_1+$9_1|0;HEAP8[$10_1+2|0]=$7_1&63|128;HEAP8[$10_1|0]=$7_1>>>12|240;HEAP8[$10_1+1|0]=$7_1>>>6&63|128;$7_1=$9_1+4|0;}$9_1=$7_1;HEAP32[$1_1+8>>2]=0;HEAP32[$1_1>>2]=0;HEAP32[$1_1+4>>2]=0;continue;}$102($11_1,$3_1);abort();}$102($9_1,$5_1);abort();}$101($7_1,$10_1);abort();}$101($7_1,$8_1);abort();}HEAP8[$4_1+$9_1|0]=$8_1;$9_1=$9_1+1|0;continue;}HEAP16[$0_1+4>>1]=258;HEAP8[$0_1+6|0]=0;$7_1=$11_1;break label$2;}HEAP32[$1_1+8>>2]=1;HEAP32[$1_1>>2]=$8_1&31;continue;}break;};HEAP32[$0_1+8>>2]=$9_1;HEAP32[$0_1>>2]=$7_1;}function $24($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0;$2_1=global$0-32|0;global$0=$2_1;$5_1=HEAP32[$1_1+16>>2];HEAP32[$1_1>>2]=$5_1;HEAP32[$1_1+4>>2]=0;$3_1=$0_1;$9_1=$3_1;label$1:{label$2:{label$3:{label$4:{label$5:{if($5_1>>>0>=22){$0_1=-1;$6_1=$5_1+-22|0;if($6_1>>>0<4294967274){$0_1=0;}$4_1=$6_1;if(!$0_1&$4_1>>>0>$5_1>>>0|$0_1>>>0>0){$92($2_1,1050755,50);$90($2_1+24|0,11,HEAP32[$2_1>>2],HEAP32[$2_1+4>>2]);$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}HEAP32[$1_1>>2]=$6_1;HEAP32[$1_1+4>>2]=$0_1;HEAP32[$2_1+20>>2]=0;$69($2_1+24|0,$1_1,$2_1+20|0,4);if(HEAPU8[$2_1+24|0]!=3){break label$3;}label$8:{while(1){$6_1=HEAP32[$1_1>>2];$5_1=HEAP32[$1_1+4>>2];$4_1=HEAPU8[$2_1+21|0];$0_1=$4_1>>>24;$7_1=HEAPU8[$2_1+20|0]|$4_1<<8;$4_1=HEAPU8[$2_1+22|0];$8_1=$4_1>>>16;$4_1=$7_1|$4_1<<16;$8_1=$0_1|$8_1;$7_1=$4_1;$4_1=HEAPU8[$2_1+23|0];$0_1=$4_1>>>8;$4_1=$7_1|$4_1<<24;if(!($0_1|$8_1)&($4_1|0)==101010256){break label$8;}$0_1=$5_1+-1|0;$4_1=$6_1+-5|0;if($4_1>>>0<4294967291){$0_1=$0_1+1|0;}if(($0_1|0)==($5_1|0)&$4_1>>>0<=$6_1>>>0|$0_1>>>0<$5_1>>>0){HEAP32[$1_1>>2]=$4_1;HEAP32[$1_1+4>>2]=$0_1;HEAP32[$2_1+20>>2]=0;$69($2_1+24|0,$1_1,$2_1+20|0,4);if(HEAPU8[$2_1+24|0]!=3){break label$3;}continue;}break;};$92($2_1+8|0,1050755,50);$90($2_1+24|0,11,HEAP32[$2_1+8>>2],HEAP32[$2_1+12>>2]);$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}HEAP16[$2_1+20>>1]=0;$69($2_1+24|0,$1_1,$2_1+20|0,2);if(HEAPU8[$2_1+24|0]!=3){break label$4;}$4_1=HEAPU16[$2_1+20>>1];HEAP16[$2_1+20>>1]=0;$69($2_1+24|0,$1_1,$2_1+20|0,2);if(HEAPU8[$2_1+24|0]!=3){$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}$8_1=HEAPU16[$2_1+20>>1];HEAP16[$2_1+20>>1]=0;$69($2_1+24|0,$1_1,$2_1+20|0,2);if(HEAPU8[$2_1+24|0]!=3){$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}$7_1=HEAPU16[$2_1+20>>1];HEAP16[$2_1+20>>1]=0;$69($2_1+24|0,$1_1,$2_1+20|0,2);if(HEAPU8[$2_1+24|0]!=3){$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}$10_1=HEAPU16[$2_1+20>>1];HEAP32[$2_1+20>>2]=0;$69($2_1+24|0,$1_1,$2_1+20|0,4);if(HEAPU8[$2_1+24|0]!=3){$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}$11_1=HEAP32[$2_1+20>>2];HEAP32[$2_1+20>>2]=0;$69($2_1+24|0,$1_1,$2_1+20|0,4);if(HEAPU8[$2_1+24|0]!=3){$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}$12_1=HEAP32[$2_1+20>>2];HEAP16[$2_1+20>>1]=0;$69($2_1+24|0,$1_1,$2_1+20|0,2);if(HEAPU8[$2_1+24|0]!=3){$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}$0_1=HEAPU8[$2_1+20|0]|HEAPU8[$2_1+21|0]<<8;label$17:{if(!$0_1){$5_1=1;break label$17;}$5_1=$122($0_1);if(!$5_1){break label$5;}}$69($2_1+24|0,$1_1,$5_1,$0_1);if(HEAPU8[$2_1+24|0]!=3){$1_1=HEAP32[$2_1+28>>2];$6_1=HEAP32[$2_1+24>>2];if($0_1){$27($5_1);}HEAP32[$3_1+4>>2]=$6_1;HEAP32[$3_1+8>>2]=$1_1;break label$2;}HEAP32[$3_1+4>>2]=101010256;HEAP16[$3_1+42>>1]=$10_1;HEAP16[$3_1+40>>1]=$7_1;HEAP16[$3_1+38>>1]=$8_1;HEAP16[$3_1+36>>1]=$4_1;HEAP32[$3_1+32>>2]=$0_1+22;HEAP32[$3_1+28>>2]=$6_1+-4;HEAP32[$3_1+24>>2]=$0_1;HEAP32[$3_1+20>>2]=$0_1;HEAP32[$3_1+16>>2]=$5_1;HEAP32[$3_1+12>>2]=$12_1;HEAP32[$3_1+8>>2]=$11_1;$0_1=0;break label$1;}HEAP8[$3_1+4|0]=3;break label$2;}$1_1=$0_1;$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($1_1,1);abort();}$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;break label$2;}$0_1=HEAP32[$2_1+28>>2];HEAP32[$3_1+4>>2]=HEAP32[$2_1+24>>2];HEAP32[$3_1+8>>2]=$0_1;}$0_1=1;}HEAP32[$9_1>>2]=$0_1;global$0=$2_1+32|0;}function $25($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{if(!$2_1){break label$6;}$8_1=$1_1&3?0-$1_1|0:0;$7_1=$2_1>>>0>7?$2_1+-7|0:0;while(1){label$8:{label$9:{label$10:{$5_1=HEAPU8[$1_1+$4_1|0];$6_1=$5_1<<24>>24;if(($6_1|0)<=-1){label$12:{label$13:{label$14:{$3_1=HEAPU8[$5_1+1173300|0]+-2|0;if($3_1>>>0<=2){switch($3_1-1|0){case 1:break label$12;case 0:break label$13;default:break label$14;}}break label$4;}$3_1=$4_1+1|0;if($3_1>>>0>=$2_1>>>0){break label$3;}if((HEAPU8[$1_1+$3_1|0]&192)==128){break label$10;}break label$4;}$3_1=$4_1+1|0;if($3_1>>>0>=$2_1>>>0){break label$3;}$3_1=HEAPU8[$1_1+$3_1|0];label$18:{label$19:{$5_1=$5_1+-224|0;if($5_1>>>0>13){break label$19;}label$20:{switch($5_1-1|0){default:if(($3_1&224)!=160){break label$5;}break label$18;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:break label$19;case 12:break label$20;};}if($3_1<<24>>24>-1){break label$5;}if($3_1>>>0<160){break label$18;}break label$5;}if(($6_1+31&255)>>>0<=11){if($3_1<<24>>24>-1){break label$5;}if($3_1>>>0>=192){break label$5;}break label$18;}if($3_1>>>0>191){break label$5;}if(($6_1&254)!=238){break label$5;}if($3_1<<24>>24>-1){break label$5;}}$3_1=$4_1+2|0;if($3_1>>>0>=$2_1>>>0){break label$3;}if((HEAPU8[$1_1+$3_1|0]&192)==128){break label$10;}break label$2;}$3_1=$4_1+1|0;if($3_1>>>0>=$2_1>>>0){break label$3;}$3_1=HEAPU8[$1_1+$3_1|0];label$25:{label$26:{$5_1=$5_1+-240|0;if($5_1>>>0>4){break label$26;}label$27:{switch($5_1-1|0){default:if(($3_1+112&255)>>>0>=48){break label$4;}break label$25;case 0:case 1:case 2:break label$26;case 3:break label$27;};}if($3_1<<24>>24>-1){break label$4;}if($3_1>>>0<144){break label$25;}break label$4;}if($3_1>>>0>191){break label$4;}if(($6_1+15&255)>>>0>2){break label$4;}if($3_1<<24>>24>-1){break label$4;}}$3_1=$4_1+2|0;if($3_1>>>0>=$2_1>>>0){break label$3;}if((HEAPU8[$1_1+$3_1|0]&192)!=128){break label$2;}$3_1=$4_1+3|0;if($3_1>>>0>=$2_1>>>0){break label$3;}if((HEAPU8[$1_1+$3_1|0]&192)==128){break label$10;}HEAP16[$0_1+4>>1]=769;break label$1;}if($8_1-$4_1&3){break label$9;}label$31:{if($4_1>>>0>=$7_1>>>0){break label$31;}while(1){$3_1=$1_1+$4_1|0;if((HEAP32[$3_1+4>>2]|HEAP32[$3_1>>2])&-2139062144){break label$31;}$4_1=$4_1+8|0;if($4_1>>>0<$7_1>>>0){continue;}break;};}if($4_1>>>0>=$2_1>>>0){break label$8;}while(1){if(HEAP8[$1_1+$4_1|0]<0){break label$8;}$4_1=$4_1+1|0;if(($4_1|0)!=($2_1|0)){continue;}break;};break label$6;}$4_1=$3_1+1|0;break label$8;}$4_1=$4_1+1|0;}if($4_1>>>0<$2_1>>>0){continue;}break;};}HEAP8[$0_1+4|0]=2;return;}HEAP16[$0_1+4>>1]=257;HEAP32[$0_1>>2]=$4_1;return;}HEAP16[$0_1+4>>1]=257;break label$1;}HEAP8[$0_1+4|0]=0;break label$1;}HEAP16[$0_1+4>>1]=513;}HEAP32[$0_1>>2]=$4_1;}function $26($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0;$3_1=HEAP32[$0_1+16>>2];label$1:{label$2:{label$3:{$12_1=HEAP32[$0_1+8>>2];label$4:{if(($12_1|0)!=1){if($3_1){break label$4;}$3_1=FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+12>>2]](HEAP32[$0_1+24>>2],$1_1,$2_1)|0;break label$2;}if(!$3_1){break label$3;}}label$6:{if(!$2_1){$2_1=0;break label$6;}$7_1=$1_1+$2_1|0;$10_1=HEAP32[$0_1+20>>2]+1|0;$3_1=$1_1;$13_1=$3_1;while(1){$5_1=$3_1+1|0;$8_1=HEAP8[$3_1|0];label$9:{label$10:{if(($8_1|0)<=-1){label$12:{if(($5_1|0)==($7_1|0)){$9_1=0;$3_1=$7_1;break label$12;}$9_1=HEAPU8[$3_1+1|0]&63;$5_1=$3_1+2|0;$3_1=$5_1;}$11_1=$8_1&31;$4_1=$11_1<<6|$9_1;$8_1=$8_1&255;if($8_1>>>0<=223){break label$10;}label$14:{if(($3_1|0)==($7_1|0)){$4_1=0;$3_1=$7_1;break label$14;}$4_1=HEAPU8[$3_1|0]&63;$5_1=$3_1+1|0;$3_1=$5_1;}$9_1=$9_1<<6|$4_1;$4_1=$9_1|$11_1<<12;if($8_1>>>0<240){break label$10;}$4_1=$3_1;label$16:{if(($3_1|0)==($7_1|0)){$3_1=$5_1;$4_1=0;break label$16;}$3_1=$4_1+1|0;$4_1=HEAPU8[$4_1|0]&63;}$4_1=$4_1|($11_1<<18&1835008|$9_1<<6);if(($4_1|0)!=1114112){break label$9;}break label$6;}$4_1=$8_1&255;}$3_1=$5_1;}$10_1=$10_1+-1|0;if($10_1){$6_1=($6_1-$13_1|0)+$3_1|0;$13_1=$3_1;if(($3_1|0)!=($7_1|0)){continue;}break label$6;}break;};if(($4_1|0)==1114112){break label$6;}label$19:{label$20:{if(!$6_1){break label$20;}if(($2_1|0)==($6_1|0)){break label$20;}$3_1=0;if($6_1>>>0>=$2_1>>>0){break label$19;}if(HEAP8[$1_1+$6_1|0]<-64){break label$19;}}$3_1=$1_1;}$2_1=$3_1?$6_1:$2_1;$1_1=$3_1?$3_1:$1_1;}if($12_1){break label$3;}break label$1;}$5_1=0;if($2_1){$4_1=$2_1;$3_1=$1_1;while(1){$5_1=((HEAPU8[$3_1|0]&192)==128)+$5_1|0;$3_1=$3_1+1|0;$4_1=$4_1+-1|0;if($4_1){continue;}break;};}$7_1=HEAP32[$0_1+12>>2];if($2_1-$5_1>>>0>=$7_1>>>0){break label$1;}$6_1=0;$5_1=0;if($2_1){$4_1=$2_1;$3_1=$1_1;while(1){$5_1=((HEAPU8[$3_1|0]&192)==128)+$5_1|0;$3_1=$3_1+1|0;$4_1=$4_1+-1|0;if($4_1){continue;}break;};}$4_1=$7_1+($5_1-$2_1|0)|0;label$25:{label$26:{label$27:{$3_1=HEAPU8[$0_1+48|0];switch((($3_1|0)==3?0:$3_1)-1|0){case 1:break label$26;case 0:case 2:break label$27;default:break label$25;};}$6_1=$4_1;$4_1=0;break label$25;}$6_1=$4_1>>>1;$4_1=$4_1+1>>>1;}$3_1=$6_1+1|0;label$28:{while(1){$3_1=$3_1+-1|0;if(!$3_1){break label$28;}if(!FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+16>>2]](HEAP32[$0_1+24>>2],HEAP32[$0_1+4>>2])){continue;}break;};return 1;}$5_1=HEAP32[$0_1+4>>2];$3_1=1;if(FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+12>>2]](HEAP32[$0_1+24>>2],$1_1,$2_1)){break label$2;}$3_1=$4_1+1|0;$1_1=HEAP32[$0_1+28>>2];$0_1=HEAP32[$0_1+24>>2];while(1){$3_1=$3_1+-1|0;if(!$3_1){return 0;}if(!FUNCTION_TABLE[HEAP32[$1_1+16>>2]]($0_1,$5_1)){continue;}break;};return 1;}return $3_1;}return FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+12>>2]](HEAP32[$0_1+24>>2],$1_1,$2_1)|0;}function $27($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,wasm2js_i32$0=0,wasm2js_i32$1=0;$1_1=$0_1+-8|0;$3_1=HEAP32[$0_1+-4>>2];$0_1=$3_1&-8;$2_1=$1_1+$0_1|0;label$1:{label$2:{label$3:{label$4:{if($3_1&1){break label$4;}if(!($3_1&3)){break label$3;}$3_1=HEAP32[$1_1>>2];$0_1=$3_1+$0_1|0;$1_1=$1_1-$3_1|0;if(($1_1|0)==HEAP32[294818]){if((HEAP32[$2_1+4>>2]&3)!=3){break label$4;}HEAP32[294816]=$0_1;HEAP32[$2_1+4>>2]=HEAP32[$2_1+4>>2]&-2;HEAP32[$1_1+4>>2]=$0_1|1;HEAP32[$0_1+$1_1>>2]=$0_1;return;}if($3_1>>>0>=256){$66($1_1);break label$4;}$4_1=HEAP32[$1_1+8>>2];$5_1=HEAP32[$1_1+12>>2];if(($4_1|0)!=($5_1|0)){HEAP32[$4_1+12>>2]=$5_1;HEAP32[$5_1+8>>2]=$4_1;break label$4;}(wasm2js_i32$0=1178864,wasm2js_i32$1=HEAP32[294716]&__wasm_rotl_i32($3_1>>>3)),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}label$8:{$3_1=HEAP32[$2_1+4>>2];if($3_1&2){HEAP32[$2_1+4>>2]=$3_1&-2;HEAP32[$1_1+4>>2]=$0_1|1;HEAP32[$0_1+$1_1>>2]=$0_1;break label$8;}label$10:{if(($2_1|0)!=HEAP32[294819]){if(($2_1|0)!=HEAP32[294818]){break label$10;}HEAP32[294818]=$1_1;$0_1=HEAP32[294816]+$0_1|0;HEAP32[294816]=$0_1;HEAP32[$1_1+4>>2]=$0_1|1;HEAP32[$0_1+$1_1>>2]=$0_1;return;}HEAP32[294819]=$1_1;$0_1=HEAP32[294817]+$0_1|0;HEAP32[294817]=$0_1;HEAP32[$1_1+4>>2]=$0_1|1;if(HEAP32[294818]==($1_1|0)){HEAP32[294816]=0;HEAP32[294818]=0;}$3_1=HEAP32[294826];if($3_1>>>0>=$0_1>>>0){break label$3;}$0_1=HEAP32[294819];if(!$0_1){break label$3;}$4_1=HEAP32[294817];label$13:{if($4_1>>>0<41){break label$13;}$1_1=1179288;while(1){$2_1=HEAP32[$1_1>>2];if($2_1+HEAP32[$1_1+4>>2]>>>0>$0_1>>>0?$2_1>>>0<=$0_1>>>0:0){break label$13;}$1_1=HEAP32[$1_1+8>>2];if($1_1){continue;}break;};}$0_1=HEAP32[294824];$2_1=4095;label$16:{if(!$0_1){break label$16;}$1_1=0;while(1){$1_1=$1_1+1|0;$0_1=HEAP32[$0_1+8>>2];if($0_1){continue;}break;};$2_1=$1_1>>>0>4095?$1_1:4095;}HEAP32[294828]=$2_1;if($4_1>>>0<=$3_1>>>0){break label$3;}HEAP32[294826]=-1;return;}$4_1=$3_1&-8;$0_1=$4_1+$0_1|0;label$18:{if($4_1>>>0>=256){$66($2_1);break label$18;}$4_1=HEAP32[$2_1+12>>2];$2_1=HEAP32[$2_1+8>>2];if(($4_1|0)!=($2_1|0)){HEAP32[$2_1+12>>2]=$4_1;HEAP32[$4_1+8>>2]=$2_1;break label$18;}(wasm2js_i32$0=1178864,wasm2js_i32$1=HEAP32[294716]&__wasm_rotl_i32($3_1>>>3)),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}HEAP32[$1_1+4>>2]=$0_1|1;HEAP32[$0_1+$1_1>>2]=$0_1;if(HEAP32[294818]!=($1_1|0)){break label$8;}HEAP32[294816]=$0_1;break label$3;}if($0_1>>>0<256){break label$2;}$61($1_1,$0_1);$0_1=HEAP32[294828]+-1|0;HEAP32[294828]=$0_1;if($0_1){break label$3;}$0_1=HEAP32[294824];if($0_1){break label$1;}HEAP32[294828]=4095;return;}return;}$2_1=$0_1>>>3;$0_1=($2_1<<3)+1178872|0;$3_1=HEAP32[294716];$2_1=1<<($2_1&31);$4_1=HEAP32[$0_1+8>>2];label$21:{if($3_1&$2_1){break label$21;}HEAP32[294716]=$2_1|$3_1;$4_1=$0_1;}$2_1=$4_1;HEAP32[$0_1+8>>2]=$1_1;HEAP32[$2_1+12>>2]=$1_1;HEAP32[$1_1+12>>2]=$0_1;HEAP32[$1_1+8>>2]=$2_1;return;}$1_1=0;while(1){$1_1=$1_1+1|0;$0_1=HEAP32[$0_1+8>>2];if($0_1){continue;}break;};HEAP32[294828]=$1_1>>>0>4095?$1_1:4095;}function $28($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$3_1=3;$4_1=1;label$1:{label$2:{switch(HEAPU8[$1_1|0]-1|0){default:$3_1=__wasm_i64_mul($2_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 0:$3_1=(HEAP32[$1_1+12>>2]?HEAP32[$1_1+8>>2]+4|0:3)+$2_1|0;$4_1=$3_1>>>0>=$2_1>>>0;break label$1;case 1:$4_1=0;$1_1=(HEAPU8[$1_1+11|0]+(HEAPU8[$1_1+5|0]+(HEAPU8[$1_1+3|0]+(HEAPU8[$1_1+7|0]+HEAPU8[$1_1+1|0]|0)|0)|0)|0)+$2_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$1_1=__wasm_i64_mul($1_1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$1_1+1|0;$4_1=$3_1>>>0>=$1_1>>>0;break label$1;case 2:$3_1=1;label$12:{if(HEAPU8[$1_1+1|0]==1){$1_1=$2_1+1|0;$3_1=$1_1>>>0>=$2_1>>>0;break label$12;}$1_1=$2_1;}$4_1=0;if(($3_1|0)!=1){break label$1;}$2_1=$1_1+$1_1|0;if($2_1>>>0<$1_1>>>0){break label$1;}$3_1=$2_1+2|0;$4_1=$3_1>>>0>=$2_1>>>0;break label$1;case 3:$4_1=0;label$14:{if(HEAPU8[$1_1+1|0]){$1_1=$2_1+1|0;$3_1=$1_1>>>0>=$2_1>>>0;break label$14;}$1_1=$2_1;$3_1=1;}if(($3_1|0)!=1){break label$1;}$2_1=$1_1+1|0;if($2_1>>>0<$1_1>>>0){break label$1;}$2_1=$2_1>>>1;$1_1=$2_1+$1_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$3_1=$1_1+2|0;$4_1=$3_1>>>0>=$1_1>>>0;break label$1;case 4:$4_1=0;$6_1=HEAPU8[$1_1+5|0];$7_1=HEAPU8[$1_1+3|0];$5_1=((!$6_1&($7_1|0)!=0)+(HEAPU8[$1_1+1|0]+-5>>>0<2)|0)+$2_1|0;if($5_1>>>0<$2_1>>>0){break label$1;}$1_1=(HEAPU8[$1_1+4|0]+(($7_1|0)!=0&($6_1|0)!=0)|0)+$5_1|0;if($1_1>>>0<$5_1>>>0){break label$1;}$3_1=__wasm_i64_mul($1_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 5:$3_1=1;label$16:{if(HEAPU8[$1_1+1|0]==1){$1_1=$2_1+1|0;$3_1=$1_1>>>0>=$2_1>>>0;break label$16;}$1_1=$2_1;}if(($3_1|0)!=1){$4_1=0;break label$1;}$3_1=__wasm_i64_mul($1_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 6:$3_1=1;label$19:{if(HEAPU8[$1_1+1|0]==1){$1_1=$2_1+1|0;$3_1=$1_1>>>0>=$2_1>>>0;break label$19;}$1_1=$2_1;}$4_1=0;if(($3_1|0)!=1){break label$1;}$2_1=$1_1+1|0;if($2_1>>>0<$1_1>>>0){break label$1;}$2_1=$2_1>>>1;$1_1=$2_1+$1_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$3_1=$1_1+2|0;$4_1=$3_1>>>0>=$1_1>>>0;break label$1;case 8:$3_1=__wasm_i64_mul($2_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 7:break label$1;case 9:break label$2;};}$4_1=0;$1_1=(((HEAPU16[$1_1+2>>1]!=0)<<1)+(HEAPU8[$1_1+4|0]==1?2:1)|0)+$2_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$1_1=__wasm_i64_mul($1_1>>>1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$1_1+1|0;$4_1=$3_1>>>0>=$1_1>>>0;}HEAP32[$0_1+4>>2]=$3_1;HEAP32[$0_1>>2]=$4_1;}function $29($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$3_1=3;$4_1=1;label$1:{label$2:{label$3:{switch(HEAPU8[$1_1|0]-1|0){default:$3_1=__wasm_i64_mul($2_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 0:$4_1=0;$1_1=(HEAP32[$1_1+12>>2]?HEAP32[$1_1+8>>2]+1|0:0)+$2_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$1_1=__wasm_i64_mul($1_1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$1_1+3|0;$4_1=$3_1>>>0>=$1_1>>>0;break label$1;case 1:$4_1=0;$1_1=(HEAPU8[$1_1+11|0]+(HEAPU8[$1_1+5|0]+(HEAPU8[$1_1+3|0]+(HEAPU8[$1_1+7|0]+HEAPU8[$1_1+1|0]|0)|0)|0)|0)+$2_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$1_1=__wasm_i64_mul($1_1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$1_1+1|0;$4_1=$3_1>>>0>=$1_1>>>0;break label$1;case 2:$3_1=1;label$13:{if(HEAPU8[$1_1+1|0]==1){$1_1=$2_1+1|0;$3_1=$1_1>>>0>=$2_1>>>0;break label$13;}$1_1=$2_1;}$4_1=0;if(($3_1|0)!=1){break label$1;}$1_1=__wasm_i64_mul($1_1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$1_1+3|0;$4_1=$3_1>>>0>=$1_1>>>0;break label$1;case 3:label$15:{if(HEAPU8[$1_1+1|0]){$3_1=$2_1+1|0;$1_1=$3_1>>>0>=$2_1>>>0;break label$15;}$3_1=$2_1;$1_1=1;}if(($1_1|0)!=1){break label$2;}$3_1=__wasm_i64_mul($3_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 4:$4_1=0;$6_1=HEAPU8[$1_1+5|0];$7_1=HEAPU8[$1_1+3|0];$5_1=((!$6_1&($7_1|0)!=0)+(HEAPU8[$1_1+1|0]+-5>>>0<2)|0)+$2_1|0;if($5_1>>>0<$2_1>>>0){break label$1;}$1_1=(HEAPU8[$1_1+4|0]+(($7_1|0)!=0&($6_1|0)!=0)|0)+$5_1|0;if($1_1>>>0<$5_1>>>0){break label$1;}$3_1=__wasm_i64_mul($1_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 5:$3_1=1;label$17:{if(HEAPU8[$1_1+1|0]==1){$1_1=$2_1+1|0;$3_1=$1_1>>>0>=$2_1>>>0;break label$17;}$1_1=$2_1;}if(($3_1|0)!=1){break label$2;}$3_1=__wasm_i64_mul($1_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 6:$3_1=1;label$19:{if(HEAPU8[$1_1+1|0]==1){$1_1=$2_1+1|0;$3_1=$1_1>>>0>=$2_1>>>0;break label$19;}$1_1=$2_1;}if(($3_1|0)!=1){break label$2;}$3_1=__wasm_i64_mul($1_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 8:$3_1=__wasm_i64_mul($2_1,0,3);$4_1=!i64toi32_i32$HIGH_BITS;break label$1;case 7:break label$1;case 9:break label$3;};}$4_1=0;$1_1=(((HEAPU16[$1_1+2>>1]!=0)<<1)+(HEAPU8[$1_1+4|0]==1?2:1)|0)+$2_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$1_1=__wasm_i64_mul($1_1>>>1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$1_1+1|0;$4_1=$3_1>>>0>=$1_1>>>0;break label$1;}$4_1=0;}HEAP32[$0_1+4>>2]=$3_1;HEAP32[$0_1>>2]=$4_1;}function $30($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0;label$1:{label$2:{$4_1=$2_1&3;if(!$4_1){break label$2;}$4_1=4-$4_1|0;if(!$4_1){break label$2;}$9_1=$4_1>>>0>$3_1>>>0?$3_1:$4_1;$10_1=$9_1+$2_1|0;$6_1=$1_1&255;$8_1=$9_1;$4_1=$2_1;while(1){label$4:{if($10_1-$4_1>>>0<=3){$6_1=0;$10_1=$1_1&255;while(1){if(!$8_1){break label$2;}$7_1=$4_1+$6_1|0;$8_1=$8_1+-1|0;$6_1=$6_1+1|0;$7_1=HEAPU8[$7_1|0];if(($7_1|0)!=($10_1|0)){continue;}break;};$5_1=((((($7_1|0)==($1_1&255))+1&1)+$5_1|0)+$6_1|0)+-1|0;break label$4;}$7_1=HEAPU8[$4_1|0];$5_1=(($7_1|0)!=($6_1|0))+$5_1|0;if(($6_1|0)==($7_1|0)){break label$4;}$7_1=HEAPU8[$4_1+1|0];$5_1=(($7_1|0)!=($6_1|0))+$5_1|0;if(($6_1|0)==($7_1|0)){break label$4;}$7_1=HEAPU8[$4_1+2|0];$5_1=(($7_1|0)!=($6_1|0))+$5_1|0;if(($6_1|0)==($7_1|0)){break label$4;}$7_1=HEAPU8[$4_1+3|0];$5_1=(($7_1|0)!=($6_1|0))+$5_1|0;$8_1=$8_1+-4|0;$4_1=$4_1+4|0;if(($6_1|0)!=($7_1|0)){continue;}}break;};$4_1=1;break label$1;}$6_1=$1_1&255;label$7:{label$8:{if($3_1>>>0<8){break label$8;}$8_1=$3_1+-8|0;if($9_1>>>0>$8_1>>>0){break label$8;}$4_1=Math_imul($6_1,16843009);while(1){$5_1=$2_1+$9_1|0;$10_1=$4_1^HEAP32[$5_1+4>>2];$5_1=$4_1^HEAP32[$5_1>>2];if(!((($10_1^-1)&$10_1+-16843009|($5_1^-1)&$5_1+-16843009)&-2139062144)){$9_1=$9_1+8|0;if($9_1>>>0<=$8_1>>>0){continue;}}break;};if($9_1>>>0>$3_1>>>0){break label$7;}}$4_1=$2_1+$9_1|0;$2_1=$2_1+$3_1|0;$8_1=$3_1-$9_1|0;$5_1=0;label$11:{while(1){label$13:{if($2_1-$4_1>>>0<=3){$6_1=0;$2_1=$1_1&255;while(1){if(!$8_1){break label$11;}$3_1=$4_1+$6_1|0;$8_1=$8_1+-1|0;$6_1=$6_1+1|0;$3_1=HEAPU8[$3_1|0];if(($3_1|0)!=($2_1|0)){continue;}break;};$5_1=((((($3_1|0)==($1_1&255))+1&1)+$5_1|0)+$6_1|0)+-1|0;break label$13;}$3_1=HEAPU8[$4_1|0];$5_1=(($3_1|0)!=($6_1|0))+$5_1|0;if(($3_1|0)==($6_1|0)){break label$13;}$3_1=HEAPU8[$4_1+1|0];$5_1=(($3_1|0)!=($6_1|0))+$5_1|0;if(($3_1|0)==($6_1|0)){break label$13;}$3_1=HEAPU8[$4_1+2|0];$5_1=(($3_1|0)!=($6_1|0))+$5_1|0;if(($3_1|0)==($6_1|0)){break label$13;}$3_1=HEAPU8[$4_1+3|0];$5_1=(($3_1|0)!=($6_1|0))+$5_1|0;$8_1=$8_1+-4|0;$4_1=$4_1+4|0;if(($3_1|0)!=($6_1|0)){continue;}}break;};$4_1=1;$5_1=$5_1+$9_1|0;break label$1;}$4_1=0;$5_1=($6_1+$5_1|0)+$9_1|0;break label$1;}$102($9_1,$3_1);abort();}HEAP32[$0_1+4>>2]=$5_1;HEAP32[$0_1>>2]=$4_1;}function $31($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,wasm2js_i32$0=0,wasm2js_i32$1=0;label$1:{if($1_1>>>0>4294901708){break label$1;}$2_1=$1_1>>>0<11?16:$1_1+11&-8;$6_1=$0_1+-4|0;$7_1=HEAP32[$6_1>>2];$3_1=$7_1&-8;label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{if($7_1&3){$8_1=$0_1+-8|0;$5_1=$3_1+$8_1|0;if($3_1>>>0>=$2_1>>>0){break label$7;}if(($5_1|0)==HEAP32[294819]){break label$6;}if(($5_1|0)==HEAP32[294818]){break label$5;}$7_1=HEAP32[$5_1+4>>2];if($7_1&2){break label$2;}$9_1=$7_1&-8;$3_1=$3_1+$9_1|0;if($3_1>>>0>=$2_1>>>0){break label$4;}break label$2;}if($2_1>>>0<256){break label$2;}if($3_1>>>0<($2_1|4)>>>0){break label$2;}if($3_1-$2_1>>>0>=131073){break label$2;}break label$3;}$1_1=$3_1-$2_1|0;if($1_1>>>0<16){break label$3;}HEAP32[$6_1>>2]=$2_1|$7_1&1|2;$4_1=$2_1+$8_1|0;HEAP32[$4_1+4>>2]=$1_1|3;HEAP32[$5_1+4>>2]=HEAP32[$5_1+4>>2]|1;$39($4_1,$1_1);break label$3;}$3_1=$3_1+HEAP32[294817]|0;if($3_1>>>0<=$2_1>>>0){break label$2;}HEAP32[$6_1>>2]=$2_1|$7_1&1|2;$1_1=$2_1+$8_1|0;$4_1=$3_1-$2_1|0;HEAP32[$1_1+4>>2]=$4_1|1;HEAP32[294817]=$4_1;HEAP32[294819]=$1_1;break label$3;}$3_1=$3_1+HEAP32[294816]|0;if($3_1>>>0<$2_1>>>0){break label$2;}$1_1=$3_1-$2_1|0;label$9:{if($1_1>>>0<=15){HEAP32[$6_1>>2]=$3_1|$7_1&1|2;$1_1=$3_1+$8_1|0;HEAP32[$1_1+4>>2]=HEAP32[$1_1+4>>2]|1;$1_1=0;break label$9;}HEAP32[$6_1>>2]=$2_1|$7_1&1|2;$4_1=$2_1+$8_1|0;HEAP32[$4_1+4>>2]=$1_1|1;$2_1=$3_1+$8_1|0;HEAP32[$2_1>>2]=$1_1;HEAP32[$2_1+4>>2]=HEAP32[$2_1+4>>2]&-2;}HEAP32[294818]=$4_1;HEAP32[294816]=$1_1;break label$3;}$1_1=$3_1-$2_1|0;label$11:{if($9_1>>>0>=256){$66($5_1);break label$11;}$4_1=HEAP32[$5_1+12>>2];$5_1=HEAP32[$5_1+8>>2];if(($4_1|0)!=($5_1|0)){HEAP32[$5_1+12>>2]=$4_1;HEAP32[$4_1+8>>2]=$5_1;break label$11;}(wasm2js_i32$0=1178864,wasm2js_i32$1=HEAP32[294716]&__wasm_rotl_i32($7_1>>>3)),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}if($1_1>>>0>=16){HEAP32[$6_1>>2]=$2_1|HEAP32[$6_1>>2]&1|2;$4_1=$2_1+$8_1|0;HEAP32[$4_1+4>>2]=$1_1|3;$2_1=$3_1+$8_1|0;HEAP32[$2_1+4>>2]=HEAP32[$2_1+4>>2]|1;$39($4_1,$1_1);break label$3;}HEAP32[$6_1>>2]=$3_1|HEAP32[$6_1>>2]&1|2;$1_1=$3_1+$8_1|0;HEAP32[$1_1+4>>2]=HEAP32[$1_1+4>>2]|1;}$4_1=$0_1;break label$1;}$2_1=$7($1_1);if(!$2_1){break label$1;}$4_1=HEAP32[$6_1>>2];$4_1=($4_1&-8)-($4_1&3?4:8)|0;$1_1=$126($2_1,$0_1,$4_1>>>0>$1_1>>>0?$1_1:$4_1);$27($0_1);return $1_1;}return $4_1;}function $32($0_1,$1_1,$2_1,$3_1,$4_1,$5_1){var $6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0;label$1:{if($1_1){$9_1=HEAP32[$0_1>>2];$1_1=$9_1&1;$8_1=$1_1?43:1114112;$7_1=$1_1+$5_1|0;break label$1;}$9_1=HEAP32[$0_1>>2];$8_1=45;$7_1=$5_1+1|0;}label$3:{if(!($9_1&4)){$2_1=0;break label$3;}if($3_1){$10_1=$3_1;$1_1=$2_1;while(1){$6_1=((HEAPU8[$1_1|0]&192)==128)+$6_1|0;$1_1=$1_1+1|0;$10_1=$10_1+-1|0;if($10_1){continue;}break;};}$7_1=($3_1+$7_1|0)-$6_1|0;}label$7:{label$8:{if(HEAP32[$0_1+8>>2]!=1){if($121($0_1,$8_1,$2_1,$3_1)){break label$8;}break label$7;}$1_1=HEAP32[$0_1+12>>2];if($1_1>>>0<=$7_1>>>0){if($121($0_1,$8_1,$2_1,$3_1)){break label$8;}break label$7;}label$11:{if(!($9_1&8)){$6_1=$1_1-$7_1|0;$1_1=0;label$13:{label$14:{label$15:{$7_1=HEAPU8[$0_1+48|0];switch((($7_1|0)==3?1:$7_1)-1|0){case 1:break label$14;case 0:case 2:break label$15;default:break label$13;};}$1_1=$6_1;$6_1=0;break label$13;}$1_1=$6_1>>>1;$6_1=$6_1+1>>>1;}$1_1=$1_1+1|0;while(1){$1_1=$1_1+-1|0;if(!$1_1){break label$11;}if(!FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+16>>2]](HEAP32[$0_1+24>>2],HEAP32[$0_1+4>>2])){continue;}break;};return 1;}HEAP8[$0_1+48|0]=1;HEAP32[$0_1+4>>2]=48;if($121($0_1,$8_1,$2_1,$3_1)){break label$8;}$6_1=$1_1-$7_1|0;$1_1=0;label$17:{label$18:{label$19:{$2_1=HEAPU8[$0_1+48|0];switch((($2_1|0)==3?1:$2_1)-1|0){case 1:break label$18;case 0:case 2:break label$19;default:break label$17;};}$1_1=$6_1;$6_1=0;break label$17;}$1_1=$6_1>>>1;$6_1=$6_1+1>>>1;}$1_1=$1_1+1|0;label$20:{while(1){$1_1=$1_1+-1|0;if(!$1_1){break label$20;}if(!FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+16>>2]](HEAP32[$0_1+24>>2],HEAP32[$0_1+4>>2])){continue;}break;};return 1;}$1_1=HEAP32[$0_1+4>>2];if(FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+12>>2]](HEAP32[$0_1+24>>2],$4_1,$5_1)){break label$8;}$6_1=$6_1+1|0;$2_1=HEAP32[$0_1+28>>2];$0_1=HEAP32[$0_1+24>>2];while(1){$6_1=$6_1+-1|0;if(!$6_1){return 0;}if(!FUNCTION_TABLE[HEAP32[$2_1+16>>2]]($0_1,$1_1)){continue;}break;};break label$8;}$1_1=HEAP32[$0_1+4>>2];if($121($0_1,$8_1,$2_1,$3_1)){break label$8;}if(FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+12>>2]](HEAP32[$0_1+24>>2],$4_1,$5_1)){break label$8;}$6_1=$6_1+1|0;$2_1=HEAP32[$0_1+28>>2];$0_1=HEAP32[$0_1+24>>2];while(1){$6_1=$6_1+-1|0;if(!$6_1){return 0;}if(!FUNCTION_TABLE[HEAP32[$2_1+16>>2]]($0_1,$1_1)){continue;}break;};}return 1;}return FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+12>>2]](HEAP32[$0_1+24>>2],$4_1,$5_1)|0;}function $33($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0;$1_1=global$0+-64|0;global$0=$1_1;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{label$8:{label$9:{$4_1=HEAPU16[$0_1>>1];switch($4_1-1|0){case 2:break label$5;case 1:break label$6;case 3:break label$8;case 0:break label$9;default:break label$7;};}$3_1=$166(38,1);if(!$3_1){break label$3;}HEAP32[$1_1+36>>2]=38;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=$3_1;$3_1=0;$88($1_1+32|0,0,38);$2_1=HEAP32[$1_1+40>>2];HEAP32[$1_1+40>>2]=$2_1+38;$77($2_1+HEAP32[$1_1+32>>2]|0,38,1051108,38);HEAP32[$1_1+16>>2]=HEAP32[$1_1+40>>2];$2_1=HEAP32[$1_1+36>>2];HEAP32[$1_1+8>>2]=HEAP32[$1_1+32>>2];HEAP32[$1_1+12>>2]=$2_1;break label$4;}$3_1=$0_1+4|0;$2_1=HEAP32[$3_1+4>>2];HEAP32[$1_1+24>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+28>>2]=$2_1;$3_1=1;HEAP32[$1_1+52>>2]=1;HEAP32[$1_1+36>>2]=1;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=1051016;HEAP32[$1_1+60>>2]=28;HEAP32[$1_1+48>>2]=$1_1+56;HEAP32[$1_1+56>>2]=$1_1+24;$56($1_1+8|0,$1_1+32|0);if(HEAPU8[$1_1+24|0]<2){break label$4;}$2_1=HEAP32[$1_1+28>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$1_1+28>>2]);break label$4;}$3_1=$166(31,1);if(!$3_1){break label$2;}HEAP32[$1_1+36>>2]=31;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=$3_1;$3_1=0;$88($1_1+32|0,0,31);$2_1=HEAP32[$1_1+40>>2];HEAP32[$1_1+40>>2]=$2_1+31;$77($2_1+HEAP32[$1_1+32>>2]|0,31,1051146,31);HEAP32[$1_1+16>>2]=HEAP32[$1_1+40>>2];$2_1=HEAP32[$1_1+36>>2];HEAP32[$1_1+8>>2]=HEAP32[$1_1+32>>2];HEAP32[$1_1+12>>2]=$2_1;break label$4;}$3_1=$166(28,1);if(!$3_1){break label$1;}HEAP32[$1_1+36>>2]=28;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=$3_1;$3_1=0;$88($1_1+32|0,0,28);$2_1=HEAP32[$1_1+40>>2];HEAP32[$1_1+40>>2]=$2_1+28;$77($2_1+HEAP32[$1_1+32>>2]|0,28,1051080,28);HEAP32[$1_1+16>>2]=HEAP32[$1_1+40>>2];$2_1=HEAP32[$1_1+36>>2];HEAP32[$1_1+8>>2]=HEAP32[$1_1+32>>2];HEAP32[$1_1+12>>2]=$2_1;break label$4;}HEAP16[$1_1+24>>1]=HEAPU16[$0_1+2>>1];HEAP32[$1_1+52>>2]=1;HEAP32[$1_1+36>>2]=1;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=1051072;HEAP32[$1_1+60>>2]=18;HEAP32[$1_1+48>>2]=$1_1+56;HEAP32[$1_1+56>>2]=$1_1+24;$56($1_1+8|0,$1_1+32|0);}$2_1=HEAP32[$1_1+8>>2];$5_1=$179($2_1,HEAP32[$1_1+16>>2]);if(HEAP32[$1_1+12>>2]){$27($2_1);}label$12:{if(!(($3_1^1)&($4_1|0)==4)){break label$12;}if(HEAPU8[$0_1+4|0]<2){break label$12;}$0_1=HEAP32[$0_1+8>>2];FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]>>2]](HEAP32[$0_1>>2]);if(HEAP32[HEAP32[$0_1+4>>2]+4>>2]){$27(HEAP32[$0_1>>2]);}$27($0_1);}global$0=$1_1- -64|0;return $5_1;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](38,1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](31,1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](28,1);abort();}function $34($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0;$3_1=global$0-32|0;global$0=$3_1;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{if(!$2_1){$2_1=HEAP32[$1_1>>2];$5_1=HEAP32[262998];label$8:{$1_1=HEAP32[$1_1+8>>2];if($1_1>>>0>=3){if(($2_1|0)==1048576){break label$8;}if(!$120(1048576,$2_1,3)){break label$8;}break label$6;}if(($1_1|0)==2){break label$6;}$4_1=$5_1;break label$4;}$4_1=HEAP32[263022];$6_1=3;break label$5;}$2_1=HEAP32[$1_1+8>>2];if(($2_1|0)<=-1){break label$2;}$4_1=HEAP32[$1_1>>2];$1_1=1;label$10:{if($2_1){$1_1=$166($2_1,1);if(!$1_1){break label$10;}}HEAP32[$3_1+16>>2]=0;HEAP32[$3_1+12>>2]=$2_1;HEAP32[$3_1+8>>2]=$1_1;$88($3_1+8|0,0,$2_1);$1_1=HEAP32[$3_1+16>>2];HEAP32[$3_1+16>>2]=$1_1+$2_1;$77($1_1+HEAP32[$3_1+8>>2]|0,$2_1,$4_1,$2_1);$1_1=HEAP32[$3_1+12>>2];$2_1=HEAP32[$3_1+8>>2];$4_1=HEAP32[$3_1+16>>2];$116($3_1+8|0,$2_1,$4_1);if(HEAP32[$3_1+8>>2]==1){if($1_1){$27($2_1);}HEAP16[$0_1>>1]=1;break label$3;}HEAP8[$0_1|0]=0;HEAP32[$0_1+12>>2]=$4_1;HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1+4>>2]=$2_1;break label$3;}break label$1;}label$14:{if(($2_1|0)==1048579){break label$14;}if((HEAPU8[$2_1|0]|HEAPU8[$2_1+1|0]<<8)==65279){break label$14;}label$15:{if(($2_1|0)==1048581){break label$15;}if((HEAPU8[$2_1|0]|HEAPU8[$2_1+1|0]<<8)==65534){break label$15;}$4_1=$5_1;break label$4;}$4_1=HEAP32[263006];$6_1=2;if($4_1){break label$5;}$4_1=$5_1;break label$4;}$4_1=HEAP32[263014];$6_1=2;}$5_1=$6_1;$2_1=$2_1+$5_1|0;$1_1=$1_1-$5_1|0;}$14($3_1+8|0,$4_1,$2_1,$1_1);$2_1=HEAP32[$3_1+16>>2];$1_1=HEAP32[$3_1+12>>2];$4_1=HEAP32[$3_1+8>>2];if(!HEAPU8[$3_1+24|0]){if(($4_1|0)==1){$4_1=HEAP32[$3_1+20>>2];}else{if(($2_1|0)<=-1){break label$2;}label$19:{if(!$2_1){$4_1=1;break label$19;}$4_1=$166($2_1,1);if(!$4_1){break label$1;}}HEAP32[$3_1+16>>2]=0;HEAP32[$3_1+12>>2]=$2_1;HEAP32[$3_1+8>>2]=$4_1;$88($3_1+8|0,0,$2_1);$4_1=HEAP32[$3_1+16>>2];HEAP32[$3_1+16>>2]=$4_1+$2_1;$77($4_1+HEAP32[$3_1+8>>2]|0,$2_1,$1_1,$2_1);$2_1=HEAP32[$3_1+12>>2];$1_1=HEAP32[$3_1+8>>2];$4_1=HEAP32[$3_1+16>>2];}HEAP8[$0_1|0]=0;HEAP32[$0_1+12>>2]=$4_1;HEAP32[$0_1+8>>2]=$2_1;HEAP32[$0_1+4>>2]=$1_1;break label$3;}HEAP16[$0_1>>1]=257;if(!$4_1){break label$3;}if(!$2_1){break label$3;}$27($1_1);}global$0=$3_1+32|0;return;}$183();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}function $35($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$3_1=global$0+-64|0;global$0=$3_1;HEAP32[$3_1+16>>2]=HEAP32[$2_1+8>>2];HEAP32[$3_1>>2]=0;HEAP32[$3_1+4>>2]=0;$5_1=HEAP32[$2_1+4>>2];HEAP32[$3_1+8>>2]=HEAP32[$2_1>>2];HEAP32[$3_1+12>>2]=$5_1;$11($3_1+40|0,$3_1,HEAPU16[$1_1+38>>1]);$2_1=1;label$1:{label$2:{label$3:{$5_1=HEAP32[$3_1+40>>2];if(($5_1|0)!=1){HEAP32[$3_1+32>>2]=HEAP32[$3_1+52>>2];$2_1=HEAP32[$3_1+48>>2];HEAP32[$3_1+24>>2]=HEAP32[$3_1+44>>2];HEAP32[$3_1+28>>2]=$2_1;$2_1=HEAP32[$1_1+48>>2];if($2_1){$6_1=HEAP32[$1_1+40>>2];$7_1=Math_imul($2_1,84);while(1){$2_1=$4_1+$6_1|0;if(HEAP32[$2_1+28>>2]){$27(HEAP32[$2_1+24>>2]);}if(HEAP32[$2_1+40>>2]){$27(HEAP32[$2_1+36>>2]);}if(HEAP32[$2_1+52>>2]){$27(HEAP32[$2_1+48>>2]);}$4_1=$4_1+84|0;if(($7_1|0)!=($4_1|0)){continue;}break;};}$2_1=$1_1+40|0;if(HEAP32[$1_1+44>>2]){$27(HEAP32[$2_1>>2]);}$4_1=HEAP32[$3_1+28>>2];HEAP32[$2_1>>2]=HEAP32[$3_1+24>>2];HEAP32[$2_1+4>>2]=$4_1;HEAP32[$2_1+8>>2]=HEAP32[$3_1+32>>2];if($5_1){break label$3;}break label$2;}$1_1=HEAP32[$3_1+48>>2];HEAP32[$3_1+56>>2]=HEAP32[$3_1+44>>2];HEAP32[$3_1+60>>2]=$1_1;$4_1=$41($3_1+56|0);if(!HEAP32[$3_1+12>>2]){break label$1;}$27(HEAP32[$3_1+8>>2]);break label$1;}$2_1=HEAPU8[$3_1+44|0];if(($2_1|0)!=2?($2_1&7)>>>0<=4:0){break label$2;}$2_1=HEAP32[$3_1+48>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);}$4_1=fimport$3()|0;HEAP32[$3_1+56>>2]=$4_1;$2_1=HEAP32[$1_1+48>>2];if($2_1){$4_1=Math_imul($2_1,84);$2_1=HEAP32[$1_1+40>>2]+24|0;while(1){$112($3_1+40|0,$2_1);$1_1=HEAP32[$3_1+40>>2];$5_1=fimport$1($1_1|0,HEAP32[$3_1+48>>2])|0;if(HEAP32[$3_1+44>>2]){$27($1_1);}HEAP32[$3_1+24>>2]=$5_1;fimport$4(HEAP32[$3_1+56>>2],HEAP32[$3_1+24>>2])|0;$1_1=HEAP32[$3_1+24>>2];if($1_1>>>0>=36){fimport$2($1_1|0);}$2_1=$2_1+84|0;$4_1=$4_1+-84|0;if($4_1){continue;}break;};$4_1=HEAP32[$3_1+56>>2];}$2_1=0;if(!HEAP32[$3_1+12>>2]){break label$1;}$27(HEAP32[$3_1+8>>2]);}HEAP32[$0_1+4>>2]=$4_1;HEAP32[$0_1>>2]=$2_1;global$0=$3_1- -64|0;}function $36($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0;$5_1=global$0-48|0;global$0=$5_1;label$1:{label$2:{switch(HEAPU8[$1_1+24|0]-1|0){case 9:$139(1052320,41,1052304);abort();case 0:case 1:case 2:case 8:$29($5_1+16|0,$1_1+4|0,$2_1);$3_1=HEAP32[$5_1+20>>2];$6_1=HEAP32[$5_1+16>>2];break label$1;default:$4_1=__wasm_i64_mul($2_1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$4_1;$4_1=$3_1+3|0;if($4_1>>>0<$3_1>>>0){break label$1;}$3_1=Math_imul($2_1+1>>>1,3)+1|0;$3_1=$4_1>>>0>$3_1>>>0?$4_1:$3_1;$4_1=HEAP32[$1_1>>2];if(($4_1|0)==1052068){$6_1=1;break label$1;}if(($4_1|0)==1052036){$6_1=1;break label$1;}if(($4_1|0)==1052004){$6_1=1;break label$1;}$29($5_1+8|0,$1_1+4|0,$2_1);if(HEAP32[$5_1+8>>2]!=1){break label$1;}$1_1=HEAP32[$5_1+12>>2];$3_1=$3_1>>>0>$1_1>>>0?$3_1:$1_1;$6_1=1;break label$1;case 3:case 4:$4_1=$2_1+2|0;if($4_1>>>0<$2_1>>>0){break label$1;}$2_1=__wasm_i64_mul($4_1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$2_1+3|0;if($3_1>>>0<$2_1>>>0){break label$1;}if(HEAP32[$1_1>>2]==1052068){$6_1=1;break label$1;}$29($5_1+24|0,$1_1+4|0,$4_1);if(HEAP32[$5_1+24>>2]!=1){break label$1;}$1_1=HEAP32[$5_1+28>>2];$3_1=$3_1>>>0>$1_1>>>0?$3_1:$1_1;$6_1=1;break label$1;case 7:$3_1=$2_1+2|0;if($3_1>>>0<$2_1>>>0){break label$1;}$29($5_1+40|0,$1_1+4|0,$3_1);$3_1=HEAP32[$5_1+44>>2];$6_1=HEAP32[$5_1+40>>2];break label$1;case 5:case 6:break label$2;};}$4_1=$2_1+2|0;if($4_1>>>0<$2_1>>>0){break label$1;}$2_1=$4_1+1|0;if($2_1>>>0<$4_1>>>0){break label$1;}$2_1=__wasm_i64_mul($2_1>>>1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$2_1+1|0;if($3_1>>>0<$2_1>>>0){break label$1;}$2_1=HEAP32[$1_1>>2];if(($2_1|0)==1052036){$6_1=1;break label$1;}if(($2_1|0)==1052004){$6_1=1;break label$1;}$29($5_1+32|0,$1_1+4|0,$4_1);if(HEAP32[$5_1+32>>2]!=1){break label$1;}$1_1=HEAP32[$5_1+36>>2];$3_1=$3_1>>>0>$1_1>>>0?$3_1:$1_1;$6_1=1;}HEAP32[$0_1+4>>2]=$3_1;HEAP32[$0_1>>2]=$6_1;global$0=$5_1+48|0;}function $37($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$1_1=global$0+-64|0;global$0=$1_1;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{label$7:{$4_1=HEAPU8[$0_1|0];$5_1=$4_1+-3|0;switch(((($5_1&255)>>>0<2?$5_1:2)&255)-1|0){case 0:break label$5;case 1:break label$6;default:break label$7;};}$2_1=$166(34,1);if(!$2_1){break label$2;}HEAP32[$1_1+36>>2]=34;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=$2_1;$88($1_1+32|0,0,34);$2_1=HEAP32[$1_1+40>>2];HEAP32[$1_1+40>>2]=$2_1+34;$77($2_1+HEAP32[$1_1+32>>2]|0,34,1050864,34);break label$4;}$3_1=HEAP32[$0_1+4>>2];$2_1=HEAP32[$0_1>>2];HEAP32[$1_1+24>>2]=$2_1;HEAP32[$1_1+28>>2]=$3_1;$6_1=1;HEAP32[$1_1+52>>2]=1;HEAP32[$1_1+36>>2]=1;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=1050824;HEAP32[$1_1+60>>2]=28;HEAP32[$1_1+48>>2]=$1_1+56;HEAP32[$1_1+56>>2]=$1_1+24;$56($1_1+8|0,$1_1+32|0);if(HEAPU8[$1_1+24|0]>=2){$3_1=HEAP32[$1_1+28>>2];FUNCTION_TABLE[HEAP32[HEAP32[$3_1+4>>2]>>2]](HEAP32[$3_1>>2]);if(HEAP32[HEAP32[$3_1+4>>2]+4>>2]){$27(HEAP32[$3_1>>2]);}$27(HEAP32[$1_1+28>>2]);}break label$3;}$2_1=$166(32,1);if(!$2_1){break label$1;}HEAP32[$1_1+36>>2]=32;HEAP32[$1_1+40>>2]=0;HEAP32[$1_1+32>>2]=$2_1;$88($1_1+32|0,0,32);$2_1=HEAP32[$1_1+40>>2];HEAP32[$1_1+40>>2]=$2_1+32;$77($2_1+HEAP32[$1_1+32>>2]|0,32,1050832,32);}HEAP32[$1_1+16>>2]=HEAP32[$1_1+40>>2];$2_1=HEAP32[$1_1+36>>2];HEAP32[$1_1+8>>2]=HEAP32[$1_1+32>>2];HEAP32[$1_1+12>>2]=$2_1;$2_1=$4_1;}$3_1=HEAP32[$1_1+8>>2];$7_1=$179($3_1,HEAP32[$1_1+16>>2]);if(HEAP32[$1_1+12>>2]){$27($3_1);}label$11:{if(($5_1&255)>>>0>1){if(($2_1&255)>>>0<2|$6_1){break label$11;}$0_1=HEAP32[$0_1+4>>2];FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]>>2]](HEAP32[$0_1>>2]);if(HEAP32[HEAP32[$0_1+4>>2]+4>>2]){$27(HEAP32[$0_1>>2]);}$27($0_1);break label$11;}$2_1=$4_1&7;if(($2_1|0)!=2?$2_1>>>0<=4:0){break label$11;}$0_1=HEAP32[$0_1+4>>2];FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]>>2]](HEAP32[$0_1>>2]);if(HEAP32[HEAP32[$0_1+4>>2]+4>>2]){$27(HEAP32[$0_1>>2]);}$27($0_1);}global$0=$1_1- -64|0;return $7_1;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](34,1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](32,1);abort();}function $38($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$4_1=global$0-48|0;global$0=$4_1;label$1:{label$2:{switch(HEAPU8[$1_1+24|0]-1|0){case 9:$139(1052320,41,1052364);abort();case 0:case 1:case 2:case 8:$28($4_1+16|0,$1_1+4|0,$2_1);$3_1=HEAP32[$4_1+20>>2];$6_1=HEAP32[$4_1+16>>2];break label$1;default:$3_1=$2_1+3|0;if($3_1>>>0<$2_1>>>0){break label$1;}$5_1=__wasm_i64_mul($2_1+1>>>1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$7_1=$5_1+1|0;if($7_1>>>0<$5_1>>>0){break label$1;}$3_1=$3_1>>>0>$7_1>>>0?$3_1:$7_1;$5_1=HEAP32[$1_1>>2];if(($5_1|0)==1052068){$6_1=1;break label$1;}if(($5_1|0)==1052036){$6_1=1;break label$1;}if(($5_1|0)==1052004){$6_1=1;break label$1;}$28($4_1+8|0,$1_1+4|0,$2_1);if(HEAP32[$4_1+8>>2]!=1){break label$1;}$1_1=HEAP32[$4_1+12>>2];$3_1=$3_1>>>0>$1_1>>>0?$3_1:$1_1;$6_1=1;break label$1;case 3:case 4:$5_1=$2_1+2|0;if($5_1>>>0<$2_1>>>0){break label$1;}$3_1=$5_1+3|0;if($3_1>>>0<$5_1>>>0){break label$1;}if(HEAP32[$1_1>>2]==1052068){$6_1=1;break label$1;}$28($4_1+24|0,$1_1+4|0,$5_1);if(HEAP32[$4_1+24>>2]!=1){break label$1;}$1_1=HEAP32[$4_1+28>>2];$3_1=$3_1>>>0>$1_1>>>0?$3_1:$1_1;$6_1=1;break label$1;case 7:$3_1=$2_1+2|0;if($3_1>>>0<$2_1>>>0){break label$1;}$28($4_1+40|0,$1_1+4|0,$3_1);$3_1=HEAP32[$4_1+44>>2];$6_1=HEAP32[$4_1+40>>2];break label$1;case 5:case 6:break label$2;};}$5_1=$2_1+2|0;if($5_1>>>0<$2_1>>>0){break label$1;}$2_1=$5_1+1|0;if($2_1>>>0<$5_1>>>0){break label$1;}$2_1=__wasm_i64_mul($2_1>>>1,0,3);if(i64toi32_i32$HIGH_BITS){break label$1;}$3_1=$2_1+1|0;if($3_1>>>0<$2_1>>>0){break label$1;}$2_1=HEAP32[$1_1>>2];if(($2_1|0)==1052036){$6_1=1;break label$1;}if(($2_1|0)==1052004){$6_1=1;break label$1;}$28($4_1+32|0,$1_1+4|0,$5_1);if(HEAP32[$4_1+32>>2]!=1){break label$1;}$1_1=HEAP32[$4_1+36>>2];$3_1=$3_1>>>0>$1_1>>>0?$3_1:$1_1;$6_1=1;}HEAP32[$0_1+4>>2]=$3_1;HEAP32[$0_1>>2]=$6_1;global$0=$4_1+48|0;}function $39($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,wasm2js_i32$0=0,wasm2js_i32$1=0;$2_1=$0_1+$1_1|0;label$1:{$3_1=HEAP32[$0_1+4>>2];label$2:{label$3:{if($3_1&1){break label$3;}if(!($3_1&3)){break label$2;}$3_1=HEAP32[$0_1>>2];$1_1=$3_1+$1_1|0;$0_1=$0_1-$3_1|0;if(($0_1|0)==HEAP32[294818]){if((HEAP32[$2_1+4>>2]&3)!=3){break label$3;}HEAP32[294816]=$1_1;HEAP32[$2_1+4>>2]=HEAP32[$2_1+4>>2]&-2;HEAP32[$0_1+4>>2]=$1_1|1;HEAP32[$2_1>>2]=$1_1;return;}if($3_1>>>0>=256){$66($0_1);break label$3;}$4_1=HEAP32[$0_1+8>>2];$5_1=HEAP32[$0_1+12>>2];if(($4_1|0)!=($5_1|0)){HEAP32[$4_1+12>>2]=$5_1;HEAP32[$5_1+8>>2]=$4_1;break label$3;}(wasm2js_i32$0=1178864,wasm2js_i32$1=HEAP32[294716]&__wasm_rotl_i32($3_1>>>3)),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}$3_1=HEAP32[$2_1+4>>2];if($3_1&2){HEAP32[$2_1+4>>2]=$3_1&-2;HEAP32[$0_1+4>>2]=$1_1|1;HEAP32[$0_1+$1_1>>2]=$1_1;break label$1;}label$8:{if(($2_1|0)!=HEAP32[294819]){if(($2_1|0)!=HEAP32[294818]){break label$8;}HEAP32[294818]=$0_1;$1_1=HEAP32[294816]+$1_1|0;HEAP32[294816]=$1_1;HEAP32[$0_1+4>>2]=$1_1|1;HEAP32[$0_1+$1_1>>2]=$1_1;return;}HEAP32[294819]=$0_1;$1_1=HEAP32[294817]+$1_1|0;HEAP32[294817]=$1_1;HEAP32[$0_1+4>>2]=$1_1|1;if(HEAP32[294818]!=($0_1|0)){break label$2;}HEAP32[294816]=0;HEAP32[294818]=0;return;}$4_1=$3_1&-8;$1_1=$4_1+$1_1|0;label$10:{if($4_1>>>0>=256){$66($2_1);break label$10;}$4_1=HEAP32[$2_1+12>>2];$2_1=HEAP32[$2_1+8>>2];if(($4_1|0)!=($2_1|0)){HEAP32[$2_1+12>>2]=$4_1;HEAP32[$4_1+8>>2]=$2_1;break label$10;}(wasm2js_i32$0=1178864,wasm2js_i32$1=HEAP32[294716]&__wasm_rotl_i32($3_1>>>3)),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;}HEAP32[$0_1+4>>2]=$1_1|1;HEAP32[$0_1+$1_1>>2]=$1_1;if(HEAP32[294818]!=($0_1|0)){break label$1;}HEAP32[294816]=$1_1;}return;}if($1_1>>>0>=256){$61($0_1,$1_1);return;}$2_1=$1_1>>>3;$1_1=($2_1<<3)+1178872|0;$3_1=HEAP32[294716];$2_1=1<<($2_1&31);$4_1=HEAP32[$1_1+8>>2];label$14:{if($3_1&$2_1){break label$14;}HEAP32[294716]=$2_1|$3_1;$4_1=$1_1;}$2_1=$4_1;HEAP32[$1_1+8>>2]=$0_1;HEAP32[$2_1+12>>2]=$0_1;HEAP32[$0_1+12>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;}function $40($0_1,$1_1,$2_1,$3_1,$4_1){var $5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0;$5_1=global$0-80|0;global$0=$5_1;$8_1=$1_1+$2_1|0;label$1:{if(!$2_1){break label$1;}$6_1=HEAPU8[$1_1|0];if(($2_1|0)==1){break label$1;}$7_1=$2_1+-1|0;$2_1=$1_1+1|0;while(1){$9_1=HEAPU8[$2_1|0];$6_1=($6_1&255)>>>0>$9_1>>>0?$6_1:$9_1;$2_1=$2_1+1|0;$7_1=$7_1+-1|0;if($7_1){continue;}break;};}$75($5_1,1<<($6_1&31));HEAP16[$5_1+14>>1]=$4_1;HEAP16[$5_1+12>>1]=$3_1;HEAP8[$5_1+17|0]=$6_1;HEAP8[$5_1+16|0]=$6_1;HEAP32[$5_1+40>>2]=HEAP32[$5_1+16>>2];$3_1=$5_1+8|0;$4_1=HEAP32[$3_1+4>>2];$2_1=$5_1+32|0;HEAP32[$2_1>>2]=HEAP32[$3_1>>2];HEAP32[$2_1+4>>2]=$4_1;$2_1=HEAP32[$5_1+4>>2];HEAP32[$5_1+24>>2]=HEAP32[$5_1>>2];HEAP32[$5_1+28>>2]=$2_1;HEAP32[$5_1+72>>2]=0;HEAP32[$5_1+68>>2]=$8_1;HEAP32[$5_1+64>>2]=$1_1;$17($5_1+48|0,$5_1- -64|0);$4_1=HEAP32[$5_1+48>>2];$1_1=HEAP32[$5_1+56>>2];$12($4_1,$1_1);$9_1=HEAP32[$5_1+52>>2];label$3:{label$4:{if($1_1){$1_1=$1_1<<2;$6_1=$4_1;$7_1=0;$3_1=0;while(1){$2_1=HEAPU16[$6_1>>1]|HEAPU16[$6_1+2>>1]<<16;$8_1=$2_1>>>16;$3_1=$7_1<<($8_1-$3_1&15);$42($5_1- -64|0,$5_1+24|0,$2_1,$3_1,$8_1);$2_1=HEAP32[$5_1+68>>2];$7_1=HEAP32[$5_1+64>>2];if(($7_1&255)!=3){break label$4;}if(($7_1&3)==2){FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27($2_1);}$6_1=$6_1+4|0;$7_1=$3_1+1|0;$3_1=$8_1;$1_1=$1_1+-4|0;if($1_1){continue;}break;};}if($9_1){$27($4_1);}$1_1=HEAP32[$5_1+28>>2];HEAP32[$0_1+4>>2]=HEAP32[$5_1+24>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=0;HEAP16[$0_1+16>>1]=HEAPU16[$5_1+40>>1];HEAP32[$0_1+12>>2]=HEAP32[$5_1+32>>2];break label$3;}HEAP32[$0_1>>2]=1;$1_1=$0_1;HEAP32[$1_1+4>>2]=$7_1;HEAP32[$1_1+8>>2]=$2_1;if($9_1){$27($4_1);}if(!HEAP32[$5_1+28>>2]){break label$3;}$27(HEAP32[$5_1+24>>2]);}global$0=$5_1+80|0;}function $41($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$1_1=global$0+-64|0;global$0=$1_1;label$1:{label$2:{label$3:{label$4:{label$5:{label$6:{$4_1=HEAPU8[$0_1|0];$5_1=$4_1+-3|0;switch(((($5_1&255)>>>0<2?$5_1:2)&255)-1|0){case 0:break label$4;case 1:break label$5;default:break label$6;};}$2_1=$166(30,1);if(!$2_1){break label$1;}HEAP32[$1_1+44>>2]=30;HEAP32[$1_1+48>>2]=0;HEAP32[$1_1+40>>2]=$2_1;$88($1_1+40|0,0,30);$2_1=HEAP32[$1_1+48>>2];HEAP32[$1_1+48>>2]=$2_1+30;$77($2_1+HEAP32[$1_1+40>>2]|0,30,1050968,30);HEAP32[$1_1+16>>2]=HEAP32[$1_1+48>>2];$2_1=HEAP32[$1_1+44>>2];HEAP32[$1_1+8>>2]=HEAP32[$1_1+40>>2];HEAP32[$1_1+12>>2]=$2_1;break label$3;}$3_1=HEAP32[$0_1+4>>2];$2_1=HEAP32[$0_1>>2];HEAP32[$1_1+24>>2]=$2_1;HEAP32[$1_1+28>>2]=$3_1;$6_1=1;HEAP32[$1_1+60>>2]=1;HEAP32[$1_1+44>>2]=1;HEAP32[$1_1+48>>2]=0;HEAP32[$1_1+40>>2]=1050912;HEAP32[$1_1+36>>2]=28;HEAP32[$1_1+56>>2]=$1_1+32;HEAP32[$1_1+32>>2]=$1_1+24;$56($1_1+8|0,$1_1+40|0);if(HEAPU8[$1_1+24|0]>=2){$3_1=HEAP32[$1_1+28>>2];FUNCTION_TABLE[HEAP32[HEAP32[$3_1+4>>2]>>2]](HEAP32[$3_1>>2]);if(HEAP32[HEAP32[$3_1+4>>2]+4>>2]){$27(HEAP32[$3_1>>2]);}$27(HEAP32[$1_1+28>>2]);}break label$2;}HEAP32[$1_1+56>>2]=4;HEAP32[$1_1+60>>2]=0;HEAP32[$1_1+44>>2]=1;HEAP32[$1_1+48>>2]=0;HEAP32[$1_1+40>>2]=1050960;$56($1_1+8|0,$1_1+40|0);}$2_1=$4_1;}$3_1=HEAP32[$1_1+8>>2];$7_1=$179($3_1,HEAP32[$1_1+16>>2]);if(HEAP32[$1_1+12>>2]){$27($3_1);}label$10:{if(($5_1&255)>>>0>1){if(($2_1&255)>>>0<2|$6_1){break label$10;}$0_1=HEAP32[$0_1+4>>2];FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]>>2]](HEAP32[$0_1>>2]);if(HEAP32[HEAP32[$0_1+4>>2]+4>>2]){$27(HEAP32[$0_1>>2]);}$27($0_1);break label$10;}$2_1=$4_1&7;if(($2_1|0)!=2?$2_1>>>0<=4:0){break label$10;}$0_1=HEAP32[$0_1+4>>2];FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]>>2]](HEAP32[$0_1>>2]);if(HEAP32[HEAP32[$0_1+4>>2]+4>>2]){$27(HEAP32[$0_1>>2]);}$27($0_1);}global$0=$1_1- -64|0;return $7_1;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](30,1);abort();}function $42($0_1,$1_1,$2_1,$3_1,$4_1){var $5_1=0,$6_1=0,$7_1=0;$5_1=global$0-112|0;global$0=$5_1;HEAP8[$5_1+18|0]=$4_1;HEAP16[$5_1+16>>1]=$3_1;HEAP16[$5_1+14>>1]=$2_1;label$1:{if(HEAPU16[$1_1+12>>1]!=1){break label$1;}if(HEAPU16[$1_1+14>>1]!=($2_1&65535)){break label$1;}HEAP8[$1_1+16|0]=$4_1;}$6_1=$4_1&255;HEAP16[$5_1+26>>1]=$6_1|$2_1<<5;$2_1=0;if($6_1){while(1){$2_1=$3_1&1|$2_1<<1;$3_1=($3_1&65534)>>>1;$7_1=$7_1+1|0;if(($7_1&255)>>>0<$6_1>>>0){continue;}break;}}$3_1=HEAPU8[$1_1+17|0];$7_1=$2_1&65535;HEAP32[$5_1+28>>2]=$7_1;label$4:{label$5:{label$6:{$6_1=HEAP32[$1_1+8>>2];if($6_1>>>0>$7_1>>>0){$4_1=$3_1-$4_1&15;$3_1=1;while(1){$6_1=HEAP32[$1_1>>2]+($7_1<<1)|0;if(HEAPU16[$6_1>>1]!=16){break label$6;}HEAP16[$6_1>>1]=HEAPU16[$5_1+26>>1];if(($3_1&65535)>>>$4_1&65535){break label$5;}$7_1=($3_1<<(HEAPU8[$5_1+18|0]&15)|$2_1)&65535;HEAP32[$5_1+28>>2]=$7_1;$3_1=$3_1+1|0;$6_1=HEAP32[$1_1+8>>2];if($6_1>>>0>$7_1>>>0){continue;}break;};}$100(1051672,$7_1,$6_1);abort();}HEAP32[$5_1+68>>2]=5;HEAP32[$5_1+108>>2]=41;HEAP32[$5_1+100>>2]=18;HEAP32[$5_1+92>>2]=18;HEAP32[$5_1+84>>2]=18;HEAP32[$5_1+52>>2]=5;HEAP32[$5_1+56>>2]=0;HEAP32[$5_1+48>>2]=1051752;HEAP32[$5_1+80>>2]=$6_1;HEAP32[$5_1+76>>2]=1;HEAP32[$5_1+64>>2]=$5_1+72;HEAP32[$5_1+104>>2]=$5_1+16;HEAP32[$5_1+96>>2]=$5_1+14;HEAP32[$5_1+88>>2]=$5_1+26;HEAP32[$5_1+72>>2]=$5_1+28;$56($5_1+32|0,$5_1+48|0);HEAP32[$5_1+80>>2]=HEAP32[$5_1+40>>2];$1_1=HEAP32[$5_1+36>>2];HEAP32[$5_1+72>>2]=HEAP32[$5_1+32>>2];HEAP32[$5_1+76>>2]=$1_1;$105($5_1,$5_1+72|0);$90($5_1+72|0,12,HEAP32[$5_1>>2],HEAP32[$5_1+4>>2]);$1_1=HEAP32[$5_1+76>>2];HEAP32[$0_1>>2]=HEAP32[$5_1+72>>2];HEAP32[$0_1+4>>2]=$1_1;break label$4;}HEAP8[$0_1|0]=3;}global$0=$5_1+112|0;}function $43($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0,$5_1=0;$3_1=global$0+-64|0;global$0=$3_1;label$1:{label$2:{label$3:{switch(HEAPU8[$0_1|0]-1|0){default:HEAP32[$3_1+4>>2]=HEAP32[$0_1+4>>2];$0_1=$166(20,1);if(!$0_1){break label$1;}$2_1=$0_1+16|0;$4_1=HEAPU8[1172636]|HEAPU8[1172637]<<8|(HEAPU8[1172638]<<16|HEAPU8[1172639]<<24);HEAP8[$2_1|0]=$4_1;HEAP8[$2_1+1|0]=$4_1>>>8;HEAP8[$2_1+2|0]=$4_1>>>16;HEAP8[$2_1+3|0]=$4_1>>>24;$4_1=HEAPU8[1172632]|HEAPU8[1172633]<<8|(HEAPU8[1172634]<<16|HEAPU8[1172635]<<24);$2_1=$0_1+8|0;$5_1=HEAPU8[1172628]|HEAPU8[1172629]<<8|(HEAPU8[1172630]<<16|HEAPU8[1172631]<<24);HEAP8[$2_1|0]=$5_1;HEAP8[$2_1+1|0]=$5_1>>>8;HEAP8[$2_1+2|0]=$5_1>>>16;HEAP8[$2_1+3|0]=$5_1>>>24;HEAP8[$2_1+4|0]=$4_1;HEAP8[$2_1+5|0]=$4_1>>>8;HEAP8[$2_1+6|0]=$4_1>>>16;HEAP8[$2_1+7|0]=$4_1>>>24;$2_1=HEAPU8[1172624]|HEAPU8[1172625]<<8|(HEAPU8[1172626]<<16|HEAPU8[1172627]<<24);$4_1=HEAPU8[1172620]|HEAPU8[1172621]<<8|(HEAPU8[1172622]<<16|HEAPU8[1172623]<<24);HEAP8[$0_1|0]=$4_1;HEAP8[$0_1+1|0]=$4_1>>>8;HEAP8[$0_1+2|0]=$4_1>>>16;HEAP8[$0_1+3|0]=$4_1>>>24;HEAP8[$0_1+4|0]=$2_1;HEAP8[$0_1+5|0]=$2_1>>>8;HEAP8[$0_1+6|0]=$2_1>>>16;HEAP8[$0_1+7|0]=$2_1>>>24;HEAP32[$3_1+12>>2]=20;HEAP32[$3_1+16>>2]=20;HEAP32[$3_1+8>>2]=$0_1;HEAP32[$3_1+60>>2]=2;HEAP32[$3_1+36>>2]=51;HEAP32[$3_1+44>>2]=3;HEAP32[$3_1+48>>2]=0;HEAP32[$3_1+40>>2]=1172560;HEAP32[$3_1+28>>2]=52;HEAP32[$3_1+56>>2]=$3_1+24;HEAP32[$3_1+32>>2]=$3_1+4;HEAP32[$3_1+24>>2]=$3_1+8;$0_1=$104($1_1,$3_1+40|0);if(!HEAP32[$3_1+12>>2]){break label$2;}$27(HEAP32[$3_1+8>>2]);break label$2;case 1:$0_1=HEAP32[$0_1+4>>2];$0_1=FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]+32>>2]](HEAP32[$0_1>>2],$1_1)|0;break label$2;case 0:break label$3;};}$2_1=1172240;$4_1=22;label$6:{label$7:{label$8:{switch(HEAPU8[$0_1+1|0]-1|0){default:$2_1=1172521;$4_1=16;break label$6;case 0:$2_1=1172504;$4_1=17;break label$6;case 1:$2_1=1172486;$4_1=18;break label$6;case 2:$2_1=1172470;$4_1=16;break label$6;case 3:$2_1=1172452;$4_1=18;break label$6;case 4:$2_1=1172439;$4_1=13;break label$6;case 5:$2_1=1172425;break label$7;case 6:$2_1=1172404;$4_1=21;break label$6;case 7:$2_1=1172393;$4_1=11;break label$6;case 8:$2_1=1172372;$4_1=21;break label$6;case 9:$2_1=1172351;$4_1=21;break label$6;case 10:$2_1=1172328;$4_1=23;break label$6;case 11:$2_1=1172316;$4_1=12;break label$6;case 12:$2_1=1172307;$4_1=9;break label$6;case 13:$2_1=1172297;$4_1=10;break label$6;case 14:$2_1=1172276;$4_1=21;break label$6;case 16:break label$6;case 15:break label$8;};}$2_1=1172262;}$4_1=14;}HEAP32[$3_1+60>>2]=1;HEAP32[$3_1+28>>2]=$4_1;HEAP32[$3_1+24>>2]=$2_1;HEAP32[$3_1+12>>2]=53;HEAP32[$3_1+44>>2]=1;HEAP32[$3_1+48>>2]=0;HEAP32[$3_1+40>>2]=1172540;HEAP32[$3_1+8>>2]=$3_1+24;HEAP32[$3_1+56>>2]=$3_1+8;$0_1=$104($1_1,$3_1+40|0);}global$0=$3_1- -64|0;return $0_1|0;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](20,1);abort();}function $44($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0;$2_1=global$0-112|0;global$0=$2_1;label$1:{label$2:{label$3:{$3_1=$1_1+8|0;if(HEAPU32[$3_1>>2]>=22){HEAP32[$2_1+16>>2]=HEAP32[$3_1>>2];HEAP32[$2_1>>2]=0;HEAP32[$2_1+4>>2]=0;$3_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+12>>2]=$3_1;$24($2_1+56|0,$2_1);if(HEAP32[$2_1+56>>2]!=1){break label$3;}$1_1=HEAP32[$2_1+64>>2];HEAP32[$2_1+104>>2]=HEAP32[$2_1+60>>2];HEAP32[$2_1+108>>2]=$1_1;$1_1=$37($2_1+104|0);HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;break label$2;}$3_1=$179(1048824,20);HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$3_1;if(!HEAP32[$1_1+4>>2]){break label$1;}$27(HEAP32[$1_1>>2]);break label$1;}$4_1=$2_1+48|0;$1_1=$2_1+56|4;HEAP32[$4_1>>2]=HEAP32[$1_1+8>>2];$5_1=$2_1+32|0;HEAP32[$5_1>>2]=HEAP32[$2_1+88>>2];$3_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+40>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+44>>2]=$3_1;$1_1=$2_1+80|0;$3_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+24>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+28>>2]=$3_1;$1_1=HEAP32[$2_1+72>>2];$3_1=HEAP32[$2_1+76>>2];$6_1=HEAPU16[$2_1+94>>1];$7_1=HEAPU16[$2_1+92>>1];if(!($6_1|$7_1)){$8_1=HEAP32[$2_1+96>>2];$9_1=HEAP32[$2_1+44>>2];HEAP32[$0_1+4>>2]=HEAP32[$2_1+40>>2];HEAP32[$0_1+8>>2]=$9_1;HEAP32[$0_1>>2]=0;HEAP32[$0_1+20>>2]=$3_1;HEAP32[$0_1+16>>2]=$1_1;$3_1=HEAP32[$2_1+28>>2];$1_1=$0_1+24|0;HEAP32[$1_1>>2]=HEAP32[$2_1+24>>2];HEAP32[$1_1+4>>2]=$3_1;HEAP32[$0_1+52>>2]=0;$1_1=$0_1+44|0;HEAP32[$1_1>>2]=4;HEAP32[$1_1+4>>2]=0;HEAP32[$0_1+40>>2]=$8_1;HEAP16[$0_1+38>>1]=$6_1;HEAP16[$0_1+36>>1]=$7_1;HEAP32[$0_1+12>>2]=HEAP32[$4_1>>2];HEAP32[$0_1+32>>2]=HEAP32[$5_1>>2];if(!HEAP32[$2_1+12>>2]){break label$1;}$27(HEAP32[$2_1+8>>2]);break label$1;}$4_1=$179(1048844,28);HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$4_1;if(!$3_1){break label$2;}$27($1_1);}if(!HEAP32[$2_1+12>>2]){break label$1;}$27(HEAP32[$2_1+8>>2]);}global$0=$2_1+112|0;}function $45($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0;label$1:{label$2:{switch(HEAPU8[$1_1|0]-1|0){default:$22($0_1,$1_1+4|0,$2_1,$3_1,$4_1,$5_1);return;case 0:$23($0_1,$1_1+4|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;case 1:$1($0_1,$1_1+1|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;case 2:$10($0_1,$1_1+1|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;case 3:$2($0_1,$1_1+1|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;case 4:$9($0_1,$1_1+1|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;case 5:$5($0_1,$1_1+1|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;case 6:$4($0_1,$1_1+1|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;case 7:if(!$3_1){break label$1;}if(HEAPU8[$1_1+1|0]){break label$1;}if($5_1>>>0>=3){HEAP16[$0_1+4>>1]=258;HEAP8[$1_1+1|0]=1;HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=1;HEAP8[$0_1+6|0]=0;return;}HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=0;HEAP8[$0_1+4|0]=1;return;case 8:$1_1=0;if($3_1){$6_1=0;while(1){$8_1=$1_1+2|0;if($8_1>>>0>=$5_1>>>0){HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=$6_1;HEAP8[$0_1+4|0]=1;return;}$7_1=$1_1+$4_1|0;$9_1=$6_1+1|0;$6_1=HEAP8[$2_1+$6_1|0];label$17:{if(($6_1|0)<=-1){HEAP8[$7_1|0]=239;HEAP8[$4_1+$8_1|0]=$6_1&63|128;HEAP8[$7_1+1|0]=($6_1&192)>>>6|156;$6_1=3;break label$17;}HEAP8[$7_1|0]=$6_1;$6_1=1;}$1_1=$6_1+$1_1|0;$6_1=$9_1;if(($6_1|0)!=($3_1|0)){continue;}break;};}HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+4|0]=0;return;case 9:break label$2;};}$8($0_1,$1_1+2|0,$2_1,$3_1,$4_1,$5_1,$6_1);return;}HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=$3_1;HEAP8[$0_1+4|0]=0;}function $46($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0;$4_1=global$0-48|0;global$0=$4_1;$3_1=0;label$1:{if(!$2_1){break label$1;}$8_1=$4_1+40|0;label$2:{label$3:{label$4:{label$5:{while(1){if(HEAPU8[HEAP32[$0_1+8>>2]]){if(FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]+12>>2]](HEAP32[$0_1>>2],1174076,4)){break label$2;}}HEAP32[$4_1+40>>2]=10;HEAP32[$4_1+32>>2]=10;HEAP32[$4_1+36>>2]=1;HEAP32[$4_1+28>>2]=$2_1;HEAP32[$4_1+24>>2]=0;HEAP32[$4_1+20>>2]=$2_1;HEAP32[$4_1+16>>2]=$1_1;$30($4_1+8|0,10,$1_1,$2_1);label$8:{label$9:{label$10:{if(HEAP32[$4_1+8>>2]==1){$3_1=HEAP32[$4_1+12>>2];while(1){$3_1=(HEAP32[$4_1+24>>2]+$3_1|0)+1|0;HEAP32[$4_1+24>>2]=$3_1;$6_1=HEAP32[$4_1+36>>2];label$13:{if($3_1>>>0<$6_1>>>0){$7_1=HEAP32[$4_1+20>>2];break label$13;}$7_1=HEAP32[$4_1+20>>2];if($7_1>>>0<$3_1>>>0){break label$13;}if($6_1>>>0>=5){break label$5;}$5_1=$3_1-$6_1|0;$9_1=$5_1+HEAP32[$4_1+16>>2]|0;if(($9_1|0)==($8_1|0)){break label$9;}if(!$120($9_1,$8_1,$6_1)){break label$9;}}$5_1=HEAP32[$4_1+28>>2];if($5_1>>>0<$3_1>>>0){break label$10;}if($7_1>>>0<$5_1>>>0){break label$10;}$30($4_1,HEAPU8[($4_1+$6_1|0)+39|0],$3_1+HEAP32[$4_1+16>>2]|0,$5_1-$3_1|0);$3_1=HEAP32[$4_1+4>>2];if(HEAP32[$4_1>>2]==1){continue;}break;};}HEAP32[$4_1+24>>2]=HEAP32[$4_1+28>>2];}HEAP8[HEAP32[$0_1+8>>2]]=0;$3_1=$2_1;break label$8;}HEAP8[HEAP32[$0_1+8>>2]]=1;$3_1=$5_1+1|0;}$6_1=HEAP32[$0_1+4>>2];$7_1=HEAP32[$0_1>>2];$5_1=!$3_1|($2_1|0)==($3_1|0);if(!$5_1){if($2_1>>>0<=$3_1>>>0){break label$4;}if(HEAP8[$1_1+$3_1|0]<=-65){break label$4;}}if(FUNCTION_TABLE[HEAP32[$6_1+12>>2]]($7_1,$1_1,$3_1)){break label$2;}if(!$5_1){if($2_1>>>0<=$3_1>>>0){break label$3;}if(HEAP8[$1_1+$3_1|0]<=-65){break label$3;}}$1_1=$1_1+$3_1|0;$2_1=$2_1-$3_1|0;if($2_1){continue;}break;};$3_1=0;break label$1;}$101($6_1,4);abort();}$19($1_1,$2_1,0,$3_1);abort();}$19($1_1,$2_1,$3_1,$2_1);abort();}$3_1=1;}global$0=$4_1+48|0;return $3_1|0;}function $47($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0;$5_1=HEAP32[$1_1+8>>2];$6_1=HEAP32[$1_1+12>>2];if(($5_1|0)==($6_1|0)){HEAP32[$0_1+8>>2]=0;HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=0;$0_1=HEAP32[$1_1+4>>2];if($0_1){$3_1=HEAP32[$1_1>>2];$4_1=HEAP32[$1_1+16>>2];$2_1=$4_1+8|0;$1_1=HEAP32[$2_1>>2];if(($3_1|0)!=($1_1|0)){$4_1=HEAP32[$4_1>>2];$94($4_1+$1_1|0,$3_1+$4_1|0,$0_1);}HEAP32[$2_1>>2]=$0_1+$1_1;}return;}$2_1=$5_1+1|0;HEAP32[$1_1+8>>2]=$2_1;label$4:{$3_1=$6_1-$2_1|0;$4_1=$3_1+1|0;$3_1=$4_1>>>0<$3_1>>>0?-1:$4_1;if(($3_1|0)>-1){$7_1=HEAPU8[$5_1|0];$4_1=$166($3_1,1);if(!$4_1){break label$4;}HEAP8[$4_1|0]=$7_1;$9_1=HEAP32[$1_1+16>>2];$7_1=HEAP32[$1_1+4>>2];$10_1=HEAP32[$1_1>>2];label$6:{label$7:{label$8:{if(($2_1|0)==($6_1|0)){$1_1=1;break label$8;}$11_1=$6_1-$5_1|0;$1_1=1;while(1){$2_1=$1_1+$5_1|0;$12_1=HEAPU8[$2_1|0];if(($1_1|0)==($3_1|0)){$2_1=$6_1-($2_1+1|0)|0;$8_1=$2_1+1|0;$2_1=($8_1>>>0<$2_1>>>0?-1:$8_1)+$3_1|0;if($2_1>>>0<$3_1>>>0){break label$6;}$8_1=$3_1<<1;$2_1=$8_1>>>0>$2_1>>>0?$8_1:$2_1;if(($2_1|0)<0){break label$6;}label$12:{if(!$3_1){$4_1=$166($2_1,1);break label$12;}$4_1=$159($4_1,$3_1,1,$2_1);}if(!$4_1){break label$7;}$3_1=$2_1;}HEAP8[$1_1+$4_1|0]=$12_1;$1_1=$1_1+1|0;if(($11_1|0)!=($1_1|0)){continue;}break;};}if($7_1){$5_1=$9_1+8|0;$2_1=HEAP32[$5_1>>2];if(($2_1|0)!=($10_1|0)){$6_1=HEAP32[$9_1>>2];$94($6_1+$2_1|0,$6_1+$10_1|0,$7_1);}HEAP32[$5_1>>2]=$2_1+$7_1;}HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1+4>>2]=$3_1;HEAP32[$0_1>>2]=$4_1;return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}$182();abort();}$183();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($3_1,1);abort();}function $48($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;if(!FUNCTION_TABLE[HEAP32[HEAP32[$1_1+28>>2]+16>>2]](HEAP32[$1_1+24>>2],39)){$2_1=2;label$2:{label$3:{label$4:{$0_1=HEAP32[$0_1>>2];$6_1=$0_1+-9|0;if($6_1>>>0>30){if(($0_1|0)!=92){break label$4;}break label$3;}$4_1=116;label$6:{switch($6_1-1|0){case 3:$4_1=114;break label$2;case 24:case 29:break label$3;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 25:case 26:case 27:case 28:break label$4;case 0:break label$6;default:break label$2;};}$4_1=110;break label$2;}label$8:{label$9:{if(!$67($0_1)){if(!$81($0_1)){break label$9;}$2_1=1;break label$3;}$5_1=Math_clz32($0_1|1)>>>2^7;break label$8;}$5_1=Math_clz32($0_1|1)>>>2^7;}$3_1=5;$2_1=3;}$4_1=$0_1;}while(1){$6_1=$2_1;$0_1=92;$2_1=1;label$12:{label$13:{label$14:{label$15:{switch($6_1-1|0){case 1:break label$12;case 0:break label$13;case 2:break label$15;default:break label$14;};}label$16:{switch(($3_1&255)-1|0){case 4:$3_1=$3_1&-256|4;$2_1=3;break label$12;case 3:$3_1=$3_1&-256|3;$0_1=117;$2_1=3;break label$12;case 2:$3_1=$3_1&-256|2;$0_1=123;$2_1=3;break label$12;case 1:$0_1=$4_1>>>($5_1<<2&28)&15;$0_1=$0_1>>>0<10?$0_1|48:$0_1+87|0;if($5_1){$5_1=$5_1+-1|0;$2_1=3;break label$12;}$3_1=$3_1&-256|1;$2_1=3;break label$12;case 0:break label$16;default:break label$14;};}$3_1=$3_1&-256;$0_1=125;$2_1=3;break label$12;}return FUNCTION_TABLE[HEAP32[HEAP32[$1_1+28>>2]+16>>2]](HEAP32[$1_1+24>>2],39)|0;}$2_1=0;$0_1=$4_1;}if(!FUNCTION_TABLE[HEAP32[HEAP32[$1_1+28>>2]+16>>2]](HEAP32[$1_1+24>>2],$0_1)){continue;}break;};}return 1;}function $49($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0;$2_1=global$0-160|0;global$0=$2_1;HEAP32[$2_1+120>>2]=$1_1;HEAP32[$2_1+116>>2]=$1_1;HEAP32[$2_1+112>>2]=$0_1;$44($2_1+8|0,$2_1+112|0);$3_1=$2_1+24|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+72|0;$1_1=$0_1;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;$4_1=$2_1+32|0;$5_1=HEAP32[$4_1+4>>2];$1_1=$2_1+80|0;HEAP32[$1_1>>2]=HEAP32[$4_1>>2];HEAP32[$1_1+4>>2]=$5_1;$5_1=$2_1+40|0;$7_1=HEAP32[$5_1+4>>2];$3_1=$2_1+88|0;HEAP32[$3_1>>2]=HEAP32[$5_1>>2];HEAP32[$3_1+4>>2]=$7_1;$7_1=$2_1+48|0;$6_1=HEAP32[$7_1+4>>2];$4_1=$2_1+96|0;HEAP32[$4_1>>2]=HEAP32[$7_1>>2];HEAP32[$4_1+4>>2]=$6_1;$6_1=$2_1+56|0;$8_1=HEAP32[$6_1+4>>2];$5_1=$2_1+104|0;HEAP32[$5_1>>2]=HEAP32[$6_1>>2];HEAP32[$5_1+4>>2]=$8_1;$7_1=$2_1+16|0;$6_1=HEAP32[$7_1+4>>2];HEAP32[$2_1+64>>2]=HEAP32[$7_1>>2];HEAP32[$2_1+68>>2]=$6_1;$7_1=HEAP32[$2_1+12>>2];label$1:{if(HEAP32[$2_1+8>>2]!=1){$8_1=HEAP32[$5_1+4>>2];$6_1=$2_1+152|0;HEAP32[$6_1>>2]=HEAP32[$5_1>>2];HEAP32[$6_1+4>>2]=$8_1;$6_1=HEAP32[$4_1+4>>2];$5_1=$2_1+144|0;HEAP32[$5_1>>2]=HEAP32[$4_1>>2];HEAP32[$5_1+4>>2]=$6_1;$5_1=HEAP32[$3_1+4>>2];$4_1=$2_1+136|0;HEAP32[$4_1>>2]=HEAP32[$3_1>>2];HEAP32[$4_1+4>>2]=$5_1;$4_1=HEAP32[$1_1+4>>2];$3_1=$2_1+128|0;HEAP32[$3_1>>2]=HEAP32[$1_1>>2];HEAP32[$3_1+4>>2]=$4_1;$3_1=HEAP32[$0_1+4>>2];$1_1=$2_1+120|0;HEAP32[$1_1>>2]=HEAP32[$0_1>>2];HEAP32[$1_1+4>>2]=$3_1;$0_1=HEAP32[$2_1+68>>2];HEAP32[$2_1+112>>2]=HEAP32[$2_1+64>>2];HEAP32[$2_1+116>>2]=$0_1;$0_1=$166(56,4);if(!$0_1){break label$1;}HEAP32[$0_1+4>>2]=$7_1;HEAP32[$0_1>>2]=0;$1_1=HEAP32[$2_1+116>>2];HEAP32[$0_1+8>>2]=HEAP32[$2_1+112>>2];HEAP32[$0_1+12>>2]=$1_1;$3_1=$2_1+120|0;$4_1=HEAP32[$3_1+4>>2];$1_1=$0_1+16|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;$3_1=$2_1+128|0;$4_1=HEAP32[$3_1+4>>2];$1_1=$0_1+24|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;$3_1=$2_1+136|0;$4_1=HEAP32[$3_1+4>>2];$1_1=$0_1+32|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;$3_1=$2_1+144|0;$4_1=HEAP32[$3_1+4>>2];$1_1=$0_1+40|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;$3_1=$2_1+152|0;$4_1=HEAP32[$3_1+4>>2];$1_1=$0_1+48|0;HEAP32[$1_1>>2]=HEAP32[$3_1>>2];HEAP32[$1_1+4>>2]=$4_1;global$0=$2_1+160|0;return $0_1|0;}$180($7_1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](56,4);abort();}function $50($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0;$4_1=global$0-48|0;global$0=$4_1;$7_1=HEAP32[$2_1+4>>2];$6_1=HEAP32[$2_1>>2];label$1:{label$2:{$5_1=HEAP32[$1_1+48>>2];if($5_1){$1_1=HEAP32[$1_1+40>>2];$8_1=HEAP32[$2_1+8>>2];$2_1=Math_imul($5_1,84);while(1){if(HEAP32[$1_1+32>>2]==($8_1|0)){$5_1=HEAP32[$1_1+24>>2];if(($5_1|0)==($6_1|0)){break label$2;}if(!$120($5_1,$6_1,$8_1)){break label$2;}}$1_1=$1_1+84|0;$2_1=$2_1+-84|0;if($2_1){continue;}break;};}$1_1=$179(1048910,16);if($7_1){$27($6_1);}HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;if(!HEAP32[$3_1+4>>2]){break label$1;}$27(HEAP32[$3_1>>2]);break label$1;}if($7_1){$27($6_1);}HEAP32[$4_1+40>>2]=HEAP32[$3_1+8>>2];HEAP32[$4_1+24>>2]=0;HEAP32[$4_1+28>>2]=0;$2_1=HEAP32[$3_1+4>>2];HEAP32[$4_1+32>>2]=HEAP32[$3_1>>2];HEAP32[$4_1+36>>2]=$2_1;$6($4_1+8|0,$4_1+24|0,$1_1);if(HEAP32[$4_1+8>>2]==1){$1_1=$4_1+8|4;HEAP32[$4_1+32>>2]=HEAP32[$1_1+8>>2];$2_1=HEAP32[$1_1+4>>2];HEAP32[$4_1+24>>2]=HEAP32[$1_1>>2];HEAP32[$4_1+28>>2]=$2_1;$1_1=$33($4_1+24|0);HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;break label$1;}$2_1=HEAP32[$4_1+16>>2];$3_1=HEAP32[$4_1+12>>2];if(!HEAPU8[$1_1+83|0]){$1_1=HEAP32[$4_1+20>>2];HEAP32[$0_1+4>>2]=$3_1;HEAP32[$0_1>>2]=0;HEAP32[$0_1+12>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;break label$1;}$1_1=$179(1048900,10);HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$1_1;if(!$2_1){break label$1;}$27($3_1);}global$0=$4_1+48|0;}function $51($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$3_1=global$0-32|0;global$0=$3_1;$6_1=HEAP32[$2_1+8>>2];HEAP32[$3_1+12>>2]=$6_1;HEAP32[$3_1+8>>2]=$2_1;$7_1=$3_1+16|4;$4_1=$6_1;$5_1=$4_1;while(1){label$2:{label$3:{label$4:{label$5:{label$6:{if(($4_1|0)==($5_1|0)){$88($2_1,$4_1,32);$5_1=HEAP32[$3_1+8>>2];$2_1=HEAP32[$5_1+4>>2];HEAP32[$5_1+8>>2]=$2_1;$4_1=HEAP32[$3_1+12>>2];if($2_1>>>0<$4_1>>>0){break label$6;}$137($4_1+HEAP32[$5_1>>2]|0,$2_1-$4_1|0);$5_1=HEAP32[$3_1+12>>2];$2_1=HEAP32[$3_1+8>>2];$4_1=HEAP32[$2_1+8>>2];}if($4_1>>>0<$5_1>>>0){break label$5;}$0($3_1+16|0,$1_1,HEAP32[$2_1>>2]+$5_1|0,$4_1-$5_1|0);if(HEAP32[$3_1+16>>2]!=1){$4_1=HEAP32[$3_1+20>>2];if($4_1){break label$4;}$5_1=$5_1-$6_1|0;$4_1=0;break label$2;}if(($141($7_1)&255)!=15){$4_1=1;$2_1=HEAP32[$3_1+24>>2];$5_1=HEAP32[$3_1+20>>2];break label$2;}if(!HEAP32[$3_1+16>>2]){break label$3;}if(HEAPU8[$3_1+20|0]<2){break label$3;}$2_1=HEAP32[$3_1+24>>2];FUNCTION_TABLE[HEAP32[HEAP32[$2_1+4>>2]>>2]](HEAP32[$2_1>>2]);if(HEAP32[HEAP32[$2_1+4>>2]+4>>2]){$27(HEAP32[$2_1>>2]);}$27(HEAP32[$3_1+24>>2]);break label$3;}$102($4_1,$2_1);abort();}$102($5_1,$4_1);abort();}HEAP32[$3_1+12>>2]=$4_1+$5_1;}$2_1=HEAP32[$3_1+8>>2];$4_1=HEAP32[$2_1+8>>2];$5_1=HEAP32[$3_1+12>>2];continue;}break;};HEAP32[$0_1+4>>2]=$5_1;HEAP32[$0_1>>2]=$4_1;HEAP32[$0_1+8>>2]=$2_1;$0_1=$3_1+8|0;HEAP32[HEAP32[$0_1>>2]+8>>2]=HEAP32[$0_1+4>>2];global$0=$3_1+32|0;}function $52($0_1,$1_1,$2_1,$3_1,$4_1){var $5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0,$14_1=0,$15_1=0,$16_1=0;$5_1=global$0-80|0;global$0=$5_1;$8_1=1;label$1:{if(HEAPU8[$0_1+4|0]){break label$1;}$7_1=HEAPU8[$0_1+5|0];$6_1=HEAP32[$0_1>>2];if(!(HEAPU8[$6_1|0]&4)){if(FUNCTION_TABLE[HEAP32[HEAP32[$6_1+28>>2]+12>>2]](HEAP32[$6_1+24>>2],$7_1?1174085:1174087,$7_1?2:3)){break label$1;}$6_1=HEAP32[$0_1>>2];if(FUNCTION_TABLE[HEAP32[HEAP32[$6_1+28>>2]+12>>2]](HEAP32[$6_1+24>>2],$1_1,$2_1)){break label$1;}$1_1=HEAP32[$0_1>>2];if(FUNCTION_TABLE[HEAP32[HEAP32[$1_1+28>>2]+12>>2]](HEAP32[$1_1+24>>2],1173076,2)){break label$1;}$8_1=FUNCTION_TABLE[HEAP32[$4_1+12>>2]]($3_1,HEAP32[$0_1>>2])|0;break label$1;}if(!$7_1){if(FUNCTION_TABLE[HEAP32[HEAP32[$6_1+28>>2]+12>>2]](HEAP32[$6_1+24>>2],1174080,3)){break label$1;}$6_1=HEAP32[$0_1>>2];}HEAP8[$5_1+23|0]=1;HEAP32[$5_1+16>>2]=$5_1+23;$7_1=HEAP32[$6_1+8>>2];$10_1=HEAP32[$6_1+12>>2];$11_1=HEAP32[$6_1+16>>2];$12_1=HEAP32[$6_1+20>>2];HEAP32[$5_1+52>>2]=1174052;$9_1=HEAP32[$6_1+28>>2];HEAP32[$5_1+8>>2]=HEAP32[$6_1+24>>2];HEAP32[$5_1+12>>2]=$9_1;$9_1=HEAP32[$6_1+32>>2];$13_1=HEAP32[$6_1+36>>2];$14_1=HEAP32[$6_1+40>>2];$15_1=HEAP32[$6_1+44>>2];HEAP8[$5_1+72|0]=HEAPU8[$6_1+48|0];$16_1=HEAP32[$6_1>>2];$6_1=HEAP32[$6_1+4>>2];HEAP32[$5_1+64>>2]=$14_1;HEAP32[$5_1+68>>2]=$15_1;HEAP32[$5_1+56>>2]=$9_1;HEAP32[$5_1+60>>2]=$13_1;HEAP32[$5_1+40>>2]=$11_1;HEAP32[$5_1+44>>2]=$12_1;HEAP32[$5_1+32>>2]=$7_1;HEAP32[$5_1+36>>2]=$10_1;HEAP32[$5_1+24>>2]=$16_1;HEAP32[$5_1+28>>2]=$6_1;HEAP32[$5_1+48>>2]=$5_1+8;if($46($5_1+8|0,$1_1,$2_1)){break label$1;}if($46($5_1+8|0,1173076,2)){break label$1;}if(FUNCTION_TABLE[HEAP32[$4_1+12>>2]]($3_1,$5_1+24|0)){break label$1;}$8_1=FUNCTION_TABLE[HEAP32[HEAP32[$5_1+52>>2]+12>>2]](HEAP32[$5_1+48>>2],1174083,2)|0;}HEAP8[$0_1+5|0]=1;HEAP8[$0_1+4|0]=$8_1;global$0=$5_1+80|0;}function $53($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0;$3_1=global$0-48|0;global$0=$3_1;label$1:{label$2:{$6_1=HEAP32[$1_1+48>>2];if($6_1){$5_1=Math_imul($6_1,84);$4_1=HEAP32[$1_1+40>>2];$7_1=$4_1+20|0;$8_1=HEAP32[$2_1+8>>2];$9_1=HEAP32[$2_1>>2];while(1){if(($8_1|0)==HEAP32[$7_1+12>>2]){$10_1=HEAP32[$7_1+4>>2];if(($10_1|0)==($9_1|0)){break label$2;}if(!$120($9_1,$10_1,$8_1)){break label$2;}}$7_1=$7_1+84|0;$5_1=$5_1+-84|0;if($5_1){continue;}break;};}HEAP32[$3_1+36>>2]=1;HEAP32[$3_1+20>>2]=1;HEAP32[$3_1+24>>2]=0;HEAP32[$3_1+16>>2]=1048892;HEAP32[$3_1+44>>2]=7;HEAP32[$3_1+40>>2]=$2_1;HEAP32[$3_1+32>>2]=$3_1+40;$56($3_1,$3_1+16|0);$1_1=HEAP32[$3_1>>2];$4_1=$179($1_1,HEAP32[$3_1+8>>2]);HEAP32[$0_1>>2]=1;HEAP32[$0_1+4>>2]=$4_1;if(HEAP32[$3_1+4>>2]){$27($1_1);}if(!HEAP32[$2_1+4>>2]){break label$1;}$27(HEAP32[$2_1>>2]);break label$1;}$8_1=Math_imul($6_1,84)+$4_1|0;$1_1=HEAP32[$1_1+8>>2];while(1){if(($4_1|0)==($8_1|0)){$4_1=HEAP32[$7_1>>2];HEAP32[$0_1+4>>2]=$4_1;HEAP32[$0_1>>2]=0;HEAP32[$0_1+8>>2]=($4_1^-1)+$1_1;if(!HEAP32[$2_1+4>>2]){break label$1;}$27($9_1);break label$1;}$5_1=$4_1+20|0;$6_1=$4_1+84|0;$4_1=$6_1;$5_1=HEAP32[$5_1>>2];if($5_1>>>0<=HEAPU32[$7_1>>2]){continue;}$1_1=$1_1>>>0>$5_1>>>0?$5_1:$1_1;$4_1=$6_1;continue;};}global$0=$3_1+48|0;}function $54($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;$0_1=$0_1>>>0>16?$0_1:16;label$1:{if(-65587-$0_1>>>0<=$1_1>>>0){break label$1;}$4_1=$1_1>>>0<11?16:$1_1+11&-8;$2_1=$7(($4_1+$0_1|0)+12|0);if(!$2_1){break label$1;}$1_1=$2_1+-8|0;$3_1=$0_1+-1|0;label$2:{if(!($3_1&$2_1)){$0_1=$1_1;break label$2;}$5_1=$2_1+-4|0;$6_1=HEAP32[$5_1>>2];$2_1=($2_1+$3_1&0-$0_1)+-8|0;$0_1=$2_1-$1_1>>>0>16?$2_1:$0_1+$2_1|0;$2_1=$0_1-$1_1|0;$3_1=($6_1&-8)-$2_1|0;if($6_1&3){HEAP32[$0_1+4>>2]=$3_1|HEAP32[$0_1+4>>2]&1|2;$3_1=$0_1+$3_1|0;HEAP32[$3_1+4>>2]=HEAP32[$3_1+4>>2]|1;HEAP32[$5_1>>2]=$2_1|HEAP32[$5_1>>2]&1|2;HEAP32[$0_1+4>>2]=HEAP32[$0_1+4>>2]|1;$39($1_1,$2_1);break label$2;}$1_1=HEAP32[$1_1>>2];HEAP32[$0_1+4>>2]=$3_1;HEAP32[$0_1>>2]=$1_1+$2_1;}$1_1=HEAP32[$0_1+4>>2];label$5:{if(!($1_1&3)){break label$5;}$2_1=$1_1&-8;if($2_1>>>0<=$4_1+16>>>0){break label$5;}HEAP32[$0_1+4>>2]=$4_1|$1_1&1|2;$1_1=$0_1+$4_1|0;$4_1=$2_1-$4_1|0;HEAP32[$1_1+4>>2]=$4_1|3;$2_1=$0_1+$2_1|0;HEAP32[$2_1+4>>2]=HEAP32[$2_1+4>>2]|1;$39($1_1,$4_1);}$3_1=$0_1+8|0;}return $3_1;}function $55($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0;$7_1=global$0-32|0;global$0=$7_1;HEAP8[$1_1+24|0]=9;label$1:{label$2:{if($6_1>>>0<=1){if($6_1-1){HEAP8[$7_1+14|0]=48111;HEAP8[$7_1+15|0]=187;$8_1=2;$9_1=$1_1+4|0;$45($7_1+16|0,$9_1,$7_1+14|0,2,$4_1,$5_1,0);$6_1=HEAP32[$7_1+24>>2];label$5:{label$6:{switch(HEAPU8[$7_1+20|0]-1|0){case 0:$139(1052444,39,1052428);abort();default:if($6_1>>>0>$5_1>>>0){break label$2;}$45($7_1+16|0,$9_1,$2_1,$3_1,$4_1+$6_1|0,$5_1-$6_1|0,1);$2_1=HEAP32[$7_1+24>>2];$10_1=HEAP32[$7_1+16>>2];$5_1=HEAPU8[$7_1+21|0]|HEAPU8[$7_1+22|0]<<8;$8_1=HEAPU8[$7_1+20|0];if(!$8_1){HEAP8[$1_1+24|0]=10;}$6_1=$2_1+$6_1|0;break label$5;case 1:break label$6;};}$5_1=HEAPU8[$7_1+21|0]|HEAPU8[$7_1+22|0]<<8;if(HEAP32[$7_1+16>>2]!=1){break label$5;}HEAP8[$1_1+24|0]=8;}HEAP8[$0_1+4|0]=$8_1;HEAP32[$0_1+8>>2]=$6_1;HEAP32[$0_1>>2]=$10_1;$0_1=$0_1+5|0;HEAP8[$0_1|0]=$5_1;HEAP8[$0_1+1|0]=$5_1>>>8;break label$1;}$60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,0,239);break label$1;}$45($7_1+16|0,$1_1+4|0,$2_1,$3_1,$4_1,$5_1,1);$3_1=HEAP32[$7_1+24>>2];$4_1=HEAP32[$7_1+16>>2];$2_1=HEAPU8[$7_1+21|0]|HEAPU8[$7_1+22|0]<<8;$5_1=HEAPU8[$7_1+20|0];if(!$5_1){HEAP8[$1_1+24|0]=10;}HEAP8[$0_1+4|0]=$5_1;HEAP32[$0_1+8>>2]=$3_1;HEAP32[$0_1>>2]=$4_1;$0_1=$0_1+5|0;HEAP8[$0_1|0]=$2_1;HEAP8[$0_1+1|0]=$2_1>>>8;break label$1;}$102($6_1,$5_1);abort();}global$0=$7_1+32|0;}function $56($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$3_1=global$0-48|0;global$0=$3_1;$6_1=HEAP32[$1_1>>2];$7_1=HEAP32[$1_1+4>>2];$4_1=$7_1<<3;if($4_1){$2_1=$6_1+4|0;while(1){$5_1=HEAP32[$2_1>>2]+$5_1|0;$2_1=$2_1+8|0;$4_1=$4_1+-8|0;if($4_1){continue;}break;};}label$3:{label$4:{label$5:{label$6:{label$7:{if(!HEAP32[$1_1+20>>2]){$2_1=$5_1;break label$7;}if(!$7_1){$100(1172744,0,0);abort();}if(!(HEAP32[$6_1+4>>2]?0:$5_1>>>0<=15)){$2_1=$5_1+$5_1|0;if($2_1>>>0>=$5_1>>>0){break label$7;}}$4_1=1;$2_1=0;$5_1=$3_1+8|0;break label$6;}if(($2_1|0)<=-1){break label$5;}$5_1=$3_1+8|0;if(!$2_1){$4_1=1;$2_1=0;break label$6;}$4_1=$166($2_1,1);if(!$4_1){break label$4;}}HEAP32[$3_1+16>>2]=0;HEAP32[$3_1+12>>2]=$2_1;HEAP32[$3_1+8>>2]=$4_1;HEAP32[$3_1+20>>2]=$3_1+8;$4_1=$1_1+16|0;$6_1=HEAP32[$4_1+4>>2];$2_1=$3_1+40|0;HEAP32[$2_1>>2]=HEAP32[$4_1>>2];HEAP32[$2_1+4>>2]=$6_1;$4_1=$1_1+8|0;$6_1=HEAP32[$4_1+4>>2];$2_1=$3_1+32|0;HEAP32[$2_1>>2]=HEAP32[$4_1>>2];HEAP32[$2_1+4>>2]=$6_1;$2_1=HEAP32[$1_1+4>>2];HEAP32[$3_1+24>>2]=HEAP32[$1_1>>2];HEAP32[$3_1+28>>2]=$2_1;if($21($3_1+20|0,1172640,$3_1+24|0)){break label$3;}$1_1=HEAP32[$5_1+4>>2];HEAP32[$0_1>>2]=HEAP32[$5_1>>2];HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=HEAP32[$5_1+8>>2];global$0=$3_1+48|0;return;}$183();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}$93(1172840,51,$3_1+24|0,1172760);abort();}function $57($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1){var $7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0,$13_1=0;$9_1=1;label$1:{label$2:{if(!$2_1){break label$2;}$10_1=($2_1<<1)+$1_1|0;$11_1=($0_1&65280)>>>8;$13_1=$0_1&255;label$3:{while(1){$12_1=$1_1+2|0;$2_1=HEAPU8[$1_1+1|0];$8_1=$7_1+$2_1|0;$1_1=HEAPU8[$1_1|0];if(($1_1|0)!=($11_1|0)){if($1_1>>>0>$11_1>>>0){break label$2;}$7_1=$8_1;$1_1=$12_1;if(($10_1|0)!=($1_1|0)){continue;}break label$2;}if($8_1>>>0>=$7_1>>>0){if($8_1>>>0>$4_1>>>0){break label$3;}$1_1=$3_1+$7_1|0;label$7:{while(1){if(!$2_1){break label$7;}$2_1=$2_1+-1|0;$7_1=HEAPU8[$1_1|0];$1_1=$1_1+1|0;if(($7_1|0)!=($13_1|0)){continue;}break;};$9_1=0;break label$1;}$7_1=$8_1;$1_1=$12_1;if(($10_1|0)!=($1_1|0)){continue;}break label$2;}break;};$102($7_1,$8_1);abort();}$101($8_1,$4_1);abort();}if(!$6_1){break label$1;}$3_1=$5_1+$6_1|0;$1_1=$0_1&65535;while(1){label$10:{$4_1=$5_1+1|0;$2_1=HEAPU8[$5_1|0];$6_1=$2_1<<24>>24;$0_1=$4_1;label$11:{if(($6_1|0)>=0){break label$11;}if(($3_1|0)==($4_1|0)){break label$10;}$2_1=HEAPU8[$5_1+1|0]|($6_1&127)<<8;$0_1=$5_1+2|0;}$5_1=$0_1;$1_1=$1_1-$2_1|0;if(($1_1|0)<0){break label$1;}$9_1=$9_1^1;if(($3_1|0)!=($5_1|0)){continue;}break label$1;}break;};$117(1173052);abort();}return $9_1&1;}function $58($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-16|0;global$0=$2_1;$3_1=HEAP32[$0_1>>2];label$1:{label$2:{label$3:{if($1_1>>>0>=128){HEAP32[$2_1+12>>2]=0;if($1_1>>>0<2048){break label$3;}if($1_1>>>0<65536){HEAP8[$2_1+14|0]=$1_1&63|128;HEAP8[$2_1+13|0]=$1_1>>>6&63|128;HEAP8[$2_1+12|0]=$1_1>>>12&15|224;$0_1=3;break label$2;}HEAP8[$2_1+15|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>18|240;HEAP8[$2_1+14|0]=$1_1>>>6&63|128;HEAP8[$2_1+13|0]=$1_1>>>12&63|128;$0_1=4;break label$2;}$0_1=HEAP32[$3_1+8>>2];if(($0_1|0)==HEAP32[$3_1+4>>2]){$88($3_1,$0_1,1);$0_1=HEAP32[$3_1+8>>2];}HEAP8[HEAP32[$3_1>>2]+$0_1|0]=$1_1;HEAP32[$3_1+8>>2]=HEAP32[$3_1+8>>2]+1;break label$1;}HEAP8[$2_1+13|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>6&31|192;$0_1=2;}$1_1=$3_1+8|0;$88($3_1,HEAP32[$1_1>>2],$0_1);$4_1=$1_1;$1_1=HEAP32[$1_1>>2];HEAP32[$4_1>>2]=$1_1+$0_1;$77($1_1+HEAP32[$3_1>>2]|0,$0_1,$2_1+12|0,$0_1);}global$0=$2_1+16|0;return 0;}function $59($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0,$11_1=0,$12_1=0;$7_1=global$0-48|0;global$0=$7_1;$4_1=39;label$1:{if(!$1_1&$0_1>>>0<1e4|$1_1>>>0<0){$6_1=$0_1;break label$1;}while(1){$6_1=_ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0_1,$1_1);$5_1=i64toi32_i32$HIGH_BITS;$12_1=$5_1;$8_1=($7_1+9|0)+$4_1|0;$10_1=$8_1+-4|0;$5_1=$0_1-__wasm_i64_mul($6_1,$5_1,1e4)|0;$11_1=(($5_1&65535)>>>0)/100|0;$9_1=($11_1<<1)+1173850|0;$9_1=HEAPU8[$9_1|0]|HEAPU8[$9_1+1|0]<<8;HEAP8[$10_1|0]=$9_1;HEAP8[$10_1+1|0]=$9_1>>>8;$8_1=$8_1+-2|0;$5_1=(($5_1-Math_imul($11_1,100)&65535)<<1)+1173850|0;$5_1=HEAPU8[$5_1|0]|HEAPU8[$5_1+1|0]<<8;HEAP8[$8_1|0]=$5_1;HEAP8[$8_1+1|0]=$5_1>>>8;$4_1=$4_1+-4|0;$5_1=!$1_1&$0_1>>>0>99999999|$1_1>>>0>0;$0_1=$6_1;$1_1=$12_1;if($5_1){continue;}break;};}if(($6_1|0)>99){$0_1=$6_1;$6_1=(($0_1&65535)>>>0)/100|0;$4_1=$4_1+-2|0;$1_1=$4_1+($7_1+9|0)|0;$0_1=(($0_1-Math_imul($6_1,100)&65535)<<1)+1173850|0;$0_1=HEAPU8[$0_1|0]|HEAPU8[$0_1+1|0]<<8;HEAP8[$1_1|0]=$0_1;HEAP8[$1_1+1|0]=$0_1>>>8;}label$5:{if(($6_1|0)>=10){$4_1=$4_1+-2|0;$0_1=$4_1+($7_1+9|0)|0;$1_1=($6_1<<1)+1173850|0;$1_1=HEAPU8[$1_1|0]|HEAPU8[$1_1+1|0]<<8;HEAP8[$0_1|0]=$1_1;HEAP8[$0_1+1|0]=$1_1>>>8;break label$5;}$4_1=$4_1+-1|0;HEAP8[$4_1+($7_1+9|0)|0]=$6_1+48;}$0_1=$32($3_1,$2_1,1172892,0,($7_1+9|0)+$4_1|0,39-$4_1|0);global$0=$7_1+48|0;return $0_1;}function $60($0_1,$1_1,$2_1,$3_1,$4_1,$5_1,$6_1,$7_1){var $8_1=0,$9_1=0,$10_1=0,$11_1=0;$8_1=global$0-32|0;global$0=$8_1;HEAP8[$1_1+24|0]=9;label$1:{label$2:{if(!$6_1){HEAP8[$8_1+15|0]=$7_1;$7_1=0;$11_1=$1_1+4|0;$45($8_1+16|0,$11_1,$8_1+15|0,1,$4_1,$5_1,0);$6_1=HEAP32[$8_1+24>>2];$10_1=HEAPU8[$8_1+21|0]|HEAPU8[$8_1+22|0]<<8;label$4:{label$5:{label$6:{$9_1=HEAPU8[$8_1+20|0];switch($9_1-1|0){case 1:break label$4;case 0:break label$6;default:break label$5;};}$139(1052444,39,1052428);abort();}if($6_1>>>0>$5_1>>>0){break label$2;}$45($8_1+16|0,$11_1,$2_1,$3_1,$4_1+$6_1|0,$5_1-$6_1|0,1);$2_1=HEAP32[$8_1+24>>2];$7_1=HEAP32[$8_1+16>>2];$10_1=HEAPU8[$8_1+21|0]|HEAPU8[$8_1+22|0]<<8;$9_1=HEAPU8[$8_1+20|0];if(!$9_1){HEAP8[$1_1+24|0]=10;}$6_1=$2_1+$6_1|0;}HEAP8[$0_1+4|0]=$9_1;HEAP32[$0_1+8>>2]=$6_1;HEAP32[$0_1>>2]=$7_1;$0_1=$0_1+5|0;HEAP8[$0_1|0]=$10_1;HEAP8[$0_1+1|0]=$10_1>>>8;break label$1;}$45($8_1+16|0,$1_1+4|0,$2_1,$3_1,$4_1,$5_1,1);$3_1=HEAP32[$8_1+24>>2];$4_1=HEAP32[$8_1+16>>2];$2_1=HEAPU8[$8_1+21|0]|HEAPU8[$8_1+22|0]<<8;$5_1=HEAPU8[$8_1+20|0];if(!$5_1){HEAP8[$1_1+24|0]=10;}HEAP8[$0_1+4|0]=$5_1;HEAP32[$0_1+8>>2]=$3_1;HEAP32[$0_1>>2]=$4_1;$0_1=$0_1+5|0;HEAP8[$0_1|0]=$2_1;HEAP8[$0_1+1|0]=$2_1>>>8;break label$1;}$102($6_1,$5_1);abort();}global$0=$8_1+32|0;}function $61($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0;HEAP32[$0_1+16>>2]=0;HEAP32[$0_1+20>>2]=0;$2_1=$0_1;$4_1=$0_1;$3_1=$1_1>>>8;$0_1=0;label$1:{if(!$3_1){break label$1;}$0_1=31;if($1_1>>>0>16777215){break label$1;}$0_1=Math_clz32($3_1);$0_1=(($1_1>>>(6-$0_1&31)&1)-($0_1<<1)|0)+62|0;}HEAP32[$4_1+28>>2]=$0_1;$3_1=($0_1<<2)+1179136|0;label$2:{label$3:{label$4:{label$5:{$4_1=HEAP32[294717];$5_1=1<<($0_1&31);if($4_1&$5_1){$3_1=HEAP32[$3_1>>2];if((HEAP32[$3_1+4>>2]&-8)!=($1_1|0)){break label$5;}$0_1=$3_1;break label$4;}HEAP32[294717]=$4_1|$5_1;HEAP32[$3_1>>2]=$2_1;break label$2;}$4_1=$1_1<<(($0_1|0)==31?0:25-($0_1>>>1)&31);while(1){$5_1=(($4_1>>>29&4)+$3_1|0)+16|0;$0_1=HEAP32[$5_1>>2];if(!$0_1){break label$3;}$4_1=$4_1<<1;$3_1=$0_1;if((HEAP32[$0_1+4>>2]&-8)!=($1_1|0)){continue;}break;};}$1_1=HEAP32[$0_1+8>>2];HEAP32[$1_1+12>>2]=$2_1;HEAP32[$0_1+8>>2]=$2_1;HEAP32[$2_1+24>>2]=0;HEAP32[$2_1+12>>2]=$0_1;HEAP32[$2_1+8>>2]=$1_1;return;}HEAP32[$5_1>>2]=$2_1;}HEAP32[$2_1+24>>2]=$3_1;HEAP32[$2_1+12>>2]=$2_1;HEAP32[$2_1+8>>2]=$2_1;}function $62($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-16|0;global$0=$2_1;$3_1=HEAP32[$0_1>>2];$4_1=$3_1;label$1:{label$2:{label$3:{if($1_1>>>0>=128){HEAP32[$2_1+12>>2]=0;if($1_1>>>0<2048){break label$3;}if($1_1>>>0<65536){HEAP8[$2_1+14|0]=$1_1&63|128;HEAP8[$2_1+13|0]=$1_1>>>6&63|128;HEAP8[$2_1+12|0]=$1_1>>>12&15|224;$0_1=3;break label$2;}HEAP8[$2_1+15|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>18|240;HEAP8[$2_1+14|0]=$1_1>>>6&63|128;HEAP8[$2_1+13|0]=$1_1>>>12&63|128;$0_1=4;break label$2;}$0_1=HEAP32[$3_1+8>>2];if(($0_1|0)==HEAP32[$3_1+4>>2]){$89($3_1,1);$0_1=HEAP32[$3_1+8>>2];}HEAP8[HEAP32[$3_1>>2]+$0_1|0]=$1_1;HEAP32[$3_1+8>>2]=HEAP32[$3_1+8>>2]+1;break label$1;}HEAP8[$2_1+13|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>6&31|192;$0_1=2;}$89($4_1,$0_1);$1_1=HEAP32[$3_1+8>>2];HEAP32[$3_1+8>>2]=$1_1+$0_1;$126($1_1+HEAP32[$3_1>>2]|0,$2_1+12|0,$0_1);}global$0=$2_1+16|0;return 0;}function $63($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-16|0;global$0=$2_1;$3_1=$0_1;$4_1=$3_1;label$1:{label$2:{label$3:{if($1_1>>>0>=128){HEAP32[$2_1+12>>2]=0;if($1_1>>>0<2048){break label$3;}if($1_1>>>0<65536){HEAP8[$2_1+14|0]=$1_1&63|128;HEAP8[$2_1+13|0]=$1_1>>>6&63|128;HEAP8[$2_1+12|0]=$1_1>>>12&15|224;$0_1=3;break label$2;}HEAP8[$2_1+15|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>18|240;HEAP8[$2_1+14|0]=$1_1>>>6&63|128;HEAP8[$2_1+13|0]=$1_1>>>12&63|128;$0_1=4;break label$2;}$0_1=HEAP32[$3_1+8>>2];if(($0_1|0)==HEAP32[$3_1+4>>2]){$89($3_1,1);$0_1=HEAP32[$3_1+8>>2];}HEAP8[HEAP32[$3_1>>2]+$0_1|0]=$1_1;HEAP32[$3_1+8>>2]=HEAP32[$3_1+8>>2]+1;break label$1;}HEAP8[$2_1+13|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>6&31|192;$0_1=2;}$89($4_1,$0_1);$1_1=HEAP32[$3_1+8>>2];HEAP32[$3_1+8>>2]=$1_1+$0_1;$126($1_1+HEAP32[$3_1>>2]|0,$2_1+12|0,$0_1);}global$0=$2_1+16|0;}function $64($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$4_1=global$0-128|0;global$0=$4_1;label$1:{label$2:{label$3:{label$4:{$3_1=HEAP32[$1_1>>2];if(!($3_1&16)){$2_1=HEAP32[$0_1>>2];if($3_1&32){break label$4;}$0_1=$59($2_1,0,1,$1_1);break label$3;}$2_1=HEAP32[$0_1>>2];$0_1=0;while(1){$3_1=$2_1&15;HEAP8[($0_1+$4_1|0)+127|0]=$3_1>>>0<10?$3_1|48:$3_1+87|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){break label$2;}$0_1=$32($1_1,1,1173848,2,($0_1+$4_1|0)+128|0,0-$0_1|0);break label$3;}$0_1=0;while(1){$3_1=$2_1&15;HEAP8[($0_1+$4_1|0)+127|0]=$3_1>>>0<10?$3_1|48:$3_1+55|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){break label$1;}$0_1=$32($1_1,1,1173848,2,($0_1+$4_1|0)+128|0,0-$0_1|0);}global$0=$4_1+128|0;return $0_1;}$102($2_1,128);abort();}$102($2_1,128);abort();}function $65($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$2_1=global$0+-64|0;global$0=$2_1;$5_1=HEAP32[$1_1+4>>2];if(!$5_1){$5_1=$1_1+4|0;$4_1=HEAP32[$1_1>>2];HEAP32[$2_1+32>>2]=0;HEAP32[$2_1+24>>2]=1;HEAP32[$2_1+28>>2]=0;HEAP32[$2_1+36>>2]=$2_1+24;$6_1=$4_1+16|0;$7_1=HEAP32[$6_1+4>>2];$3_1=$2_1+56|0;HEAP32[$3_1>>2]=HEAP32[$6_1>>2];HEAP32[$3_1+4>>2]=$7_1;$6_1=$4_1+8|0;$7_1=HEAP32[$6_1+4>>2];$3_1=$2_1+48|0;HEAP32[$3_1>>2]=HEAP32[$6_1>>2];HEAP32[$3_1+4>>2]=$7_1;$3_1=HEAP32[$4_1+4>>2];HEAP32[$2_1+40>>2]=HEAP32[$4_1>>2];HEAP32[$2_1+44>>2]=$3_1;$21($2_1+36|0,1172072,$2_1+40|0);$4_1=$2_1+16|0;HEAP32[$4_1>>2]=HEAP32[$2_1+32>>2];$3_1=HEAP32[$2_1+28>>2];HEAP32[$2_1+8>>2]=HEAP32[$2_1+24>>2];HEAP32[$2_1+12>>2]=$3_1;$3_1=HEAP32[$1_1+4>>2];label$2:{if(!$3_1){break label$2;}if(!HEAP32[$1_1+8>>2]){break label$2;}$27($3_1);}$3_1=HEAP32[$2_1+12>>2];HEAP32[$5_1>>2]=HEAP32[$2_1+8>>2];HEAP32[$5_1+4>>2]=$3_1;HEAP32[$5_1+8>>2]=HEAP32[$4_1>>2];$5_1=HEAP32[$5_1>>2];}HEAP32[$1_1+4>>2]=1;$4_1=HEAP32[$1_1+12>>2];$1_1=$1_1+8|0;$3_1=HEAP32[$1_1>>2];HEAP32[$1_1>>2]=0;HEAP32[$1_1+4>>2]=0;$1_1=$166(12,4);if(!$1_1){$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](12,4);abort();}HEAP32[$1_1+8>>2]=$4_1;HEAP32[$1_1+4>>2]=$3_1;HEAP32[$1_1>>2]=$5_1;HEAP32[$0_1+4>>2]=1172604;HEAP32[$0_1>>2]=$1_1;global$0=$2_1- -64|0;}function $66($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,wasm2js_i32$0=0,wasm2js_i32$1=0;$4_1=HEAP32[$0_1+24>>2];label$1:{label$2:{$1_1=HEAP32[$0_1+12>>2];if(($1_1|0)==($0_1|0)){$1_1=$0_1+20|0;$3_1=HEAP32[$1_1>>2];$2_1=HEAP32[($3_1?20:16)+$0_1>>2];if($2_1){break label$2;}$1_1=0;break label$1;}$2_1=HEAP32[$0_1+8>>2];HEAP32[$2_1+12>>2]=$1_1;HEAP32[$1_1+8>>2]=$2_1;break label$1;}$3_1=$3_1?$1_1:$0_1+16|0;while(1){$5_1=$3_1;$1_1=$2_1;$3_1=$1_1+20|0;$2_1=HEAP32[$3_1>>2];if(!$2_1){$3_1=$1_1+16|0;$2_1=HEAP32[$1_1+16>>2];}if($2_1){continue;}break;};HEAP32[$5_1>>2]=0;}label$6:{if(!$4_1){break label$6;}$2_1=(HEAP32[$0_1+28>>2]<<2)+1179136|0;label$7:{if(HEAP32[$2_1>>2]==($0_1|0)){HEAP32[$2_1>>2]=$1_1;if($1_1){break label$7;}(wasm2js_i32$0=1178868,wasm2js_i32$1=HEAP32[294717]&__wasm_rotl_i32(HEAP32[$0_1+28>>2])),HEAP32[wasm2js_i32$0>>2]=wasm2js_i32$1;return;}HEAP32[(HEAP32[$4_1+16>>2]==($0_1|0)?16:20)+$4_1>>2]=$1_1;if(!$1_1){break label$6;}}HEAP32[$1_1+24>>2]=$4_1;$2_1=HEAP32[$0_1+16>>2];if($2_1){HEAP32[$1_1+16>>2]=$2_1;HEAP32[$2_1+24>>2]=$1_1;}$0_1=HEAP32[$0_1+20>>2];if(!$0_1){break label$6;}HEAP32[$1_1+20>>2]=$0_1;HEAP32[$0_1+24>>2]=$1_1;}}function $67($0_1){var $1_1=0,$2_1=0,$3_1=0;label$1:{if($0_1>>>0>=2048){label$3:{label$4:{label$5:{label$6:{label$7:{if($0_1>>>0>=65536){$1_1=($0_1>>>12)+-16|0;if($1_1>>>0<256){break label$7;}$100(1174272,$1_1,256);abort();}$1_1=($0_1>>>6)+-32|0;if($1_1>>>0>991){break label$6;}$2_1=HEAP32[294371];$1_1=HEAPU8[$1_1+1177504|0];if($2_1>>>0<=$1_1>>>0){break label$5;}$1_1=HEAP32[294370]+($1_1<<3)|0;break label$1;}$1_1=$0_1>>>6&63|HEAPU8[$1_1+1178496|0]<<6;$2_1=HEAP32[294373];if($1_1>>>0>=$2_1>>>0){break label$4;}$2_1=HEAP32[294375];$1_1=HEAPU8[$1_1+HEAP32[294372]|0];if($2_1>>>0<=$1_1>>>0){break label$3;}$1_1=HEAP32[294374]+($1_1<<3)|0;break label$1;}$100(1174240,$1_1,992);abort();}$100(1174256,$1_1,$2_1);abort();}$100(1174288,$1_1,$2_1);abort();}$100(1174304,$1_1,$2_1);abort();}$1_1=($0_1>>>3&536870904)+1177224|0;}$2_1=HEAP32[$1_1+4>>2];$3_1=HEAP32[$1_1>>2];$1_1=$0_1&63;$0_1=$1_1&31;if(32<=($1_1&63)>>>0){$1_1=1<<$0_1;$0_1=0;}else{$1_1=(1<<$0_1)-1&1>>>32-$0_1;$0_1=1<<$0_1;}return($3_1&$0_1)!=0|($1_1&$2_1)!=0;}function $68($0_1,$1_1,$2_1,$3_1,$4_1,$5_1){var $6_1=0,$7_1=0,$8_1=0,$9_1=0,$10_1=0;$8_1=global$0-16|0;global$0=$8_1;label$1:{label$2:{label$3:{label$4:{while(1){if($6_1>>>0>$5_1>>>0){break label$1;}$15($8_1,$1_1,$2_1+$9_1|0,$3_1-$9_1|0,$4_1+$6_1|0,$5_1-$6_1|0);$6_1=HEAP32[$8_1+8>>2]+$6_1|0;$9_1=HEAP32[$8_1>>2]+$9_1|0;label$6:{label$7:{label$8:{$7_1=HEAPU8[$8_1+4|0];switch($7_1-1|0){case 1:break label$6;case 0:break label$7;default:break label$8;};}$7_1=0;}HEAP8[$0_1+9|0]=$10_1;HEAP32[$0_1+4>>2]=$6_1;HEAP32[$0_1>>2]=$9_1;HEAP8[$0_1+8|0]=$7_1;global$0=$8_1+16|0;return;}if($6_1>>>0>=$5_1>>>0){break label$4;}HEAP8[$4_1+$6_1|0]=239;$7_1=$6_1+1|0;if($7_1>>>0>=$5_1>>>0){break label$3;}HEAP8[$4_1+$7_1|0]=191;$7_1=$6_1+2|0;if($7_1>>>0>=$5_1>>>0){break label$2;}HEAP8[$4_1+$7_1|0]=189;$6_1=$6_1+3|0;$10_1=1;if($9_1>>>0<=$3_1>>>0){continue;}break;};$102($9_1,$3_1);abort();}$100(1052380,$6_1,$5_1);abort();}$100(1052396,$7_1,$5_1);abort();}$100(1052412,$7_1,$5_1);abort();}$102($6_1,$5_1);abort();}function $69($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0;$7_1=global$0-16|0;global$0=$7_1;label$1:{if($3_1){while(1){label$4:{label$5:{if($8_1>>>0<=$3_1>>>0){$4_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2];$5_1=HEAP32[$1_1+16>>2];$4_1=!$4_1&$6_1>>>0>$5_1>>>0|$4_1>>>0>0;$4_1=$4_1?$5_1:$6_1;if($5_1>>>0<$4_1>>>0){break label$5;}$6_1=$2_1+$8_1|0;$9_1=$4_1+HEAP32[$1_1+8>>2]|0;$4_1=$5_1-$4_1|0;$5_1=$3_1-$8_1|0;$4_1=$4_1>>>0<$5_1>>>0?$4_1:$5_1;if(($4_1|0)==1){if($5_1){HEAP8[$6_1|0]=HEAPU8[$9_1|0];$5_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1>>2]+1|0;if($6_1>>>0<1){$5_1=$5_1+1|0;}HEAP32[$1_1>>2]=$6_1;HEAP32[$1_1+4>>2]=$5_1;break label$4;}$100(1050712,0,0);abort();}$126($6_1,$9_1,$4_1);$5_1=HEAP32[$1_1+4>>2];$6_1=$4_1+HEAP32[$1_1>>2]|0;if($6_1>>>0<$4_1>>>0){$5_1=$5_1+1|0;}HEAP32[$1_1>>2]=$6_1;HEAP32[$1_1+4>>2]=$5_1;if($4_1){break label$4;}$92($7_1,1050728,27);$90($7_1+8|0,16,HEAP32[$7_1>>2],HEAP32[$7_1+4>>2]);$1_1=HEAP32[$7_1+12>>2];HEAP32[$0_1>>2]=HEAP32[$7_1+8>>2];HEAP32[$0_1+4>>2]=$1_1;break label$1;}$102($8_1,$3_1);abort();}$102($4_1,$5_1);abort();}$8_1=$4_1+$8_1|0;if(($8_1|0)!=($3_1|0)){continue;}break;}}HEAP8[$0_1|0]=3;}global$0=$7_1+16|0;}function $70($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0,$9_1=0;$4_1=global$0+-64|0;global$0=$4_1;$6_1=1;$5_1=HEAP32[$3_1+12>>2];$7_1=HEAP32[$3_1+8>>2];$8_1=HEAP32[$3_1+4>>2];$9_1=HEAP32[$3_1>>2];label$1:{label$2:{label$3:{if(HEAP32[294830]!=1){HEAP32[294830]=1;HEAP32[294831]=1;break label$3;}$6_1=HEAP32[294831]+1|0;HEAP32[294831]=$6_1;if($6_1>>>0>2){break label$2;}}$3_1=$4_1+48|0;HEAP32[$3_1+12>>2]=$5_1;HEAP32[$3_1+8>>2]=$7_1;HEAP32[$3_1+4>>2]=$8_1;HEAP32[$3_1>>2]=$9_1;$5_1=$4_1+56|0;$7_1=HEAP32[$5_1+4>>2];$3_1=$4_1+36|0;HEAP32[$3_1>>2]=HEAP32[$5_1>>2];HEAP32[$3_1+4>>2]=$7_1;HEAP32[$4_1+24>>2]=$2_1;HEAP32[$4_1+20>>2]=1172096;HEAP32[$4_1+16>>2]=1;$2_1=HEAP32[$4_1+52>>2];HEAP32[$4_1+28>>2]=HEAP32[$4_1+48>>2];HEAP32[$4_1+32>>2]=$2_1;$2_1=HEAP32[294713];if(($2_1|0)<=-1){break label$2;}$2_1=$2_1+1|0;HEAP32[294713]=$2_1;$3_1=HEAP32[294715];if($3_1){$2_1=HEAP32[294714];FUNCTION_TABLE[HEAP32[$1_1+16>>2]]($4_1+8|0,$0_1);$5_1=HEAP32[$4_1+12>>2];HEAP32[$4_1+16>>2]=HEAP32[$4_1+8>>2];HEAP32[$4_1+20>>2]=$5_1;FUNCTION_TABLE[HEAP32[$3_1+12>>2]]($2_1,$4_1+16|0);$2_1=HEAP32[294713];}HEAP32[294713]=$2_1+-1;if($6_1>>>0<=1){break label$1;}}abort();}$2_1=global$0-16|0;global$0=$2_1;HEAP32[$2_1+12>>2]=$1_1;HEAP32[$2_1+8>>2]=$0_1;abort();}function $71($0_1,$1_1,$2_1,$3_1,$4_1,$5_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;$3_1=$3_1|0;$4_1=$4_1|0;$5_1=$5_1|0;var $6_1=0;$6_1=global$0-48|0;global$0=$6_1;label$1:{label$2:{label$3:{label$4:{if($1_1){if(HEAP32[$1_1>>2]){break label$4;}HEAP32[$1_1>>2]=-1;HEAP32[$6_1+24>>2]=$3_1;HEAP32[$6_1+20>>2]=$3_1;HEAP32[$6_1+16>>2]=$2_1;HEAP32[$6_1+40>>2]=$5_1;HEAP32[$6_1+36>>2]=$5_1;HEAP32[$6_1+32>>2]=$4_1;$50($6_1,$1_1+4|0,$6_1+16|0,$6_1+32|0);HEAP32[$1_1>>2]=0;$2_1=HEAP32[$6_1+4>>2];if(HEAP32[$6_1>>2]==1){break label$3;}$1_1=HEAP32[$6_1+12>>2];$3_1=HEAP32[$6_1+8>>2];if(($1_1|0)==($3_1|0)){$5_1=$2_1;$1_1=$3_1;break label$1;}if($3_1>>>0<$1_1>>>0){break label$2;}if(!$1_1){$1_1=0;$5_1=1;if(!$3_1){break label$1;}$27($2_1);break label$1;}$5_1=$159($2_1,$3_1,1,$1_1);if($5_1){break label$1;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($1_1,1);abort();}$175();abort();}$176();abort();}$180($2_1);abort();}$117(1049064);abort();}HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1>>2]=$5_1;global$0=$6_1+48|0;}function $72($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0;$2_1=global$0-16|0;global$0=$2_1;HEAP32[$2_1+12>>2]=0;$3_1=$2_1+12|0;label$1:{label$2:{if($1_1>>>0>=128){if($1_1>>>0<2048){break label$2;}if($1_1>>>0<65536){HEAP8[$2_1+14|0]=$1_1&63|128;HEAP8[$2_1+13|0]=$1_1>>>6&63|128;HEAP8[$2_1+12|0]=$1_1>>>12&15|224;$1_1=3;break label$1;}HEAP8[$2_1+15|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>18|240;HEAP8[$2_1+14|0]=$1_1>>>6&63|128;HEAP8[$2_1+13|0]=$1_1>>>12&63|128;$1_1=4;break label$1;}HEAP8[$2_1+12|0]=$1_1;$1_1=1;break label$1;}HEAP8[$2_1+13|0]=$1_1&63|128;HEAP8[$2_1+12|0]=$1_1>>>6&31|192;$1_1=2;}$0_1=$46($0_1,$3_1,$1_1);global$0=$2_1+16|0;return $0_1|0;}function $73($0_1){$0_1=$0_1|0;var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0;label$1:{if($0_1){if(HEAP32[$0_1>>2]){break label$1;}HEAP32[$0_1>>2]=0;$2_1=HEAP32[$0_1+16>>2];$4_1=HEAP32[$0_1+20>>2];$3_1=HEAP32[$0_1+44>>2];$5_1=HEAP32[$0_1+48>>2];$1_1=HEAP32[$0_1+52>>2];$27($0_1);if($4_1){$27($2_1);}if($1_1){$2_1=Math_imul($1_1,84);$1_1=0;while(1){$0_1=$1_1+$3_1|0;if(HEAP32[$0_1+28>>2]){$27(HEAP32[$0_1+24>>2]);}if(HEAP32[$0_1+40>>2]){$27(HEAP32[$0_1+36>>2]);}if(HEAP32[$0_1+52>>2]){$27(HEAP32[$0_1+48>>2]);}$1_1=$1_1+84|0;if(($2_1|0)!=($1_1|0)){continue;}break;};}if($5_1){$27($3_1);}return;}$175();abort();}$176();abort();}function $74($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0;$4_1=$0_1;$5_1=$0_1;$0_1=HEAP32[$1_1+4>>2];if($0_1-$2_1>>>0<$3_1>>>0){label$2:{$3_1=$2_1+$3_1|0;if($3_1>>>0<$2_1>>>0){HEAP32[$4_1+4>>2]=$3_1;break label$2;}$2_1=$0_1<<1;$2_1=$2_1>>>0>$3_1>>>0?$2_1:$3_1;if(($2_1|0)<=-1){break label$2;}label$4:{if(!$0_1){$0_1=$166($2_1,1);break label$4;}$0_1=$159(HEAP32[$1_1>>2],$0_1,1,$2_1);}if(!$0_1){$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}HEAP32[$1_1>>2]=$0_1;HEAP32[$1_1+4>>2]=$2_1;HEAP32[$4_1>>2]=0;return;}HEAP32[$4_1+8>>2]=0;$0_1=1;}else{$0_1=0;}HEAP32[$5_1>>2]=$0_1;}function $75($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;label$1:{label$2:{$2_1=$1_1+$1_1|0;if($2_1>>>0>=$1_1>>>0){if(($2_1|0)<=-1){break label$2;}$3_1=2;if($2_1){$3_1=$166($2_1,2);if(!$3_1){break label$1;}}label$5:{label$6:{if($1_1>>>0>=2){$4_1=$1_1+-1|0;$2_1=$3_1;while(1){HEAP16[$2_1>>1]=16;$2_1=$2_1+2|0;$4_1=$4_1+-1|0;if($4_1){continue;}break;};break label$6;}$2_1=$3_1;if(!$1_1){break label$5;}}HEAP16[$2_1>>1]=16;}HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1>>2]=$3_1;return;}$183();abort();}$183();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,2);abort();}function $76($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$2_1=global$0+-64|0;global$0=$2_1;$6_1=$1_1+4|0;if(!HEAP32[$1_1+4>>2]){$4_1=HEAP32[$1_1>>2];HEAP32[$2_1+32>>2]=0;HEAP32[$2_1+24>>2]=1;HEAP32[$2_1+28>>2]=0;HEAP32[$2_1+36>>2]=$2_1+24;$5_1=$4_1+16|0;$7_1=HEAP32[$5_1+4>>2];$3_1=$2_1+56|0;HEAP32[$3_1>>2]=HEAP32[$5_1>>2];HEAP32[$3_1+4>>2]=$7_1;$5_1=$4_1+8|0;$7_1=HEAP32[$5_1+4>>2];$3_1=$2_1+48|0;HEAP32[$3_1>>2]=HEAP32[$5_1>>2];HEAP32[$3_1+4>>2]=$7_1;$3_1=HEAP32[$4_1+4>>2];HEAP32[$2_1+40>>2]=HEAP32[$4_1>>2];HEAP32[$2_1+44>>2]=$3_1;$21($2_1+36|0,1172072,$2_1+40|0);$4_1=$2_1+16|0;HEAP32[$4_1>>2]=HEAP32[$2_1+32>>2];$3_1=HEAP32[$2_1+28>>2];HEAP32[$2_1+8>>2]=HEAP32[$2_1+24>>2];HEAP32[$2_1+12>>2]=$3_1;$3_1=HEAP32[$1_1+4>>2];label$2:{if(!$3_1){break label$2;}if(!HEAP32[$1_1+8>>2]){break label$2;}$27($3_1);}$1_1=HEAP32[$2_1+12>>2];HEAP32[$6_1>>2]=HEAP32[$2_1+8>>2];HEAP32[$6_1+4>>2]=$1_1;HEAP32[$6_1+8>>2]=HEAP32[$4_1>>2];}HEAP32[$0_1+4>>2]=1172604;HEAP32[$0_1>>2]=$6_1;global$0=$2_1- -64|0;}function $77($0_1,$1_1,$2_1,$3_1){var $4_1=0;$4_1=global$0-96|0;global$0=$4_1;HEAP32[$4_1+8>>2]=$1_1;HEAP32[$4_1+12>>2]=$3_1;if(($1_1|0)==($3_1|0)){$126($0_1,$2_1,$1_1);global$0=$4_1+96|0;return;}HEAP32[$4_1+60>>2]=29;HEAP32[$4_1+52>>2]=30;HEAP32[$4_1+36>>2]=3;HEAP32[$4_1+20>>2]=3;HEAP32[$4_1+24>>2]=0;HEAP32[$4_1+16>>2]=1051264;HEAP32[$4_1+44>>2]=30;HEAP32[$4_1+64>>2]=$4_1+8;HEAP32[$4_1+68>>2]=$4_1+12;HEAP32[$4_1+88>>2]=4;HEAP32[$4_1+92>>2]=0;HEAP32[$4_1+76>>2]=1;HEAP32[$4_1+80>>2]=0;HEAP32[$4_1+72>>2]=1051340;HEAP32[$4_1+32>>2]=$4_1+40;HEAP32[$4_1+56>>2]=$4_1+72;HEAP32[$4_1+48>>2]=$4_1+68;HEAP32[$4_1+40>>2]=$4_1- -64;$123($4_1+16|0,1051348);abort();}function $78($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;var $3_1=0;$3_1=global$0-32|0;global$0=$3_1;label$1:{label$2:{label$3:{if($0_1){if(HEAP32[$0_1>>2]){break label$3;}HEAP32[$0_1>>2]=-1;HEAP32[$3_1+24>>2]=$2_1;HEAP32[$3_1+20>>2]=$2_1;HEAP32[$3_1+16>>2]=$1_1;$53($3_1,$0_1+4|0,$3_1+16|0);HEAP32[$0_1>>2]=0;$1_1=HEAP32[$3_1+4>>2];if(HEAP32[$3_1>>2]==1){break label$2;}$2_1=HEAP32[$3_1+8>>2];$0_1=$166(12,4);if(!$0_1){break label$1;}HEAP32[$0_1+8>>2]=$2_1;HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1>>2]=0;global$0=$3_1+32|0;return $0_1|0;}$175();abort();}$176();abort();}$180($1_1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](12,4);abort();}function $79($0_1,$1_1){var $2_1=0,$3_1=0;label$1:{label$2:{$2_1=HEAP32[$0_1+4>>2];if($2_1-$1_1>>>0<1){$3_1=$1_1+1|0;if($3_1>>>0<$1_1>>>0){break label$1;}$1_1=$2_1<<1;$3_1=$1_1>>>0>$3_1>>>0?$1_1:$3_1;$1_1=__wasm_i64_mul($3_1,0,84);if(i64toi32_i32$HIGH_BITS){break label$1;}if(($1_1|0)<0){break label$1;}label$4:{if(!$2_1){$2_1=$166($1_1,4);break label$4;}$2_1=$159(HEAP32[$0_1>>2],Math_imul($2_1,84),4,$1_1);}if(!$2_1){break label$2;}HEAP32[$0_1>>2]=$2_1;HEAP32[$0_1+4>>2]=$3_1;}return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($1_1,4);abort();}$182();abort();}function $80($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;label$1:{label$2:{$3_1=HEAP32[$0_1+4>>2];if($3_1-$1_1>>>0<1){$2_1=$1_1+1|0;if($2_1>>>0<$1_1>>>0){break label$1;}$1_1=$3_1<<1;$2_1=$1_1>>>0>$2_1>>>0?$1_1:$2_1;if(($2_1&536870911)!=($2_1|0)){break label$1;}$4_1=$2_1<<3;if(($4_1|0)<0){break label$1;}label$4:{if(!$3_1){$1_1=$166($4_1,4);break label$4;}$1_1=$159(HEAP32[$0_1>>2],$3_1<<3,4,$4_1);}if(!$1_1){break label$2;}HEAP32[$0_1>>2]=$1_1;HEAP32[$0_1+4>>2]=$2_1;}return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($4_1,4);abort();}$182();abort();}function $81($0_1){var $1_1=0;if($0_1>>>0>=65536){label$2:{if($0_1>>>0>=131072){if($0_1+-195102>>>0<722658){break label$2;}if($0_1+-191457>>>0<3103){break label$2;}if($0_1+-183970>>>0<14){break label$2;}if(($0_1&2097150)==178206){break label$2;}if($0_1+-173783>>>0<41){break label$2;}if($0_1+-177973>>>0<11){break label$2;}return $0_1+-918e3>>>0>196111;}$1_1=$57($0_1,1175009,35,1175079,166,1175245,408);}return $1_1;}return $57($0_1,1174320,41,1174402,293,1174695,314);}function $82($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$3_1=global$0-128|0;global$0=$3_1;$2_1=HEAPU16[$0_1>>1];$0_1=0;while(1){$4_1=$2_1&15;HEAP8[($0_1+$3_1|0)+127|0]=$4_1>>>0<10?$4_1|48:$4_1+87|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){$102($2_1,128);abort();}$0_1=$32($1_1,1,1173848,2,($0_1+$3_1|0)+128|0,0-$0_1|0);global$0=$3_1+128|0;return $0_1;}function $83($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$3_1=global$0-128|0;global$0=$3_1;$2_1=HEAPU8[$0_1|0];$0_1=0;while(1){$4_1=$2_1&15;HEAP8[($0_1+$3_1|0)+127|0]=$4_1>>>0<10?$4_1|48:$4_1+87|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){$102($2_1,128);abort();}$0_1=$32($1_1,1,1173848,2,($0_1+$3_1|0)+128|0,0-$0_1|0);global$0=$3_1+128|0;return $0_1;}function $84($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$3_1=global$0-128|0;global$0=$3_1;$2_1=HEAPU8[$0_1|0];$0_1=0;while(1){$4_1=$2_1&15;HEAP8[($0_1+$3_1|0)+127|0]=$4_1>>>0<10?$4_1|48:$4_1+55|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){$102($2_1,128);abort();}$0_1=$32($1_1,1,1173848,2,($0_1+$3_1|0)+128|0,0-$0_1|0);global$0=$3_1+128|0;return $0_1;}function $85($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$3_1=global$0-128|0;global$0=$3_1;$2_1=HEAPU16[$0_1>>1];$0_1=0;while(1){$4_1=$2_1&15;HEAP8[($0_1+$3_1|0)+127|0]=$4_1>>>0<10?$4_1|48:$4_1+55|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){$102($2_1,128);abort();}$0_1=$32($1_1,1,1173848,2,($0_1+$3_1|0)+128|0,0-$0_1|0);global$0=$3_1+128|0;return $0_1;}function $86($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$3_1=global$0-128|0;global$0=$3_1;$2_1=HEAP32[$0_1>>2];$0_1=0;while(1){$4_1=$2_1&15;HEAP8[($0_1+$3_1|0)+127|0]=$4_1>>>0<10?$4_1|48:$4_1+87|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){$102($2_1,128);abort();}$0_1=$32($1_1,1,1173848,2,($0_1+$3_1|0)+128|0,0-$0_1|0);global$0=$3_1+128|0;return $0_1;}function $87($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$3_1=global$0-128|0;global$0=$3_1;$2_1=HEAP32[$0_1>>2];$0_1=0;while(1){$4_1=$2_1&15;HEAP8[($0_1+$3_1|0)+127|0]=$4_1>>>0<10?$4_1|48:$4_1+55|0;$0_1=$0_1+-1|0;$2_1=$2_1>>>4;if($2_1){continue;}break;};$2_1=$0_1+128|0;if($2_1>>>0>=129){$102($2_1,128);abort();}$0_1=$32($1_1,1,1173848,2,($0_1+$3_1|0)+128|0,0-$0_1|0);global$0=$3_1+128|0;return $0_1;}function $88($0_1,$1_1,$2_1){var $3_1=0;label$1:{label$2:{$3_1=HEAP32[$0_1+4>>2];if($3_1-$1_1>>>0<$2_1>>>0){$2_1=$1_1+$2_1|0;if($2_1>>>0<$1_1>>>0){break label$1;}$1_1=$3_1<<1;$2_1=$1_1>>>0>$2_1>>>0?$1_1:$2_1;if(($2_1|0)<0){break label$1;}label$4:{if(!$3_1){$1_1=$166($2_1,1);break label$4;}$1_1=$159(HEAP32[$0_1>>2],$3_1,1,$2_1);}if(!$1_1){break label$2;}HEAP32[$0_1>>2]=$1_1;HEAP32[$0_1+4>>2]=$2_1;}return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}$182();abort();}function $89($0_1,$1_1){var $2_1=0,$3_1=0;label$1:{label$2:{$3_1=HEAP32[$0_1+4>>2];$2_1=HEAP32[$0_1+8>>2];if($3_1-$2_1>>>0<$1_1>>>0){$1_1=$1_1+$2_1|0;if($1_1>>>0<$2_1>>>0){break label$1;}$2_1=$3_1<<1;$2_1=$2_1>>>0>$1_1>>>0?$2_1:$1_1;if(($2_1|0)<0){break label$1;}label$4:{if(!$3_1){$1_1=$166($2_1,1);break label$4;}$1_1=$159(HEAP32[$0_1>>2],$3_1,1,$2_1);}if(!$1_1){break label$2;}HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=$1_1;}return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}$182();abort();}function $90($0_1,$1_1,$2_1,$3_1){var $4_1=0,$5_1=0;$4_1=global$0-16|0;global$0=$4_1;$5_1=$166(12,4);if(!$5_1){$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](12,4);abort();}HEAP8[$5_1+8|0]=$1_1;HEAP32[$5_1+4>>2]=$3_1;HEAP32[$5_1>>2]=$2_1;$1_1=HEAPU8[$4_1+13|0]|HEAPU8[$4_1+14|0]<<8;HEAP8[$5_1+9|0]=$1_1;HEAP8[$5_1+10|0]=$1_1>>>8;HEAP8[$5_1+11|0]=HEAPU8[$4_1+15|0];HEAP8[$0_1|0]=2;$1_1=HEAPU8[$4_1+10|0]|HEAPU8[$4_1+11|0]<<8;HEAP8[$0_1+1|0]=$1_1;HEAP8[$0_1+2|0]=$1_1>>>8;HEAP8[$0_1+3|0]=HEAPU8[$4_1+12|0];HEAP32[$0_1+4>>2]=$5_1;global$0=$4_1+16|0;}function $91($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;var $3_1=0;$3_1=global$0-32|0;global$0=$3_1;label$1:{label$2:{if($0_1){if(HEAP32[$0_1>>2]){break label$2;}HEAP32[$0_1>>2]=-1;HEAP32[$3_1+24>>2]=$2_1;HEAP32[$3_1+20>>2]=$2_1;HEAP32[$3_1+16>>2]=$1_1;$35($3_1+8|0,$0_1+4|0,$3_1+16|0);$1_1=HEAP32[$3_1+12>>2];$2_1=HEAP32[$3_1+8>>2];HEAP32[$0_1>>2]=0;if($2_1){break label$1;}global$0=$3_1+32|0;return $1_1|0;}$175();abort();}$176();abort();}$180($1_1);abort();}function $92($0_1,$1_1,$2_1){var $3_1=0;label$1:{label$2:{if(($2_1|0)>-1){label$4:{if(!$2_1){$3_1=1;break label$4;}$3_1=$166($2_1,1);if(!$3_1){break label$2;}}$3_1=$126($3_1,$1_1,$2_1);$1_1=$166(12,4);if(!$1_1){break label$1;}HEAP32[$1_1+8>>2]=$2_1;HEAP32[$1_1+4>>2]=$2_1;HEAP32[$1_1>>2]=$3_1;HEAP32[$0_1+4>>2]=1172200;HEAP32[$0_1>>2]=$1_1;return;}$183();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](12,4);abort();}function $93($0_1,$1_1,$2_1,$3_1){var $4_1=0;$4_1=global$0+-64|0;global$0=$4_1;HEAP32[$4_1+12>>2]=$1_1;HEAP32[$4_1+8>>2]=$0_1;HEAP32[$4_1+20>>2]=$3_1;HEAP32[$4_1+16>>2]=$2_1;HEAP32[$4_1+44>>2]=2;HEAP32[$4_1+60>>2]=81;HEAP32[$4_1+28>>2]=2;HEAP32[$4_1+32>>2]=0;HEAP32[$4_1+24>>2]=1173080;HEAP32[$4_1+52>>2]=77;HEAP32[$4_1+40>>2]=$4_1+48;HEAP32[$4_1+56>>2]=$4_1+16;HEAP32[$4_1+48>>2]=$4_1+8;$123($4_1+24|0,1173120);abort();}function $94($0_1,$1_1,$2_1){label$1:{if($1_1>>>0>=$0_1>>>0){if(!$2_1){break label$1;}while(1){HEAP8[$0_1|0]=HEAPU8[$1_1|0];$1_1=$1_1+1|0;$0_1=$0_1+1|0;$2_1=$2_1+-1|0;if($2_1){continue;}break;};break label$1;}if(!$2_1){break label$1;}$1_1=$1_1+-1|0;$0_1=$0_1+-1|0;while(1){HEAP8[$0_1+$2_1|0]=HEAPU8[$1_1+$2_1|0];$2_1=$2_1+-1|0;if($2_1){continue;}break;};}}function $95($0_1){var $1_1=0,$2_1=0,$3_1=0;$2_1=HEAPU8[$0_1+4|0];if(HEAPU8[$0_1+5|0]){$3_1=$0_1;$1_1=1;label$2:{if($2_1&255){break label$2;}$1_1=HEAP32[$0_1>>2];$2_1=HEAP32[HEAP32[$1_1+28>>2]+12>>2];$0_1=HEAP32[$1_1+24>>2];if(!(HEAPU8[$1_1|0]&4)){$1_1=FUNCTION_TABLE[$2_1]($0_1,1174091,2)|0;break label$2;}$1_1=FUNCTION_TABLE[$2_1]($0_1,1174090,1)|0;}$2_1=$1_1;HEAP8[$3_1+4|0]=$2_1;}return($2_1&255)!=0;}function $96($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;$1_1=global$0-48|0;global$0=$1_1;$2_1=$162($0_1+12|0);$5_1=$162(HEAP32[$0_1+8>>2]);$4_1=HEAP32[$2_1+4>>2];$3_1=$1_1+8|0;HEAP32[$3_1>>2]=HEAP32[$2_1>>2];HEAP32[$3_1+4>>2]=$4_1;$3_1=HEAP32[$1_1+12>>2];$4_1=HEAP32[$1_1+8>>2];$6_1=HEAP32[$2_1+8>>2];HEAP32[$1_1+28>>2]=HEAP32[$2_1+12>>2];HEAP32[$1_1+24>>2]=$6_1;HEAP32[$1_1+16>>2]=$4_1;HEAP32[$1_1+20>>2]=$3_1;HEAP32[$1_1+36>>2]=0;HEAP32[$1_1+32>>2]=$5_1;$70($1_1+32|0,1172584,HEAP32[$0_1+8>>2],$1_1+16|0);abort();}function $97($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-32|0;global$0=$2_1;label$1:{if($64($0_1,$1_1)){break label$1;}$3_1=HEAP32[$1_1+28>>2];$4_1=HEAP32[$1_1+24>>2];HEAP32[$2_1+24>>2]=4;HEAP32[$2_1+28>>2]=0;HEAP32[$2_1+12>>2]=1;HEAP32[$2_1+16>>2]=0;HEAP32[$2_1+8>>2]=1172896;if($21($4_1,$3_1,$2_1+8|0)){break label$1;}$0_1=$64($0_1+4|0,$1_1);global$0=$2_1+32|0;return $0_1|0;}global$0=$2_1+32|0;return 1;}function $98($0_1){$0_1=$0_1|0;var $1_1=0,$2_1=0;label$1:{label$2:{if($0_1){$1_1=HEAP32[$0_1>>2];if(($1_1|0)==-1){break label$2;}HEAP32[$0_1>>2]=$1_1;$1_1=HEAP32[$0_1+8>>2];$2_1=HEAP32[$0_1+12>>2];$0_1=$166(12,4);if(!$0_1){break label$1;}HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=0;return $0_1|0;}$175();abort();}$176();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](12,4);abort();}function $99($0_1){$0_1=$0_1|0;var $1_1=0,$2_1=0;label$1:{label$2:{if($0_1){$1_1=HEAP32[$0_1>>2];if(($1_1|0)==-1){break label$2;}HEAP32[$0_1>>2]=$1_1;$1_1=HEAP32[$0_1+32>>2];$2_1=HEAP32[$0_1+28>>2];$0_1=$166(12,4);if(!$0_1){break label$1;}HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=0;return $0_1|0;}$175();abort();}$176();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](12,4);abort();}function $100($0_1,$1_1,$2_1){var $3_1=0;$3_1=global$0-48|0;global$0=$3_1;HEAP32[$3_1+4>>2]=$2_1;HEAP32[$3_1>>2]=$1_1;HEAP32[$3_1+28>>2]=2;HEAP32[$3_1+44>>2]=1;HEAP32[$3_1+12>>2]=2;HEAP32[$3_1+16>>2]=0;HEAP32[$3_1+8>>2]=1172972;HEAP32[$3_1+36>>2]=1;HEAP32[$3_1+24>>2]=$3_1+32;HEAP32[$3_1+40>>2]=$3_1;HEAP32[$3_1+32>>2]=$3_1+4;$123($3_1+8|0,$0_1);abort();}function $101($0_1,$1_1){var $2_1=0;$2_1=global$0-48|0;global$0=$2_1;HEAP32[$2_1+4>>2]=$1_1;HEAP32[$2_1>>2]=$0_1;HEAP32[$2_1+28>>2]=2;HEAP32[$2_1+44>>2]=1;HEAP32[$2_1+12>>2]=2;HEAP32[$2_1+16>>2]=0;HEAP32[$2_1+8>>2]=1173200;HEAP32[$2_1+36>>2]=1;HEAP32[$2_1+24>>2]=$2_1+32;HEAP32[$2_1+40>>2]=$2_1+4;HEAP32[$2_1+32>>2]=$2_1;$123($2_1+8|0,1173216);abort();}function $102($0_1,$1_1){var $2_1=0;$2_1=global$0-48|0;global$0=$2_1;HEAP32[$2_1+4>>2]=$1_1;HEAP32[$2_1>>2]=$0_1;HEAP32[$2_1+28>>2]=2;HEAP32[$2_1+44>>2]=1;HEAP32[$2_1+12>>2]=2;HEAP32[$2_1+16>>2]=0;HEAP32[$2_1+8>>2]=1173268;HEAP32[$2_1+36>>2]=1;HEAP32[$2_1+24>>2]=$2_1+32;HEAP32[$2_1+40>>2]=$2_1+4;HEAP32[$2_1+32>>2]=$2_1;$123($2_1+8|0,1173284);abort();}function $103($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;$2_1=global$0-32|0;global$0=$2_1;$6_1=HEAP32[$1_1+28>>2];$1_1=HEAP32[$1_1+24>>2];$4_1=$0_1+16|0;$5_1=HEAP32[$4_1+4>>2];$3_1=$2_1+24|0;HEAP32[$3_1>>2]=HEAP32[$4_1>>2];HEAP32[$3_1+4>>2]=$5_1;$4_1=$0_1+8|0;$5_1=HEAP32[$4_1+4>>2];$3_1=$2_1+16|0;HEAP32[$3_1>>2]=HEAP32[$4_1>>2];HEAP32[$3_1+4>>2]=$5_1;$3_1=HEAP32[$0_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$0_1>>2];HEAP32[$2_1+12>>2]=$3_1;$0_1=$21($1_1,$6_1,$2_1+8|0);global$0=$2_1+32|0;return $0_1|0;}function $104($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;$2_1=global$0-32|0;global$0=$2_1;$6_1=HEAP32[$0_1+28>>2];$0_1=HEAP32[$0_1+24>>2];$4_1=$1_1+16|0;$5_1=HEAP32[$4_1+4>>2];$3_1=$2_1+24|0;HEAP32[$3_1>>2]=HEAP32[$4_1>>2];HEAP32[$3_1+4>>2]=$5_1;$4_1=$1_1+8|0;$5_1=HEAP32[$4_1+4>>2];$3_1=$2_1+16|0;HEAP32[$3_1>>2]=HEAP32[$4_1>>2];HEAP32[$3_1+4>>2]=$5_1;$3_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+12>>2]=$3_1;$0_1=$21($0_1,$6_1,$2_1+8|0);global$0=$2_1+32|0;return $0_1;}function $105($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-16|0;global$0=$2_1;$4_1=$2_1+8|0;HEAP32[$4_1>>2]=HEAP32[$1_1+8>>2];$3_1=HEAP32[$1_1+4>>2];HEAP32[$2_1>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+4>>2]=$3_1;$1_1=$166(12,4);if(!$1_1){$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](12,4);abort();}$3_1=HEAP32[$2_1+4>>2];HEAP32[$1_1>>2]=HEAP32[$2_1>>2];HEAP32[$1_1+4>>2]=$3_1;HEAP32[$1_1+8>>2]=HEAP32[$4_1>>2];HEAP32[$0_1+4>>2]=1172200;HEAP32[$0_1>>2]=$1_1;global$0=$2_1+16|0;}function $106($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-32|0;global$0=$2_1;HEAP32[$2_1+4>>2]=HEAP32[$0_1>>2];$3_1=$1_1+16|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+24|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$3_1=$1_1+8|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+16|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$0_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+12>>2]=$0_1;$0_1=$21($2_1+4|0,1048980,$2_1+8|0);global$0=$2_1+32|0;return $0_1|0;}function $107($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-32|0;global$0=$2_1;HEAP32[$2_1+4>>2]=HEAP32[$0_1>>2];$3_1=$1_1+16|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+24|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$3_1=$1_1+8|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+16|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$0_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+12>>2]=$0_1;$0_1=$21($2_1+4|0,1172072,$2_1+8|0);global$0=$2_1+32|0;return $0_1|0;}function $108($0_1,$1_1,$2_1,$3_1){label$1:{if(8<$2_1>>>0){label$3:{if(8<$2_1>>>0){$2_1=$54($2_1,$3_1);break label$3;}$2_1=$7($3_1);}if($2_1){break label$1;}return 0;}return $31($0_1,$3_1);}$1_1=$126($2_1,$0_1,$1_1>>>0>$3_1>>>0?$3_1:$1_1);$27($0_1);return $1_1;}function $109($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-32|0;global$0=$2_1;HEAP32[$2_1+4>>2]=HEAP32[$0_1>>2];$3_1=$1_1+16|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+24|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$3_1=$1_1+8|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+16|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$0_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+12>>2]=$0_1;$0_1=$21($2_1+4|0,1172640,$2_1+8|0);global$0=$2_1+32|0;return $0_1|0;}function $110($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-32|0;global$0=$2_1;HEAP32[$2_1+4>>2]=HEAP32[$0_1>>2];$3_1=$1_1+16|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+24|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$3_1=$1_1+8|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+16|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$0_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+12>>2]=$0_1;$0_1=$21($2_1+4|0,1174096,$2_1+8|0);global$0=$2_1+32|0;return $0_1|0;}function $111($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=global$0-32|0;global$0=$2_1;HEAP32[$2_1+4>>2]=$0_1;$3_1=$1_1+16|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+24|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$3_1=$1_1+8|0;$4_1=HEAP32[$3_1+4>>2];$0_1=$2_1+16|0;HEAP32[$0_1>>2]=HEAP32[$3_1>>2];HEAP32[$0_1+4>>2]=$4_1;$0_1=HEAP32[$1_1+4>>2];HEAP32[$2_1+8>>2]=HEAP32[$1_1>>2];HEAP32[$2_1+12>>2]=$0_1;$0_1=$21($2_1+4|0,1174096,$2_1+8|0);global$0=$2_1+32|0;return $0_1|0;}function $112($0_1,$1_1){var $2_1=0,$3_1=0;label$1:{$2_1=HEAP32[$1_1+8>>2];if(($2_1|0)>-1){$3_1=HEAP32[$1_1>>2];label$3:{if(!$2_1){$1_1=1;break label$3;}$1_1=$166($2_1,1);if(!$1_1){break label$1;}}$1_1=$126($1_1,$3_1,$2_1);HEAP32[$0_1+8>>2]=$2_1;HEAP32[$0_1+4>>2]=$2_1;HEAP32[$0_1>>2]=$1_1;return;}$183();abort();}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54]($2_1,1);abort();}function $113($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=HEAP32[$1_1>>2];HEAP32[$1_1>>2]=0;label$1:{$3_1=$0_1;label$2:{if(!$2_1){$1_1=1;$2_1=1048964;break label$2;}$4_1=HEAP32[$1_1+4>>2];$1_1=$166(8,4);if(!$1_1){break label$1;}HEAP32[$1_1+4>>2]=$4_1;HEAP32[$1_1>>2]=$2_1;$2_1=1048948;}HEAP32[$3_1+4>>2]=$2_1;HEAP32[$0_1>>2]=$1_1;return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](8,4);abort();}function $114($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0;$2_1=global$0-16|0;global$0=$2_1;$136($2_1,$1_1);HEAP32[$2_1+12>>2]=$0_1+2;$52($2_1,1051796,5,$2_1+12|0,1051804);HEAP32[$2_1+12>>2]=$0_1;$52($2_1,1051820,4,$2_1+12|0,1051824);$0_1=$95($2_1);global$0=$2_1+16|0;return $0_1|0;}function $115($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0;$2_1=HEAP32[$1_1>>2];HEAP32[$1_1>>2]=0;label$1:{$3_1=$0_1;label$2:{if(!$2_1){$1_1=1;$2_1=1170916;break label$2;}$4_1=HEAP32[$1_1+4>>2];$1_1=$166(8,4);if(!$1_1){break label$1;}HEAP32[$1_1+4>>2]=$4_1;HEAP32[$1_1>>2]=$2_1;$2_1=1170900;}HEAP32[$3_1+4>>2]=$2_1;HEAP32[$0_1>>2]=$1_1;return;}$0_1=HEAP32[294712];FUNCTION_TABLE[$0_1?$0_1:54](8,4);abort();}function $116($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$3_1=global$0-16|0;global$0=$3_1;$25($3_1+8|0,$1_1,$2_1);$5_1=$0_1;$4_1=HEAP32[$3_1+12>>2];$6_1=$4_1;$7_1=HEAP32[$3_1+8>>2];label$1:{if(($4_1&255)!=2){HEAP32[$0_1+4>>2]=$7_1;HEAP32[$0_1+8>>2]=$6_1;$0_1=1;break label$1;}HEAP32[$0_1+4>>2]=$1_1;HEAP32[$0_1+8>>2]=$2_1;$0_1=0;}HEAP32[$5_1>>2]=$0_1;global$0=$3_1+16|0;}function $117($0_1){var $1_1=0,$2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;$1_1=global$0-48|0;global$0=$1_1;$2_1=HEAP32[$0_1+8>>2];$3_1=HEAP32[$0_1+12>>2];$4_1=HEAP32[$0_1+16>>2];$5_1=HEAP32[$0_1+20>>2];$6_1=HEAP32[$0_1>>2];$0_1=HEAP32[$0_1+4>>2];HEAP32[$1_1+16>>2]=4;HEAP32[$1_1+20>>2]=0;HEAP32[$1_1+4>>2]=1;HEAP32[$1_1+8>>2]=0;HEAP32[$1_1+24>>2]=$6_1;HEAP32[$1_1+28>>2]=$0_1;HEAP32[$1_1>>2]=$1_1+24;HEAP32[$1_1+40>>2]=$4_1;HEAP32[$1_1+44>>2]=$5_1;HEAP32[$1_1+32>>2]=$2_1;HEAP32[$1_1+36>>2]=$3_1;$123($1_1,$1_1+32|0);abort();}function $118($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;var $3_1=0,$4_1=0,$5_1=0;$4_1=HEAPU8[$1_1|0]|HEAPU8[$1_1+1|0]<<8;HEAP8[$1_1|0]=0;HEAP8[$1_1+1|0]=0;$5_1=$4_1>>>8;$3_1=0;label$1:{if(!($4_1&1)){break label$1;}$3_1=1;if(!$2_1){break label$1;}$5_1=0;HEAP8[$1_1|0]=0;HEAP8[$1_1+1|0]=0;$3_1=0;}$1_1=$3_1;HEAP8[$0_1+1|0]=$5_1;HEAP8[$0_1|0]=$1_1;}function $119($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;var $3_1=0;$3_1=HEAP32[$1_1>>2];label$1:{if($3_1>>>0<=$2_1>>>0){$2_1=0;if(!$3_1){break label$1;}HEAP32[$1_1>>2]=0;break label$1;}HEAP32[$1_1>>2]=($2_1^-1)+$3_1;$1_1=HEAPU8[$1_1+4|0];$2_1=1;}HEAP8[$0_1+1|0]=$1_1;HEAP8[$0_1|0]=$2_1;}function $120($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0;label$1:{if(!$2_1){break label$1;}while(1){$3_1=HEAPU8[$0_1|0];$4_1=HEAPU8[$1_1|0];if(($3_1|0)==($4_1|0)){$1_1=$1_1+1|0;$0_1=$0_1+1|0;$2_1=$2_1+-1|0;if($2_1){continue;}break label$1;}break;};$5_1=$3_1-$4_1|0;}return $5_1;}function $121($0_1,$1_1,$2_1,$3_1){var $4_1=0;label$1:{if(($1_1|0)!=1114112){$4_1=1;if(FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+16>>2]](HEAP32[$0_1+24>>2],$1_1)){break label$1;}}if(!$2_1){return 0;}$4_1=FUNCTION_TABLE[HEAP32[HEAP32[$0_1+28>>2]+12>>2]](HEAP32[$0_1+24>>2],$2_1,$3_1)|0;}return $4_1;}function $122($0_1){var $1_1=0;$1_1=$7($0_1);label$1:{if(!$1_1){break label$1;}if(!(HEAPU8[$1_1+-4|0]&3)){break label$1;}$137($1_1,$0_1);}return $1_1;}function $123($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0;$2_1=global$0-32|0;global$0=$2_1;$4_1=HEAP32[$1_1>>2];$5_1=HEAP32[$1_1+4>>2];$6_1=HEAP32[$1_1+12>>2];$3_1=$2_1+20|0;HEAP32[$3_1>>2]=HEAP32[$1_1+8>>2];HEAP32[$3_1+4>>2]=$6_1;HEAP32[$2_1+12>>2]=$4_1;HEAP32[$2_1+16>>2]=$5_1;HEAP32[$2_1+8>>2]=$0_1;HEAP32[$2_1+4>>2]=1172904;HEAP32[$2_1>>2]=1;$96($2_1);abort();}function $124($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;var $3_1=0,$4_1=0;$3_1=HEAP32[$0_1>>2];$0_1=$3_1+8|0;$88($3_1,HEAP32[$0_1>>2],$2_1);$4_1=$0_1;$0_1=HEAP32[$0_1>>2];HEAP32[$4_1>>2]=$0_1+$2_1;$77($0_1+HEAP32[$3_1>>2]|0,$2_1,$1_1,$2_1);return 0;}function $125($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0;$2_1=HEAP32[$1_1>>2];$3_1=0;label$1:{if(!$2_1){break label$1;}HEAP32[$1_1>>2]=$2_1+-1;$2_1=HEAPU8[$1_1+4|0];$3_1=1;}$1_1=$3_1;HEAP8[$0_1+1|0]=$2_1;HEAP8[$0_1|0]=$1_1;}function $126($0_1,$1_1,$2_1){var $3_1=0;if($2_1){$3_1=$0_1;while(1){HEAP8[$3_1|0]=HEAPU8[$1_1|0];$3_1=$3_1+1|0;$1_1=$1_1+1|0;$2_1=$2_1+-1|0;if($2_1){continue;}break;};}return $0_1;}function $127($0_1){$0_1=$0_1|0;label$1:{if($0_1>>>0>4294967292){break label$1;}if(!$0_1){return 4;}$0_1=$166($0_1,($0_1>>>0<4294967293)<<2);if(!$0_1){break label$1;}return $0_1|0;}abort();}function $128($0_1){$0_1=$0_1|0;var $1_1=0;label$1:{if($0_1){$1_1=HEAP32[$0_1>>2];if(($1_1|0)==-1){break label$1;}HEAP32[$0_1>>2]=$1_1;return HEAP32[$0_1+8>>2];}$175();abort();}$176();abort();}function $129($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;$0_1=HEAP32[$0_1>>2];if(!((HEAPU8[$1_1|0]&16)>>>4)){if(!((HEAPU8[$1_1|0]&32)>>>5)){return $170($0_1,$1_1)|0;}return $87($0_1,$1_1)|0;}return $86($0_1,$1_1)|0;}function $130($0_1,$1_1,$2_1,$3_1){$75($0_1,1<<($1_1&31));HEAP8[$0_1+17|0]=$1_1;HEAP8[$0_1+16|0]=$1_1;HEAP16[$0_1+14>>1]=$3_1;HEAP16[$0_1+12>>1]=$2_1;}function $131($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;$0_1=HEAP32[$0_1>>2];if(!((HEAPU8[$1_1|0]&16)>>>4)){if(!((HEAPU8[$1_1|0]&32)>>>5)){return $59(HEAPU8[$0_1|0],0,1,$1_1)|0;}return $84($0_1,$1_1)|0;}return $83($0_1,$1_1)|0;}function $132($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;$0_1=HEAP32[$0_1>>2];if(!((HEAPU8[$1_1|0]&16)>>>4)){if(!((HEAPU8[$1_1|0]&32)>>>5)){return $172($0_1,$1_1)|0;}return $85($0_1,$1_1)|0;}return $82($0_1,$1_1)|0;}function $133($0_1){$0_1=$0_1|0;var $1_1=0;label$1:{if($0_1){$1_1=HEAP32[$0_1>>2];if(($1_1|0)==-1){break label$1;}HEAP32[$0_1>>2]=$1_1;return HEAP32[$0_1+4>>2];}$175();abort();}$176();abort();}function $134($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;var $3_1=0;$0_1=HEAP32[$0_1>>2];$89($0_1,$2_1);$3_1=HEAP32[$0_1+8>>2];HEAP32[$0_1+8>>2]=$3_1+$2_1;$126(HEAP32[$0_1>>2]+$3_1|0,$1_1,$2_1);return 0;}function $135($0_1){$0_1=$0_1|0;label$1:{if($0_1){if(HEAP32[$0_1>>2]){break label$1;}HEAP32[$0_1>>2]=0;$27($0_1);return;}$175();abort();}$176();abort();}function $136($0_1,$1_1){var $2_1=0;$2_1=FUNCTION_TABLE[HEAP32[HEAP32[$1_1+28>>2]+12>>2]](HEAP32[$1_1+24>>2],1051792,4)|0;HEAP8[$0_1+5|0]=0;HEAP8[$0_1+4|0]=$2_1;HEAP32[$0_1>>2]=$1_1;}function $137($0_1,$1_1){if($1_1){while(1){HEAP8[$0_1|0]=0;$0_1=$0_1+1|0;$1_1=$1_1+-1|0;if($1_1){continue;}break;}}}function $138(){var $0_1=0;$0_1=global$0-16|0;global$0=$0_1;HEAP32[$0_1+12>>2]=40;HEAP32[$0_1+8>>2]=1050224;$70($0_1+8|0,1048928,0,1050208);abort();}function $139($0_1,$1_1,$2_1){var $3_1=0;$3_1=global$0-16|0;global$0=$3_1;HEAP32[$3_1+12>>2]=$1_1;HEAP32[$3_1+8>>2]=$0_1;$70($3_1+8|0,1170792,0,$2_1);abort();}function $140($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0,$3_1=0,$4_1=0,$5_1=0;$4_1=HEAP32[$0_1>>2];$0_1=$4_1;$2_1=$0_1>>31;$3_1=$2_1>>31;$5_1=$3_1+$0_1|0;$0_1=$2_1>>31;$2_1=$2_1+$0_1|0;return $59($5_1^$3_1,$0_1^($5_1>>>0<$3_1>>>0?$2_1+1|0:$2_1),($4_1^-1)>>>31,$1_1)|0;}function $141($0_1){var $1_1=0;$1_1=16;label$1:{switch(HEAPU8[$0_1|0]-1|0){case 1:return HEAPU8[HEAP32[$0_1+4>>2]+8|0];case 0:$1_1=HEAPU8[$0_1+1|0];default:break label$1;};}return $1_1;}function $142($0_1,$1_1,$2_1,$3_1,$4_1,$5_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;$3_1=$3_1|0;$4_1=$4_1|0;$5_1=$5_1|0;if($0_1){return FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,$2_1,$3_1,$4_1,$5_1)|0;}$174(1051364,48);abort();}function $143($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;label$1:{if($1_1>>>0>4294967292){break label$1;}$0_1=$159($0_1,$1_1,4,$2_1);if(!$0_1){break label$1;}return $0_1|0;}abort();}function $144($0_1){$0_1=$0_1|0;var $1_1=0;$1_1=HEAP32[$0_1+4>>2];label$1:{if(!$1_1){break label$1;}if(!HEAP32[$0_1+8>>2]){break label$1;}$27($1_1);}}function $145($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0;$2_1=HEAPU8[$1_1|0]|HEAPU8[$1_1+1|0]<<8;HEAP8[$1_1|0]=0;HEAP8[$1_1+1|0]=0;HEAP8[$0_1+1|0]=$2_1>>>8;HEAP8[$0_1|0]=$2_1&1;}function $146($0_1,$1_1,$2_1,$3_1,$4_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;$3_1=$3_1|0;$4_1=$4_1|0;if($0_1){FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,$2_1,$3_1,$4_1);return;}$174(1051364,48);abort();}function $147($0_1,$1_1,$2_1,$3_1,$4_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;$3_1=$3_1|0;$4_1=$4_1|0;if($0_1){return FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,$2_1,$3_1,$4_1)|0;}$174(1051364,48);abort();}function $148($0_1,$1_1,$2_1,$3_1,$4_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=Math_fround($2_1);$3_1=$3_1|0;$4_1=$4_1|0;if($0_1){FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,$2_1,$3_1,$4_1);return;}$174(1051364,48);abort();}function $149($0_1,$1_1,$2_1,$3_1,$4_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=+$2_1;$3_1=$3_1|0;$4_1=$4_1|0;if($0_1){FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,$2_1,$3_1,$4_1);return;}$174(1051364,48);abort();}function $150($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;HEAP32[$0_1+4>>2]=1;$1_1=HEAPU8[$1_1|0]==1;HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=$1_1;}function $151($0_1,$1_1,$2_1,$3_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;$3_1=$3_1|0;if($0_1){FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,$2_1,$3_1);return;}$174(1051364,48);abort();}function $152($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0;$2_1=HEAP32[$1_1>>2];HEAP32[$0_1+4>>2]=$2_1?1048948:1048964;HEAP32[$0_1>>2]=$2_1?$1_1:1;}function $153($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;if($0_1){return FUNCTION_TABLE[HEAP32[$1_1+12>>2]]($0_1,$2_1)|0;}$174(1051364,48);abort();}function $154($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;var $2_1=0;$2_1=HEAP32[$1_1>>2];HEAP32[$0_1+4>>2]=$2_1?1170900:1170916;HEAP32[$0_1>>2]=$2_1?$1_1:1;}function $155($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;HEAP32[$0_1+4>>2]=1;$1_1=HEAP32[$1_1>>2];HEAP32[$0_1+8>>2]=$1_1;HEAP32[$0_1>>2]=$1_1;}function $156($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;$0_1=HEAPU8[$0_1|0];return $26($1_1,$0_1?1174184:1174188,$0_1?4:5)|0;}function $157($0_1){$0_1=$0_1|0;if(HEAP32[$0_1+4>>2]){$27(HEAP32[$0_1>>2]);}}function $158($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return FUNCTION_TABLE[HEAP32[HEAP32[$1_1+28>>2]+12>>2]](HEAP32[$1_1+24>>2],1178752,5)|0;}function $159($0_1,$1_1,$2_1,$3_1){return $108($0_1,$1_1,$2_1,$3_1);}function $160($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;if($1_1){$27($0_1);}}function $161($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;HEAP32[$0_1+4>>2]=HEAP32[$1_1+8>>2];HEAP32[$0_1>>2]=HEAP32[$1_1>>2];}function $162($0_1){if(!$0_1){$117(1172176);abort();}return $0_1;}function $163($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return FUNCTION_TABLE[HEAP32[HEAP32[$0_1+4>>2]+12>>2]](HEAP32[$0_1>>2],$1_1)|0;}function $164($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $178(HEAP32[$0_1>>2],HEAP32[$0_1+8>>2],$1_1)|0;}function $165($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $178(HEAP32[$0_1>>2],HEAP32[$0_1+4>>2],$1_1)|0;}function $166($0_1,$1_1){label$1:{if(8<$1_1>>>0){$0_1=$54($1_1,$0_1);break label$1;}$0_1=$7($0_1);}return $0_1;}function $167($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $18(HEAP32[$0_1>>2],HEAP32[$0_1+8>>2],$1_1)|0;}function $168($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $26($1_1,HEAP32[$0_1>>2],HEAP32[$0_1+4>>2])|0;}function $169($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;$63(HEAP32[$0_1>>2],$1_1);return 0;}function $170($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $59(HEAP32[$0_1>>2],0,1,$1_1)|0;}function $171($0_1,$1_1,$2_1){$0_1=$0_1|0;$1_1=$1_1|0;$2_1=$2_1|0;return $46(HEAP32[$0_1>>2],$1_1,$2_1)|0;}function $172($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $59(HEAPU16[$0_1>>1],0,1,$1_1)|0;}function $173($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $103(HEAP32[$0_1>>2],$1_1)|0;}function $174($0_1,$1_1){fimport$6($0_1|0,$1_1|0);abort();}function $175(){$174(1171964,27);abort();}function $176(){$174(1171991,79);abort();}function $177($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;return $72(HEAP32[$0_1>>2],$1_1)|0;}function $178($0_1,$1_1,$2_1){return $26($2_1,$0_1,$1_1);}function $179($0_1,$1_1){return fimport$5($0_1|0,$1_1|0)|0;}function $180($0_1){fimport$7($0_1|0);abort();}function $181($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;HEAP32[$0_1>>2]=0;}function $182(){$117(1172816);abort();}function $183(){$182();abort();}function $184($0_1){$0_1=$0_1|0;i64toi32_i32$HIGH_BITS=286299353;return 1890621284;}function $185($0_1){$0_1=$0_1|0;i64toi32_i32$HIGH_BITS=1757840133;return-801715452;}function $186(){return 1178784;}function $187($0_1){$0_1=$0_1|0;i64toi32_i32$HIGH_BITS=1468863706;return-1546811115;}function $188($0_1){$0_1=$0_1|0;i64toi32_i32$HIGH_BITS=-679582923;return 428379921;}function $189($0_1){$0_1=$0_1|0;i64toi32_i32$HIGH_BITS=-839364866;return-1485718426;}function $190($0_1){$0_1=$0_1|0;return 0;}function $191($0_1){$0_1=$0_1|0;}function $192($0_1,$1_1){$0_1=$0_1|0;$1_1=$1_1|0;}function legalfunc$wasm2js_scratch_store_i64($0_1,$1_1){legalimport$wasm2js_scratch_store_i64($0_1|0,$1_1|0);}function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0_1,$1_1,$2_1){var $3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0;$4_1=$2_1>>>16;$3_1=$0_1>>>16;$7_1=Math_imul($4_1,$3_1);$5_1=$2_1&65535;$0_1=$0_1&65535;$6_1=Math_imul($5_1,$0_1);$3_1=($6_1>>>16)+Math_imul($3_1,$5_1)|0;$0_1=($3_1&65535)+Math_imul($0_1,$4_1)|0;i64toi32_i32$HIGH_BITS=(($7_1+Math_imul($1_1,$2_1)|0)+($3_1>>>16)|0)+($0_1>>>16)|0;return $6_1&65535|$0_1<<16;}function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E($0_1,$1_1){var $2_1=0,$3_1=0,$4_1=0,$5_1=0,$6_1=0,$7_1=0,$8_1=0;label$3:{label$9:{if($1_1){break label$9;}$1_1=$0_1;$0_1=($0_1>>>0)/1e4|0;legalfunc$wasm2js_scratch_store_i64($1_1-Math_imul($0_1,1e4)|0,0);i64toi32_i32$HIGH_BITS=0;return $0_1;}$6_1=51-Math_clz32($1_1)|0;$4_1=0-$6_1|0;break label$3;}$3_1=$6_1&63;$2_1=$3_1&31;if(32<=$3_1>>>0){$3_1=0;$5_1=$1_1>>>$2_1;}else{$3_1=$1_1>>>$2_1;$5_1=((1<<$2_1)-1&$1_1)<<32-$2_1|$0_1>>>$2_1;}$4_1=$4_1&63;$2_1=$4_1&31;if(32<=$4_1>>>0){$1_1=$0_1<<$2_1;$0_1=0;}else{$1_1=(1<<$2_1)-1&$0_1>>>32-$2_1|$1_1<<$2_1;$0_1=$0_1<<$2_1;}if($6_1){while(1){$4_1=$3_1<<1|$5_1>>>31;$3_1=$5_1<<1|$1_1>>>31;$5_1=0-($4_1+(9999<$3_1>>>0)|0)|0;$7_1=$5_1>>31;$2_1=$7_1&1e4;$5_1=$3_1-$2_1|0;$3_1=$4_1-($3_1>>>0<$2_1>>>0)|0;$1_1=$1_1<<1|$0_1>>>31;$0_1=$8_1|$0_1<<1;$7_1=$7_1&1;$8_1=$7_1;$6_1=$6_1+-1|0;if($6_1){continue;}break;}}legalfunc$wasm2js_scratch_store_i64($5_1,$3_1);i64toi32_i32$HIGH_BITS=$1_1<<1|$0_1>>>31;return $7_1|$0_1<<1;}function __wasm_i64_mul($0_1,$1_1,$2_1){return _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0_1,$1_1,$2_1);}function __wasm_rotl_i32($0_1){var $1_1=0;$1_1=$0_1&31;$0_1=0-$0_1&31;return(-1>>>$1_1&-2)<<$1_1|(-1<<$0_1&-2)>>>$0_1;}var FUNCTION_TABLE=[null,$170,$173,$164,$156,$191,$158,$164,$191,$113,$152,$184,$191,$185,$191,$124,$58,$106,$172,$165,$191,$145,$150,$118,$191,$125,$155,$119,$43,$103,$129,$147,$146,$147,$142,$153,$151,$146,$146,$148,$149,$114,$191,$131,$132,$191,$115,$154,$184,$191,$185,$140,$164,$165,$192,$191,$134,$62,$107,$191,$187,$157,$161,$181,$189,$190,$164,$167,$144,$65,$76,$188,$191,$134,$169,$109,$191,$168,$97,$48,$170,$163,$191,$187,$191,$46,$72,$111,$191,$171,$177,$110];function __wasm_memory_grow(pagesToAdd){pagesToAdd=pagesToAdd|0;var oldPages=__wasm_memory_size()|0;var newPages=oldPages+pagesToAdd|0;if(oldPages>2])>>>0>(c=A[r+52>>2])>>>0)l=t,t=(t=k-c|0)>>>0>>0?t:n,we(l,c+A[r+40>>2]|0,t),A[e+4>>2]=t,A[e>>2]=0,A[(e=r+52|0)>>2]=t+A[e>>2];else if(f[r+56|0])A[e>>2]=0,A[e+4>>2]=0;else{Y=r+36|0;n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{if(((c=f[r+36|0])+1&255)>>>0>=33)for(s=r+28|0,N=r+24|0,I=r+16|0;;){if(3!=f[0|s])break p;if(a[0|Y]=c+-8,A[N>>2]=A[N>>2]>>>8,l=k=A[r+4>>2],g=A[r>>2],(c=A[I>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;Z:{W:{if((0|c)!=(0|d))c=f[A[r+8>>2]+d|0];else{if(pe(b+208|0,1049823,27),de(b+232|0,17,A[b+208>>2],A[b+212>>2]),k=A[b+236>>2],3!=(255&(g=A[b+232>>2])))break W;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+1|0)>>>0<1&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break Z}if(c=0,3!=(255&g))break m}if(A[N>>2]=A[N>>2]|c<<24,!(((c=f[0|Y])+1&255)>>>0>32))break}I=A[r+24>>2]>>>(31&c)&1;break V}2==f[r+28|0]&&(h=A[(l=r+32|0)>>2],br[A[A[h+4>>2]>>2]](A[h>>2]),A[A[h+4>>2]+4>>2]&&E(A[h>>2]),E(A[l>>2])),A[r+32>>2]=k,A[r+28>>2]=g,c=f[r+36|0]}I=0}c=c+1|0,a[r+36|0]=c,k=A[(p=r+32|0)>>2],g=A[r+28>>2],A[r+28>>2]=3,A[r+32>>2]=0;V:{p:{m:{if(3==(255&g)){if(V=r+28|0,2==(3&g)&&(br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(k),c=f[0|Y]),(c+2&255)>>>0>=33)for(N=r+36|0,h=r+24|0,s=r+16|0;;){if(3!=f[0|V])break p;if(a[0|N]=c+-8,A[h>>2]=A[h>>2]>>>8,l=k=A[r+4>>2],g=A[r>>2],(c=A[s>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;Z:{W:{if((0|c)!=(0|d))c=f[A[r+8>>2]+d|0];else{if(pe(b+200|0,1049823,27),de(b+232|0,17,A[b+200>>2],A[b+204>>2]),k=A[b+236>>2],3!=(255&(g=A[b+232>>2])))break W;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+1|0)>>>0<1&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break Z}if(c=0,3!=(255&g))break m}if(A[h>>2]=A[h>>2]|c<<24,!(((c=f[0|N])+2&255)>>>0>32))break}k=A[r+24>>2]>>>(31&c);break V}A[e>>2]=1,A[e+4>>2]=g,A[e+8>>2]=k;break i}2==f[0|V]&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),A[p>>2]=k,A[V>>2]=g,c=f[0|Y]}k=0}a[0|Y]=c+2,c=A[p>>2],g=A[V>>2],A[V>>2]=3,A[V+4>>2]=0;V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{if(3==(255&g)){if(2==(3&g)&&(br[A[A[c+4>>2]>>2]](A[c>>2]),A[A[c+4>>2]+4>>2]&&E(A[c>>2]),E(c)),a[r+56|0]=I,(g=A[(l=r+48|0)>>2])>>>0>=131073&&(we(c=A[r+40>>2],(c+g|0)-32768|0,32768),A[r+52>>2]=32768,c=A[l>>2],A[l>>2]=c>>>0<32768?c:32768),1==(0|(k&=3)))break C;if(2==(0|k))break y;if(3!=(0|k))break X;A[b+252>>2]=1,A[b+276>>2]=16,A[b+272>>2]=1175028,A[b+236>>2]=1,A[b+240>>2]=0,A[b+232>>2]=1175020,A[b+248>>2]=b+272,ee(b+216|0,b+232|0),A[b+240>>2]=A[b+224>>2],r=A[b+220>>2],A[b+232>>2]=A[b+216>>2],A[b+236>>2]=r,me(b+192|0,b+232|0),de(b+232|0,12,A[b+192>>2],A[b+196>>2]),A[e>>2]=1,r=A[b+236>>2],A[e+4>>2]=A[b+232>>2],A[e+8>>2]=r;break i}A[e>>2]=1,A[e+4>>2]=g,A[e+8>>2]=c;break i}if(function(e,r){var t=0,n=0,b=0,c=0,k=0,l=0,g=0,h=0,s=0,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0,F=0,C=0,y=0,G=0,J=0,U=0,w=0,R=0,Q=0,x=0,j=0,H=0,T=0,N=0,O=0,S=0,D=0,M=0,P=0,L=0,z=0,q=0,_=0,$=0,re=0,ae=0,ie=0,ne=0,Ae=0,fe=0,oe=0,be=0,ce=0,ke=0,le=0,ue=0,ge=0,he=0,se=0,Ve=0,Ze=0,Be=0,Ie=0,Fe=0,Xe=0,Ce=0,ye=0,Ge=0,Je=0,Ue=0,we=0,Re=0,Ee=0,Qe=0,xe=0,ve=0,je=0,He=0,Te=0,Ne=0,Oe=0,Se=0,De=0,Me=0,Pe=0,Ke=0,Le=0,qe=0,_e=0,$e=0,er=0,rr=0;W=n=W-224|0;y:{G:{J:{U:{w:{R:{E:{Q:{x:{v:{if(((t=f[r+36|0])+5&255)>>>0>=33)for(s=r+28|0,d=r+36|0,m=r+24|0,k=r+16|0;;){if(3!=f[0|s])break x;if(a[0|d]=t+-8,A[m>>2]=A[m>>2]>>>8,b=A[r+4>>2],t=b,l=A[r>>2],Z=A[k>>2],(c=Z)>>>0<(t=(t=!t&l>>>0>c>>>0|t>>>0>0)?c:l)>>>0)break E;j:{H:{if((0|t)!=(0|Z))t=f[t+A[r+8>>2]|0];else{if(pe(n+88|0,1049823,27),de(n+200|0,17,A[n+88>>2],A[n+92>>2]),b=A[n+204>>2],3!=(255&(c=A[n+200>>2])))break H;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break j}if(t=0,3!=(255&c))break v}if(A[m>>2]=A[m>>2]|t<<24,!(((t=f[0|d])+5&255)>>>0>32))break}k=A[r+24>>2]>>>(31&t)&31;break Q}2==f[r+28|0]&&(s=A[(k=r+32|0)>>2],br[A[A[s+4>>2]>>2]](A[s>>2]),A[A[s+4>>2]+4>>2]&&E(A[s>>2]),E(A[k>>2])),A[r+32>>2]=b,A[r+28>>2]=c,t=f[r+36|0]}k=0}t=t+5|0,a[r+36|0]=t,b=A[(p=r+32|0)>>2],c=A[r+28>>2],A[r+28>>2]=3,A[r+32>>2]=0;Q:{x:{v:{if(3==(255&c)){if(V=r+28|0,2==(3&c)&&(br[A[A[b+4>>2]>>2]](A[b>>2]),A[A[b+4>>2]+4>>2]&&E(A[b>>2]),E(b),t=f[r+36|0]),(t+5&255)>>>0>=33)for(Z=r+36|0,m=r+24|0,d=r+16|0;;){if(3!=f[0|V])break x;if(a[0|Z]=t+-8,A[m>>2]=A[m>>2]>>>8,b=A[r+4>>2],l=A[r>>2],(t=A[d>>2])>>>0<(h=(c=!b&l>>>0>t>>>0|b>>>0>0)?t:l)>>>0)break U;j:{H:{if((0|t)!=(0|h))t=f[A[r+8>>2]+h|0];else{if(pe(n+80|0,1049823,27),de(n+200|0,17,A[n+80>>2],A[n+84>>2]),b=A[n+204>>2],3!=(255&(c=A[n+200>>2])))break H;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break j}if(t=0,3!=(255&c))break v}if(A[m>>2]=A[m>>2]|t<<24,!(((t=f[0|Z])+5&255)>>>0>32))break}b=A[r+24>>2]>>>(31&t)&31;break Q}A[e>>2]=1,A[e+4>>2]=c,A[e+8>>2]=b;break y}2==f[0|V]&&(s=A[p>>2],br[A[A[s+4>>2]>>2]](A[s>>2]),A[A[s+4>>2]+4>>2]&&E(A[s>>2]),E(A[p>>2])),A[r+32>>2]=b,A[r+28>>2]=c,t=f[r+36|0]}b=0}t=t+5|0,a[r+36|0]=t,c=A[r+32>>2],d=A[(s=r+28|0)>>2],A[s>>2]=3,A[s+4>>2]=0;Q:{x:{v:{if(3==(255&d)){if(2==(3&d)&&(br[A[A[c+4>>2]>>2]](A[c>>2]),A[A[c+4>>2]+4>>2]&&E(A[c>>2]),E(c),t=f[r+36|0]),i[n+102>>1]=b+1,(t+4&255)>>>0>=33)for(Z=r+36|0,m=r+24|0,d=r+16|0;;){if(3!=f[0|V])break x;if(a[0|Z]=t+-8,A[m>>2]=A[m>>2]>>>8,b=A[r+4>>2],l=A[r>>2],(t=A[d>>2])>>>0<(h=(c=!b&l>>>0>t>>>0|b>>>0>0)?t:l)>>>0)break U;j:{H:{if((0|t)!=(0|h))t=f[A[r+8>>2]+h|0];else{if(pe(n+72|0,1049823,27),de(n+200|0,17,A[n+72>>2],A[n+76>>2]),b=A[n+204>>2],3!=(255&(c=A[n+200>>2])))break H;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break j}if(t=0,3!=(255&c))break v}if(A[m>>2]=A[m>>2]|t<<24,!(((t=f[0|Z])+4&255)>>>0>32))break}b=A[r+24>>2]>>>(31&t)&15;break Q}A[e>>2]=1,A[(r=e)+4>>2]=d,A[r+8>>2]=c;break y}2==f[0|V]&&(s=A[p>>2],br[A[A[s+4>>2]>>2]](A[s>>2]),A[A[s+4>>2]+4>>2]&&E(A[s>>2]),E(A[p>>2])),A[r+32>>2]=b,A[r+28>>2]=c,t=f[r+36|0]}b=0}a[r+36|0]=t+4,t=A[r+32>>2],s=A[(c=r+28|0)>>2],A[c>>2]=3,A[c+4>>2]=0;Q:{x:{if(3==(255&s)){if(2==(3&s))break x;if(o[n+102>>1]<31)break Q;break w}A[e>>2]=1,A[(r=e)+4>>2]=s,A[r+8>>2]=t;break y}if(br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(t),o[n+102>>1]>=31)break w}Q=k+257|0,a[0|(t=n+119|0)]=0,a[t+1|0]=0,a[t+2|0]=0,a[t+3|0]=0,A[(t=n+112|0)>>2]=0,A[t+4>>2]=0,A[n+104>>2]=0,A[n+108>>2]=0,m=b+4|0,ae=1049380,N=r+36|0,O=r+24|0,s=r+16|0,Z=r+32|0,q=r+28|0,t=0;break R}Ye(t,Z),u()}for(;;){R:{E:{Q:{x:{v:{j:{H:{T:{N:{O:{S:{D:{M:{P:switch(0|t){case 0:d=A[ae>>2];K:{L:{z:{if(((t=f[0|N])+3&255)>>>0>=33)for(;;){if(3!=f[0|V])break L;if(a[0|N]=t+-8,A[O>>2]=A[O>>2]>>>8,b=A[r+4>>2],l=A[r>>2],(t=A[s>>2])>>>0<(h=(c=!b&l>>>0>t>>>0|b>>>0>0)?t:l)>>>0)break U;q:{_:{if((0|t)!=(0|h))t=f[A[r+8>>2]+h|0];else{if(pe(n- -64|0,1049823,27),de(n+200|0,17,A[n+64>>2],A[n+68>>2]),b=A[n+204>>2],3!=(255&(c=A[n+200>>2])))break _;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break q}if(t=0,3!=(255&c))break z}if(A[O>>2]=A[O>>2]|t<<24,!(((t=f[0|N])+3&255)>>>0>32))break}b=A[O>>2]>>>(31&t)&7;break K}2==f[0|V]&&(k=A[p>>2],br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(A[p>>2])),A[Z>>2]=b,A[q>>2]=c,t=f[0|N]}b=0}a[0|N]=t+3,t=A[Z>>2],c=A[q>>2],A[q>>2]=3,A[q+4>>2]=0;K:{if(3==(255&c)){if(2==(3&c)&&(br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(t)),d>>>0<=18){if(ae=ae+4|0,a[d+(n+104|0)|0]=b,m=m+-1|0)break x;break K}We(1175076,d,19),u()}A[e>>2]=1,A[(r=e)+4>>2]=c,A[r+8>>2]=t;break y}if(v(n+200|0,n+104|0,19,0,r),1==A[n+200>>2]){r=A[n+208>>2],A[e+4>>2]=A[n+204>>2],A[e+8>>2]=r,A[e>>2]=1;break y}if(U=f[0|(ke=n+216|0)],x=8,_=A[(ie=n+208|0)>>2],w=f[n+217|0],j=A[n+204>>2],!(b=ze(Q,1)))break v;A[n+136>>2]=0,A[n+132>>2]=Q,A[n+128>>2]=b,je=-1,le=-1<<(15&w)^-1,ue=-1<<(15&U)^-1,C=r+36|0,Y=255,ge=33,H=3,he=-8,se=24,B=r+24|0,Ve=r+16|0,Ze=27,Be=1049823,Ie=17,Fe=255,ne=3,R=32,He=4,Te=12,S=2,D=1,Ae=32,$=31,Xe=65535,M=1,Ne=n+220|0,Oe=16,Se=1175636,De=1175620,fe=r+28|0,Me=5,t=2;continue;default:d=$;K:{L:{z:{if(t=f[0|C],(U+t&Y)>>>0>=ge>>>0)for(;;){if(f[0|V]!=(0|H))break L;if(a[0|C]=t+he,A[B>>2]=A[B>>2]>>>x,b=A[r+4>>2],l=A[r>>2],(t=A[Ve>>2])>>>0<(g=(c=!b&l>>>0>t>>>0|b>>>0>0)?t:l)>>>0)break J;q:{_:{if((0|t)!=(0|g))t=f[A[r+x>>2]+g|0];else{if(pe(n+56|0,Be,Ze),de(n+200|0,Ie,A[n+56>>2],A[n+60>>2]),c=A[n+204>>2],b=A[n+200>>2],(Fe&b)!=(0|ne))break _;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+D|0)>>>0>>0&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break q}if(t=0,(b&Y)!=(0|H))break z}if(A[B>>2]=A[B>>2]|t<>>0>Ae>>>0))break}t=A[B>>2]>>>(t&$)&ue&Xe;break K}f[0|V]==(0|S)&&(k=A[p>>2],br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(A[p>>2])),t=b,k=31&R,t=32<=(63&R)>>>0?c>>>k:((1<>>k,A[(l=p)>>2]=t,A[V>>2]=b}t=0}if(h=o[(t<>1],!((g=d&h)>>>0<=(Y&U)>>>0)){d=$;K:{L:{z:{if(t=f[0|C],(w+t&Y)>>>0>=ge>>>0)for(;;){if(f[0|V]!=(0|H))break L;if(a[0|C]=t+he,A[B>>2]=A[B>>2]>>>x,b=A[r+4>>2],l=A[r>>2],(t=A[Ve>>2])>>>0<(g=(c=!b&l>>>0>t>>>0|b>>>0>0)?t:l)>>>0)break J;q:{_:{if((0|t)!=(0|g))t=f[A[r+x>>2]+g|0];else{if(pe(n+48|0,Be,Ze),de(n+200|0,Ie,A[n+48>>2],A[n+52>>2]),c=A[n+204>>2],b=A[n+200>>2],(Fe&b)!=(0|ne))break _;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+D|0)>>>0>>0&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break q}if(t=0,(b&Y)!=(0|H))break z}if(A[B>>2]=A[B>>2]|t<>>0>Ae>>>0))break}t=A[B>>2]>>>(t&$)&le&Xe;break K}f[0|V]==(0|S)&&(k=A[p>>2],br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(A[p>>2])),t=b,k=31&R,t=32<=(63&R)>>>0?c>>>k:((1<>>k,A[(l=p)>>2]=t,A[V>>2]=b}t=0}h=o[(t<>1],(g=d&h)>>>0<=(Y&w)>>>0||(A[Ne>>2]=M,A[n+164>>2]=Oe,A[n+160>>2]=Se,A[ke>>2]=n+160,A[n+204>>2]=D,A[n+208>>2]=0,A[n+200>>2]=De,ee(n+176|0,n+200|0),A[ie>>2]=A[(n+176|0)+x>>2],b=A[n+180>>2],A[n+200>>2]=A[n+176>>2],A[n+204>>2]=b,me(n+40|0,n+200|0),de(n+200|0,Te,A[n+40>>2],A[n+44>>2]),c=A[n+200>>2],t=A[n+204>>2],f[0|V]==(0|S)&&(k=A[p>>2],br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(A[p>>2])),A[V>>2]=c,A[V+4>>2]=t)}b=A[r+Ae>>2],t=A[fe>>2],A[fe>>2]=ne,A[fe+4>>2]=0,a[0|C]=f[0|C]+g;K:{L:{if((t&Y)==(0|H)){if((0|(t&=H))==(0|S)&&(br[A[A[b+4>>2]>>2]](A[b>>2]),g=A[b+4>>2],A[g+4>>2]&&E(A[b>>2]),E(b),(0|t)!=(0|M)&&(br[A[A[(t=b+He|0)>>2]>>2]](A[b>>2]),(g=A[A[t>>2]+4>>2])&&E(A[b>>2]),E(b))),b=h>>>Me,h=0,k=A[(c=(n+128|0)+x|0)>>2],(t=k+je|0)>>>0>=k>>>0||t>>>0>k>>>0||(g=f[t+A[n+128>>2]|0],h=1),X(n+200|0,r,b,h,g),b=A[ie>>2],k=A[n+204>>2],(0|(t=A[n+200>>2]))==(0|M))break L;if(te(n+128|0,k,b),t&&((k&Y)>>>0>>0||(br[A[A[b+4>>2]>>2]](A[b>>2]),A[A[b+4>>2]+4>>2]&&E(A[b>>2]),E(b))),(t=A[c>>2])>>>0>>0)break E;break K}if(A[e>>2]=1,A[(r=e)+4>>2]=t,A[r+8>>2]=b,A[n+132>>2])break T;break H}if(A[e>>2]=1,A[e+4>>2]=k,A[e+8>>2]=b,A[n+132>>2])break T;break H}if(y=8,A[(Ce=n+136|0)>>2]=Q,b=A[n+128>>2],A[n+200>>2]=t,Pe=12,A[n+212>>2]=t+b,A[n+208>>2]=b+Q,A[n+204>>2]=0,A[n+216>>2]=n+128,K(n+144|0,n+200|0),t=A[n+152>>2],h=o[n+102>>1],t>>>0>=h>>>0)break M;G=r+36|0,I=255,ye=33,T=3,Ge=-8,Je=24,F=r+24|0,Ke=16,Ue=r+16|0,we=27,Re=1049823,Ee=17,Qe=255,oe=3,J=32,Le=4,P=2,L=1,be=32,re=31,xe=65535,z=1,qe=n+220|0,_e=16,$e=1175636,er=1175620,ce=r+28|0,rr=5,ve=-1,t=1;continue;case 1:}d=re;P:{K:{L:{if(t=f[0|G],(U+t&I)>>>0>=ye>>>0)for(;;){if(f[0|V]!=(0|T))break K;if(a[0|G]=t+Ge,A[F>>2]=A[F>>2]>>>y,b=A[r+4>>2],l=A[r>>2],(t=A[Ue>>2])>>>0<(g=(c=!b&l>>>0>t>>>0|b>>>0>0)?t:l)>>>0)break J;z:{q:{if((0|t)!=(0|g))t=f[A[r+y>>2]+g|0];else{if(pe(n+32|0,Re,we),de(n+200|0,Ee,A[n+32>>2],A[n+36>>2]),c=A[n+204>>2],b=A[n+200>>2],(Qe&b)!=(0|oe))break q;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+L|0)>>>0>>0&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break z}if(t=0,(b&I)!=(0|T))break L}if(A[F>>2]=A[F>>2]|t<>>0>be>>>0))break}t=A[F>>2]>>>(t&re)&ue&xe;break P}f[0|V]==(0|P)&&(k=A[p>>2],br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(A[p>>2])),t=b,k=31&J,t=32<=(63&J)>>>0?c>>>k:((1<>>k,A[(l=p)>>2]=t,A[V>>2]=b}t=0}if(h=o[(t<>1],!((g=d&h)>>>0<=(I&U)>>>0)){d=re;P:{K:{L:{if(t=f[0|G],(w+t&I)>>>0>=ye>>>0)for(;;){if(f[0|V]!=(0|T))break K;if(a[0|G]=t+Ge,A[F>>2]=A[F>>2]>>>y,b=A[r+4>>2],l=A[r>>2],(t=A[Ue>>2])>>>0<(g=(c=!b&l>>>0>t>>>0|b>>>0>0)?t:l)>>>0)break J;z:{q:{if((0|t)!=(0|g))t=f[A[r+y>>2]+g|0];else{if(pe(n+24|0,Re,we),de(n+200|0,Ee,A[n+24>>2],A[n+28>>2]),c=A[n+204>>2],b=A[n+200>>2],(Qe&b)!=(0|oe))break q;l=A[r>>2],b=A[r+4>>2],t=0}(c=l+L|0)>>>0>>0&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break z}if(t=0,(b&I)!=(0|T))break L}if(A[F>>2]=A[F>>2]|t<>>0>be>>>0))break}t=A[F>>2]>>>(t&re)&le&xe;break P}f[0|V]==(0|P)&&(k=A[p>>2],br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(A[p>>2])),t=b,k=31&J,t=32<=(63&J)>>>0?c>>>k:((1<>>k,A[(l=p)>>2]=t,A[V>>2]=b}t=0}h=o[(t<>1],(g=d&h)>>>0<=(I&w)>>>0||(A[qe>>2]=z,A[n+164>>2]=_e,A[n+160>>2]=$e,A[(n+200|0)+Ke>>2]=n+160,A[n+204>>2]=L,A[n+208>>2]=0,A[n+200>>2]=er,ee(n+176|0,n+200|0),A[(n+200|0)+y>>2]=A[(n+176|0)+y>>2],b=A[n+180>>2],A[n+200>>2]=A[n+176>>2],A[n+204>>2]=b,me(n+16|0,n+200|0),de(n+200|0,Pe,A[n+16>>2],A[n+20>>2]),c=A[n+200>>2],t=A[n+204>>2],f[0|V]==(0|P)&&(k=A[p>>2],br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(A[p>>2])),A[V>>2]=c,A[V+4>>2]=t)}if(b=A[r+be>>2],t=A[ce>>2],A[ce>>2]=oe,A[ce+4>>2]=0,a[0|G]=f[0|G]+g,(t&I)!=(0|T))break D;(0|(t&=T))==(0|P)&&(br[A[A[b+4>>2]>>2]](A[b>>2]),g=A[b+4>>2],A[g+4>>2]&&E(A[b>>2]),E(b),(0|t)!=(0|z)&&(br[A[A[(t=b+Le|0)>>2]>>2]](A[b>>2]),(g=A[A[t>>2]+4>>2])&&E(A[b>>2]),E(b))),b=h>>>rr,k=A[(c=(n+144|0)+y|0)>>2];P:{if(!((t=k+ve|0)>>>0>>0&&(d=n+144|0,t>>>0<=k>>>0))){if(h=0,k=A[Ce>>2],(t=k+ve|0)>>>0>=k>>>0)break P;if(d=n+128|0,t>>>0>k>>>0)break P}g=f[A[d>>2]+t|0],h=1}if(X(n+200|0,r,b,h,g),b=A[(n+200|0)+y>>2],k=A[n+204>>2],(0|(t=A[n+200>>2]))==(0|z))break S;if(te(n+144|0,k,b),t&&((k&I)>>>0

>>0||(br[A[A[b+4>>2]>>2]](A[b>>2]),A[A[b+4>>2]+4>>2]&&E(A[b>>2]),E(b))),t=A[c>>2],h=o[n+102>>1],t>>>0>>0)break Q}if(t>>>0>h>>>0){if(A[n+188>>2]=17,A[n+220>>2]=2,A[n+180>>2]=1,A[n+172>>2]=t,A[n+204>>2]=2,A[n+208>>2]=0,A[n+200>>2]=1175092,A[n+184>>2]=n+102,A[n+176>>2]=n+172,A[n+216>>2]=n+176,ee(n+160|0,n+200|0),A[n+208>>2]=A[n+168>>2],r=A[n+164>>2],A[n+200>>2]=A[n+160>>2],A[n+204>>2]=r,me(n+8|0,n+200|0),de(n+200|0,12,A[n+8>>2],A[n+12>>2]),A[e>>2]=1,r=A[n+204>>2],A[e+4>>2]=A[n+200>>2],A[e+8>>2]=r,A[n+148>>2])break O;break N}if(v(n+176|0,A[n+128>>2],A[n+136>>2],1,256),1!=A[n+176>>2])break j;if(r=A[n+184>>2],A[e+4>>2]=A[n+180>>2],A[e+8>>2]=r,A[e>>2]=1,A[n+148>>2]&&E(A[n+144>>2]),A[n+132>>2]&&E(A[n+128>>2]),!_)break R;break G}if(A[e>>2]=1,A[e+4>>2]=t,A[e+8>>2]=b,A[n+148>>2])break O;break N}if(A[e>>2]=1,A[(r=e)+4>>2]=k,A[r+8>>2]=b,!A[n+148>>2])break N}E(A[n+144>>2])}if(!A[n+132>>2])break H}E(A[n+128>>2])}if(!_)break R;E(j);break R}if(t=A[(r=n+188|0)>>2],b=A[r+4>>2],R=A[n+180>>2],J=A[n+184>>2],v(n+200|0,A[n+144>>2],A[n+152>>2],0,J),1==A[n+200>>2]){if(r=A[n+208>>2],A[e+4>>2]=A[n+204>>2],A[e+8>>2]=r,A[e>>2]=1,J&&E(R),A[n+148>>2]&&E(A[n+144>>2]),A[n+132>>2]&&E(A[n+128>>2]),!_)break R;break G}if(A[e+4>>2]=R,A[e>>2]=0,A[(r=e+12|0)>>2]=t,A[r+4>>2]=b,A[e+8>>2]=J,r=A[4+(t=n+200|4)>>2],A[(b=e+20|0)>>2]=A[t>>2],A[b+4>>2]=r,b=e+28|0,e=A[4+(r=t+8|0)>>2],A[b>>2]=A[r>>2],A[b+4>>2]=e,A[n+148>>2]&&E(A[n+144>>2]),A[n+132>>2]&&E(A[n+128>>2]),!_)break R;break G}e=A[294745],br[e||55](Q,1),u()}t=0;continue}t=1;continue}t=2;continue}break}break y}return A[n+188>>2]=17,A[n+220>>2]=2,A[n+180>>2]=1,A[n+176>>2]=1049376,A[n+204>>2]=2,A[n+208>>2]=0,A[n+200>>2]=1175060,A[n+184>>2]=n+102,A[n+216>>2]=n+176,ee(n+104|0,n+200|0),A[n+208>>2]=A[n+112>>2],r=A[n+108>>2],A[n+200>>2]=A[n+104>>2],A[n+204>>2]=r,me(n,n+200|0),de(n+200|0,12,A[n>>2],A[n+4>>2]),A[e>>2]=1,r=A[n+204>>2],A[e+4>>2]=A[n+200>>2],A[e+8>>2]=r,void(W=n+224|0)}Ye(h,t),u()}Ye(g,t),u()}E(j)}W=n+224|0}(b+232|0,r),G=1,1!=A[b+232>>2])break F;g=A[b+236>>2],k=A[b+240>>2];break A}if(function(e){var r=0,t=0,n=0,b=0,c=0,k=0;W=t=W-160|0,le(t+40|0,9,1,256);C:{y:{G:{J:{U:{for(;;){if(a[2+(r=t+32|0)|0]=8,i[r>>1]=b+48,S(t+88|0,t+40|0,n,o[t+32>>1],f[t+34|0]),r=A[t+92>>2],3!=(255&(c=A[t+88>>2])))break U;if(n=n+1|0,2==(3&c)&&(br[A[A[r+4>>2]>>2]](A[r>>2]),A[A[r+4>>2]+4>>2]&&E(A[r>>2]),E(r)),b=b+1|0,!((65535&n)>>>0<144))break}for(n=144,b=0;;){if(a[2+(r=t+24|0)|0]=9,i[r>>1]=b+400,S(t+88|0,t+40|0,n,o[t+24>>1],f[t+26|0]),r=A[t+92>>2],3!=(255&(c=A[t+88>>2])))break U;if(n=n+1|0,2==(3&c)&&(br[A[A[r+4>>2]>>2]](A[r>>2]),A[A[r+4>>2]+4>>2]&&E(A[r>>2]),E(r)),b=b+1|0,!((65535&n)>>>0<256))break}for(n=256,b=0;;){if(a[2+(r=t+16|0)|0]=7,i[r>>1]=b,S(t+88|0,t+40|0,n,o[t+16>>1],f[t+18|0]),r=A[t+92>>2],3!=(255&(c=A[t+88>>2])))break U;if(n=n+1|0,2==(3&c)&&(br[A[A[r+4>>2]>>2]](A[r>>2]),A[A[r+4>>2]+4>>2]&&E(A[r>>2]),E(r)),b=b+1|0,!((65535&n)>>>0<280))break}for(n=280,b=0;;){if(a[2+(r=t+8|0)|0]=8,i[r>>1]=b+192,S(t+88|0,t+40|0,n,o[t+8>>1],f[t+10|0]),r=A[t+92>>2],3!=(255&(c=A[t+88>>2])))break U;if(n=n+1|0,2==(3&c)&&(br[A[A[r+4>>2]>>2]](A[r>>2]),A[A[r+4>>2]+4>>2]&&E(A[r>>2]),E(r)),b=b+1|0,!((65535&n)>>>0<288))break}for(le(t- -64|0,5,0,t),r=0;;){if(a[t+2|0]=5,i[t>>1]=r,S(t+88|0,t- -64|0,r,o[t>>1],f[t+2|0]),n=A[t+92>>2],3!=(255&(b=A[t+88>>2])))break J;if(r=r+1|0,2==(3&b)&&(br[A[A[n+4>>2]>>2]](A[n>>2]),A[A[n+4>>2]+4>>2]&&E(A[n>>2]),E(n)),!((65535&r)>>>0<30))break}return A[(c=t+152|0)>>2]=A[t+56>>2],k=A[4+(n=t+48|0)>>2],A[(r=b=t+144|0)>>2]=A[n>>2],A[r+4>>2]=k,r=A[t+44>>2],A[t+136>>2]=A[t+40>>2],A[t+140>>2]=r,k=A[4+(n=t+136|0)>>2],A[(r=t+88|0)>>2]=A[n>>2],A[r+4>>2]=k,i[r+12>>1]=o[n+16>>1],A[r+8>>2]=A[n+8>>2],A[c>>2]=A[t+80>>2],n=A[4+(r=t+72|0)>>2],A[b>>2]=A[r>>2],A[b+4>>2]=n,r=A[t+68>>2],A[t+136>>2]=A[t+64>>2],A[t+140>>2]=r,b=A[4+(n=t+136|0)>>2],A[(r=t+120|0)>>2]=A[n>>2],A[r+4>>2]=b,i[r+12>>1]=o[n+16>>1],A[r+8>>2]=A[n+8>>2],b=A[4+(n=t+128|0)>>2],A[(r=t+112|0)>>2]=A[n>>2],A[r+4>>2]=b,n=A[t+124>>2],A[t+104>>2]=A[t+120>>2],A[t+108>>2]=n,A[e>>2]=0,b=A[r+4>>2],A[(n=e+28|0)>>2]=A[r>>2],A[n+4>>2]=b,n=A[t+108>>2],A[(r=e+20|0)>>2]=A[t+104>>2],A[r+4>>2]=n,b=A[4+(n=t+96|0)>>2],A[(r=e+12|0)>>2]=A[n>>2],A[r+4>>2]=b,r=A[t+92>>2],A[e+4>>2]=A[t+88>>2],A[e+8>>2]=r,void(W=t+160|0)}A[e>>2]=1,A[(n=e)+4>>2]=c,A[n+8>>2]=r;break G}if(A[e>>2]=1,A[(r=e)+4>>2]=b,A[r+8>>2]=n,A[t+68>>2]){if(E(A[t+64>>2]),A[t+44>>2])break y;break C}}if(!A[t+44>>2])break C}E(A[t+40>>2])}W=t+160|0}(b+232|0),1!=A[b+232>>2])break I;g=A[b+236>>2],k=A[b+240>>2];break f}if(a[r+36|0]=32,c=k=A[r+4>>2],g=A[r>>2],(m=A[r+16>>2])>>>0<(c=(c=!c&g>>>0>m>>>0|c>>>0>0)?m:g)>>>0)break Z;if(m-c>>>0>=2)break B;if(pe(b+24|0,1049823,27),de(b+232|0,17,A[b+24>>2],A[b+28>>2]),k=A[b+236>>2],3!=(255&(g=A[b+232>>2])))break W;g=A[r>>2],k=A[r+4>>2],h=0;break Y}nr=15,ye=-1,sr=-1<<(15&(Je=f[b+265|0]))^-1,dr=-1<<(15&(Ue=f[b+249|0]))^-1,ae=32,Vr=-1<<(15&(Re=f[b+264|0]))^-1,ie=16,pr=-1<<(15&(Qe=f[0|(Ee=b+248|0)]))^-1,J=24,Ar=A[b+256>>2],ve=A[(xe=b+252|0)>>2],Q=8,rr=A[(je=b+240|0)>>2],He=A[b+236>>2],C=255,ne=33,x=3,Ae=-8,M=r+36|0,fe=27,oe=1049823,be=17,ce=255,$=3,m=32,tr=12,O=2,F=1,L=31,q=65535,fr=16,or=1175052,cr=1175020,mr=5,Zr=8191,ke=r+48|0,Te=r+44|0,ue=r+40|0,Wr=-286,Yr=17,Br=2,Ir=1175036,Fr=256,Xr=1048116,Cr=1048114,yr=8188,Gr=1049024,Jr=1049022;break p}kr=15,Ge=-1,Ur=-1<<(15&(Ne=f[b+265|0]))^-1,wr=-1<<(15&(Se=f[b+249|0]))^-1,ge=32,Rr=-1<<(15&(De=f[b+264|0]))^-1,he=16,Er=-1<<(15&(Pe=f[0|(Me=b+248|0)]))^-1,U=24,lr=A[b+256>>2],Le=A[(Ke=b+252|0)>>2],j=8,ar=A[(qe=b+240|0)>>2],_e=A[b+236>>2],y=255,se=33,H=3,Ve=-8,P=r+36|0,Ze=27,Be=1049823,Ie=17,Fe=255,re=3,Z=32,ir=12,D=2,w=1,z=31,_=65535,R=1,ur=16,gr=1175052,hr=1175020,Qr=5,xr=8191,Xe=r+48|0,er=r+44|0,Ce=r+40|0,vr=-286,jr=17,Hr=2,Tr=1175036,Nr=256,Or=1048116,Sr=1048114,Dr=8188,Mr=1049024,Pr=1049022;break m}c=c+A[r+8>>2]|0,h=f[0|c]|f[c+1|0]<<8}(c=g+2|0)>>>0<2&&(k=k+1|0),g=c,A[r>>2]=c,A[r+4>>2]=k;break d}if(3!=(255&g))break s;g=A[r>>2],k=A[r+4>>2],h=0;break d}Ye(c,m),u()}h=0;break V}h=1}for(;;){V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{if(h){T=L;J:{U:{w:{if((Qe+(h=f[0|Y])&C)>>>0>=ne>>>0)for(;;){if(f[0|V]!=(0|x))break U;if(a[0|M]=h+Ae,A[(s=r+J|0)>>2]=A[s>>2]>>>Q,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+ie>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;R:{E:{if((0|c)!=(0|d))c=f[A[r+Q>>2]+d|0];else{if(pe(b+184|0,oe,fe),de(b+232|0,be,A[b+184>>2],A[b+188>>2]),g=A[b+236>>2],(ce&(k=A[b+232>>2]))!=(0|$))break E;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+F|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break R}if(c=0,(k&C)!=(0|x))break w}if(A[s>>2]=A[s>>2]|c<>>0>ae>>>0))break}c=A[r+J>>2]>>>(h&L)&pr&q;break J}f[0|V]==(0|O)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&m,c=32<=(63&m)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}if(!((c=T&(h=o[(c<>1]))>>>0<=Qe>>>0)){T=L;J:{U:{w:{if((Ue+(h=f[0|Y])&C)>>>0>=ne>>>0)for(;;){if(f[0|V]!=(0|x))break U;if(a[0|M]=h+Ae,A[(s=r+J|0)>>2]=A[s>>2]>>>Q,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+ie>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;R:{E:{if((0|c)!=(0|d))c=f[A[r+Q>>2]+d|0];else{if(pe(b+176|0,oe,fe),de(b+232|0,be,A[b+176>>2],A[b+180>>2]),g=A[b+236>>2],(ce&(k=A[b+232>>2]))!=(0|$))break E;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+F|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break R}if(c=0,(k&C)!=(0|x))break w}if(A[s>>2]=A[s>>2]|c<>>0>ae>>>0))break}c=A[r+J>>2]>>>(h&L)&dr&q;break J}f[0|V]==(0|O)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&m,c=32<=(63&m)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}(c=T&(h=o[(c<>1]))>>>0<=Ue>>>0||(A[xe>>2]=G,A[b+276>>2]=fr,A[b+272>>2]=or,A[Ee>>2]=b+272,A[b+236>>2]=F,A[b+240>>2]=0,A[b+232>>2]=cr,ee(b+216|0,b+232|0),A[je>>2]=A[(b+216|0)+Q>>2],k=A[b+220>>2],A[b+232>>2]=A[b+216>>2],A[b+236>>2]=k,me(b+168|0,b+232|0),de(b+232|0,tr,A[b+168>>2],A[b+172>>2]),l=A[b+232>>2],g=A[b+236>>2],f[0|V]==(0|O)&&(s=A[p>>2],br[A[A[s+4>>2]>>2]](A[s>>2]),A[A[s+4>>2]+4>>2]&&E(A[s>>2]),E(A[p>>2])),A[V>>2]=l,A[V+4>>2]=g)}c=f[0|Y]+c|0,a[0|Y]=c,d=h>>>mr,i[b+284>>1]=d;J:if(h>>>0<=Zr>>>0)h=1,l=0;else{h=0;U:{if(d+Wr>>>0>>0)A[xe>>2]=G,A[b+276>>2]=Yr,A[Ee>>2]=b+272,A[b+236>>2]=Br,A[b+240>>2]=0,A[b+232>>2]=Ir,A[b+272>>2]=b+284,ee(b+216|0,b+232|0),A[je>>2]=A[(b+216|0)+Q>>2],k=A[b+220>>2],A[b+232>>2]=A[b+216>>2],A[b+236>>2]=k,me(b+160|0,b+232|0),de(b+232|0,tr,A[b+160>>2],A[b+164>>2]),g=A[b+232>>2],c=A[b+236>>2],f[0|V]==(0|O)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),(d=A[A[l+4>>2]+4>>2])&&E(A[l>>2]),E(A[p>>2])),A[V>>2]=g,A[V+4>>2]=c;else if((0|d)!=(0|Fr))break U;l=0;break J}U:{w:{R:{if(((s=f[(N=d<>>0>=ne>>>0)for(;;){if(f[0|V]!=(0|x))break w;if(a[0|M]=c+Ae,A[(I=r+J|0)>>2]=A[I>>2]>>>Q,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+ie>>2])>>>0<(l=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break t;E:{Q:{if((0|c)!=(0|l))c=f[A[r+Q>>2]+l|0];else{if(pe(b+152|0,oe,fe),de(b+232|0,be,A[b+152>>2],A[b+156>>2]),g=A[b+236>>2],(ce&(k=A[b+232>>2]))!=(0|$))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+F|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&C)!=(0|x))break R}if(A[I>>2]=A[I>>2]|c<>>0>ae>>>0))break}I=(ye<<(s&nr)^ye)&A[r+J>>2]>>>(c&L);break U}f[0|V]==(0|O)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&m,c=32<=(63&m)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k,c=f[0|Y]}I=0}h=c+s|0,a[0|Y]=h,T=L;U:{w:{R:{if((h+Re&C)>>>0>=ne>>>0)for(;;){if(f[0|V]!=(0|x))break w;if(a[0|M]=h+Ae,A[(s=r+J|0)>>2]=A[s>>2]>>>Q,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+ie>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;E:{Q:{if((0|c)!=(0|d))c=f[A[r+Q>>2]+d|0];else{if(pe(b+144|0,oe,fe),de(b+232|0,be,A[b+144>>2],A[b+148>>2]),g=A[b+236>>2],(ce&(k=A[b+232>>2]))!=(0|$))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+F|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&C)!=(0|x))break R}if(A[s>>2]=A[s>>2]|c<>>0>ae>>>0))break}c=A[r+J>>2]>>>(h&L)&Vr&q;break U}f[0|V]==(0|O)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&m,c=32<=(63&m)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}if(!((h=T&(c=o[(c<>1]))>>>0<=Re>>>0)){T=L;U:{w:{R:{if((Je+(h=f[0|Y])&C)>>>0>=ne>>>0)for(;;){if(f[0|V]!=(0|x))break w;if(a[0|M]=h+Ae,A[(s=r+J|0)>>2]=A[s>>2]>>>Q,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+ie>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;E:{Q:{if((0|c)!=(0|d))c=f[A[r+Q>>2]+d|0];else{if(pe(b+136|0,oe,fe),de(b+232|0,be,A[b+136>>2],A[b+140>>2]),g=A[b+236>>2],(ce&(k=A[b+232>>2]))!=(0|$))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+F|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&C)!=(0|x))break R}if(A[s>>2]=A[s>>2]|c<>>0>ae>>>0))break}c=A[r+J>>2]>>>(h&L)&sr&q;break U}f[0|V]==(0|O)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&m,c=32<=(63&m)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}(h=T&(c=o[(c<>1]))>>>0<=Je>>>0||(A[xe>>2]=G,A[b+276>>2]=fr,A[b+272>>2]=or,A[Ee>>2]=b+272,A[b+236>>2]=F,A[b+240>>2]=0,A[b+232>>2]=cr,ee(b+216|0,b+232|0),A[je>>2]=A[(b+216|0)+Q>>2],k=A[b+220>>2],A[b+232>>2]=A[b+216>>2],A[b+236>>2]=k,me(b+128|0,b+232|0),de(b+232|0,tr,A[b+128>>2],A[b+132>>2]),l=A[b+232>>2],g=A[b+236>>2],f[0|V]==(0|O)&&(s=A[p>>2],br[A[A[s+4>>2]>>2]](A[s>>2]),A[A[s+4>>2]+4>>2]&&E(A[s>>2]),E(A[p>>2])),A[V>>2]=l,A[V+4>>2]=g)}h=f[0|Y]+h|0,a[0|Y]=h;U:{w:{R:{if(((d=f[(s=c>>>x&yr)+Gr|0])+h&C)>>>0>=ne>>>0)for(;;){if(f[0|V]!=(0|x))break w;if(a[0|M]=h+Ae,A[(h=r+J|0)>>2]=A[h>>2]>>>Q,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+ie>>2])>>>0<(l=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break t;E:{Q:{if((0|c)!=(0|l))c=f[A[r+Q>>2]+l|0];else{if(pe(b+120|0,oe,fe),de(b+232|0,be,A[b+120>>2],A[b+124>>2]),g=A[b+236>>2],(ce&(k=A[b+232>>2]))!=(0|$))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+F|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&C)!=(0|x))break R}if(A[h>>2]=A[h>>2]|c<>>0>ae>>>0))break}k=(ye<<(d&nr)^ye)&A[r+J>>2]>>>(h&L);break U}f[0|V]==(0|O)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&m,c=32<=(63&m)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k,h=f[0|Y]}k=0}I=o[N+Cr>>1]+I|0,a[0|Y]=h+d,h=2,l=k+o[s+Jr>>1]|0}if(k=A[p>>2],c=A[V>>2],A[V>>2]=$,A[V+4>>2]=0,(c&C)!=(0|x))break G;if((0|(g=c&x))==(0|O)&&(br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(k),(0|g)!=(0|G)))break W;J:{U:{w:{R:{E:{Q:{x:{if((0|h)!=(0|O)){if((0|h)!=(0|G))break J;if((0|(h=A[ke>>2]))!=A[Te>>2])break E;if((c=h+G|0)>>>0>>0)break k;if((0|(c=c>>>0<(k=h<>>0?k:c))<0)break k;if(!h)break x;if(h=Oe(A[ue>>2],h,G,c))break Q;break r}if(i[b+270>>1]=l,(s=A[ke>>2])>>>0<(k=l&q)>>>0)break I;if((g=A[Te>>2])-s>>>0<(c=I&q)>>>0){if((h=c+s|0)>>>0>>0)break k;if((0|(l=h>>>0<(k=g<>>0?k:h))<0)break k;if(!g)break R;if(d=Oe(A[ue>>2],g,G,l))break w;break e}h=c+s|0,d=A[ue>>2];break U}if(!(h=ze(c,G)))break r}A[Te>>2]=c,A[ue>>2]=h,h=A[ke>>2]}a[A[ue>>2]+h|0]=d,A[ke>>2]=A[ke>>2]+G,h=1;continue}if(!(d=ze(l,G)))break e}A[Te>>2]=l,A[ue>>2]=d,l=k=o[b+270>>1]}if(A[ke>>2]=h,h=d+s|0,(I&q)>>>0>(l&q)>>>0){for(k=0-k|0;a[0|h]=f[k+h|0],h=h+G|0,c=c+ye|0;);break V}we(h,(s-k|0)+d|0,c);break p}if(rr&&E(He),!Ar)break n;E(ve);break n}T=z;J:{U:{w:{if((Pe+(h=f[0|Y])&y)>>>0>=se>>>0)for(;;){if(f[0|V]!=(0|H))break U;if(a[0|P]=h+Ve,A[(s=r+U|0)>>2]=A[s>>2]>>>j,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+he>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;R:{E:{if((0|c)!=(0|d))c=f[A[r+j>>2]+d|0];else{if(pe(b+104|0,Be,Ze),de(b+232|0,Ie,A[b+104>>2],A[b+108>>2]),g=A[b+236>>2],(Fe&(k=A[b+232>>2]))!=(0|re))break E;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+w|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break R}if(c=0,(k&y)!=(0|H))break w}if(A[s>>2]=A[s>>2]|c<>>0>ge>>>0))break}c=A[r+U>>2]>>>(h&z)&Er&_;break J}f[0|V]==(0|D)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&Z,c=32<=(63&Z)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}if(!((c=T&(h=o[(c<>1]))>>>0<=Pe>>>0)){T=z;J:{U:{w:{if((Se+(h=f[0|Y])&y)>>>0>=se>>>0)for(;;){if(f[0|V]!=(0|H))break U;if(a[0|P]=h+Ve,A[(s=r+U|0)>>2]=A[s>>2]>>>j,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+he>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;R:{E:{if((0|c)!=(0|d))c=f[A[r+j>>2]+d|0];else{if(pe(b+96|0,Be,Ze),de(b+232|0,Ie,A[b+96>>2],A[b+100>>2]),g=A[b+236>>2],(Fe&(k=A[b+232>>2]))!=(0|re))break E;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+w|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break R}if(c=0,(k&y)!=(0|H))break w}if(A[s>>2]=A[s>>2]|c<>>0>ge>>>0))break}c=A[r+U>>2]>>>(h&z)&wr&_;break J}f[0|V]==(0|D)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&Z,c=32<=(63&Z)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}(c=T&(h=o[(c<>1]))>>>0<=Se>>>0||(A[Ke>>2]=R,A[b+276>>2]=ur,A[b+272>>2]=gr,A[Me>>2]=b+272,A[b+236>>2]=w,A[b+240>>2]=0,A[b+232>>2]=hr,ee(b+216|0,b+232|0),A[qe>>2]=A[(b+216|0)+j>>2],k=A[b+220>>2],A[b+232>>2]=A[b+216>>2],A[b+236>>2]=k,me(b+88|0,b+232|0),de(b+232|0,ir,A[b+88>>2],A[b+92>>2]),l=A[b+232>>2],g=A[b+236>>2],f[0|V]==(0|D)&&(s=A[p>>2],br[A[A[s+4>>2]>>2]](A[s>>2]),A[A[s+4>>2]+4>>2]&&E(A[s>>2]),E(A[p>>2])),A[V>>2]=l,A[V+4>>2]=g)}c=f[0|Y]+c|0,a[0|Y]=c,d=h>>>Qr,i[b+284>>1]=d;J:if(h>>>0<=xr>>>0)h=1,l=0;else{h=0;U:{if(d+vr>>>0>>0)A[Ke>>2]=R,A[b+276>>2]=jr,A[Me>>2]=b+272,A[b+236>>2]=Hr,A[b+240>>2]=0,A[b+232>>2]=Tr,A[b+272>>2]=b+284,ee(b+216|0,b+232|0),A[qe>>2]=A[(b+216|0)+j>>2],k=A[b+220>>2],A[b+232>>2]=A[b+216>>2],A[b+236>>2]=k,me(b+80|0,b+232|0),de(b+232|0,ir,A[b+80>>2],A[b+84>>2]),g=A[b+232>>2],c=A[b+236>>2],f[0|V]==(0|D)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),(d=A[A[l+4>>2]+4>>2])&&E(A[l>>2]),E(A[p>>2])),A[V>>2]=g,A[V+4>>2]=c;else if((0|d)!=(0|Nr))break U;l=0;break J}U:{w:{R:{if(((s=f[(N=d<>>0>=se>>>0)for(;;){if(f[0|V]!=(0|H))break w;if(a[0|P]=c+Ve,A[(I=r+U|0)>>2]=A[I>>2]>>>j,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+he>>2])>>>0<(l=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break t;E:{Q:{if((0|c)!=(0|l))c=f[A[r+j>>2]+l|0];else{if(pe(b+72|0,Be,Ze),de(b+232|0,Ie,A[b+72>>2],A[b+76>>2]),g=A[b+236>>2],(Fe&(k=A[b+232>>2]))!=(0|re))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+w|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&y)!=(0|H))break R}if(A[I>>2]=A[I>>2]|c<>>0>ge>>>0))break}I=(Ge<<(s&kr)^Ge)&A[r+U>>2]>>>(c&z);break U}f[0|V]==(0|D)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&Z,c=32<=(63&Z)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k,c=f[0|Y]}I=0}h=c+s|0,a[0|Y]=h,T=z;U:{w:{R:{if((h+De&y)>>>0>=se>>>0)for(;;){if(f[0|V]!=(0|H))break w;if(a[0|P]=h+Ve,A[(s=r+U|0)>>2]=A[s>>2]>>>j,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+he>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;E:{Q:{if((0|c)!=(0|d))c=f[A[r+j>>2]+d|0];else{if(pe(b- -64|0,Be,Ze),de(b+232|0,Ie,A[b+64>>2],A[b+68>>2]),g=A[b+236>>2],(Fe&(k=A[b+232>>2]))!=(0|re))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+w|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&y)!=(0|H))break R}if(A[s>>2]=A[s>>2]|c<>>0>ge>>>0))break}c=A[r+U>>2]>>>(h&z)&Rr&_;break U}f[0|V]==(0|D)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&Z,c=32<=(63&Z)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}if(!((h=T&(c=o[(c<>1]))>>>0<=De>>>0)){T=z;U:{w:{R:{if((Ne+(h=f[0|Y])&y)>>>0>=se>>>0)for(;;){if(f[0|V]!=(0|H))break w;if(a[0|P]=h+Ve,A[(s=r+U|0)>>2]=A[s>>2]>>>j,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+he>>2])>>>0<(d=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break a;E:{Q:{if((0|c)!=(0|d))c=f[A[r+j>>2]+d|0];else{if(pe(b+56|0,Be,Ze),de(b+232|0,Ie,A[b+56>>2],A[b+60>>2]),g=A[b+236>>2],(Fe&(k=A[b+232>>2]))!=(0|re))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+w|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&y)!=(0|H))break R}if(A[s>>2]=A[s>>2]|c<>>0>ge>>>0))break}c=A[r+U>>2]>>>(h&z)&Ur&_;break U}f[0|V]==(0|D)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&Z,c=32<=(63&Z)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k}c=0}(h=T&(c=o[(c<>1]))>>>0<=Ne>>>0||(A[Ke>>2]=R,A[b+276>>2]=ur,A[b+272>>2]=gr,A[Me>>2]=b+272,A[b+236>>2]=w,A[b+240>>2]=0,A[b+232>>2]=hr,ee(b+216|0,b+232|0),A[qe>>2]=A[(b+216|0)+j>>2],k=A[b+220>>2],A[b+232>>2]=A[b+216>>2],A[b+236>>2]=k,me(b+48|0,b+232|0),de(b+232|0,ir,A[b+48>>2],A[b+52>>2]),l=A[b+232>>2],g=A[b+236>>2],f[0|V]==(0|D)&&(s=A[p>>2],br[A[A[s+4>>2]>>2]](A[s>>2]),A[A[s+4>>2]+4>>2]&&E(A[s>>2]),E(A[p>>2])),A[V>>2]=l,A[V+4>>2]=g)}h=f[0|Y]+h|0,a[0|Y]=h;U:{w:{R:{if(((d=f[(s=c>>>H&Dr)+Mr|0])+h&y)>>>0>=se>>>0)for(;;){if(f[0|V]!=(0|H))break w;if(a[0|P]=h+Ve,A[(h=r+U|0)>>2]=A[h>>2]>>>j,l=k=A[r+4>>2],g=A[r>>2],(c=A[r+he>>2])>>>0<(l=(l=!l&g>>>0>c>>>0|l>>>0>0)?c:g)>>>0)break t;E:{Q:{if((0|c)!=(0|l))c=f[A[r+j>>2]+l|0];else{if(pe(b+40|0,Be,Ze),de(b+232|0,Ie,A[b+40>>2],A[b+44>>2]),g=A[b+236>>2],(Fe&(k=A[b+232>>2]))!=(0|re))break Q;g=A[r>>2],k=A[r+4>>2],c=0}(g=g+w|0)>>>0>>0&&(k=k+1|0),A[r>>2]=g,A[r+4>>2]=k;break E}if(c=0,(k&y)!=(0|H))break R}if(A[h>>2]=A[h>>2]|c<>>0>ge>>>0))break}k=(Ge<<(d&kr)^Ge)&A[r+U>>2]>>>(h&z);break U}f[0|V]==(0|D)&&(l=A[p>>2],br[A[A[l+4>>2]>>2]](A[l>>2]),A[A[l+4>>2]+4>>2]&&E(A[l>>2]),E(A[p>>2])),c=k,l=31&Z,c=32<=(63&Z)>>>0?g>>>l:((1<>>l,A[(h=p)>>2]=c,A[V>>2]=k,h=f[0|Y]}k=0}I=o[N+Sr>>1]+I|0,a[0|Y]=h+d,h=2,l=k+o[s+Pr>>1]|0}if(k=A[p>>2],c=A[V>>2],A[V>>2]=re,A[V+4>>2]=0,(c&y)!=(0|H))break y;if((0|(g=c&H))==(0|D)&&(br[A[A[k+4>>2]>>2]](A[k>>2]),A[A[k+4>>2]+4>>2]&&E(A[k>>2]),E(k),(0|g)!=(0|R)))break W;J:{U:{w:{R:{E:{Q:{x:{if((0|h)!=(0|D)){if((0|h)!=(0|R))break J;if((0|(h=A[Xe>>2]))!=A[er>>2])break E;if((c=h+R|0)>>>0>>0)break k;if((0|(c=c>>>0<(k=h<>>0?k:c))<0)break k;if(!h)break x;if(h=Oe(A[Ce>>2],h,R,c))break Q;break r}if(i[b+270>>1]=l,(s=A[Xe>>2])>>>0<(k=l&_)>>>0)break C;if((g=A[er>>2])-s>>>0<(c=I&_)>>>0){if((h=c+s|0)>>>0>>0)break k;if((0|(l=h>>>0<(k=g<>>0?k:h))<0)break k;if(!g)break R;if(d=Oe(A[Ce>>2],g,R,l))break w;break e}h=c+s|0,d=A[Ce>>2];break U}if(!(h=ze(c,R)))break r}A[er>>2]=c,A[Ce>>2]=h,h=A[Xe>>2]}a[A[Ce>>2]+h|0]=d,A[Xe>>2]=A[Xe>>2]+R,h=0;continue}if(!(d=ze(l,R)))break e}A[er>>2]=l,A[Ce>>2]=d,l=k=o[b+270>>1]}if(A[Xe>>2]=h,h=d+s|0,(I&_)>>>0>(l&_)>>>0){for(k=0-k|0;a[0|h]=f[k+h|0],h=h+R|0,c=c+Ge|0;);break m}we(h,(s-k|0)+d|0,c);break Z}if(ar&&E(_e),!lr)break n;E(Le);break n}if(g=c,rr)break B;break Y}if(g=c,ar)break X;break F}if(A[b+228>>2]=17,A[b+252>>2]=2,A[b+220>>2]=1,A[b+284>>2]=s,A[b+236>>2]=2,A[b+240>>2]=0,A[b+232>>2]=1174988,A[b+224>>2]=b+270,A[b+216>>2]=b+284,A[b+248>>2]=b+216,ee(b+272|0,b+232|0),A[b+240>>2]=A[b+280>>2],k=A[b+276>>2],A[b+232>>2]=A[b+272>>2],A[b+236>>2]=k,me(b+32|0,b+232|0),de(b+232|0,12,A[b+32>>2],A[b+36>>2]),g=A[b+232>>2],k=A[b+236>>2],!ar)break F}E(_e)}if(!lr)break f;E(Le);break f}if(A[b+228>>2]=17,A[b+252>>2]=2,A[b+220>>2]=1,A[b+284>>2]=s,A[b+236>>2]=2,A[b+240>>2]=0,A[b+232>>2]=1174988,A[b+224>>2]=b+270,A[b+216>>2]=b+284,A[b+248>>2]=b+216,ee(b+272|0,b+232|0),A[b+240>>2]=A[b+280>>2],k=A[b+276>>2],A[b+232>>2]=A[b+272>>2],A[b+236>>2]=k,me(b+112|0,b+232|0),de(b+232|0,12,A[b+112>>2],A[b+116>>2]),g=A[b+232>>2],k=A[b+236>>2],!rr)break Y}E(He)}if(!Ar)break A;E(ve);break A}u()}h=0;continue}h=0;continue}h=1;continue}h=1}}i[b+270>>1]=h;d:{if((c=A[r+16>>2])>>>0>=(d=(Z=!k&g>>>0>c>>>0|k>>>0>0)?c:g)>>>0){V:{if(c-d>>>0<2){if(pe(b+16|0,1049823,27),de(b+232|0,17,A[b+16>>2],A[b+20>>2]),k=A[b+236>>2],3!=(255&(g=A[b+232>>2])))break V;g=A[r>>2],k=A[r+4>>2],c=0}else c=A[r+8>>2]+d|0,c=f[0|c]|f[c+1|0]<<8;(Z=g+2|0)>>>0<2&&(k=k+1|0),A[r>>2]=Z,A[r+4>>2]=k;break d}if(c=0,3==(255&g))break d;break s}break a}i[b+284>>1]=c;d:{V:{p:{if((65535&c)==(65535&(-1^h))){if((m=A[r+44>>2])-(F=A[(c=r+48|0)>>2])>>>0>=(k=65535&h)>>>0)break d;if((Z=k+F|0)>>>0>>0)break k;if((0|(k=Z>>>0<(k=m<<1)>>>0?k:Z))<0)break k;if(!m)break p;if(h=Oe(A[r+40>>2],m,1,k))break V;break o}A[b+228>>2]=17,A[b+252>>2]=2,A[b+220>>2]=17,A[b+236>>2]=2,A[b+240>>2]=0,A[b+232>>2]=1175004,A[b+224>>2]=b+284,A[b+216>>2]=b+270,A[b+248>>2]=b+216,ee(b+272|0,b+232|0),A[b+240>>2]=A[b+280>>2],k=A[b+276>>2],A[b+232>>2]=A[b+272>>2],A[b+236>>2]=k,me(b+8|0,b+232|0),de(b+232|0,12,A[b+8>>2],A[b+12>>2]),d=-256&(h=A[b+232>>2]),c=A[b+236>>2];break l}if(!(h=ze(k,1)))break o}A[r+44>>2]=k,A[r+40>>2]=h}if(k=(Z=o[b+270>>1])+F|0,A[c>>2]=k,k>>>0>>0)break c;if(k=A[r+4>>2],m=A[r>>2],(c=w=A[r+16>>2])>>>0<(k=(k=!k&m>>>0>c>>>0|k>>>0>0)?c:m)>>>0)break b;if(w-k>>>0>=Z>>>0)break h;if(pe(b,1049823,27),de(b+232|0,17,A[b>>2],A[b+4>>2]),k=A[b+236>>2],!(c=3!=(255&(g=A[b+232>>2]))))break g;if(!c)break u}h=g,d=-256&g,c=k;break l}c=F+A[r+40>>2]|0,k=k+A[r+8>>2]|0,1!=(0|Z)?we(c,k,Z):a[0|c]=f[0|k]}k=A[r+4>>2],(m=Z+A[r>>2]|0)>>>0>>0&&(k=k+1|0),A[r>>2]=m,A[r+4>>2]=k}d=0,h=3}if(3==(0|(k=255&h))){2==(3&h)&&(br[A[A[c+4>>2]>>2]](A[c>>2]),A[A[c+4>>2]+4>>2]&&E(A[c>>2]),E(c));break n}A[e>>2]=1,A[e+4>>2]=k|d,A[e+8>>2]=c;break i}$e(),u()}Ye(F,k),u()}Ye(k,w),u()}e=A[294745],br[e||55](k,1),u()}if(3==(255&g)){if(2!=(3&g))break n;br[A[A[(c=k)+4>>2]>>2]](A[c>>2]),A[A[c+4>>2]+4>>2]&&E(A[c>>2]),E(c);break n}A[e>>2]=1,A[e+4>>2]=g,A[e+8>>2]=k;break i}if(3!=(255&g))return A[e>>2]=1,A[e+4>>2]=g,A[e+8>>2]=k,void(W=b+288|0);2==(3&g)&&(br[A[A[(c=k)+4>>2]>>2]](A[c>>2]),A[A[c+4>>2]+4>>2]&&E(A[c>>2]),E(c))}B(e,r,t,n)}return void(W=b+288|0)}Ye(d,c),u()}Ye(l,c),u()}e=A[294745],br[e||55](c,1),u()}e=A[294745],br[e||55](l,1),u()}function I(e,r,t){var n,b=0,c=0,k=0,l=0,h=0,s=0,d=0,V=0,p=0,m=0,Z=0;W=n=W-224|0,A[n+88>>2]=0,Ae(n+128|0,r,n+88|0,4);e:{r:{t:{a:{i:{n:{A:{f:{o:{if(3==f[n+128|0]){if(67324752!=A[n+88>>2])break o;if(c=b=A[r+4>>2],(l=(k=A[r>>2])+2|0)>>>0<2&&(b=b+1|0),(0|b)==(0|c)&l>>>0>=k>>>0|b>>>0>c>>>0)break f;if(pe(n+8|0,1049953,50),de(n+128|0,11,A[n+8>>2],A[n+12>>2]),b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}A[e>>2]=1,i[e+4>>1]=2;break A}A[r>>2]=l,A[r+4>>2]=b,i[n+88>>1]=0,Ae(n+128|0,r,n+88|0,2);f:{o:{if(3==f[n+128|0]){if(Z=f[n+89|0],s=f[n+88|0],i[n+88>>1]=0,Ae(n+128|0,r,n+88|0,2),3!=f[n+128|0])break o;if(c=b=A[r+4>>2],(l=(k=A[r>>2])+4|0)>>>0<4&&(b=b+1|0),(0|b)==(0|c)&l>>>0>=k>>>0|b>>>0>c>>>0)break f;if(pe(n+16|0,1049953,50),de(n+128|0,11,A[n+16>>2],A[n+20>>2]),b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}V=o[n+88>>1],A[r>>2]=l,A[r+4>>2]=b,A[n+88>>2]=0,Ae(n+128|0,r,n+88|0,4);f:{o:{b:{c:{k:{l:{if(3==f[n+128|0]){if(A[n+44>>2]=A[n+88>>2],A[n+88>>2]=0,Ae(n+128|0,r,n+88|0,4),3!=f[n+128|0])break l;if(A[n+48>>2]=A[n+88>>2],A[n+88>>2]=0,Ae(n+128|0,r,n+88|0,4),3!=f[n+128|0])break k;if(A[n+52>>2]=A[n+88>>2],i[n+88>>1]=0,Ae(n+128|0,r,n+88|0,2),3!=f[n+128|0])break c;if(b=f[n+89|0],k=f[n+88|0],i[n+88>>1]=0,Ae(n+128|0,r,n+88|0,2),3!=f[n+128|0])break b;if(c=f[n+89|0],d=f[n+88|0],!(l=k|b<<8))break o;if(h=Je(l))break f;e=A[294745],br[e||55](l,1),u()}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}if(b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,A[r+12>>2])break n;break i}h=1}Ae(n+128|0,r,h,l);f:{if(3==f[n+128|0]){if(A[n+64>>2]=l,A[n+60>>2]=l,A[n+56>>2]=h,p=b=A[r+4>>2],k=b,b=(b=c>>>24)+k|0,(0|(b=(c=(m=A[r>>2])+(d|=c<<8)|0)>>>0>>0?b+1|0:b))==(0|p)&c>>>0>=m>>>0|b>>>0>p>>>0)break f;if(pe(n+24|0,1049953,50),de(n+128|0,11,A[n+24>>2],A[n+28>>2]),b=A[n+132>>2],A[(t=e+8|0)>>2]=A[n+128>>2],A[t+4>>2]=b,i[e+4>>1]=4,A[e>>2]=1,!l)break A;if(E(h),A[r+12>>2])break n;break i}if(t=A[n+132>>2],b=A[n+128>>2],l&&E(h),i[e+4>>1]=4,A[e>>2]=1,A[e+12>>2]=t,A[e+8>>2]=b,A[r+12>>2])break n;break i}if(A[r>>2]=c,A[r+4>>2]=b,a[n+71|0]=1&s,O(n+128|0,n+56|0,(8&Z)>>>3),1==f[n+128|0]){if(A[e>>2]=1,i[e+4>>1]=1,!l)break A;if(E(h),A[r+12>>2])break n;break i}A[n+80>>2]=A[n+140>>2],b=A[n+136>>2],A[n+72>>2]=A[n+132>>2],A[n+76>>2]=b;f:if(8&s){if(b=-1,(k=(c=A[r+16>>2])+-12|0)>>>0<4294967284&&(b=0),!b&k>>>0>c>>>0|b>>>0>0)pe(n+32|0,1049953,50),de(n+128|0,11,A[n+32>>2],A[n+36>>2]);else if(c=A[r>>2],s=A[r+4>>2],A[r>>2]=k,A[r+4>>2]=b,A[n+88>>2]=0,Ae(n+128|0,r,n+88|0,4),3==f[n+128|0]&&(A[n+44>>2]=A[n+88>>2],A[n+88>>2]=0,Ae(n+128|0,r,n+88|0,4),3==f[n+128|0]&&(A[n+48>>2]=A[n+88>>2],A[n+88>>2]=0,Ae(n+128|0,r,n+88|0,4),3==f[n+128|0]))){b=A[n+88>>2],A[r>>2]=c,A[r+4>>2]=s,A[n+52>>2]=b;break f}if(t=A[n+128>>2],b=A[n+132>>2],i[e+4>>1]=4,A[e>>2]=1,A[(e=e+8|0)>>2]=t,A[e+4>>2]=b,A[n+76>>2]&&E(A[n+72>>2]),!l)break A;if(E(h),A[r+12>>2])break n;break i}f:{o:{b:{c:{k:{l:{u:{if((0|(b=A[n+80>>2]))==A[t+32>>2]&&!((0|(c=A[n+72>>2]))!=(0|(k=A[t+24>>2]))&&Ge(c,k,b)||A[n+44>>2]!=A[t+4>>2]||0!=f[n+71|0]^0!=f[t+83|0]||(0|(b=A[n+48>>2]))!=A[t+8>>2]||A[n+52>>2]!=A[t+12>>2])){if((t=(c=A[r>>2])+b|0)>>>0>>0)break b;if((k=A[r+16>>2])>>>0>>0)break o;if((0|b)<=-1)break c;if(k=A[r+12>>2],s=A[r+8>>2],!b)break u;if(r=ze(b,1))break l;break a}if(A[n+124>>2]=1,A[n+108>>2]=2,A[n+120>>2]=t+4,A[n+116>>2]=1,A[n+92>>2]=2,A[n+96>>2]=0,A[n+88>>2]=1174800,A[n+112>>2]=n+44,A[n+104>>2]=n+112,A[n+204>>2]=n+88,A[n+216>>2]=0,A[n+208>>2]=1,A[n+212>>2]=0,A[n+196>>2]=2,A[n+192>>2]=n+204,A[n+220>>2]=n+208,A[n+148>>2]=1,A[n+132>>2]=1,A[n+136>>2]=0,A[n+128>>2]=1174792,A[n+144>>2]=n+192,y(n+220|0,1174940,n+128|0))break t;if((0|(b=A[n+216>>2]))!=(0|(c=A[n+212>>2]))){if(c>>>0>>0)break r;if(b){if(!(k=Oe(A[n+208>>2],c,1,b)))break a;A[n+212>>2]=b,A[n+208>>2]=k,c=b}else c&&E(A[n+208>>2]),A[n+208>>2]=1,A[n+212>>2]=0,k=1,c=0}else k=A[n+208>>2];if(g(0|k,A[n+216>>2]),c&&E(k),A[n+124>>2]=3,A[n+108>>2]=2,A[n+120>>2]=t+24,A[n+116>>2]=3,A[n+92>>2]=2,A[n+96>>2]=0,A[n+88>>2]=1174816,A[n+112>>2]=n+72,A[n+104>>2]=n+112,A[n+204>>2]=n+88,A[n+216>>2]=0,A[n+208>>2]=1,A[n+212>>2]=0,A[n+196>>2]=2,A[n+192>>2]=n+204,A[n+220>>2]=n+208,A[n+148>>2]=1,A[n+132>>2]=1,A[n+136>>2]=0,A[n+128>>2]=1174792,A[n+144>>2]=n+192,y(n+220|0,1174940,n+128|0))break t;if((0|(b=A[n+216>>2]))!=(0|(c=A[n+212>>2]))){if(c>>>0>>0)break r;if(b){if(!(k=Oe(A[n+208>>2],c,1,b)))break a;A[n+212>>2]=b,A[n+208>>2]=k,c=b}else c&&E(A[n+208>>2]),A[n+208>>2]=1,A[n+212>>2]=0,k=1,c=0}else k=A[n+208>>2];if(g(0|k,A[n+216>>2]),c&&E(k),A[n+124>>2]=4,A[n+108>>2]=2,A[n+120>>2]=t+83,A[n+116>>2]=4,A[n+92>>2]=2,A[n+96>>2]=0,A[n+88>>2]=1174832,A[n+112>>2]=n+71,A[n+104>>2]=n+112,A[n+204>>2]=n+88,A[n+216>>2]=0,A[n+208>>2]=1,A[n+212>>2]=0,A[n+196>>2]=2,A[n+192>>2]=n+204,A[n+220>>2]=n+208,A[n+148>>2]=1,A[n+132>>2]=1,A[n+136>>2]=0,A[n+128>>2]=1174792,A[n+144>>2]=n+192,y(n+220|0,1174940,n+128|0))break t;if((0|(b=A[n+216>>2]))!=(0|(c=A[n+212>>2]))){if(c>>>0>>0)break r;if(b){if(!(k=Oe(A[n+208>>2],c,1,b)))break a;A[n+212>>2]=b,A[n+208>>2]=k,c=b}else c&&E(A[n+208>>2]),A[n+208>>2]=1,A[n+212>>2]=0,k=1,c=0}else k=A[n+208>>2];if(g(0|k,A[n+216>>2]),c&&E(k),A[n+124>>2]=1,A[n+108>>2]=2,A[n+120>>2]=t+8,A[n+116>>2]=1,A[n+92>>2]=2,A[n+96>>2]=0,A[n+88>>2]=1174848,A[n+112>>2]=n+48,A[n+104>>2]=n+112,A[n+204>>2]=n+88,A[n+216>>2]=0,A[n+208>>2]=1,A[n+212>>2]=0,A[n+196>>2]=2,A[n+192>>2]=n+204,A[n+220>>2]=n+208,A[n+148>>2]=1,A[n+132>>2]=1,A[n+136>>2]=0,A[n+128>>2]=1174792,A[n+144>>2]=n+192,y(n+220|0,1174940,n+128|0))break t;if((0|(b=A[n+216>>2]))!=(0|(c=A[n+212>>2]))){if(c>>>0>>0)break r;if(b){if(!(k=Oe(A[n+208>>2],c,1,b)))break a;A[n+212>>2]=b,A[n+208>>2]=k,c=b}else c&&E(A[n+208>>2]),A[n+208>>2]=1,A[n+212>>2]=0,k=1,c=0}else k=A[n+208>>2];if(g(0|k,A[n+216>>2]),c&&E(k),A[n+124>>2]=1,A[n+108>>2]=2,A[n+120>>2]=t+12,A[n+116>>2]=1,A[n+92>>2]=2,A[n+96>>2]=0,A[n+88>>2]=1174864,A[n+112>>2]=n+52,A[n+104>>2]=n+112,A[n+204>>2]=n+88,A[n+216>>2]=0,A[n+208>>2]=1,A[n+212>>2]=0,A[n+196>>2]=2,A[n+192>>2]=n+204,A[n+220>>2]=n+208,A[n+148>>2]=1,A[n+132>>2]=1,A[n+136>>2]=0,A[n+128>>2]=1174792,A[n+144>>2]=n+192,y(n+220|0,1174940,n+128|0))break t;if((0|(t=A[n+212>>2]))!=(0|(c=A[n+216>>2]))){if(t>>>0>>0)break r;if(c){if(!(b=Oe(A[n+208>>2],t,1,c)))break k;A[n+212>>2]=c,A[n+208>>2]=b,t=c}else t&&E(A[n+208>>2]),A[n+208>>2]=1,A[n+212>>2]=0,b=1,t=0}else b=A[n+208>>2];if(g(0|b,A[n+216>>2]),t&&E(b),A[e>>2]=1,i[e+4>>1]=2,A[n+76>>2]&&E(A[n+72>>2]),!l)break A;if(E(h),A[r+12>>2])break n;break i}r=1}ke(r,b,c+s|0,b);l:{u:{g:{h:{s:{d:{if(8!=(0|V)){if(V)break d;if(A[e+4>>2]=r,A[e>>2]=0,A[e+12>>2]=b,A[e+8>>2]=b,k)break u;break l}if(A[n+144>>2]=b,A[n+140>>2]=b,a[0|(t=n+177|0)]=0,a[t+1|0]=0,a[t+2|0]=0,a[t+3|0]=0,a[t+4|0]=0,a[t+5|0]=0,a[t+6|0]=0,a[t+7|0]=0,A[(t=n+172|0)>>2]=0,A[t+4>>2]=0,a[n+164|0]=32,A[n+152>>2]=0,A[n+136>>2]=r,A[n+128>>2]=0,A[n+132>>2]=0,c=1,A[n+168>>2]=1,a[n+156|0]=3,(0|(r=A[n+52>>2]))<=-1)break c;if(r&&!(c=ze(r,1)))break f;if(A[n+120>>2]=0,A[n+116>>2]=r,A[n+112>>2]=c,function(e,r,t){var a=0,i=0,n=0,o=0,b=0,c=0,k=0,l=0;for(W=i=W-32|0,b=A[t+8>>2],A[i+12>>2]=b,A[i+8>>2]=t,l=i+16|4,n=a=b;;){V:{p:{m:{Z:{if(!o){if((a=A[(k=t+4|0)>>2])-n>>>0<=31){if((c=n+32|0)>>>0>>0)break Z;if((0|(o=c>>>0<(o=a<<1)>>>0?o:c))<0)break Z;W:{if(a){if(a=Oe(A[t>>2],a,1,o))break W;break p}if(!(a=ze(o,1)))break p}A[t>>2]=a,A[k>>2]=o,n=A[i+12>>2],t=A[i+8>>2],a=A[t+4>>2]}if(A[t+8>>2]=a,a>>>0>>0)break m;Qe(A[t>>2]+n|0,a-n|0),t=A[i+8>>2],n=A[t+8>>2],a=A[i+12>>2],o=1;continue}if(n>>>0>=a>>>0){B(i+16|0,r,A[t>>2]+a|0,n-a|0);W:{Y:{B:{I:if(1!=A[i+16>>2]){if(!(n=A[i+20>>2]))break Y;A[i+12>>2]=a+n}else{if(15!=(255&Re(l)))break B;if(!A[i+16>>2])break I;if(f[i+20|0]<2)break I;o=A[(a=i+24|0)>>2],br[A[A[o+4>>2]>>2]](A[o>>2]),A[A[o+4>>2]+4>>2]&&E(A[o>>2]),E(A[a>>2])}if(a=A[i+12>>2],t=A[i+8>>2],n=A[t+8>>2],(0|a)!=(0|n))break V;o=0;continue}n=A[i+24>>2],a=A[i+20>>2],r=1;break W}a=a-b|0,r=0}return A[e+4>>2]=a,A[e>>2]=r,A[e+8>>2]=n,A[A[(e=i+8|0)>>2]+8>>2]=A[e+4>>2],void(W=i+32|0)}Ye(a,n),u()}$e(),u()}Ye(n,a),u()}e=A[294745],br[e||55](o,1),u()}o=1}}(n+88|0,n+128|0,n+112|0),!(t=A[n+88>>2]))break h;if(b=A[n+96>>2],r=A[n+92>>2],1!=(0|t))break s;if(i[e+4>>1]=4,A[e>>2]=1,A[(e=e+8|0)>>2]=r,A[e+4>>2]=b,A[n+116>>2]&&E(A[n+112>>2]),A[n+140>>2]&&E(A[n+136>>2]),2==f[n+156|0]&&(e=A[(r=n+160|0)>>2],br[A[A[e+4>>2]>>2]](A[e>>2]),A[A[e+4>>2]+4>>2]&&E(A[e>>2]),E(A[r>>2])),A[n+172>>2]&&E(A[n+168>>2]),k&&E(s),A[n+76>>2]&&E(A[n+72>>2]),!l)break i;break e}if(i[e+4>>1]=3,A[e>>2]=1,i[e+6>>1]=V,!b)break g;if(E(r),k)break u;break l}(255&r)>>>0<2||(br[A[A[b+4>>2]>>2]](A[b>>2]),A[A[b+4>>2]+4>>2]&&E(A[b>>2]),E(b))}r=A[n+116>>2],A[e+4>>2]=A[n+112>>2],A[e+8>>2]=r,A[e>>2]=0,A[e+12>>2]=A[n+120>>2],A[n+140>>2]&&E(A[n+136>>2]),2==f[n+156|0]&&(e=A[(r=n+160|0)>>2],br[A[A[e+4>>2]>>2]](A[e>>2]),A[A[e+4>>2]+4>>2]&&E(A[e>>2]),E(A[r>>2])),A[n+172>>2]&&E(A[n+168>>2])}if(!k)break l}E(s)}if(A[n+76>>2]&&E(A[n+72>>2]),!l)break i;break e}e=A[294745],br[e||55](c,1),u()}er(),u()}Ye(c,t),u()}Ze(t,k),u()}e=A[294745],br[e||55](r,1),u()}if(!A[r+12>>2])break i}E(A[r+8>>2])}return void(W=n+224|0)}e=A[294745],br[e||55](b,1),u()}!function(){var e=0;W=e=W+-64|0,A[e+12>>2]=55,A[e+8>>2]=1048583,A[e+52>>2]=29,A[e+36>>2]=2,A[e+44>>2]=16,A[e+20>>2]=2,A[e+24>>2]=0,A[e+16>>2]=1175748,A[e+48>>2]=e+56,A[e+40>>2]=e+8,A[e+32>>2]=e+40,Ue(e+16|0,1175764),u()}(),u()}Xe(1174964),u()}E(h),W=n+224|0}function F(e){var r=0,t=0,a=0,i=0,n=0,f=0,o=0,c=0,k=0,u=0,g=0,h=0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{E:{Q:{if(e>>>0<=244){if(!(3&(e=(t=A[294749])>>>(r=31&(a=(i=e>>>0<11?16:e+11&-8)>>>3)))))break Q;if(n=(e=A[16+(f=1178996+((r=a+(1&(-1^e))|0)<<3)|0)>>2])+8|0,(0|(a=A[e+8>>2]))==(0|(f=f+8|0)))break E;A[a+12>>2]=f,A[f+8>>2]=a;break R}if(e>>>0>=4294967232)break o;if(i=-8&(e=e+11|0),!(c=A[294750]))break X;if(r=0-i|0,o=0,(e>>>=8)&&(o=31,i>>>0>16777215||(o=i>>>(38-(e=l(e))&31)&1|31-e<<1)),!(e=A[1179268+(o<<2)>>2]))break G;for(f=i<<(31==(0|o)?0:25-(o>>>1)&31);;){if(!((n=-8&A[e+4>>2])>>>0>>0||(n=n-i|0)>>>0>=r>>>0||(t=e,r=n)))break U;if(n=A[e+20>>2],e=A[16+((f>>>29&4)+e|0)>>2],a=n&&(0|n)!=(0|e)?n:a,f<<=1,!e)break}if(!a)break J;e=a;break y}if(i>>>0<=b[294849])break X;if(!e)break w;if(e=(0-(a=2<>2],(0|(a=A[e+8>>2]))==(0|(f=f+8|0)))break I;A[a+12>>2]=f,A[f+8>>2]=a;break B}g=1178996,h=or(r)&t,A[g>>2]=h}return t=r<<3,A[e+4>>2]=3|t,A[4+(e=e+t|0)>>2]=1|A[e+4>>2],n}if(!(e=A[294750]))break X;if(t=31-l((e&=0-e)^e+-1)|0,e||(t=32),t=A[1179268+(t<<2)>>2],a=(-8&A[t+4>>2])-i|0,f=t,!(e=A[t+16>>2]))break l;r=1;break k}r=0;break y}if(t)break C}if(t=0,!(e=(0-(e=2<<(31&o))|e)&c))break X;if(a=31-l((e&=0-e)^e+-1)|0,e||(a=32),!(e=A[1179268+(a<<2)>>2]))break X}for(;n=t,t=(f=(a=(t=-8&A[e+4>>2])-i|0)>>>0>>0&t>>>0>=i>>>0)?e:n,r=f?a:r,e=(a=A[e+16>>2])||A[e+20>>2];);if(!t)break X}if((e=A[294849])>>>0>>0)break F;if(r>>>0>>0)break F}X:{C:{y:{if((t=A[294849])>>>0>>0){if((e=A[294850])>>>0<=i>>>0)break y;break e}if(e=A[294851],(r=t-i|0)>>>0>=16)break C;A[294851]=0,A[294849]=0,A[e+4>>2]=3|t,i=4+(t=e+t|0)|0,r=1|A[t+4>>2];break X}if(f=0,-1==(0|(t=cr((e=i+65583|0)>>>16))))break o;if(!(t<<=16))break o;if(e=(o=-65536&e)+A[294853]|0,A[294853]=e,r=A[294854],A[294854]=e>>>0>>0?r:e,!(n=A[294852]))break p;for(e=1179420;;){if((0|t)==((r=A[e>>2])+(a=A[e+4>>2])|0))break V;if(!(e=A[e+8>>2]))break}break c}A[294849]=r,a=e+i|0,A[294851]=a,A[a+4>>2]=1|r,A[e+t>>2]=r,r=3|i,i=e+4|0}return A[i>>2]=r,e+8|0}if(ie(t),r>>>0>15)break Y;e=r+i|0,A[t+4>>2]=3|e,A[4+(e=e+t|0)>>2]=1|A[e+4>>2];break u}g=1178996,h=or(r)&t,A[g>>2]=h}if(f=e+8|0,A[e+4>>2]=3|i,r=(t=r<<3)-i|0,A[4+(n=e+i|0)>>2]=1|r,A[e+t>>2]=r,!(e=A[294849]))break m;if(e=1179004+((a=e>>>3)<<3)|0,t=A[294851],!((i=A[294749])&(a=1<<(31&a))))break W;a=A[e+8>>2];break Z}if(A[t+4>>2]=3|i,A[4+(e=t+i|0)>>2]=1|r,A[e+r>>2]=r,r>>>0>255)break d;if(r=1179004+((a=r>>>3)<<3)|0,!((f=A[294749])&(a=1<<(31&a))))break h;a=A[r+8>>2];break g}A[294749]=a|i,a=e}A[e+8>>2]=t,A[a+12>>2]=t,A[t+12>>2]=e,A[t+8>>2]=a}return A[294851]=n,A[294849]=r,f}for((e=A[294860])>>>0<=t>>>0&&e||(A[294860]=t),A[294861]=4095,A[294855]=t,e=0,A[294858]=0,A[294856]=o;a=8+(r=e+1178996|0)|0,A[r+16>>2]=a,A[r+20>>2]=a,256!=(0|(e=e+8|0)););e=o+-40|0,A[294850]=e,A[294852]=t,A[t+4>>2]=1|e,A[4+(e+t|0)>>2]=40,A[294859]=2097152;break b}if(!A[e+12>>2])break s;break c}ae(e,r);break u}if(t>>>0<=n>>>0)break c;if(r>>>0>n>>>0)break c;A[e+4>>2]=a+o,r=(t=(e=A[294852])+15&-8)-8|0,A[294852]=r,t=(a=o+A[294850]|0)+((e+8|0)-t|0)|0,A[294850]=t,A[r+4>>2]=1|t,A[4+(e+a|0)>>2]=40,A[294859]=2097152;break b}A[294749]=a|f,a=r}A[r+8>>2]=e,A[a+12>>2]=e,A[e+12>>2]=r,A[e+8>>2]=a}f=t+8|0;break o}r=0}for(;;){k:{l:{if(r){if(a=(t=(r=(-8&A[e+4>>2])-i|0)>>>0>>0)?r:a,f=t?e:f,t=e,e=A[e+16>>2])break l;r=0;continue}if(e=A[t+20>>2])break k;return ie(f),a>>>0<16?(e=a+i|0,A[f+4>>2]=3|e,A[4+(e=e+f|0)>>2]=1|A[e+4>>2]):(A[f+4>>2]=3|i,A[4+(r=i+f|0)>>2]=1|a,A[r+a>>2]=a,(t=A[294849])&&(e=A[294851],t=1179004+((n=t>>>3)<<3)|0,i=A[294749],n=1<<(31&n),o=A[t+8>>2],i&n||(A[294749]=i|n,o=t),n=o,A[t+8>>2]=e,A[n+12>>2]=e,A[e+12>>2]=t,A[e+8>>2]=n),A[294851]=r,A[294849]=a),f+8|0}r=1;continue}r=1}}e=A[294860],A[294860]=e>>>0>>0?e:t,r=t+o|0,a=1179420;c:{k:{for(;;){if(A[a>>2]==(0|r))break k;if(!(a=A[a+8>>2]))break}e=1179420;break c}if(e=1179420,!A[a+12>>2]){if(A[a>>2]=t,A[a+4>>2]=o+A[a+4>>2],A[t+4>>2]=3|i,e=t+i|0,i=(r-t|0)-i|0,A[294852]==(0|r))break f;if(A[294851]==(0|r))break A;if(1!=(3&(a=A[r+4>>2])))break t;if((f=-8&a)>>>0>255)break n;if((0|(n=A[r+12>>2]))==(0|(o=A[r+8>>2])))break i;A[o+12>>2]=n,A[n+8>>2]=o;break a}}for(;!((r=A[e>>2])>>>0<=n>>>0&&(a=r+A[e+4>>2]|0)>>>0>n>>>0);)e=A[e+8>>2];for(e=o+-40|0,A[294850]=e,A[294852]=t,A[t+4>>2]=1|e,A[4+(e+t|0)>>2]=40,A[294859]=2097152,A[(r=(e=(a+-32&-8)-8|0)>>>0>>0?n:e)+4>>2]=27,e=A[294855],c=A[294856],u=A[294858],A[(k=r+16|0)>>2]=A[294857],A[k+4>>2]=u,A[r+8>>2]=e,A[r+12>>2]=c,A[294858]=0,A[294856]=o,A[294855]=t,A[294857]=r+8,e=r+28|0;A[e>>2]=7,a>>>0>(e=e+4|0)>>>0;);if((0|r)!=(0|n)){A[r+4>>2]=-2&A[r+4>>2],e=r-n|0,A[n+4>>2]=1|e,A[r>>2]=e;c:{k:{if(e>>>0<=255){if(e=1179004+((t=e>>>3)<<3)|0,!((r=A[294749])&(t=1<<(31&t))))break k;t=A[e+8>>2];break c}ae(n,e);break b}A[294749]=r|t,t=e}A[e+8>>2]=n,A[t+12>>2]=n,A[n+12>>2]=e,A[n+8>>2]=t}}if(!((e=A[294850])>>>0<=i>>>0))break e}return f}A[294852]=e,r=A[294850]+i|0,A[294850]=r,A[e+4>>2]=1|r;break r}A[294851]=e,r=A[294849]+i|0,A[294849]=r,A[e+4>>2]=1|r,A[e+r>>2]=r;break r}ie(r);break a}g=1178996,h=A[294749]&or(a>>>3),A[g>>2]=h}i=i+f|0,r=r+f|0}A[r+4>>2]=-2&A[r+4>>2],A[e+4>>2]=1|i,A[e+i>>2]=i;t:{a:{if(i>>>0<=255){if(r=1179004+((a=i>>>3)<<3)|0,!((f=A[294749])&(a=1<<(31&a))))break a;a=A[r+8>>2];break t}ae(e,i);break r}A[294749]=a|f,a=r}A[r+8>>2]=e,A[a+12>>2]=e,A[e+12>>2]=r,A[e+8>>2]=a}return t+8|0}return t=e-i|0,A[294850]=t,r=(e=A[294852])+i|0,A[294852]=r,A[r+4>>2]=1|t,A[e+4>>2]=3|i,e+8|0}function X(e,r,t,i,n){var o,b=0,c=0,k=0,l=0,g=0,h=0,s=0,d=0;W=o=W-80|0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{if((b=65535&t)>>>0<=15){if(!(r=ze(2,1)))break c;a[r+1|0]=t,a[0|r]=1,t=1175108;break t}k:{l:{u:{g:{h:{s:{if(16!=(0|b)){if(17!=(0|b)){if(18!=(0|b))break b;if(((t=f[r+36|0])+7&255)>>>0>=33)for(g=r+28|0,l=r+36|0,k=r+24|0,h=r+16|0;;){if(i=11,3!=f[0|g])break A;if(a[0|l]=t+-8,A[k>>2]=A[k>>2]>>>8,t=b=A[r+4>>2],c=A[r>>2],(n=A[h>>2])>>>0<(t=(t=!t&c>>>0>n>>>0|t>>>0>0)?n:c)>>>0)break u;d:{V:{if((0|t)!=(0|n))t=f[t+A[r+8>>2]|0];else{if(pe(o+24|0,1049823,27),de(o+48|0,17,A[o+24>>2],A[o+28>>2]),b=A[o+52>>2],3!=(255&(n=A[o+48>>2])))break V;c=A[r>>2],b=A[r+4>>2],t=0}(i=c+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=i,A[r+4>>2]=b;break d}if(t=0,3!=(255&n))break s}if(A[k>>2]=A[k>>2]|t<<24,!(((t=f[0|l])+7&255)>>>0>32))break}i=11+(A[r+24>>2]>>>(31&t)&127)|0;break A}if(((t=f[r+36|0])+3&255)>>>0>=33)for(g=r+28|0,l=r+36|0,k=r+24|0,h=r+16|0;;){if(i=3,3!=f[0|g])break f;if(a[0|l]=t+-8,A[k>>2]=A[k>>2]>>>8,t=b=A[r+4>>2],c=A[r>>2],(n=A[h>>2])>>>0<(t=(t=!t&c>>>0>n>>>0|t>>>0>0)?n:c)>>>0)break l;d:{V:{if((0|t)!=(0|n))t=f[t+A[r+8>>2]|0];else{if(pe(o+16|0,1049823,27),de(o+48|0,17,A[o+16>>2],A[o+20>>2]),b=A[o+52>>2],3!=(255&(n=A[o+48>>2])))break V;c=A[r>>2],b=A[r+4>>2],t=0}(i=c+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=i,A[r+4>>2]=b;break d}if(t=0,3!=(255&n))break h}if(A[k>>2]=A[k>>2]|t<<24,!(((t=f[0|l])+3&255)>>>0>32))break}i=3+(A[r+24>>2]>>>(31&t)&7)|0;break f}if(((t=f[r+36|0])+2&255)>>>0>=33)for(s=r+28|0,g=r+36|0,k=r+24|0,d=r+16|0,h=3;;){if(3!=f[0|s])break o;if(a[0|g]=t+-8,A[k>>2]=A[k>>2]>>>8,t=b=A[r+4>>2],c=A[r>>2],(l=A[d>>2])>>>0<(t=(t=!t&c>>>0>l>>>0|t>>>0>0)?l:c)>>>0)break k;d:{V:{if((0|t)!=(0|l))t=f[t+A[r+8>>2]|0];else{if(pe(o+8|0,1049823,27),de(o+48|0,17,A[o+8>>2],A[o+12>>2]),c=A[o+52>>2],3!=(255&(b=A[o+48>>2])))break V;c=A[r>>2],b=A[r+4>>2],t=0}(c=c+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b;break d}if(t=0,3!=(255&b))break g}if(A[k>>2]=A[k>>2]|t<<24,!(((t=f[0|g])+2&255)>>>0>32))break}h=3+(A[r+24>>2]>>>(31&t)&3)|0;break o}2==f[r+28|0]&&(t=A[(c=r+32|0)>>2],br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(A[c>>2])),A[r+32>>2]=b,A[r+28>>2]=n,t=f[r+36|0];break A}2==f[r+28|0]&&(t=A[(c=r+32|0)>>2],br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(A[c>>2])),A[r+32>>2]=b,A[r+28>>2]=n,t=f[r+36|0];break f}2==f[r+28|0]&&(t=A[(k=r+32|0)>>2],br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(A[k>>2])),A[r+32>>2]=c,A[r+28>>2]=b,t=f[r+36|0];break o}Ye(t,n),u()}Ye(t,n),u()}Ye(t,l),u()}e=A[294745],br[e||55](2,1),u()}!function(){var e=0;W=e=W-16|0,A[e+12>>2]=40,A[e+8>>2]=1049737,be(e+8|0,1174888,0,1175356),u()}(),u()}a[r+36|0]=t+2,t=A[r+32>>2],b=A[r+28>>2],A[r+28>>2]=3,A[r+32>>2]=0;o:{b:{c:{if(3==(255&b)){if(2==(3&b))break c;if(!i)break b;break o}A[e+4>>2]=b,A[e+8>>2]=t;break n}if(br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(t),i)break o}A[o+68>>2]=1,A[o+76>>2]=16,A[o+72>>2]=1175628,A[o+52>>2]=1,A[o+56>>2]=0,A[o+48>>2]=1175620,A[o+64>>2]=o+72,ee(o+32|0,o+48|0),A[o+56>>2]=A[o+40>>2],r=A[o+36>>2],A[o+48>>2]=A[o+32>>2],A[o+52>>2]=r,me(o,o+48|0),de(o+48|0,12,A[o>>2],A[o+4>>2]),r=A[o+52>>2],A[e+4>>2]=A[o+48>>2],A[e+8>>2]=r,r=1;break r}if(r=ze(8,4)){a[r+4|0]=n,A[r>>2]=h,t=1175372;break t}break e}a[r+36|0]=t+3,b=A[r+32>>2],t=A[r+28>>2],A[r+28>>2]=3,A[r+32>>2]=0;f:{o:{if(3==(255&t)){if(2==(3&t))break o;if(!(r=ze(8,4)))break e;break f}A[(r=e)+4>>2]=t,A[r+8>>2]=b;break n}if(br[A[A[b+4>>2]>>2]](A[b>>2]),A[A[b+4>>2]+4>>2]&&E(A[b>>2]),E(b),!(r=ze(8,4)))break e}a[r+4|0]=0,A[r>>2]=i,t=1175372;break t}if(a[r+36|0]=t+7,t=A[r+32>>2],n=A[r+28>>2],A[r+28>>2]=3,A[r+32>>2]=0,3==(255&n)){if(2==(3&n))break i;if(!(r=ze(8,4)))break e;break a}A[e+4>>2]=n,A[e+8>>2]=t}r=1;break r}if(br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(t),!(r=ze(8,4)))break e}a[r+4|0]=0,A[r>>2]=i,t=1175372}A[e+4>>2]=r,A[e+8>>2]=t,r=0}return A[e>>2]=r,void(W=o+80|0)}e=A[294745],br[e||55](8,4),u()}function C(e,r,t,n,o,b){var c,k=0,l=0,g=0,h=0,s=0;W=c=W-16|0,l=f[r+24|0];e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{k:{l:{if(n){if(h=r+24|0,(g=(15&l)-1|0)>>>0>9)break l;l=0;break k}u:{g:{if((l=l+-1|0)>>>0<=9)switch(l+-3|0){case 6:break c;case 5:break u;case 4:break g;case 1:break n;case 2:break A;case 3:break f;case 0:break o;default:break a}break a}re(e,r,t,0,o,b,0,187);break e}M(c,r+4|0,t,0,o,b,1);break b}l=1}for(;;){k:{l:{u:{g:{h:{s=h;s:{d:{V:{p:{m:{if(!l){Z:switch(g-1|0){default:if(239==f[0|t])break m;break p;case 1:if(255!=f[0|t])break p;break d;case 2:if(k>>>0>=n>>>0)break o;if(187!=f[t+k|0])break u;l=5;break s;case 8:break c;case 7:break g;case 6:break h;case 0:break Z;case 3:break n;case 4:break A;case 5:break f}if(254!=f[0|t])break p;break V}if(255==(0|(l=f[0|t])))break d;if(254==(0|l))break V;if(239!=(0|l))break p}l=4;break s}a[0|h]=9,g=8;break l}l=6;break s}l=7}if(a[0|s]=l,k=k+1|0,(g=l+-1|0)>>>0<=9)break k;l=1;continue}re(e,r,t,n,o,b,0,187);break e}M(c,r+4|0,t,n,o,b,1);break b}re(e,r,t,n,o,b,k,239);break e}l=0;continue}l=0}}xe(1051088,41,1176124),u()}n=A[c+8>>2],o=A[c>>2],t=f[c+5|0]|f[c+6|0]<<8,(b=f[c+4|0])||(a[r+24|0]=10),a[e+4|0]=b,A[e+8>>2]=n,A[e>>2]=o,a[0|(e=e+5|0)]=t,a[e+1|0]=t>>>8;break e}re(e,r,t,n,o,b,k,239);break e}f:{o:{if(k>>>0>>0){if(254!=f[t+k|0])break o;if(a[r+24|0]=9,k=k+1|0,1175976!=A[r>>2]&&(a[r+4|0]=10,A[r>>2]=1175976,i[r+10>>1]=0,a[r+8|0]=0,i[r+6>>1]=0),k>>>0>n>>>0)break f;break t}re(e,r,t,n,o,b,k,255);break e}re(e,r,t,n,o,b,k,255);break e}break i}A:{if(k>>>0>>0){if(255==f[t+k|0])break A;re(e,r,t,n,o,b,k,254);break e}re(e,r,t,n,o,b,k,254);break e}if(a[r+24|0]=9,1175952!=A[r>>2]&&(a[r+4|0]=10,A[r>>2]=1175952,i[r+10>>1]=1,a[r+8|0]=0,i[r+6>>1]=0),(k=k+1|0)>>>0<=n>>>0)break t;break i}n:{A:{if(k>>>0>>0){if(191!=f[t+k|0])break A;if(a[r+24|0]=9,k=k+1|0,1176e3!=A[r>>2]&&(a[r+4|0]=1,A[r>>2]=1176e3,i[r+20>>1]=49024,A[r+16>>2]=0,A[(l=r+8|0)>>2]=0,A[l+4>>2]=0),k>>>0>n>>>0)break n;break t}z(e,r,t,n,o,b,k);break e}z(e,r,t,n,o,b,k);break e}}Ye(k,n),u()}A[e+8>>2]=0,A[e>>2]=0;break r}M(c,r+4|0,t+k|0,n-k|0,o,b,1),n=A[c+8>>2],o=A[c>>2],t=f[c+5|0]|f[c+6|0]<<8,(b=f[c+4|0])||(a[r+24|0]=10),a[e+4|0]=b,A[e+8>>2]=n,a[0|(r=e+5|0)]=t,a[r+1|0]=t>>>8,A[e>>2]=o+k;break e}a[e+4|0]=0}W=c+16|0}function y(e,r,t){var i,n=0,o=0,b=0,c=0,k=0,l=0,g=0,h=0,s=0;W=i=W+-64|0,A[i+36>>2]=r,n=A[t+20>>2],A[i+52>>2]=n,a[i+56|0]=3,c=A[t+16>>2],A[i+44>>2]=c+(n<<3),A[i+8>>2]=0,A[i+12>>2]=32,A[i+32>>2]=e,A[i+24>>2]=0,A[i+16>>2]=0,A[i+48>>2]=c,A[i+40>>2]=c;e:{r:{t:{a:{if(b=A[t+8>>2]){if(l=A[t>>2],g=A[t+4>>2],!(h=(t=A[t+12>>2])>>>0>g>>>0?g:t))break a;if(br[A[r+12>>2]](e,A[l>>2],A[l+4>>2]))break t;c=l+12|0,s=i+56|0,e=i+52|0,r=i+48|0,k=1;i:{for(;;){a[0|s]=f[b+32|0],A[i+12>>2]=A[b+8>>2],A[i+8>>2]=A[b+12>>2],t=0;n:{A:{f:if(1==(0|(o=A[b+24>>2]))){if((o=A[b+28>>2])>>>0>=(n=A[e>>2])>>>0)break A;if(o=A[r>>2]+(o<<3)|0,81!=A[o+4>>2])break n;n=A[A[o>>2]>>2]}else{if(2!=(0|o)){if(3==(0|o))break n;n=A[b+28>>2];break f}if((0|(o=A[(n=i+40|0)>>2]))==A[i+44>>2])break n;if(A[n>>2]=o+8,81!=A[o+4>>2])break n;n=A[A[o>>2]>>2]}t=1;break n}We(1177272,o,n),u()}A[i+20>>2]=n,A[i+16>>2]=t,t=0;n:{A:{f:if(1==(0|(o=A[b+16>>2]))){if((o=A[b+20>>2])>>>0>=(n=A[e>>2])>>>0)break A;if(o=A[r>>2]+(o<<3)|0,81!=A[o+4>>2])break n;n=A[A[o>>2]>>2]}else{if(2!=(0|o)){if(3==(0|o))break n;n=A[b+20>>2];break f}if((0|(o=A[(n=i+40|0)>>2]))==A[i+44>>2])break n;if(A[n>>2]=o+8,81!=A[o+4>>2])break n;n=A[A[o>>2]>>2]}t=1;break n}We(1177272,o,n),u()}A[i+28>>2]=n,A[i+24>>2]=t;n:{if(1!=A[b>>2]){if((0|(t=A[(n=i+40|0)>>2]))==A[i+44>>2])break i;A[n>>2]=t+8}else{if((t=A[b+4>>2])>>>0>=(n=A[e>>2])>>>0)break n;t=A[r>>2]+(t<<3)|0}if(br[A[t+4>>2]](A[t>>2],i+8|0))break t;if(k>>>0>=h>>>0)break a;if(t=c+-4|0,n=A[c>>2],c=c+8|0,b=b+36|0,k=k+1|0,!br[A[A[i+36>>2]+12>>2]](A[i+32>>2],A[t>>2],n))continue;break t}break}We(1177256,t,n),u()}Xe(1176952),u()}if(l=A[t>>2],t=n>>>0>(g=A[t+4>>2])>>>0?g:n){if(br[A[r+12>>2]](e,A[l>>2],A[l+4>>2]))break t;for(b=l+12|0,e=i+32|0,r=i+36|0,k=1;;){if(br[A[c+4>>2]](A[c>>2],i+8|0))break t;if(k>>>0>=t>>>0)break a;if(n=b+-4|0,o=A[b>>2],b=b+8|0,c=c+8|0,k=k+1|0,br[A[A[r>>2]+12>>2]](A[e>>2],A[n>>2],o))break}break t}}if(g>>>0<=k>>>0)break r;if(e=(k<<3)+l|0,!br[A[A[i+36>>2]+12>>2]](A[i+32>>2],A[e>>2],A[e+4>>2]))break r}e=1;break e}e=0}return W=i- -64|0,e}function G(e,r,t,i){var n,o=0,b=0,c=0,k=0,l=0;W=n=W-112|0,A[n+12>>2]=i,A[n+8>>2]=t,c=1,b=r;e:if(!(r>>>0<257)){for(k=0-r|0,o=256;;){if(!(a[e+o|0]>-65&&o>>>0>>0)){if(b=o+-1|0,c=0,1==(0|o))break e;if(l=o+k|0,o=b,1!=(0|l))continue;break e}break}c=0,b=o}A[n+20>>2]=b,A[n+16>>2]=e,A[n+28>>2]=c?0:5,A[n+24>>2]=c?1171020:1171516;e:{r:{if(!((o=t>>>0>r>>>0)||i>>>0>r>>>0)){if(t>>>0>i>>>0)break r;t:{if(t&&(0|r)!=(0|t)){if(r>>>0<=t>>>0)break t;if(a[e+t|0]<-64)break t}t=i}A[n+32>>2]=t;t:{a:if(t&&(0|r)!=(0|t)){for(i=r+1|0;;){if(a[e+t|0]>=-64&&t>>>0>>0)break a;if(o=t+-1|0,1==(0|t))break t;if(b=(0|t)==(0|i),t=o,b)break}break t}o=t}if((0|r)==(0|o))break e;if(b=1,c=0,(0|(t=a[0|(i=e+o|0)]))>=0)A[n+36>>2]=255&t,t=n+40|0;else{(0|(r=e=e+r|0))!=(i+1|0)&&(c=63&f[i+1|0],r=i+2|0),i=31&t;t:{a:{if((255&t)>>>0>=224){if(b=e,(0|e)!=(0|r)?(b=r+1|0,r=63&f[0|r]):r=0,r|=c<<6,(255&t)>>>0<240)break a;if(1114112==(0|(r=i<<18&1835008|r<<6|((0|e)!=(0|b)?63&f[0|b]:0))))break e;break t}r=i<<6|c;break t}r|=i<<12}A[n+36>>2]=r,b=1,t=n+40|0,r>>>0<128||(b=2,r>>>0<2048||(b=r>>>0<65536?3:4))}A[n+40>>2]=o,A[n+44>>2]=o+b,A[n+108>>2]=78,A[n+100>>2]=78,A[n+92>>2]=79,A[n+84>>2]=80,A[n+68>>2]=5,A[n+88>>2]=t,A[n+76>>2]=1,A[n+52>>2]=5,A[n+56>>2]=0,A[n+48>>2]=1177128,A[n+104>>2]=n+24,A[n+96>>2]=n+16,A[n+80>>2]=n+36,A[n+72>>2]=n+32,A[n+64>>2]=n+72,Ue(n+48|0,1177168),u()}A[n+40>>2]=o?t:i,A[n+92>>2]=78,A[n+84>>2]=78,A[n+68>>2]=3,A[n+76>>2]=1,A[n+52>>2]=3,A[n+56>>2]=0,A[n+48>>2]=1177040,A[n+88>>2]=n+24,A[n+80>>2]=n+16,A[n+72>>2]=n+40,A[n+64>>2]=n+72,Ue(n+48|0,1177064),u()}A[n+100>>2]=78,A[n+92>>2]=78,A[n+84>>2]=1,A[n+68>>2]=4,A[n+76>>2]=1,A[n+52>>2]=4,A[n+56>>2]=0,A[n+48>>2]=1177080,A[n+96>>2]=n+24,A[n+88>>2]=n+16,A[n+80>>2]=n+12,A[n+72>>2]=n+8,A[n+64>>2]=n+72,Ue(n+48|0,1177112),u()}Xe(1176952),u()}function J(e,r){var t=0,i=0,n=0,o=0,b=0,c=0,k=0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{for(;;){i=0;h:{s:{d:{V:{p:{if((8|(b=0-(c=e+t|0)&3))>>>0<=(o=r-t|0)>>>0){if(b)for(;;){if(i>>>0>=o>>>0)break a;if((0|(n=a[i+c|0]))<0)break V;if((0|b)==(0|(i=i+1|0)))break}for(k=o+-8|0;;){if((n=-2139062144&A[4+(b=i+c|0)>>2])|(b=-2139062144&A[b>>2]))break p;if(!((i=i+8|0)>>>0<=k>>>0))break}}if(i>>>0>=o>>>0)break A;for(;;){if((0|(n=a[i+c|0]))>=0){if((i=i+1|0)>>>0>>0)continue;break g}break}if(4+(t=t+i|0)>>>0<=r>>>0)break h;break k}if(!b)break d;o=(n=b?31-l(b+-1^b)|0:32)>>>3;break s}if(4+(t=t+i|0)>>>0<=r>>>0)break h;break k}o=4+((n=n?31-l(n+-1^n)|0:32)>>>3)|0}if(n=f[(o+c|0)+i|0],4+(t=(i+o|0)+t|0)>>>0>r>>>0)break k}h:{s:{d:{for(;;){if(i=t,(n+62&255)>>>0<=29){if(a[1+(e+i|0)|0]>=-64)break c;if(t=i+2|0,i+6>>>0>r>>>0)break k;if((0|(n=a[e+t|0]))<0)continue;break d}if((o=255&n)>>>0<=239){for(i=i+3|0;;){if(t=e+i|0,2!=(f[1169856+(255&n)|0]&f[f[t+-2|0]+1169728|0]|f[t+-1|0]>>>6))break u;if(i+4>>>0>r>>>0)break l;if(i=i+3|0,n=(t=f[0|t])<<24>>24,224!=(240&t))break}if(t=i+-3|0,(0|n)<0)continue;break s}if(514!=((192&f[3+(t=e+i|0)|0])<<2|f[o+1169856|0]&f[f[t+1|0]+1169728|0]|f[t+2|0]>>>6))break c;if(t=i+4|0,i+8>>>0>r>>>0)break k;if(!((0|(n=a[e+t|0]))<0))break}if((t=i+5|0)>>>0<=r>>>0)continue;break h}if((t=i+3|0)>>>0<=r>>>0)continue;break h}if((t=i+-2|0)>>>0<=r>>>0)continue}break}Ye(t,r),u()}return r}return i+-3|0}t=i}if(t>>>0>=r>>>0)break b;for(;;){if((0|(i=a[e+t|0]))>=0){if(i=t=t+1|0,t>>>0>>0)continue;break c}if((i+62&255)>>>0>29)break o;if((n=t+2|0)>>>0>r>>>0)break f;if((o=t+1|0)>>>0>=r>>>0)break t;if(i=t,t=n,a[e+o|0]>=-64)break c;if(i=t,!(t>>>0>>0))break}}return i}return t}if((255&i)>>>0>=240)break n;if((c=t+3|0)>>>0<=r>>>0)break i;return t}return t}return r}return t}if((n=t+1|0)>>>0>=r>>>0)break r;if((o=t+2|0)>>>0>=r>>>0)break e;return 2==(f[1169856+(255&i)|0]&f[f[e+n|0]+1169728|0]|f[e+o|0]>>>6)?c:t}We(1176600,i,o),u()}We(1176552,o,r),u()}We(1176568,n,r),u()}We(1176584,o,r),u()}function U(e,r,t){var a=0,i=0,n=0,b=0,c=0,k=0,l=0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{if((a=f[0|r]+-1|0)>>>0<=9){i=1,n=3;h:switch(a-1|0){default:return r=(A[r+12>>2]?A[r+8>>2]+4|0:3)+t|0,A[e+4>>2]=r,void(A[e>>2]=r>>>0>=t>>>0);case 0:if(i=0,(r=(f[r+11|0]+(f[r+5|0]+(f[r+3|0]+(f[r+7|0]+f[r+1|0]|0)|0)|0)|0)+t|0)>>>0>=t>>>0)break k;break n;case 1:if(a=1,1==f[r+1|0]&&(a=(r=t+1|0)>>>0>=t>>>0,t=r),i=0,1!=(0|a))break n;if((r=t+t|0)>>>0>>0)break A;break i;case 2:if(!f[r+1|0])break b;if(a=(r=t+1|0)>>>0>=t>>>0,t=r,i=0,1!=(0|a))break n;break f;case 5:break l;case 4:break u;case 3:break g;case 8:break h;case 7:break a;case 6:break A}if(i=0,(r=(((0!=o[r+2>>1])<<1)+(1==f[r+4|0]?2:1)|0)+t|0)>>>0>=t>>>0)break c;break n}break a}if(i=0,(a=((!(b=f[r+5|0])&0!=(0|(c=f[r+3|0])))+(f[r+1|0]+-5>>>0<2)|0)+t|0)>>>0>>0)break A;if((r=a+(f[r+4|0]+(0!=(0|c)&0!=(0|b))|0)|0)>>>0>>0)break A;k=e,l=fr(r,0,3),A[k+4>>2]=l,t=Y;break t}if(a=1,1==f[r+1|0]&&(a=(r=t+1|0)>>>0>=t>>>0,t=r),1!=(0|a))break n;break a}if(a=1,1==f[r+1|0]&&(a=(r=t+1|0)>>>0>=t>>>0,t=r),i=0,1!=(0|a))break n;if((r=t+1|0)>>>0>=t>>>0)break o;break n}if(r=fr(r,0,3),Y)break A;break r}if(r=fr(r>>>1,0,3),Y)break A;break r}i=0;break f}if((r=(a=t)+(t=r>>>1)|0)>>>0>>0)break A;i=(n=r+2|0)>>>0>=r>>>0;break A}if((r=t+1|0)>>>0>>0)break n;if(!((r=(a=t)+(t=r>>>1)|0)>>>0>>0))break i}return A[e+4>>2]=n,void(A[e>>2]=i)}return A[e+4>>2]=0,void(A[e>>2]=0)}t=r+2|0,A[e+4>>2]=t;break e}k=e,l=fr(t,0,3),A[k+4>>2]=l,t=Y}return void(A[e>>2]=!t)}t=r+1|0,A[e+4>>2]=t}A[e>>2]=t>>>0>=r>>>0}function w(e,r,t){var i=0,n=0,o=0,b=0,c=0,k=0,l=0,u=0,g=0,h=0,s=0,d=0;i=A[e+16>>2];e:{r:{t:{a:{i:{n:{A:{f:{if(1==(0|(g=A[e+8>>2]))){if(i)break f;break t}if(!i)break A}if(!t)break n;for(b=r+t|0,k=-1^A[e+20>>2],l=i=r;;){o=i+1|0;f:{o:{b:{c:if((0|(n=a[0|i]))>=0)n&=255;else{(0|o)==(0|b)?(u=0,i=b):(u=63&f[0|o],o=i=i+2|0),h=31&n;k:{l:{if((s=255&n)>>>0>=224){if((0|i)==(0|b))break l;d=63&f[0|i],n=o=i+1|0;break k}n=h<<6|u;break c}d=0,n=b}if(u=u<<6|d,s>>>0>=240){if((0|n)==(0|b))break b;i=n+1|0,o=63&f[0|n];break o}n=u|h<<12}if(i=o,k=k+1|0)break f;break i}i=o,o=0}if(1114112==(0|(n=o|h<<18&1835008|u<<6)))break a;if(!(k=k+1|0))break i}if(c=(c-l|0)+i|0,l=i,(0|i)==(0|b))break}break a}i=0|br[A[A[e+28>>2]+12>>2]](A[e+24>>2],r,t);break r}if(t=0,g)break t;break e}if(1114112!=(0|n)){i:{if(c&&(0|t)!=(0|c)){if(i=0,c>>>0>=t>>>0)break i;if(a[r+c|0]<-64)break i}i=r}t=i?c:t,r=i||r}}if(!g)break e}if(o=0,t)for(n=t,i=r;o=(128==(192&f[0|i]))+o|0,i=i+1|0,n=n+-1|0;);t:{a:{i:{if(t-o>>>0<(b=A[e+12>>2])>>>0){if(o=0,t)for(n=t,i=r;o=(128==(192&f[0|i]))+o|0,i=i+1|0,n=n+-1|0;);if(o=b+(o-t|0)|0,!(3&(i=3==(0|(i=f[e+48|0]))?0:i)))break i;if(2==(0|i))break a;l=0;break t}break e}l=o,o=0;break t}l=o+1>>>1,o>>>=1}i=-1,n=e+4|0,b=e+24|0,c=e+28|0;t:{for(;;){if((i=i+1|0)>>>0>=o>>>0)break t;if(br[A[A[c>>2]+16>>2]](A[b>>2],A[n>>2]))break}return 1}if(o=A[e+4>>2],i=1,n=e+24|0,!br[A[A[(e=e+28|0)>>2]+12>>2]](A[n>>2],r,t)){r=A[n>>2],i=-1,e=A[e>>2]+16|0;t:{for(;;){if((i=i+1|0)>>>0>=l>>>0)break t;if(br[A[e>>2]](r,o))break}return 1}return 0}}return i}return 0|br[A[A[e+28>>2]+12>>2]](A[e+24>>2],r,t)}function R(e,r,t){var a=0,i=0,n=0,b=0,c=0,k=0,l=0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{if((a=f[0|r]+-1|0)>>>0<=9){i=1,n=3;c:switch(a-1|0){default:if(i=0,(r=(A[r+12>>2]?A[r+8>>2]+1|0:0)+t|0)>>>0>=t>>>0)break o;break e;case 0:if(i=0,(r=(f[r+11|0]+(f[r+5|0]+(f[r+3|0]+(f[r+7|0]+f[r+1|0]|0)|0)|0)|0)+t|0)>>>0>=t>>>0)break f;break e;case 1:if(a=1,1==f[r+1|0]&&(a=(r=t+1|0)>>>0>=t>>>0,t=r),i=0,1!=(0|a))break e;if(r=fr(t,0,3),Y)break n;break i;case 2:if(!f[r+1|0])break a;if(a=(r=t+1|0)>>>0>=t>>>0,t=r,1==(0|a))break a;break e;case 3:if(i=0,(a=((!(b=f[r+5|0])&0!=(0|(c=f[r+3|0])))+(f[r+1|0]+-5>>>0<2)|0)+t|0)>>>0>>0)break n;if((r=a+(f[r+4|0]+(0!=(0|c)&0!=(0|b))|0)|0)>>>0>>0)break n;k=e,l=fr(r,0,3),A[k+4>>2]=l,t=Y;break t;case 5:if(a=1,1==f[r+1|0]&&(a=(r=t+1|0)>>>0>=t>>>0,t=r),1!=(0|a))break e;break a;case 4:break b;case 8:break c;case 7:break a;case 6:break n}if(i=0,(r=(((0!=o[r+2>>1])<<1)+(1==f[r+4|0]?2:1)|0)+t|0)>>>0>=t>>>0)break A;break e}break a}if(a=1,1==f[r+1|0]&&(a=(r=t+1|0)>>>0>=t>>>0,t=r),1!=(0|a))break e;break a}if(r=fr(r,0,3),Y)break n;break i}if(r=fr(r,0,3),Y)break n;t=r+1|0,A[e+4>>2]=t;break r}r=fr(r>>>1,0,3),Y||(i=(n=r+1|0)>>>0>=r>>>0)}return A[e+4>>2]=n,void(A[e>>2]=i)}t=r+3|0,A[e+4>>2]=t;break r}k=e,l=fr(t,0,3),A[k+4>>2]=l,t=Y}return void(A[e>>2]=!t)}return void(A[e>>2]=t>>>0>=r>>>0)}A[e+4>>2]=0,A[e>>2]=0}function E(e){var r=0,t=0,a=0,i=0,n=0,f=0,o=0;t=(r=e+-8|0)+(e=-8&(a=A[e+-4>>2]))|0;e:{r:if(!(1&a)){if(!(3&a))break e;e=(a=A[r>>2])+e|0;t:{a:{if((0|(r=r-a|0))!=A[294851]){if(a>>>0>255)break a;if((0|(i=A[r+8>>2]))==(0|(n=A[r+12>>2])))break t;A[i+12>>2]=n,A[n+8>>2]=i;break r}if(3!=(3&A[t+4>>2]))break r;return A[294849]=e,A[(t=t+4|0)>>2]=-2&A[t>>2],A[r+4>>2]=1|e,void(A[e+r>>2]=e)}ie(r);break r}f=1178996,o=A[294749]&or(a>>>3),A[f>>2]=o}r:{t:{a:{i:{n:{A:{f:{o:{if(!(2&(a=A[t+4>>2]))){if((0|t)==A[294852])break o;if((0|t)==A[294851])break f;if(e=(i=-8&a)+e|0,i>>>0>255)break A;if((0|(i=A[t+12>>2]))==(0|(t=A[t+8>>2])))break n;A[t+12>>2]=i,A[i+8>>2]=t;break i}A[t+4>>2]=-2&a,A[r+4>>2]=1|e,A[e+r>>2]=e;break r}if(A[294852]=r,e=A[294850]+e|0,A[294850]=e,A[r+4>>2]=1|e,A[294851]==(0|r)&&(A[294849]=0,A[294851]=0),(t=A[294859])>>>0>=e>>>0)break e;if(!(e=A[294852]))break e;o:if(!((a=A[294850])>>>0<41))for(r=1179420;;){if((i=A[r>>2])+A[r+4>>2]>>>0>e>>>0&&i>>>0<=e>>>0)break o;if(!(r=A[r+8>>2]))break}if(!(e=A[294857]))break a;for(r=0;r=r+1|0,e=A[e+8>>2];);e=r>>>0>4095?r:4095;break t}return A[294851]=r,e=A[294849]+e|0,A[294849]=e,A[r+4>>2]=1|e,void(A[e+r>>2]=e)}ie(t);break i}f=1178996,o=A[294749]&or(a>>>3),A[f>>2]=o}if(A[r+4>>2]=1|e,A[e+r>>2]=e,A[294851]!=(0|r))break r;return void(A[294849]=e)}e=4095}if(A[294861]=e,a>>>0<=t>>>0)break e;return void(A[294859]=-1)}r:{t:{a:{i:{if(e>>>0<=255){if(e=1179004+((t=e>>>3)<<3)|0,!((a=A[294749])&(t=1<<(31&t))))break i;t=A[e+8>>2];break a}if(ae(r,e),e=A[294861]+-1|0,A[294861]=e,e)break e;if(!(e=A[294857]))break t;for(r=0;r=r+1|0,e=A[e+8>>2];);e=r>>>0>4095?r:4095;break r}A[294749]=t|a,t=e}return A[e+8>>2]=r,A[t+12>>2]=r,A[r+12>>2]=e,void(A[r+8>>2]=t)}e=4095}A[294861]=e}}function Q(e,r,t,i,n,o){var b=0,c=0,k=0,l=0,u=0,g=0;if(r?(u=(r=1&(l=A[e>>2]))?43:1114112,b=r+o|0):(l=A[e>>2],u=45,b=o+1|0),4&l){if(i)for(k=i,r=t;c=(128==(192&f[0|r]))+c|0,r=r+1|0,k=k+-1|0;);b=(i+b|0)-c|0}else t=0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{k:{if(1==A[e+8>>2]){if((r=A[e+12>>2])>>>0<=b>>>0)break k;if(8&l)break c;if(r=r-b|0,!(3&(b=3==(0|(b=f[e+48|0]))?1:b)))break b;if(2==(0|b))break o;b=0;break f}if(ye(e,u,t,i))break r;break e}if(ye(e,u,t,i))break r;break e}if(a[e+48|0]=1,A[e+4>>2]=48,ye(e,u,t,i))break r;if(r=r-b|0,!(3&(t=3==(0|(t=f[e+48|0]))?1:t)))break A;if(2==(0|t))break n;b=0;break i}b=r,r=0;break f}b=r+1>>>1,r>>>=1}for(k=r,r=-1,c=e+4|0,l=e+24|0,g=e+28|0;;){if((r=r+1|0)>>>0>>0){if(!br[A[A[g>>2]+16>>2]](A[l>>2],A[c>>2]))continue;break r}break}if(r=A[e+4>>2],ye(e,u,t,i))break r;if(t=e+24|0,br[A[A[(e=e+28|0)>>2]+12>>2]](A[t>>2],n,o))break r;for(t=A[t>>2],c=-1,e=A[e>>2]+16|0;;){if((c=c+1|0)>>>0>=b>>>0)break a;if(br[A[e>>2]](t,r))break}break r}b=r,r=0;break i}b=r+1>>>1,r>>>=1}t=r,r=-1,i=e+4|0,k=e+24|0,c=e+28|0;i:{for(;;){if((r=r+1|0)>>>0>=t>>>0)break i;if(br[A[A[c>>2]+16>>2]](A[k>>2],A[i>>2]))break}break r}if(r=A[e+4>>2],t=e+24|0,br[A[A[(e=e+28|0)>>2]+12>>2]](A[t>>2],n,o))break r;for(t=A[t>>2],c=-1,e=A[e>>2]+16|0;;){if((c=c+1|0)>>>0>=b>>>0)break t;if(br[A[e>>2]](t,r))break}break r}return 0}return 0}return 1}return 0|br[A[A[e+28>>2]+12>>2]](A[e+24>>2],n,o)}function x(e,r,t,a){var i=0,n=0,o=0,b=0,k=0,l=0,g=0;e:{r:if((i=3&t)&&(i=4-i|0)){g=(l=i>>>0>a>>>0?a:i)+t|0,o=255&r,k=l,i=t;t:{for(;;){if(g-i>>>0>3){if(n=((0|(b=f[0|i]))!=(0|o))+n|0,(0|o)==(0|b))break t;if(n=((0|(b=f[i+1|0]))!=(0|o))+n|0,(0|o)==(0|b))break t;if(n=((0|(b=f[i+2|0]))!=(0|o))+n|0,(0|o)==(0|b))break t;if(n=((0|(b=f[i+3|0]))!=(0|o))+n|0,k=k+-4|0,i=i+4|0,(0|o)!=(0|b))continue;break t}break}for(o=0,g=255&r;;){if(!k)break r;if(b=i+o|0,k=k+-1|0,o=o+1|0,(0|(b=f[0|b]))==(0|g))break}n=(((((0|b)==(255&r))+1&1)+n|0)+o|0)-1|0}i=1;break e}o=255&r;r:{if(!(a>>>0<8||l>>>0>(k=a+-8|0)>>>0)){for(i=c(o,16843009);!(-2139062144&((-1^(g=i^A[4+(n=t+l|0)>>2]))&g+-16843009|(-1^(n=i^A[n>>2]))&n+-16843009))&&(l=l+8|0)>>>0<=k>>>0;);if(l>>>0>a>>>0)break r}i=t+l|0,t=t+a|0,k=a-l|0,n=0;t:{a:{for(;;){if(t-i>>>0>3){if(n=((0|(a=f[0|i]))!=(0|o))+n|0,(0|a)==(0|o))break a;if(n=((0|(a=f[i+1|0]))!=(0|o))+n|0,(0|a)==(0|o))break a;if(n=((0|(a=f[i+2|0]))!=(0|o))+n|0,(0|a)==(0|o))break a;if(n=((0|(a=f[i+3|0]))!=(0|o))+n|0,k=k+-4|0,i=i+4|0,(0|a)!=(0|o))continue;break a}break}for(o=0,t=255&r;;){if(!k)break t;if(a=i+o|0,k=k+-1|0,o=o+1|0,(0|(a=f[0|a]))==(0|t))break}n=(((((0|a)==(255&r))+1&1)+n|0)+o|0)-1|0}i=1,n=n+l|0;break e}i=0,n=(o+n|0)+l|0;break e}Ye(l,a),u()}A[e+4>>2]=n,A[e>>2]=i}function v(e,r,t,n,c){var k,l=0,g=0,h=0,s=0,d=0;if(W=k=W+-64|0,t&&(h=f[0|r],1!=(0|t)))for(g=t+-1|0,l=r+1|0;h=(255&h)>>>0>(s=f[0|l])>>>0?h:s,l=l+1|0,g=g+-1|0;);e:{r:{if((l=(d=1<<(g=31&h))+d|0)>>>0>=d>>>0){if((0|l)<=-1)break r;t:{a:{if(l){if(!(s=ze(l,2)))break e;if(t=r+t|0,l=s,g)break a;break t}if(s=2,t=r+t|0,l=2,!g)break t}for(g=d+-1|0,l=s;i[l>>1]=16,l=l+2|0,g=g+-1|0;);}i[l>>1]=16,i[k+22>>1]=c,a[k+25|0]=h,a[k+24|0]=h,i[k+20>>1]=n,A[k+16>>2]=d,A[k+12>>2]=d,A[k+8>>2]=s,A[k+56>>2]=0,A[k+52>>2]=t,A[k+48>>2]=r,function(e,r){var t=0,n=0,o=0,b=0,c=0,k=0,l=0,g=0,h=0,s=0;W=k=W-16|0,n=A[r>>2],t=A[r+4>>2]-n|0,l=r+8|0;t:{a:{i:{n:{A:{for(;;){if(!t)break A;if(b=n+1|0,A[r>>2]=b,c=A[l>>2],A[l>>2]=c+1,t=t+-1|0,g=f[0|n],n=b,g)break}if(!(o=ze(4,2)))break t;a[o+2|0]=g,i[o>>1]=c,l=k+8|0,n=A[r+8>>2],A[l>>2]=n,b=A[r+4>>2],t=A[r>>2],A[k>>2]=t,A[k+4>>2]=b,g=A[k+4>>2],r=1,h=1;break n}A[e>>2]=2,r=0;break i}n:{for(;;){if((0|t)==(0|g))break n;if(n=n+1|0,s=f[0|t],t=b=t+1|0,s){A[l>>2]=n,A[k>>2]=b;A:{f:if((0|r)==(0|h)){if((c=r+1|0)>>>0>>0)break a;if(c=(t=h=c>>>0<(t=r<<1)>>>0?t:c)>>>30,t<<=2,c)break a;if((0|t)<0)break a;if(r){if(o=Oe(o,r<<2,2,t))break f;break A}if(!(o=ze(t,2)))break A}a[2+(t=(r<<2)+o|0)|0]=s,i[t>>1]=n+-1,r=r+1|0,t=b;continue}break}}e=A[294745],br[e||55](t,2),u()}A[e>>2]=o}return A[e+8>>2]=r,A[e+4>>2]=h,void(W=k+16|0)}$e(),u()}e=A[294745],br[e||55](4,2),u()}(k+32|0,k+48|0),function(e,r){var t=0,a=0,n=0,c=0,k=0,l=0,g=0,h=0,s=0,d=0,V=0,p=0,m=0,Z=0,W=0,Y=0,B=0,I=0,F=0,X=0,C=0,y=0,G=0,J=0,U=0,w=0,R=0,Q=0,x=0,v=0,j=0,H=0,T=0,N=0,O=0,S=0,D=0,M=0,P=0,K=0,L=0,z=0,q=0,_=0,$=0,ee=0,re=0,te=0,ae=0,ie=0,ne=0,Ae=0,fe=0,oe=0,be=0,ce=0,ke=0,le=0,ue=0,ge=0,he=0;t:{a:if(r>>>0<21){if($=1,r>>>0<=1)break t;ee=-1,F=r+-1|0,U=2,N=(r<<2)+e|0,re=3,te=10,S=-4,ae=8,ie=6,ne=16}else{i:{n:{if(!((t=D=r>>>1)>>>30)){if((0|(t<<=2))<=-1)break n;if(g=2,t){if(!(G=ze(t,2)))break i;J=G}else G=2,J=2;B=-4,M=e+-4|0,X=4,Ae=e+4|0,fe=e+-8|0,oe=e+-10|0,C=-1,p=1,be=3,P=32,W=3,K=-3,w=-2,L=8,ce=-12,ke=-28,z=255,le=9,q=10,ue=6,ge=16,m=4,V=r,t=1;break a}er(),u()}er(),u()}e=A[294745],br[e||55](t,2),u()}a:for(;;){i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{if(!t){if((F=(t=F)+ee|0)>>>0>r>>>0)break s;if(!((l=r-F|0)>>>0>>0||(t=(t<=n>>>0))){k=o[a>>1],c=o[t>>1]|o[t+2>>1]<<16,i[a>>1]=c,i[a+2>>1]=c>>>16;d:if(!(l>>>0>>0||f[a+te|0]>=n>>>0))for(c=2,a=N;;){if(a=S+(t=a)|0,d=o[t>>1]|o[t+2>>1]<<16,i[a>>1]=d,i[a+2>>1]=d>>>16,(c=c+$|0)>>>0>=l>>>0)break d;if(a=a+ae|0,!(f[t+ie|0]>>0))break}a=k|n<>1]=a,i[t+2>>1]=a>>>16}if(N=N+S|0,F)break l;break t}if(l=V,V=0,d=1,!(t=l+C|0))break k;d:{V:{if(n=f[(((c=l+w|0)<>>0){for(a=2,s=(l<<2)+fe|0;k=a,t=s,Z=c,c&&(s=t+B|0,a=k+p|0,(d=n&z)>>>0<(n=f[(((c=Z+C|0)<>>0););if(l>>>0>>0)break h;if(l>>>0>r>>>0)break u;if((d=l-Z|0)>>>p)for(c=k>>>p,n=(l<>1]|o[t+2>>1]<<16,k=o[n>>1]|o[n+2>>1]<<16,i[t>>1]=k,i[t+2>>1]=k>>>16,i[n>>1]=a,i[n+2>>1]=a>>>16,t=t+X|0,n=n+B|0,c=c+C|0;);if(!Z)break V}else{for(a=l+w|0,c=(l<>>0>=n>>>0))break}if(d=t+p|0,!(Z=(l-t|0)+C|0))break V}if(!(d>>>0>le>>>0)){if(l>>>0>r>>>0)break g;O=(Z<>>0<(V=Z+-1|0)>>>0)break i}Ze(l,r),u()}t=0;continue}t=0;break n}t=1;break n}t=2;break n}t=1;break n}t=2;break n}t=3}for(;;){n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{Z:{W:{Y:{B:switch(0|t){case 0:if((0|h)!=(0|I))break o;t=1;continue;case 1:if((t=p+I|0)>>>0>>0)break Y;if(c=t=t>>>0<(a=I<>>0?a:t,32<=(n=be)>>>0?(a=c<>>32-n,n=c<>>0?c>>>a:((1<>>a)break Y;if((0|(a=n))<0)break Y;I:{if(I){if(m=Oe(m,I<>2]=d,A[t>>2]=V,(h=R=h+p|0)>>>0>>0)break m;v=1;break n}$e(),u()}e=A[294745],br[e||55](a,4),u()}if(!v){if(l>>>0<(V=Z+C|0)>>>0)break i;if(!((d=l-V|0)>>>0>>0||(t=(Z<=k>>>0))){s=o[a>>1],n=o[t>>1]|o[t+2>>1]<<16,i[a>>1]=n,i[a+2>>1]=n>>>16;Z:if(!(d>>>0>>0||f[a+q|0]>=k>>>0))for(n=2,c=O;;){if(a=B+(t=c)|0,c=o[t>>1]|o[t+2>>1]<<16,i[a>>1]=c,i[a+2>>1]=c>>>16,(n=n+p|0)>>>0>=d>>>0)break Z;if(c=a+L|0,!(f[t+ue|0]>>0))break}a=s|k<>1]=a,i[t+2>>1]=a>>>16}if(!V)break b;if(O=B+O|0,Z=V,d>>>0>>0)break k;t=0;continue}Z:{W:{Y:{if(A[(t=((R=(k=R)+C|0)<>2]&&!((a=A[(s=(k<>2])>>>0<=(n=A[t+4>>2])>>>0)){if(h=2,k>>>0<=2)break m;if((c=A[4+(((t=k+K|0)<>2])>>>0<=a+n>>>0)break Y;if(h=3,k>>>0<=3)break m;if(b[s+ke>>2]<=a+c>>>0)break Y;break p}if(k>>>0>>0)break W;n=A[t+4>>2],c=A[4+(((t=k+K|0)<>2]}if(c>>>0>>0)break Z}t=k+w|0}if(k>>>0<=(j=t+p|0)>>>0)break d;if(k>>>0<=t>>>0)break s;if((t=(_=A[4+(H=(t<>2])+A[H>>2]|0)>>>0<(Q=A[(T=(j<>2])>>>0)break h;if(t>>>0>r>>>0)break g;he=X+H|0,a=(h=(Q<>2])<>>0>>0){if(we(G,a,n=t<>1]|o[x+2>>1]<<16,i[s>>1]=x,i[s+2>>1]=x>>>16,c=t?c:Y,h>>>0>=(n=t?a:n)>>>0)break W;if(s=s+B|0,!((t=J)>>>0>>0))break}break Z}if(we(G,h,n),c=n+J|0,(0|y)<(0|p))break Y;if((0|Y)<=(0|y))break Y;for(s=e+s|0,t=J,n=h;;){if(h=f[a+g|0]>1]|o[Y+2>>1]<<16,i[n>>1]=Y,i[n+2>>1]=Y>>>16,t=h?t:t+X|0,n=n+X|0,(a=h?a+X|0:a)>>>0>=s>>>0)break Z;if(!(c>>>0>t>>>0))break}break Z}n=a;break W}n=h}t=J}if(we(n,t,c-t&B),A[he>>2]=y+_,A[H>>2]=Q,Ve(T,T+L|0,k+(C^j)<>>0>p>>>0)break c}if(V)break u;break V}if(h=k,V)break l}if(I&&E(m),!D)break t;E(G);break t}We(1175780,j,k),u()}We(1175780,t,k),u()}Ye(Q,t),u()}Ze(t,r),u()}t=1;continue a}t=1;continue a}v=0;break f}v=1;break A}t=0;continue}t=2;continue}t=3;continue}t=3;continue}t=3}}break}Ye(V,l),u()}}(c=A[k+32>>2],r=A[k+40>>2]),g=A[k+36>>2];t:{if(r)for(r<<=2,l=c,h=0,n=0;;){if(S(k+48|0,k+8|0,t=o[l>>1]|o[l+2>>1]<<16,n=h<<((s=t>>>16)-n&15),s),t=A[k+52>>2],3!=(255&(h=A[k+48>>2])))break t;if(2==(3&h)&&(br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(t)),l=l+4|0,h=n+1|0,n=s,!(r=r+-4|0))break}return g&&E(c),r=A[k+12>>2],A[e+4>>2]=A[k+8>>2],A[e+8>>2]=r,A[e>>2]=0,A[e+12>>2]=A[k+16>>2],i[e+16>>1]=o[k+24>>1],void(W=k- -64|0)}return A[e>>2]=1,A[(r=e)+4>>2]=h,A[r+8>>2]=t,g&&E(c),A[k+12>>2]&&E(A[k+8>>2]),void(W=k- -64|0)}er(),u()}er(),u()}e=A[294745],br[e||55](l,2),u()}function j(e,r,t){var n,b=0,k=0,l=0,g=0;if(W=n=W+-64|0,A[n+16>>2]=A[t+8>>2],A[n>>2]=0,A[n+4>>2]=0,k=A[t+4>>2],A[n+8>>2]=A[t>>2],A[n+12>>2]=k,function(e,r,t){var n,b=0,c=0,k=0,l=0,g=0,h=0,s=0,d=0,V=0,p=0,m=0,Z=0,B=0,I=0,F=0,X=0,C=0,y=0,G=0,J=0,U=0,w=0,R=0,Q=0,x=0,v=0,j=0,H=0,T=0,N=0;W=n=W-48|0,b=fr(t,0,84);e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{E:{if(!Y){if((0|b)<=-1)break E;Q:{if(b){if(!(h=ze(b,4)))break e;if(!t)break Q;break R}if(h=4,t)break R}break w}er(),u()}er(),u()}for(B=n+32|4,Z=t;;){if(A[n+16>>2]=0,Ae(n+32|0,r,n+16|0,4),3!=f[n+32|0])break U;if(b=(k=f[n+17|0])>>>24,g=f[n+16|0]|k<<8,l=(k=f[n+18|0])>>>16,l|=b,33639248!=((g=k=g|k<<16)|(k=f[n+19|0])<<24)|(b=k>>>8)|l)break J;if(i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break G;if(J=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break y;if(U=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break C;if(X=f[n+16|0],b=f[n+17|0],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break X;if(w=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break F;if(R=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break I;if(Q=o[n+16>>1],A[n+16>>2]=0,Ae(n+32|0,r,n+16|0,4),3!=f[n+32|0])break B;if(I=A[n+16>>2],A[n+16>>2]=0,Ae(n+32|0,r,n+16|0,4),3!=f[n+32|0])break Y;if(x=A[n+16>>2],A[n+16>>2]=0,Ae(n+32|0,r,n+16|0,4),3!=f[n+32|0])break W;if(v=A[n+16>>2],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break Z;if(l=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break m;if(g=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break p;if(s=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break V;if(j=o[n+16>>1],i[n+16>>1]=0,Ae(n+32|0,r,n+16|0,2),3!=f[n+32|0])break d;if(H=o[n+16>>1],A[n+16>>2]=0,Ae(n+32|0,r,n+16|0,4),3!=f[n+32|0])break s;if(T=A[n+16>>2],A[n+16>>2]=0,Ae(n+32|0,r,n+16|0,4),3!=f[n+32|0])break h;N=A[n+16>>2];R:{if(l){if(d=Je(l))break R;break i}d=1}if(Ae(n+32|0,r,d,l),3!=f[n+32|0])break g;A[n+8>>2]=l,A[n+4>>2]=l,A[n>>2]=d;R:{if(g){if(V=Je(g))break R;break a}V=1}if(Ae(n+32|0,r,V,g),3!=f[n+32|0])break u;R:{if(s){if(p=Je(s))break R;break t}p=1}if(Ae(n+32|0,r,p,s),3!=f[n+32|0])break l;if(O(n+32|0,n,y=(2048&(C=b<<8))>>>11),1==f[n+32|0])break k;A[(b=n+24|0)>>2]=A[B+8>>2],k=A[B+4>>2],A[n+16>>2]=A[B>>2],A[n+20>>2]=k,A[(G=n+40|0)>>2]=A[b>>2],b=A[n+20>>2],A[n+32>>2]=A[n+16>>2],A[n+36>>2]=b,k=c+1|0;R:if((0|c)==(0|Z)){if(b=fr(Z=k>>>0>>0?F:k,0,84),Y)break r;if((0|b)<0)break r;if(c){if(h=Oe(h,m,4,b))break R;break e}if(!(h=ze(b,4)))break e}if(A[(b=h+m|0)>>2]=33639248,A[b+20>>2]=N,A[b+16>>2]=T,A[b+12>>2]=v,A[b+8>>2]=x,A[b+4>>2]=I,A[b+32>>2]=A[G>>2],I=A[n+36>>2],A[(c=b+24|0)>>2]=A[n+32>>2],A[c+4>>2]=I,a[b+83|0]=1&X,a[b+82|0]=y,i[b+80>>1]=H,i[b+78>>1]=j,i[b+76>>1]=s,i[b+74>>1]=g,i[b+72>>1]=l,i[b+70>>1]=Q,i[b+68>>1]=R,i[b+66>>1]=w,i[b- -64>>1]=X|C,i[b+62>>1]=U,i[b+60>>1]=J,A[b+56>>2]=s,A[b+52>>2]=s,A[b+48>>2]=p,A[b+44>>2]=g,A[b+40>>2]=g,A[b+36>>2]=V,l&&E(d),F=F+2|0,m=m+84|0,!((c=k)>>>0>>0))break}}return A[e+4>>2]=h,A[e>>2]=0,A[e+12>>2]=k,A[e+8>>2]=Z,void(W=n+48|0)}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(A[e>>2]=1,a[e+4|0]=3,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+32>>2],t=A[n+36>>2],A[e>>2]=1,A[e+4>>2]=r,A[e+8>>2]=t,c)break A;break n}if(r=A[n+36>>2],t=A[n+32>>2],l&&E(d),A[e+4>>2]=t,A[e>>2]=1,A[e+8>>2]=r,c)break A;break n}if(r=A[n+36>>2],t=A[n+32>>2],g&&E(V),A[e+4>>2]=t,A[e>>2]=1,A[e+8>>2]=r,l)break o;break f}if(r=A[n+36>>2],t=A[n+32>>2],s&&E(p),A[e+4>>2]=t,A[e>>2]=1,A[e+8>>2]=r,g)break c;break b}if(A[e>>2]=1,A[e+4>>2]=4,A[e+8>>2]=0,s&&E(p),!g)break b}E(V)}if(!l)break f}E(d)}if(!c)break n}for(r=h+28|0;A[r>>2]&&E(A[r+-4>>2]),A[r+12>>2]&&E(A[r+8>>2]),A[r+24>>2]&&E(A[r+20>>2]),r=r+84|0,m=m+-84|0;);}return Z&&E(h),void(W=n+48|0)}e=A[294745],br[e||55](l,1),u()}e=A[294745],br[e||55](g,1),u()}e=A[294745],br[e||55](s,1),u()}$e(),u()}e=A[294745],br[e||55](b,4),u()}(n+40|0,n,o[r+38>>1]),1!=(0|(k=A[n+40>>2]))){if(A[n+32>>2]=A[n+52>>2],t=A[n+48>>2],A[n+24>>2]=A[n+44>>2],A[n+28>>2]=t,t=A[r+48>>2])for(l=A[r+40>>2],g=c(t,84);A[28+(t=b+l|0)>>2]&&E(A[t+24>>2]),A[t+40>>2]&&E(A[t+36>>2]),A[t+52>>2]&&E(A[t+48>>2]),(0|g)!=(0|(b=b+84|0)););if(t=r+40|0,A[r+44>>2]&&E(A[t>>2]),b=A[n+28>>2],A[t>>2]=A[n+24>>2],A[t+4>>2]=b,A[t+8>>2]=A[n+32>>2],k&&(2!=(0|(t=f[n+44|0]))&&(7&t)>>>0<=4||(t=A[n+48>>2],br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(t))),t=0|d(),A[n+60>>2]=t,b=A[r+48>>2]){for(b=c(b,84),t=A[r+40>>2]+24|0,r=n+48|0;Ce(n+40|0,t),k=A[n+40>>2],l=0|h(0|k,A[r>>2]),A[n+44>>2]&&E(k),A[n+24>>2]=l,V(A[n+60>>2],A[n+24>>2]),(k=A[n+24>>2])>>>0>=36&&s(0|k),t=t+84|0,b=b+-84|0;);t=A[n+60>>2]}A[n+12>>2]&&E(A[n+8>>2]),r=0}else r=A[n+48>>2],A[n+24>>2]=A[n+44>>2],A[n+28>>2]=r,t=function(e){var r=0,t=0,a=0,i=0,n=0,o=0,b=0;W=r=W+-64|0;e:{r:{t:{a:{i:{n:{if(i=f[0|e],1!=(0|(t=255&((255&(n=i+-3|0))>>>0<2?n:2)))){if(2!=(0|t))break n;if(a=A[e+4>>2],t=A[e>>2],A[r+24>>2]=t,A[r+28>>2]=a,o=1,A[r+60>>2]=1,A[r+36>>2]=26,A[r+44>>2]=1,A[r+48>>2]=0,A[r+40>>2]=1175668,A[r+32>>2]=r+24,A[r+56>>2]=r+32,ee(r+8|0,r+40|0),f[r+24|0]<2)break a;a=A[r+28>>2],br[A[A[a+4>>2]>>2]](A[a>>2]),A[A[a+4>>2]+4>>2]&&E(A[a>>2]),E(A[r+28>>2]);break a}A[r+60>>2]=0,A[r+56>>2]=1050136,A[r+44>>2]=1,A[r+48>>2]=0,A[r+40>>2]=1175676,ee(r+8|0,r+40|0);break i}if(!(t=ze(30,1)))break t;A[r+44>>2]=30,A[r+48>>2]=0,A[r+40>>2]=t,he(r+40|0,30),t=A[r+48>>2],A[r+48>>2]=t+30,ke(t+A[r+40>>2]|0,30,1050136,30),A[r+16>>2]=A[r+48>>2],t=A[r+44>>2],A[r+8>>2]=A[r+40>>2],A[r+12>>2]=t}t=i}if(a=A[r+8>>2],b=qe(a,A[r+16>>2]),A[r+12>>2]&&E(a),(255&n)>>>0>1){if((255&t)>>>0<2|o)break e;break r}if(!((t=7&i)>>>0>4)&&2!=(0|t))break e;break r}e=A[294745],br[e||55](30,1),u()}e=A[e+4>>2],br[A[A[e+4>>2]>>2]](A[e>>2]),A[A[e+4>>2]+4>>2]&&E(A[e>>2]),E(e)}return W=r- -64|0,b}(n+24|0),A[n+12>>2]&&E(A[n+8>>2]),r=1;A[e+4>>2]=t,A[e>>2]=r,W=n- -64|0}function H(e,r){var t=0,a=0,i=0,n=0,f=0,o=0;t=e+r|0;e:{r:{t:{a:{i:{n:{A:{f:if(!(1&(a=A[e+4>>2]))){if(!(3&a))break A;r=(a=A[e>>2])+r|0;o:{b:{if((0|(e=e-a|0))!=A[294851]){if(a>>>0>255)break b;if((0|(i=A[e+8>>2]))==(0|(n=A[e+12>>2])))break o;A[i+12>>2]=n,A[n+8>>2]=i;break f}if(3!=(3&A[t+4>>2]))break f;return A[294849]=r,A[(a=t+4|0)>>2]=-2&A[a>>2],A[e+4>>2]=1|r,void(A[t>>2]=r)}ie(e);break f}f=1178996,o=A[294749]&or(a>>>3),A[f>>2]=o}f:{if(!(2&(a=A[t+4>>2]))){if((0|t)==A[294852])break f;if((0|t)==A[294851])break n;if(r=(i=-8&a)+r|0,i>>>0>255)break i;if((0|(i=A[t+12>>2]))==(0|(t=A[t+8>>2])))break t;A[t+12>>2]=i,A[i+8>>2]=t;break r}A[t+4>>2]=-2&a,A[e+4>>2]=1|r,A[e+r>>2]=r;break e}if(A[294852]=e,r=A[294850]+r|0,A[294850]=r,A[e+4>>2]=1|r,A[294851]==(0|e))break a}return}return A[294851]=e,r=A[294849]+r|0,A[294849]=r,A[e+4>>2]=1|r,void(A[e+r>>2]=r)}ie(t);break r}return A[294849]=0,void(A[294851]=0)}f=1178996,o=A[294749]&or(a>>>3),A[f>>2]=o}if(A[e+4>>2]=1|r,A[e+r>>2]=r,A[294851]==(0|e))return void(A[294849]=r)}e:{r:{if(r>>>0<=255){if(r=1179004+((t=r>>>3)<<3)|0,!((a=A[294749])&(t=1<<(31&t))))break r;t=A[r+8>>2];break e}return void ae(e,r)}A[294749]=t|a,t=r}A[r+8>>2]=e,A[t+12>>2]=e,A[e+12>>2]=r,A[e+8>>2]=t}function T(e,r){var t,n=0,c=0,k=0,l=0,g=0;W=t=W-112|0;e:{if(b[(n=r+8|0)>>2]<=21){if(n=qe(1048710,20),A[e>>2]=1,A[e+4>>2]=n,!A[r+4>>2])break e;return E(A[r>>2]),void(W=t+112|0)}A[t+16>>2]=A[n>>2],A[t>>2]=0,A[t+4>>2]=0,n=A[r+4>>2],A[t+8>>2]=A[r>>2],A[t+12>>2]=n,function(e,r){var t,n,b,c=0,k=0,l=0,g=0,h=0,s=0,d=0,V=0;W=t=W-32|0,k=A[r+16>>2],A[r>>2]=k,A[r+4>>2]=0,b=n=e;r:{t:if(k>>>0<22)a[n+4|0]=3;else if(e=-1,(l=k+-22|0)>>>0<4294967274&&(e=0),!e&(c=l)>>>0>k>>>0|e>>>0>0)pe(t,1049953,50),de(t+24|0,11,A[t>>2],A[t+4>>2]),e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;else{A[r>>2]=l,A[r+4>>2]=e,A[t+20>>2]=0,Ae(t+24|0,r,t+20|0,4);a:{i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{if(3==f[t+24|0])for(;;){if(l=A[r>>2],k=A[r+4>>2],e=(c=f[t+21|0])>>>24,g=f[t+20|0]|c<<8,h=(c=f[t+22|0])>>>16,h|=e,g=c=g|c<<16,!((e=(c=f[t+23|0])>>>8)|h)&101010256==(0|(c=g|c<<24)))break u;if(e=k+-1|0,(c=l+-5|0)>>>0<4294967291&&(e=e+1|0),(0|e)==(0|k)&c>>>0>l>>>0|e>>>0>k>>>0)break l;if(A[r>>2]=c,A[r+4>>2]=e,A[t+20>>2]=0,Ae(t+24|0,r,t+20|0,4),3!=f[t+24|0])break}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}if(i[t+20>>1]=0,Ae(t+24|0,r,t+20|0,2),3!=f[t+24|0])break k;if(c=o[t+20>>1],i[t+20>>1]=0,Ae(t+24|0,r,t+20|0,2),3!=f[t+24|0])break c;if(h=o[t+20>>1],i[t+20>>1]=0,Ae(t+24|0,r,t+20|0,2),3!=f[t+24|0])break b;if(g=o[t+20>>1],i[t+20>>1]=0,Ae(t+24|0,r,t+20|0,2),3!=f[t+24|0])break o;if(s=o[t+20>>1],A[t+20>>2]=0,Ae(t+24|0,r,t+20|0,4),3!=f[t+24|0])break f;if(d=A[t+20>>2],A[t+20>>2]=0,Ae(t+24|0,r,t+20|0,4),3!=f[t+24|0])break A;if(V=A[t+20>>2],i[t+20>>1]=0,Ae(t+24|0,r,t+20|0,2),3!=f[t+24|0])break n;if(!(e=f[t+20|0]|f[t+21|0]<<8))break i;if(k=Je(e))break a;r=e,e=A[294745],br[e||55](r,1),u()}pe(t+8|0,1049953,50),de(t+24|0,11,A[t+8>>2],A[t+12>>2]),e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}e=A[t+28>>2],A[n+4>>2]=A[t+24>>2],A[n+8>>2]=e;break t}k=1}if(Ae(t+24|0,r,k,e),3==f[t+24|0]){A[n+4>>2]=101010256,i[n+42>>1]=s,i[n+40>>1]=g,i[n+38>>1]=h,i[n+36>>1]=c,A[n+32>>2]=e+22,A[n+28>>2]=l+-4,A[n+24>>2]=e,A[n+20>>2]=e,A[n+16>>2]=k,A[n+12>>2]=V,A[n+8>>2]=d,e=0;break r}r=A[t+28>>2],l=A[t+24>>2],e&&E(k),A[n+4>>2]=l,A[n+8>>2]=r}e=1}A[b>>2]=e,W=t+32|0}(t+56|0,t);r:{if(1==A[t+56>>2]){if(r=A[t+64>>2],A[t+104>>2]=A[t+60>>2],A[t+108>>2]=r,r=function(e){var r,t=0,a=0,i=0,n=0,o=0,b=0;W=r=W+-64|0;t:{a:{i:{n:{A:{f:{o:{if(1!=(0|(t=255&((255&(n=(i=f[0|e])+-3|0))>>>0<2?n:2)))){if(2!=(0|t))break o;if(a=A[e+4>>2],t=A[e>>2],A[r+24>>2]=t,A[r+28>>2]=a,o=1,A[r+52>>2]=1,A[r+60>>2]=26,A[r+36>>2]=1,A[r+40>>2]=0,A[r+32>>2]=1175660,A[r+56>>2]=r+24,A[r+48>>2]=r+56,ee(r+8|0,r+32|0),f[r+24|0]<2)break A;a=A[r+28>>2],br[A[A[a+4>>2]>>2]](A[a>>2]),A[A[a+4>>2]+4>>2]&&E(A[a>>2]),E(A[r+28>>2]);break A}if(!(t=ze(32,1)))break n;A[r+36>>2]=32,A[r+40>>2]=0,A[r+32>>2]=t,he(r+32|0,32),t=A[r+40>>2],A[r+40>>2]=t+32,ke(t+A[r+32>>2]|0,32,1050019,32);break f}if(!(t=ze(34,1)))break i;A[r+36>>2]=34,A[r+40>>2]=0,A[r+32>>2]=t,he(r+32|0,34),t=A[r+40>>2],A[r+40>>2]=t+34,ke(t+A[r+32>>2]|0,34,1050051,34)}A[r+16>>2]=A[r+40>>2],t=A[r+36>>2],A[r+8>>2]=A[r+32>>2],A[r+12>>2]=t,t=i}if(b=qe(a=A[r+8>>2],A[r+16>>2]),A[r+12>>2]&&E(a),(255&n)>>>0>1){if((255&t)>>>0<2|o)break t;break a}if(!((t=7&i)>>>0>4)&&2!=(0|t))break t;break a}e=A[294745],br[e||55](32,1),u()}e=A[294745],br[e||55](34,1),u()}e=A[e+4>>2],br[A[A[e+4>>2]>>2]](A[e>>2]),A[A[e+4>>2]+4>>2]&&E(A[e>>2]),E(e)}return W=r- -64|0,b}(t+104|0),A[e>>2]=1,A[e+4>>2]=r,A[t+12>>2])break r;break e}if(r=t+56|4,A[t+48>>2]=A[r+8>>2],A[t+32>>2]=A[t+88>>2],n=A[r+4>>2],A[t+40>>2]=A[r>>2],A[t+44>>2]=n,n=A[4+(r=t+80|0)>>2],A[t+24>>2]=A[r>>2],A[t+28>>2]=n,r=A[t+72>>2],n=A[t+76>>2],(k=o[t+94>>1])|(c=o[t+92>>1]))c=qe(1048730,28);else{if(65535!=(0|c)){if(l=A[t+96>>2],g=A[t+44>>2],A[e+4>>2]=A[t+40>>2],A[e+8>>2]=g,A[e>>2]=0,A[e+20>>2]=n,A[e+16>>2]=r,n=A[t+28>>2],A[(r=e+24|0)>>2]=A[t+24>>2],A[r+4>>2]=n,A[e+52>>2]=0,A[(r=e+44|0)>>2]=4,A[r+4>>2]=0,A[e+40>>2]=l,i[e+38>>1]=k,i[e+36>>1]=c,A[e+12>>2]=A[t+48>>2],A[e+32>>2]=A[t+32>>2],!A[t+12>>2])break e;return E(A[t+8>>2]),void(W=t+112|0)}c=qe(1048758,23)}if(A[e>>2]=1,A[e+4>>2]=c,n&&E(r),!A[t+12>>2])break e}E(A[t+8>>2])}W=t+112|0}function N(e,r,t){var a,i=0,n=0,o=0,b=0;W=a=W-48|0;e:{r:{t:{a:{i:{n:{A:{f:if(!((i=f[r+24|0])>>>0>10)){o:switch(i-1|0){case 9:break r;case 7:break i;case 5:case 6:break A;case 0:case 1:case 2:case 8:break f;case 3:case 4:break o;default:break n}if((n=t+2|0)>>>0>>0)break e;if(t=fr(n,0,3),Y)break e;if((i=t+3|0)>>>0>>0)break e;if(1176e3==A[r>>2])break t;if(R(a+24|0,r+4|0,n),1!=A[a+24>>2])break e;i=(r=A[a+28>>2])>>>0>>0?i:r;break t}R(a+16|0,r+4|0,t),i=A[a+20>>2],o=A[a+16>>2];break e}if((n=t+2|0)>>>0>>0)break e;if((t=n+1|0)>>>0>>0)break e;if(t=fr(t>>>1,0,3),Y)break e;if((i=t+1|0)>>>0>>0)break e;if(1175976==(0|(t=A[r>>2])))break t;if(1175952==(0|t))break t;if(R(a+32|0,r+4|0,n),1!=A[a+32>>2])break e;i=(r=A[a+36>>2])>>>0>>0?i:r;break t}if(n=fr(t,0,3),Y)break e;if((b=(i=n)+3|0)>>>0>>0)break e;if((i=t+1|0)>>>0>>0)break e;if(n=fr(i>>>1,0,3),Y)break e;if((n=(i=n)+1|0)>>>0>=i>>>0)break a;break e}if((i=t+2|0)>>>0>>0)break e;R(a+40|0,r+4|0,i),i=A[a+44>>2],o=A[a+40>>2];break e}if(i=n>>>0>>0?b:n,1176e3!=(0|(n=A[r>>2]))&&1175976!=(0|n)&&1175952!=(0|n)){if(R(a+8|0,r+4|0,t),1!=A[a+8>>2])break e;i=(r=A[a+12>>2])>>>0>>0?i:r}}o=1;break e}xe(1051088,41,1176044),u()}A[e+4>>2]=i,A[e>>2]=o,W=a+48|0}function O(e,r,t){var n,o=0,b=0,c=0;W=n=W-32|0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{if(t){if((0|(t=A[r+8>>2]))<=-1)break a;if(o=A[r>>2],r=1,t&&!(r=ze(t,1)))break e;if(ke(r,t,o,t),function(e,r,t){var n=0,o=0,b=0,c=0,k=0;W=n=W-16|0,function(e,r,t){var n=0,o=0,b=0,c=0,k=0;c:{k:{l:{u:{g:{h:if(t)for(k=t>>>0>7?t+-7|0:0;;){s:{d:{V:{p:{m:{Z:{W:{Y:{B:{I:{if((0|(c=(b=f[0|(n=r+o|0)])<<24>>24))>=0){if(!(3&n))break I;if((o=o+1|0)>>>0>>0)continue;break h}if(4==(0|(n=f[b+1171238|0])))break B;if(3==(0|n))break Y;if(2!=(0|n))break u;if((n=o+1|0)>>>0>=t>>>0)break l;if(128==(192&f[r+n|0]))break s;break u}I:if(!(o>>>0>=k>>>0))for(;;){if(-2139062144&(A[4+(n=r+o|0)>>2]|A[n>>2]))break I;if(!((o=o+8|0)>>>0>>0))break}I:if(!(o>>>0>=t>>>0))for(;;){if(a[r+o|0]<0)break I;if(!((o=o+1|0)>>>0>>0))break}if(o>>>0>>0)continue;break h}if((n=o+1|0)>>>0>=t>>>0)break l;if(n=f[r+n|0],240==(0|b))break W;if(244!=(0|b))break Z;if(n<<24>>24>-1)break u;if(n>>>0<=143)break m;break u}if((n=o+1|0)>>>0>=t>>>0)break l;if(n=f[r+n|0],224==(0|b))break p;if(237!=(0|b))break V;if(n<<24>>24>-1)break u;if(n>>>0<160)break d;break u}if((n+112&255)>>>0<48)break m;break u}if(n>>>0>191)break u;if((c+15&255)>>>0>2)break u;if(n<<24>>24>=0)break u}if((n=o+2|0)>>>0>=t>>>0)break l;if(128!=(192&f[r+n|0]))break k;if((n=o+3|0)>>>0>=t>>>0)break l;if(128==(192&f[r+n|0]))break s;break g}if(160==(224&n))break d;break u}if((c+31&255)>>>0<12){if(n<<24>>24>-1)break u;if(n>>>0<=191)break d;break u}if(n>>>0>191)break u;if(238!=(254&c))break u;if(n<<24>>24>=0)break u}if((n=o+2|0)>>>0>=t>>>0)break l;if(128!=(192&f[r+n|0]))break k}if(!((o=n+1|0)>>>0>>0))break}return void(a[e+4|0]=2)}return i[e+4>>1]=769,void(A[e>>2]=o)}i[e+4>>1]=257;break c}a[e+4|0]=0;break c}i[e+4>>1]=513}A[e>>2]=o}(n+8|0,r,t),b=e,o=A[n+12>>2],c=o,k=A[n+8>>2],2!=(255&o)?(A[(r=e+4|0)>>2]=k,A[r+4>>2]=c,e=1):(A[e+8>>2]=t,A[e+4>>2]=r,e=0),A[b>>2]=e,W=n+16|0}(n+8|0,r,t),1!=A[n+8>>2])break b;t&&E(r),i[e>>1]=1;break r}t=A[r>>2],b=A[293987];c:{if((r=A[r+8>>2])>>>0<3){if(2==(0|r))break c;break n}if(1048576==(0|t))break o;if(!Ge(1048576,t,3))break o}if(1048579==(0|t))break f;if(65279==(f[0|t]|f[t+1|0]<<8))break f;if(o=1048581!=(0|t)?65534!=(f[0|t]|f[t+1|0]<<8):0)break n;if(c=2,o=A[293993])break A;break n}a[0|e]=0,A[e+12>>2]=t;break t}o=A[294005],c=3;break A}o=A[293999],c=2}t=t+(b=c)|0,r=r-b|0;break i}o=b}if(function(e,r,t,n){var o,b=0,c=0,k=0,g=0,h=0,s=0,d=0;W=o=W-128|0;i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{if(1175976!=(0|r)&&1175952!=(0|r)&&1176024!=(0|r)){if(1176e3==(0|r))break J;if(1175908==(0|r))break G;if((8|(b=0-t&3))>>>0>n>>>0)break s;if(!b)break d;for(;;){if(c>>>0>=n>>>0)break g;if(a[t+c|0]<0)break k;if((0|b)==(0|(c=c+1|0)))break}break d}if((g=f[r+8|0])>>>0>12)break y;switch(c=1,g-1|0){case 0:break V;case 10:break m;case 8:break Z;case 7:break W;case 4:break Y;case 9:break B;case 3:break I;case 5:break F;case 11:break X;case 6:break C;case 1:case 2:break y}d=255&(c=A[r+16>>2]),b=65280&c,s=16711680&c,k=-16777216&c,c=0;break V}c=J(t,n);break k}for(;;){if((0|(c=b))==(0|n))break b;if((0|(k=a[t+c|0]))<0)break k;if(b=c+1|0,!((k&=255)>>>0>27)&&1<>1]=49024,A[(g=o+108|0)>>2]=0,A[g+4>>2]=0,A[o+104>>2]=b|d|k|s,a[o+120|0]=9,i[o+102>>1]=0,a[o+101|0]=0,a[o+100|0]=c,A[o+96>>2]=r,P(o+40|0,o+96|0,n);V:{if(A[o+40>>2]){if(b=1,(r=A[o+44>>2])>>>0>=2&&(b=1+(-1>>>l(r+-1|0))|0),N(o+32|0,o+96|0,n),1!=A[o+32>>2])break V;if((0|(b=b>>>0>(r=A[o+36>>2])>>>0?r:b))<=-1)break n;break l}if(N(o+24|0,o+96|0,n),!A[o+24>>2])break u;b=A[o+28>>2]}if((0|b)>-1)break l;break n}for(g=n+-8|0;;){if((b=-2139062144&A[4+(k=t+c|0)>>2])|(k=-2139062144&A[k>>2]))break h;if(!((c=c+8|0)>>>0<=g>>>0))break}}if(c>>>0>=n>>>0)break b;for(;;){if(a[t+c|0]<0)break k;if(!((c=c+1|0)>>>0>>0))break}break b}if(k){if((0|(c=((b=k?31-l(k+-1^k)|0:32)>>>3)+c|0))!=(0|n))break c;break b}if((0|(c=(4+((b=b?31-l(b+-1^b)|0:32)>>>3)|0)+c|0))!=(0|n))break c;break b}We(1176504,c,n),u()}Xe(1175884),u()}l:{if(b){if(k=ze(b,1))break l;break i}k=1}A[o+88>>2]=A[o+120>>2],c=A[4+(g=o+112|0)>>2],A[(r=o+80|0)>>2]=A[g>>2],A[r+4>>2]=c,c=A[4+(g=o+104|0)>>2],A[(r=o+72|0)>>2]=A[g>>2],A[r+4>>2]=c,r=A[o+100>>2],A[o+64>>2]=A[o+96>>2],A[o+68>>2]=r,c=0;break A}if((0|n)==(0|c))break b}c:k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{Z:{W:if(!((g=f[r+8|0])>>>0>12)){switch(b=1,k=0,g-1|0){case 0:break c;case 10:break u;case 8:break g;case 7:break h;case 4:break s;case 9:break d;case 3:break V;case 5:break p;case 11:break m;case 6:break Z;case 1:case 2:break W}d=255&(b=A[r+16>>2]),s=65280&b,k=16711680&b,h=-16777216&b,b=0;break c}b=2;break l}b=6;break l}b=9;break l}b=5;break l}b=3;break l}b=10,k=65536;break k}b=4;break l}b=7;break l}b=8;break l}b=10}k=0}i[o+116>>1]=49024,A[(g=o+108|0)>>2]=0,A[g+4>>2]=0,A[o+104>>2]=k|h|s|d,a[o+120|0]=9,s=0,i[o+102>>1]=0,a[o+101|0]=0,a[o+100|0]=b,A[o+96>>2]=r,P(o+16|0,o+96|0,b=n-c|0),h=0,1==A[o+16>>2]&&(h=0,(g=(r=A[o+20>>2])+c|0)>>>0>>0||(k=1,h=1,g>>>0<2||(k=1+(-1>>>l(g+-1|0))|0,h=1))),g=h,N(o+8|0,o+96|0,b),1==A[o+8>>2]&&(s=(b=(r=A[o+12>>2])+c|0)>>>0>=r>>>0);c:{if(g){if(!s)break c;if((0|(b=k>>>0>b>>>0?b:k))>-1)break f;break n}if(!s)break o;if((0|b)<=-1)break n;break f}if((0|(b=k))>-1)break f;break n}return a[e+16|0]=0,A[e+4>>2]=t,A[e>>2]=0,A[e+8>>2]=n,void(W=o+128|0)}Xe(1175884),u()}f:{if(b){if(k=ze(b,1))break f;break i}k=1}we(k,t,c),A[o+88>>2]=A[o+120>>2],g=A[4+(h=o+112|0)>>2],A[(r=o+80|0)>>2]=A[h>>2],A[r+4>>2]=g,g=A[4+(h=o+104|0)>>2],A[(r=o+72|0)>>2]=A[h>>2],A[r+4>>2]=g,r=A[o+100>>2],A[o+64>>2]=A[o+96>>2],A[o+68>>2]=r}A[o+120>>2]=A[o+88>>2],g=A[4+(h=o+80|0)>>2],A[(r=o+112|0)>>2]=A[h>>2],A[r+4>>2]=g,g=A[4+(h=o+72|0)>>2],A[(r=o+104|0)>>2]=A[h>>2],A[r+4>>2]=g,r=A[o+68>>2],A[o+96>>2]=A[o+64>>2],A[o+100>>2]=r,A[o+52>>2]=b,A[o+48>>2]=k,A[o+56>>2]=c;A:{f:if(!(c>>>0>n>>>0)){A[o+56>>2]=b;o:{b:{if(b>>>0>=c>>>0)for(h=o+73|0,s=0,r=c;;){if(fe(o- -64|0,o+96|0,t+c|0,n-c|0,r+k|0,b-r|0),g=f[o+72|0],k=f[0|h],b=A[o+64>>2],d=o+56|0,r=A[o+68>>2]+r|0,A[d>>2]=r,s|=0!=(0|k),1!=(0|g))break b;if(N(o,o+96|0,n-(c=b+c|0)|0),!A[o>>2])break o;if(2!=(255&(r=ge(o+48|0,r,A[o+4>>2]))))break A;if(c>>>0>n>>>0)break f;if(r=A[d>>2],b=A[o+52>>2],A[d>>2]=b,!(b>>>0>=r>>>0))break;k=A[o+48>>2]}else r=c;Ye(r,b),u()}return r=A[o+52>>2],A[e+4>>2]=A[o+48>>2],A[e+8>>2]=r,A[e>>2]=1,a[e+16|0]=1&s,A[e+12>>2]=A[o+56>>2],void(W=o+128|0)}Xe(1175884),u()}Ye(c,n),u()}1&r||($e(),u()),Xe(1176396),u()}er(),u()}e=A[294745],br[e||55](b,1),u()}(n+8|0,o,t,r),t=A[n+16>>2],o=A[n+12>>2],r=A[n+8>>2],f[n+24|0]){i[e>>1]=257,r&&t&&E(o);break r}if(1!=(0|r)){if((0|t)<=-1)break a;i:{if(t){if(r=ze(t,1))break i;break e}r=1}ke(r,t,o,t),o=t}else r=o,o=A[n+20>>2];a[0|e]=0,A[e+12>>2]=o;break t}er(),u()}A[e+8>>2]=t,A[e+4>>2]=r}return void(W=n+32|0)}e=A[294745],br[e||55](t,1),u()}function S(e,r,t,n,b){var c,k=0,l=0,g=0;if(W=c=W-112|0,a[c+18|0]=b,i[c+16>>1]=n,i[c+14>>1]=t,1==o[r+12>>1]&&o[r+14>>1]==(65535&t)&&(a[r+16|0]=b),g=255&b,i[c+26>>1]=g|t<<5,t=0,g)for(;t=1&n|t<<1,n=(65534&n)>>>1,(255&(k=k+1|0))>>>0>>0;);n=f[r+17|0],k=65535&t,A[c+28>>2]=k;e:{r:{if((l=A[r+8>>2])>>>0>k>>>0)for(g=n-b&15,b=r+8|0,n=1;;){if(l=A[r>>2]+(k<<1)|0,16!=o[l>>1])break r;if(i[l>>1]=o[c+26>>1],(65535&n)>>>g&65535)break e;if(k=65535&(n<<(15&f[c+18|0])|t),A[c+28>>2]=k,n=n+1|0,!((l=A[b>>2])>>>0>k>>>0))break}We(1175796,k,l),u()}return A[c+108>>2]=40,A[c+100>>2]=17,A[c+92>>2]=17,A[c+84>>2]=17,A[c+68>>2]=5,A[c+80>>2]=l,A[c+76>>2]=1,A[c+52>>2]=5,A[c+56>>2]=0,A[c+48>>2]=1175812,A[c+104>>2]=c+16,A[c+96>>2]=c+14,A[c+88>>2]=c+26,A[c+72>>2]=c+28,A[c+64>>2]=c+72,ee(c+32|0,c+48|0),A[c+80>>2]=A[c+40>>2],r=A[c+36>>2],A[c+72>>2]=A[c+32>>2],A[c+76>>2]=r,me(c,c+72|0),de(c+72|0,12,A[c>>2],A[c+4>>2]),r=A[c+76>>2],A[e>>2]=A[c+72>>2],A[e+4>>2]=r,void(W=c+112|0)}a[0|e]=3,W=c+112|0}function D(e,r,t){e|=0,r|=0;var i,n=0,o=0,b=0,c=0,k=0,l=0,g=0,h=0,s=0,d=0,V=0,p=0;W=i=W-48|0;e:{r:{t:{a:{if(t|=0)for(l=i+40|0,g=e+8|0,s=i+32|0,h=i+28|0,p=i+36|0,d=e+4|0;;){if(f[0|g]&&br[A[A[d>>2]+12>>2]](A[e>>2],1171842,4))break a;A[l>>2]=10,A[s>>2]=10,A[s+4>>2]=1,A[h>>2]=t,A[(b=i+24|0)>>2]=0,A[i+20>>2]=t,A[i+16>>2]=r,x(i+8|0,10,r,t);i:{n:{A:{f:{if(1==A[i+8>>2])for(n=A[i+12>>2];;){if(n=1+(A[b>>2]+n|0)|0,A[b>>2]=n,n>>>0<(o=A[p>>2])>>>0)c=A[i+20>>2];else if(!((c=A[i+20>>2])>>>0>>0)){if(o>>>0>=5)break n;if((0|(V=(k=n-o|0)+A[i+16>>2]|0))==(0|l))break A;if(!Ge(V,l,o))break A}if((k=A[h>>2])>>>0>>0)break f;if(c>>>0>>0)break f;if(x(i,f[39+(i+o|0)|0],n+A[i+16>>2]|0,k-n|0),n=A[i+4>>2],1!=A[i>>2])break}A[b>>2]=A[h>>2]}a[0|g]=0,n=t;break i}a[0|g]=1,n=k+1|0;break i}Ze(o,4),u()}if(o=A[d>>2],b=A[e>>2],!(c=!n|(0|t)==(0|n))){if(t>>>0<=n>>>0)break r;if(a[r+n|0]<=-65)break r}if(br[A[o+12>>2]](b,r,n))break a;if(!c){if(t>>>0<=n>>>0)break e;if(a[r+n|0]<=-65)break e}if(r=r+n|0,!(t=t-n|0))break}e=0;break t}e=1}return W=i+48|0,0|e}G(r,t,0,n),u()}G(r,t,n,t),u()}function M(e,r,t,n,k,g,h){var s=0,d=0,V=0;e:{r:{t:{a:{i:{n:{if((s=f[0|r]+-1|0)>>>0<=9){A:switch(s-1|0){default:return void function(e,r,t,n,o,b,c){var k,l,g,h,s=0,d=0,V=0,p=0,m=0,Z=0,W=0,Y=0;k=r+8|0,l=r+12|0,g=r+13|0,h=r+4|0;f:{o:{b:{c:{for(;;){k:{l:{u:{g:{h:{s:{if(A[k>>2]){if((s=m)>>>0>=n>>>0)break s;break k}if(m>>>0>n>>>0)break h;if(V>>>0>b>>>0)break g;if((p=b-V|0)>>>0<(s=J(Z=t+m|0,(d=n-m|0)>>>0>p>>>0?p:d))>>>0)break u;if(d>>>0>>0)break l;if(we(o+V|0,Z,s),V=s+V|0,(s=s+m|0)>>>0>>0)break k}if(A[r+8>>2]&&c){a[e+4|0]=2,A[r+8>>2]=0;break b}a[e+4|0]=0;break o}Ye(m,n),u()}Ye(V,b),u()}Ze(s,p),u()}Ze(s,d),u()}if(!((p=V+3|0)>>>0>>0))break;m=s+1|0,d=f[t+s|0];k:{l:{u:{g:{h:{if(Z=A[k>>2]){if(d>>>0>>0>f[0|g])break c;if(i[l>>1]=49024,W=(d&=63)|(s=A[r>>2])<<6,A[r>>2]=W,Y=A[h>>2]+1|0,A[h>>2]=Y,(0|Z)!=(0|Y))continue;if(3!=(0|Z))break h;a[o+p|0]=128|d,a[2+(p=o+V|0)|0]=63&s|128,a[0|p]=s>>>12|240,a[p+1|0]=s>>>6&63|128,V=V+4|0;break l}if(d<<24>>24<=-1)break g;a[o+V|0]=d,V=V+1|0;continue}if((s=65535&W)>>>0>2047)break u;a[1+(s=o+V|0)|0]=128|d,a[0|s]=W>>>6|192,V=V+2|0;break l}if(d>>>0<=193)break f;if(d>>>0>223)break k;A[r>>2]=31&d,A[k>>2]=1;continue}a[2+(V=o+V|0)|0]=128|d,a[0|V]=s>>>12|224,a[V+1|0]=s>>>6&63|128,V=p}A[r>>2]=0,A[r+4>>2]=0,A[k>>2]=0;continue}k:{l:{u:{g:{if(d>>>0<=239){if(224==(0|d))break g;if(237!=(0|d))break u;a[0|g]=159;break u}if(d>>>0>=245)break f;if(240==(0|d))break l;if(244!=(0|d))break k;a[0|g]=143;break k}a[0|l]=160}A[r>>2]=15&d,A[k>>2]=2;continue}a[0|l]=144}A[r>>2]=7&d,A[k>>2]=3}a[e+4|0]=1;break o}a[e+4|0]=2,A[r+8>>2]=0,i[r+12>>1]=49024}a[e+6|0]=0,t=f[r+4|0],A[r>>2]=0,A[r+4>>2]=0,a[e+5|0]=t+1}return A[e+8>>2]=V,void(A[e>>2]=s)}i[e+4>>1]=258,a[e+6|0]=0,A[e+8>>2]=V,A[e>>2]=m}(e,r+4|0,t,n,k,g,h);case 0:return void function(e,r,t,n,k,g,h){var s,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0,F=0,X=0,C=0;W=s=W-16|0,A[s+8>>2]=0,A[s+4>>2]=g,A[s>>2]=k;f:{o:{b:{c:{k:{l:{if(f[r+10|0]){if(g>>>0<=2)break l;a[r+10|0]=0,a[0|k]=f[r+11|0],A[s+8>>2]=1,m=1}if(!(p=f[r+6|0]))break k;u:{g:{if(n){h:{if(m+3>>>0>>0)for(Z=r+6|0,X=r+8|0,B=r+9|0,I=r+7|0,k=0;;){d=a[t+k|0];s:{d:{V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{E:{Q:{x:{v:{j:{H:{T:{N:{O:{S:{D:{M:{P:{K:{L:{z:{q:{_:{$:{ee:{re:{te:{ae:{ie:{ne:{Ae:{fe:{if(2!=(0|(g=255&p))){if(1!=(0|g))break fe;if(a[0|Z]=0,(255&(g=d+-48|0))>>>0<10)break Ae;if((V=f[0|I])>>>0<=31)break ie;if((g=d+95&255)>>>0>=94)break te;if((p=V+-47&255)>>>0>=72)break q;if((g=g+c(p,94)|0)>>>0>=6768)break Y;if(d=o[1154396+(g<<1)>>1],a[A[s>>2]+m|0]=d>>>12|224,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=d>>>6&63|128,V=A[g>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=63&d|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(a[0|Z]=0,(255&(g=d+127|0))>>>0>=126)break E;if(a[0|B]=g,p=3,a[0|Z]=3,(d=k+1|0)>>>0>>0)break s;break h}if(a[0|Z]=0,g=f[0|B],V=f[0|X],(d=d+-48&255)>>>0>=10)break R;if((d=((d+c(f[0|I],12600)|0)+c(V,1260)|0)+c(g,10)|0)>>>0>39419)break ne;if(7457!=(0|d))break ae;if(a[A[s>>2]+m|0]=238,d=A[(g=s+8|0)>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=159,d=A[g>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=135,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(a[0|X]=g,p=2,a[0|Z]=2,(d=k+1|0)>>>0>>0)break s;break h}if(d+-189e3>>>0>=1048576)break w;if(d=d+-123464|0,a[A[s>>2]+m|0]=d>>>18|240,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=d>>>12&63|128,V=A[g>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=d>>>6&63|128,V=A[g>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=63&d|128,m=A[g>>2]+1|0,A[s+8>>2]=m,!(p=f[0|Z]))break V;break d}if(p=c(V,190),(255&(g=d+-64|0))>>>0>62){if((0|d)>=-1)break U;g=d+-65|0}if(p=(g=65535&(V=p+(255&g)|0))>>>0>>0<2880?0:958)|0)<<1)>>1]?p:d,p=g>>>0>1]?p:d,p=g>>>0>1]?p:d,p=g>>>0>1]?p:d,p=g>>>0>1]?p:d,p=g>>>0>1]?p:d,p=g>>>0>1]?p:d,p=g>>>0>1]?p:d,p=g>>>0>1]?p:d,d=g>>>0>1]?p:d,(0|(Y=o[1139784+(p=d<<1)>>1]))!=(0|g))break re;p=(d=o[p+1143616>>1])>>>12,Y=d>>>6;break ee}if(p=o[1168402+((V=51+(p=(g=65535&d)>>>0<11334?0:103)|0)<<1)>>1]>g>>>0?p:V,p=o[1168402+((V=p+26|0)<<1)>>1]>g>>>0?p:V,p=o[1168402+((V=p+13|0)<<1)>>1]>g>>>0?p:V,p=o[1168402+((V=p+6|0)<<1)>>1]>g>>>0?p:V,p=o[1168402+((V=p+3|0)<<1)>>1]>g>>>0?p:V,p=o[1168402+((V=p+2|0)<<1)>>1]>g>>>0?p:V,V=o[1168402+((V=p+1|0)<<1)>>1]>g>>>0?p:V,(0|(Y=o[1168402+(p=V<<1)>>1]))!=(0|g))break $;if((d=p=o[p+1168814>>1])>>>0>2047)break _;break p}if(p=c(V+-32&255,96),(255&(g=d+-64|0))>>>0>62){if((0|d)>=-95)break J;g=d+-65|0}if((d=(g=p+(255&g)|0)-864|0)>>>0>8058)break z;if(p=o[1147448+((V=407+(p=(g=65535&d)>>>0<2870?0:813)|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+203|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+102|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+51|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+25|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+13|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+6|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+3|0)<<1)>>1]>g>>>0?p:V,p=o[1147448+((V=p+2|0)<<1)>>1]>g>>>0?p:V,V=o[1147448+((V=p+1|0)<<1)>>1]>g>>>0?p:V,(0|(Y=o[1147448+(p=V<<1)>>1]))!=(0|g))break L;p=(d=o[p+1150702>>1])>>>12,Y=d>>>6;break K}if((g=(d+(g>>>0>Y>>>0)|0)-1|0)>>>0>1915)break X;p=(g=65535&(d=(V+o[1143616+(g<<=1)>>1]|0)-o[g+1139784>>1]|0))>>>12,Y=g>>>6}if(a[A[s>>2]+m|0]=224|p,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=63&Y|128,V=A[g>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=63&d|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if((g=(V+(Y>>>0>>0)|0)-1|0)>>>0>205)break C;if((d=65535&(p=(d+o[1168814+(g<<=1)>>1]|0)-o[g+1168402>>1]|0))>>>0<=2047)break p}if(a[A[s>>2]+m|0]=d>>>12|224,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=d>>>6&63|128,d=A[g>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=63&p|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(32==(0|V))break M;if(37==(0|V))break D;if(39!=(0|V))break S;if(g>>>0>=32)break O;if((g=o[1168164+(g<<1)>>1])>>>0>2047)break x;if(a[A[s>>2]+m|0]=g>>>6|192,V=A[(d=s+8|0)>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=63&g|128,m=A[d>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(g>>>0>863)break P;if(V=o[1153956+((d=15+(V=g>>>0<777?0:29)|0)<<1)>>1]>g>>>0?V:d,V=o[1153956+((d=V+7|0)<<1)>>1]>g>>>0?V:d,V=o[1153956+((d=V+4|0)<<1)>>1]>g>>>0?V:d,V=o[1153956+((d=V+2|0)<<1)>>1]>g>>>0?V:d,d=o[1153956+((d=V+1|0)<<1)>>1]>g>>>0?V:d,(0|(p=o[1153956+(V=d<<1)>>1]))!=(0|g))break N;if((d=p=o[V+1154076>>1])>>>0>2047)break T;break m}if((g=(V+(Y>>>0>>0)|0)-1|0)>>>0>1626)break F;p=(g=65535&(d=(d+o[1150702+(g<<=1)>>1]|0)-o[g+1147448>>1]|0))>>>12,Y=g>>>6}if(a[A[s>>2]+m|0]=224|p,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=63&Y|128,V=A[g>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=63&d|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if((g=g+-8923|0)>>>0>100)break I;if(d=o[1154194+(g<<1)>>1],a[A[s>>2]+m|0]=d>>>12|224,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=d>>>6&63|128,V=A[g>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=63&d|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if((g=o[1167932+(g<<1)>>1])>>>0>2047)break v;if(a[A[s>>2]+m|0]=g>>>6|192,V=A[(d=s+8|0)>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=63&g|128,m=A[d>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if((d=d+32&255)>>>0>21)break O;if((g=o[1168120+(d<<1)>>1])>>>0>2047)break Q;if(a[A[s>>2]+m|0]=g>>>6|192,V=A[(d=s+8|0)>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=63&g|128,m=A[d>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(!(V>>>0<=118)){if(p=A[s>>2]+m|0,m=65535&(V=(g+c(V+-119&255,94)|0)-7628|0),a[0|p]=m>>>12|224,d=A[(g=s+8|0)>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=m>>>6&63|128,d=A[g>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=63&V|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}}if(V=(g=g+c(V+-33&255,94)|0)>>>0>>0<400?0:21)|0)<<1)>>1]?V:d,V=g>>>0>1]?V:d,V=g>>>0>1]?V:d,V=g>>>0>1]?V:d,d=g>>>0>1]?V:d,(0|(p=o[1168228+(V=d<<1)>>1]))!=(0|g))break H;if((d=p=o[V+1168316>>1])>>>0>2047)break j;break Z}if((d=(d+(p>>>0>>0)|0)-1|0)>>>0>58)break B;if((d=65535&(p=(g+o[1154076+(d<<=1)>>1]|0)-o[d+1153956>>1]|0))>>>0<=2047)break m}if(a[A[s>>2]+m|0]=d>>>12|224,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=d>>>6&63|128,d=A[g>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=63&p|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if((d=(d+(g>>>0>p>>>0)|0)-1|0)>>>0>42)break W;if((d=65535&(p=(g+o[1168316+(d<<=1)>>1]|0)-o[d+1168228>>1]|0))>>>0<=2047)break Z}if(a[A[s>>2]+m|0]=d>>>12|224,V=A[(g=s+8|0)>>2]+1|0,A[g>>2]=V,a[V+A[s>>2]|0]=d>>>6&63|128,d=A[g>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=63&p|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(a[A[s>>2]+m|0]=g>>>12|224,V=A[(d=s+8|0)>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=g>>>6&63|128,V=A[d>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=63&g|128,m=A[d>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(a[A[s>>2]+m|0]=g>>>12|224,V=A[(d=s+8|0)>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=g>>>6&63|128,V=A[d>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=63&g|128,m=A[d>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(a[A[s>>2]+m|0]=g>>>12|224,V=A[(d=s+8|0)>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=g>>>6&63|128,V=A[d>>2]+1|0,A[d>>2]=V,a[V+A[s>>2]|0]=63&g|128,m=A[d>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}t=f[0|X],a[r+10|0]=1,i[e+4>>1]=258,A[e>>2]=k,a[r+11|0]=t+48,a[e+6|0]=1;break f}a[r+10|0]=1,i[e+4>>1]=258,A[e>>2]=k,a[r+11|0]=V+48,a[r+7|0]=g,a[r+6|0]=1,a[e+6|0]=2;break f}i[e+4>>1]=1026,a[e+6|0]=0,A[e>>2]=k+1;break f}if(a[e+4|0]=2,(0|d)<=-1)break G;A[e>>2]=k,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}if(a[e+4|0]=2,(0|d)<=-1)break y;A[e>>2]=k,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}A[e>>2]=k+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}A[e>>2]=k+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}We(1176140,g,206),u()}We(1176140,g,1916),u()}We(1176140,g,1627),u()}We(1176172,g,101),u()}We(1176140,d,59),u()}We(1176156,g,6768),u()}We(1176140,d,43),u()}if(a[A[s>>2]+m|0]=p>>>6|192,d=A[(g=s+8|0)>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=63&p|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(a[A[s>>2]+m|0]=p>>>6|192,d=A[(g=s+8|0)>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=63&p|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d;break V}if(a[A[s>>2]+m|0]=p>>>6|192,d=A[(g=s+8|0)>>2]+1|0,A[g>>2]=d,a[d+A[s>>2]|0]=63&p|128,m=A[g>>2]+1|0,A[s+8>>2]=m,p=f[0|Z])break d}if(d=k+1|0,k>>>0>=n>>>0)break c;g=A[s+4>>2];break k}if((d=k+1|0)>>>0>=n>>>0)break h}if(k=d,!(m+3>>>0>2]))break}A[e>>2]=d,a[e+4|0]=1;break f}if(k=k+1|0,h)break g;break u}if(k=0,!h)break u}a[e+4|0]=2,A[e>>2]=k,a[e+6|0]=0,a[e+5|0]=p,a[r+6|0]=0;break f}A[e>>2]=k,a[e+4|0]=0;break f}A[e>>2]=0,a[e+4|0]=1;break f}k:if(!(g>>>0>>0)){for(X=-256&s,V=0;;){B=(I=(k=g-m|0)>>>0<(Z=n-d|0)>>>0)?k:Z,k=0;l:{u:{g:{h:{if(!(3&((Y=A[s>>2]+m|0)^(m=t+d|0))||(8|(Z=0-m&3))>>>0>B>>>0)){if(Z)for(;;){if((0|(p=a[k+m|0]))<0)break h;if(a[k+Y|0]=p,(0|Z)==(0|(k=k+1|0)))break}for(F=B+-8|0;;){if(p=A[(Z=k+m|0)>>2],C=k+Y|0,Z=A[Z+4>>2],A[C+4>>2]=Z,A[C>>2]=p,(Z&=-2139062144)|(p&=-2139062144))break g;if(!((k=k+8|0)>>>0<=F>>>0))break}}if(k>>>0>=B>>>0)break u;for(;;){if((0|(p=a[k+m|0]))<0)break h;if(a[k+Y|0]=p,!((k=k+1|0)>>>0>>0))break}break u}Z=k;break l}p?(p=p?31-l(p+-1^p)|0:32,p>>>=3):p=4+((p=Z?31-l(Z+-1^Z)|0:32)>>>3)|0,Z=p+k|0,p=f[(p+m|0)+k|0];break l}m=B+A[(r=s+8|0)>>2]|0,A[r>>2]=m,k=d+B|0;break o}if(m=A[(B=s+8|0)>>2]+Z|0,A[B>>2]=m,k=d+Z|0,m+3>>>0>=g>>>0)break b;d=k+1|0;l:{u:{for(;;){g:{h:{s:{d:{F=s;V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{E:{Q:{x:{v:{j:{if((V=255&(m=p+127|0))>>>0<126){if(d>>>0>=n>>>0)break j;Z=d+1|0;H:{T:{N:{O:{S:{D:{M:{P:{K:{L:{z:{q:{_:{$:{ee:{re:{te:{ae:{ie:{ne:{Ae:{fe:{oe:{be:{if((Y=255&(I=(g=a[t+d|0])+-48|0))>>>0>=10){if(V>>>0<=31)break be;if((k=g+95&255)>>>0>=94)break fe;if((d=p+80&255)>>>0>=72)break ae;if((k=k+c(d,94)|0)>>>0>=6768)break Y;if(k=o[1154396+(k<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if(Z>>>0>=n>>>0)break v;if((F=255&(p=f[t+Z|0]+127|0))>>>0>=126)break x;if((k=d+2|0)>>>0>=n>>>0)break Q;if((m=f[t+k|0]+-48&255)>>>0>=10)break E;if(Z=d+3|0,(g=m+((c(Y,1260)+c(V,12600)|0)+c(F,10)|0)|0)>>>0>39419)break oe;if(7457!=(0|g))break ie;if(a[A[s>>2]+A[s+8>>2]|0]=238,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=159,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=135,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if(p=c(V,190),(255&(k=g+-64|0))>>>0>62){if((0|g)>=-1)break J;k=g+-65|0}if(V=(k=65535&(d=p+(255&k)|0))>>>0>>0<2880?0:958)|0)<<1)>>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,g=k>>>0>1]?V:g,(0|(m=o[1139784+(V=g<<1)>>1]))!=(0|k))break Ae;m=(p=o[V+1143616>>1])>>>12,k=p>>>6;break ne}if(g+-189e3>>>0>=1048576)break U;if(k=g+-123464|0,a[A[s>>2]+A[s+8>>2]|0]=k>>>18|240,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>12&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if(p=c(p+95&255,96),(255&(k=g+-64|0))>>>0>62){if((0|g)>=-95)break G;k=g+-65|0}if((g=(k=p+(255&k)|0)-864|0)>>>0>8058)break te;if(V=o[1147448+((d=407+(V=(k=65535&g)>>>0<2870?0:813)|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+203|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+102|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+51|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+25|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+13|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+6|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+3|0)<<1)>>1]>k>>>0?V:d,V=o[1147448+((d=V+2|0)<<1)>>1]>k>>>0?V:d,d=o[1147448+((d=V+1|0)<<1)>>1]>k>>>0?V:d,(0|(m=o[1147448+(V=d<<1)>>1]))!=(0|k))break $;m=(p=o[V+1150702>>1])>>>12,k=p>>>6;break _}if((k=(g+(k>>>0>m>>>0)|0)-1|0)>>>0>1915)break Z;m=(k=65535&(p=(d+o[1143616+(k<<=1)>>1]|0)-o[k+1139784>>1]|0))>>>12,k>>>=6}if(a[A[s>>2]+A[s+8>>2]|0]=224|m,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>=n>>>0)break h;break g}if(V=o[1168402+((d=51+(V=(k=65535&g)>>>0<11334?0:103)|0)<<1)>>1]>k>>>0?V:d,V=o[1168402+((d=V+26|0)<<1)>>1]>k>>>0?V:d,V=o[1168402+((d=V+13|0)<<1)>>1]>k>>>0?V:d,V=o[1168402+((d=V+6|0)<<1)>>1]>k>>>0?V:d,V=o[1168402+((d=V+3|0)<<1)>>1]>k>>>0?V:d,V=o[1168402+((d=V+2|0)<<1)>>1]>k>>>0?V:d,d=o[1168402+((d=V+1|0)<<1)>>1]>k>>>0?V:d,(0|(m=o[1168402+(V=d<<1)>>1]))!=(0|k))break re;if(m=p=o[V+1168814>>1],p>>>0>2047)break ee;break s}if(161==(0|(d=255&p)))break z;if(166==(0|d))break L;if(168!=(0|d))break K;if(k>>>0>=32)break P;if((m=o[1168164+(k<<1)>>1])>>>0>2047)break T;a[A[s>>2]+A[s+8>>2]|0]=m>>>6|192,k=A[s+8>>2]+1|0;break V}if(k>>>0>863)break q;if(d=o[1153956+((g=15+(d=k>>>0<777?0:29)|0)<<1)>>1]>k>>>0?d:g,d=o[1153956+((g=d+7|0)<<1)>>1]>k>>>0?d:g,d=o[1153956+((g=d+4|0)<<1)>>1]>k>>>0?d:g,d=o[1153956+((g=d+2|0)<<1)>>1]>k>>>0?d:g,g=o[1153956+((g=d+1|0)<<1)>>1]>k>>>0?d:g,(0|(V=o[1153956+(d=g<<1)>>1]))!=(0|k))break M;if(m=p=o[d+1154076>>1],p>>>0>2047)break D;break d}if((k=(d+(m>>>0>>0)|0)-1|0)>>>0>205)break m;if((m=65535&(p=(g+o[1168814+(k<<=1)>>1]|0)-o[k+1168402>>1]|0))>>>0<=2047)break s}if(a[A[s>>2]+A[s+8>>2]|0]=m>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=m>>>6&63|128,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if((k=(d+(m>>>0>>0)|0)-1|0)>>>0>1626)break F;m=(k=65535&(p=(g+o[1150702+(k<<=1)>>1]|0)-o[k+1147448>>1]|0))>>>12,k>>>=6}if(a[A[s>>2]+A[s+8>>2]|0]=224|m,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if((k=k+-8923|0)>>>0>100)break I;if(k=o[1154194+(k<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if((m=o[1167932+(k<<1)>>1])>>>0>2047)break N;a[A[s>>2]+A[s+8>>2]|0]=m>>>6|192,k=A[s+8>>2]+1|0;break V}if((g=g+32&255)>>>0>21)break P;if((m=o[1168120+(g<<1)>>1])>>>0>2047)break H;a[A[s>>2]+A[s+8>>2]|0]=m>>>6|192,k=A[s+8>>2]+1|0;break V}if(!(V>>>0<=118)){k=65535&(m=(k+c(p+8&255,94)|0)-7628|0),a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,k=A[s+8>>2]+1|0;break V}}if(d=(k=k+c(p+94&255,94)|0)>>>0>>0<400?0:21)|0)<<1)>>1]?d:g,d=k>>>0>1]?d:g,d=k>>>0>1]?d:g,d=k>>>0>1]?d:g,g=k>>>0>1]?d:g,(0|(V=o[1168228+(d=g<<1)>>1]))!=(0|k))break S;if((p=m=o[d+1168316>>1])>>>0>2047)break O;break p}if((g=(g+(V>>>0>>0)|0)-1|0)>>>0>58)break B;if((m=65535&(p=(k+o[1154076+(g<<=1)>>1]|0)-o[g+1153956>>1]|0))>>>0<=2047)break d}if(a[A[s>>2]+A[s+8>>2]|0]=m>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=m>>>6&63|128,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if((g=(g+(k>>>0>V>>>0)|0)-1|0)>>>0>42)break W;if((p=65535&(m=(k+o[1168316+(g<<=1)>>1]|0)-o[g+1168228>>1]|0))>>>0<=2047)break p}a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0;break V}a[A[s>>2]+A[s+8>>2]|0]=m>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=m>>>6&63|128,k=A[s+8>>2]+1|0;break V}a[A[s>>2]+A[s+8>>2]|0]=m>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=m>>>6&63|128,k=A[s+8>>2]+1|0;break V}a[A[s>>2]+A[s+8>>2]|0]=m>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=m>>>6&63|128,k=A[s+8>>2]+1|0;break V}if(128!=(255&p))break C;a[A[s>>2]+A[s+8>>2]|0]=226,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=130,k=A[s+8>>2]+1|0,A[s+8>>2]=k,g=s+8|0,p=172,k=k+A[s>>2]|0;break u}if(h){m=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=d;break f}a[r+6|0]=1,a[r+7|0]=m,m=A[s+8>>2],A[e>>2]=d,a[e+4|0]=0;break f}if(!h)break R;m=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=514,A[e>>2]=Z;break f}a[r+10|0]=1,a[r+11|0]=g,m=A[s+8>>2],a[e+6|0]=1,i[e+4>>1]=258,A[e>>2]=Z;break f}if(!h)break w;m=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=770,A[e>>2]=k;break f}a[r+10|0]=1,a[r+6|0]=1,a[r+11|0]=g,a[r+7|0]=p,m=A[s+8>>2],a[e+6|0]=2,i[e+4>>1]=258,A[e>>2]=k;break f}a[r+6|0]=2,a[r+8|0]=I,a[r+7|0]=m,m=A[s+8>>2],A[e>>2]=Z,a[e+4|0]=0;break f}a[r+6|0]=3,a[r+9|0]=p,a[r+8|0]=I,a[r+7|0]=m,m=A[s+8>>2],A[e>>2]=k,a[e+4|0]=0;break f}m=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=1026,A[e>>2]=Z;break f}if(m=A[s+8>>2],a[e+4|0]=2,(0|g)<=-1)break y;A[e>>2]=d,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}if(m=A[s+8>>2],a[e+4|0]=2,(0|g)<=-1)break X;A[e>>2]=d,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}A[e>>2]=Z,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}m=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=d;break f}A[e>>2]=Z,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}We(1176140,k,1627),u()}We(1176172,k,101),u()}We(1176140,g,59),u()}We(1176156,k,6768),u()}We(1176140,g,43),u()}We(1176140,k,1916),u()}We(1176140,k,206),u()}a[A[s>>2]+A[s+8>>2]|0]=m>>>6|192,k=A[s+8>>2]+1|0}if(A[F+8>>2]=k,a[k+A[s>>2]|0]=63&m|128,A[(k=s+8|0)>>2]=A[k>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if(a[A[s>>2]+A[s+8>>2]|0]=p>>>6|192,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g;break h}if(a[A[s>>2]+A[s+8>>2]|0]=p>>>6|192,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[s+8>>2]=A[s+8>>2]+1,m=A[(g=s+8|0)>>2],Z>>>0>>0)break g}A[e>>2]=Z,a[e+4|0]=0;break f}if(m+3>>>0>=b[s+4>>2])break l;if(d=Z+1|0,!((0|(p=a[t+Z|0]))<0))break}k=A[s>>2]+m|0}if(a[0|k]=p,A[g>>2]=A[g>>2]+1,d>>>0>n>>>0)break c;if(V=X,(g=A[s+4>>2])>>>0>=(m=A[B>>2])>>>0)continue;break k}break}A[e>>2]=Z,a[e+4|0]=1;break f}Ye(m,g),u()}Ye(d,n),u()}I=1}A[e>>2]=k,A[e+4>>2]=V|I}A[e+8>>2]=m,W=s+16|0}(e,r+1|0,t,n,k,g,h);case 1:return void function(e,r,t,n,k,g,h){var s,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0,F=0,X=0,C=0;W=s=W-16|0,A[s+8>>2]=0,A[s+4>>2]=g,A[s>>2]=k;f:{o:{b:{c:{k:if(1==f[0|r]){a[0|r]=0;l:{u:{g:{h:{s:{d:{V:{if(n){if(g>>>0<=3)break V;if(m=f[r+1|0],(255&(p=(I=a[0|t])+-64|0))>>>0<63)break h;if((I+95&255)>>>0<94)break s;if(a[e+4|0]=2,(0|I)<=-1)break g;A[e>>2]=0,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}if(!h)break d;A[e>>2]=0,a[e+6|0]=0,i[e+4>>1]=258;break f}A[e>>2]=0,a[e+4|0]=1;break f}A[e>>2]=0,a[e+4|0]=0;break f}p=I+-98|0}h:{s:if((d=(p=c(m,157)+(255&p)|0)-942|0)>>>0>18839||!(m=o[1054072+(d<<1)>>1])){if((m=p+-1133|0)>>>0>33)break h;switch(m-1|0){default:a[0|k]=-2066969917,a[k+1|0]=8703114,a[k+2|0]=33996,a[k+3|0]=132;break s;case 30:a[0|k]=-2066961725,a[k+1|0]=8703146,a[k+2|0]=33996,a[k+3|0]=132;break s;case 1:a[0|k]=-1932752189,a[k+1|0]=9227402,a[k+2|0]=36044,a[k+3|0]=140;break s;case 0:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 31:break h;case 32:}a[0|k]=-1932743997,a[k+1|0]=9227434,a[k+2|0]=36044,a[k+3|0]=140}else{if(!(A[1051716+(d>>>3&536870908)>>2]&1<<(31&d)))break u;a[0|k]=240,a[k+3|0]=63&m|128,a[k+1|0]=m>>>12|160,a[k+2|0]=m>>>6&63|128}if(V=4,A[s+8>>2]=4,p=1,4>g>>>0)break c;break k}if(a[e+4|0]=2,(0|I)<0)break l;A[e>>2]=0,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}A[e>>2]=1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}if(m>>>0<=2047){if(a[k+1|0]=63&m|128,a[0|k]=m>>>6|192,V=2,A[s+8>>2]=2,p=1,2<=g>>>0)break k;break c}if(a[k+2|0]=63&m|128,a[0|k]=m>>>12|224,a[k+1|0]=m>>>6&63|128,V=3,A[s+8>>2]=3,p=1,3<=g>>>0)break k;break c}A[e>>2]=1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}I=-256&s,m=0;k:{l:{u:{g:{h:{s:{d:{V:{p:{for(;;){Z=(F=(d=g-V|0)>>>0<(Z=n-p|0)>>>0)?d:Z,d=0;m:{Z:{W:{if(!(3&((B=t+p|0)^(V=k+V|0))||(8|(Y=0-B&3))>>>0>Z>>>0)){if(Y)for(;;){if((0|(k=a[d+B|0]))<0)break m;if(a[d+V|0]=k,(0|Y)==(0|(d=d+1|0)))break}for(C=Z+-8|0;;){if(Y=A[(k=d+B|0)>>2],X=d+V|0,k=A[k+4>>2],A[X+4>>2]=k,A[X>>2]=Y,(k&=-2139062144)|(Y&=-2139062144))break W;if(!((d=d+8|0)>>>0<=C>>>0))break}}if(d>>>0>=Z>>>0)break Z;for(;;){if((0|(k=a[d+B|0]))<0)break m;if(a[d+V|0]=k,!((d=d+1|0)>>>0>>0))break}break Z}V=d,Y?(k=Y?31-l(Y+-1^Y)|0:32,k>>>=3):k=4+((k=k?31-l(k+-1^k)|0:32)>>>3)|0,d=d+k|0,k=f[(k+B|0)+V|0];break m}V=A[(r=s+8|0)>>2]+Z|0,A[r>>2]=V,d=p+Z|0;break o}if(V=A[(Z=s+8|0)>>2]+d|0,A[Z>>2]=V,d=d+p|0,V+3>>>0>=g>>>0)break l;p=d+1|0;m:{for(;;){if((m=255&(k=k+127|0))>>>0>=126)break m;if(p>>>0>=n>>>0)break p;Z:{if(V=c(m,157),(255&(k=(g=a[0|(B=t+p|0)])+-64|0))>>>0>=63){if((g+95&255)>>>0>=94)break g;k=g+-98|0}if((m=(d=V+(255&k)|0)-942|0)>>>0>18839||!(k=o[1054072+(m<<1)>>1])){if((k=d+-1133|0)>>>0>33)break s;d=s;W:{Y:{m=s;B:{switch(k-1|0){default:a[A[s>>2]+A[s+8>>2]|0]=195,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=138,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=204,V=A[s+8>>2]+1|0;break B;case 1:a[A[s>>2]+A[s+8>>2]|0]=195,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=138,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=204,V=A[s+8>>2]+1|0;break W;case 0:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 31:break s;case 32:break Y;case 30:}a[A[s>>2]+A[s+8>>2]|0]=195,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=170,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=204,V=A[s+8>>2]+1|0}A[m+8>>2]=V,d=132,k=s+8|0;break Z}a[A[s>>2]+A[s+8>>2]|0]=195,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=170,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=204,V=A[s+8>>2]+1|0}A[d+8>>2]=V,d=140,k=s+8|0}else{if(!(A[1051716+(m>>>3&536870908)>>2]&1<<(31&m))){if(k>>>0<=2047){a[A[s>>2]+A[s+8>>2]|0]=k>>>6|192,V=A[s+8>>2]+1|0,A[s+8>>2]=V,d=63&k|-128,k=s+8|0;break Z}a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,V=A[s+8>>2]+1|0,A[s+8>>2]=V,d=63&k|-128,k=s+8|0;break Z}a[A[s>>2]+A[s+8>>2]|0]=240,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>12|160,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,V=A[s+8>>2]+1|0,A[s+8>>2]=V,d=63&k|-128,k=s+8|0}}if(a[A[s>>2]+V|0]=d,A[k>>2]=A[k>>2]+1,V=A[s+8>>2],p+1>>>0>=n>>>0)break V;if(V+3>>>0>=b[s+4>>2])break d;if(p=p+2|0,!((0|(k=a[B+1|0]))<0))break}if(a[A[s>>2]+V|0]=k,A[s+8>>2]=A[s+8>>2]+1,p>>>0>n>>>0)break b;if((g=A[s+4>>2])>>>0<(V=A[Z>>2])>>>0)break c;k=A[s>>2],m=I;continue}break}V=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=p;break f}if(!h)break h;V=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=p;break f}a[e+4|0]=0,A[e>>2]=p+1;break f}a[e+4|0]=1,A[e>>2]=p+1;break f}if(V=A[s+8>>2],a[e+4|0]=2,(0|g)<0)break u;A[e>>2]=p,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}a[0|r]=1,a[r+1|0]=k,V=A[s+8>>2],A[e>>2]=p,a[e+4|0]=0;break f}if(V=A[s+8>>2],a[e+4|0]=2,(0|g)<=-1)break k;A[e>>2]=p,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}A[e>>2]=p+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}F=1;break o}A[e>>2]=p+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}Ye(V,g),u()}Ye(p,n),u()}A[e>>2]=d,A[e+4>>2]=m|F}A[e+8>>2]=V,W=s+16|0}(e,r+1|0,t,n,k,g,h);case 2:return void function(e,r,t,n,k,g,h){var s,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0,F=0,X=0,C=0;W=s=W-16|0,A[s+8>>2]=0,A[s+4>>2]=g,A[s>>2]=k;f:{o:{b:{c:{k:{l:{u:{g:{if(V=f[0|r])h:{s:{d:{if(n){V:{if(g>>>0>=3)for(m=s+8|0;;){k=a[t+Z|0];p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{E:{Q:{x:{v:{j:{H:{T:{if(3!=(0|(g=255&V))){if(2!=(0|g)){if(1!=(0|g))break T;if(a[0|r]=0,d=f[r+1|0],(g=k+95&255)>>>0>82)break H;if(3!=(0|d))break H;if(a[A[s>>2]+p|0]=227,k=A[m>>2]+1|0,A[m>>2]=k,d=k+A[s>>2]|0,k=g+12353|0,a[0|d]=k>>>6&7|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if(a[0|r]=0,(255&(g=k+95|0))>>>0>=94)break G;if(V=3,a[0|r]=3,a[r+1|0]=g,(d=Z+1|0)>>>0>>0)break p;break V}if(a[0|r]=0,(g=k+95&255)>>>0>=94)break J;if((g=(k=g+c(f[r+1|0],94)|0)-1410|0)>>>0>=5801)break j;if(k=o[1127606+(g<<1)>>1],a[A[s>>2]+p|0]=k>>>12|224,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if(a[0|r]=0,(g=k+95&255)>>>0>=63)break y;if(g=65535&(k=g+-159|0),a[A[s>>2]+p|0]=g>>>12|224,d=A[m>>2]+1|0,A[m>>2]=d,a[d+A[s>>2]|0]=g>>>6&63|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,!(V=f[0|r]))break U;break m}if(g>>>0>85)break v;if(4!=(0|d))break v;if(a[A[s>>2]+p|0]=227,k=A[m>>2]+1|0,A[m>>2]=k,d=k+A[s>>2]|0,k=g+12449|0,a[0|d]=k>>>6&7|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if(d=2,!((g=k+-108|0)>>>0<=10||(d=5,(g=k+-127|0)>>>0<3||(d=8,(g=k+-168|0)>>>0<7||(d=11,(g=k+-534|0)>>>0<12||(d=14,(g=k+-550|0)>>>0<12||(d=17,(g=k+-608|0)>>>0<2||(d=20,(g=k+-656|0)>>>0<2||(d=23,(g=k+-752|0)>>>0<16||(d=26,(g=k+-784|0)>>>0<16||(d=29,(g=k+-846|0)>>>0<87||(d=32,!((g=k+-940|0)>>>0>=87)))))))))))))break x;if((g=o[1139718+(d<<1)>>1]+g|0)>>>0>=255)break Z;if(!(g=o[1139208+(g<<1)>>1]))break x;if(g>>>0>2047)break Q;if(a[A[s>>2]+p|0]=g>>>6|192,k=A[m>>2]+1|0,A[m>>2]=k,a[k+A[s>>2]|0]=63&g|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if(g>>>0>=94)break I;if((g=(k=g+c(d,94)|0)-1410|0)>>>0>=2965)break E;if(k=o[1091752+(g<<1)>>1],a[A[s>>2]+p|0]=k>>>12|224,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if((g=k+-597|0)>>>0>10)break R;if(k=g+1026|0,a[A[s>>2]+p|0]=k>>>6|192,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if(a[A[s>>2]+p|0]=g>>>12|224,k=A[m>>2]+1|0,A[m>>2]=k,a[k+A[s>>2]|0]=g>>>6&63|128,k=A[m>>2]+1|0,A[m>>2]=k,a[k+A[s>>2]|0]=63&g|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if((g=k+-4418|0)>>>0>=3390)break w;if(k=o[1097682+(g<<1)>>1],a[A[s>>2]+p|0]=k>>>12|224,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if((k=k+-645|0)>>>0>10)break B;if(k=k+1106|0,a[A[s>>2]+p|0]=k>>>6|192,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if((g=k+-8272|0)>>>0<360){if(k=o[1104462+(g<<1)>>1],a[A[s>>2]+p|0]=k>>>12|224,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m}else{d=2;w:{if(k>>>0<=107)g=k;else if(d=5,!((g=k+-119|0)>>>0<8||(d=8,(g=k+-135|0)>>>0<7||(d=11,(g=k+-153|0)>>>0<15||(d=14,(g=k+-175|0)>>>0<8)))))if(187!=(0|k)){if(d=20,!((g=k+-658|0)>>>0<32||(d=23,(g=k+-1159|0)>>>0<23||(d=26,(g=k+-1190|0)>>>0<30||(d=29,(g=k+-10736|0)>>>0<8||(d=32,!((g=k+-8644|0)>>>0>=4)))))))break w}else d=17,g=0;if((k=o[1105662+(d<<1)>>1]+g|0)>>>0>=240)break Y;if((k=o[1105182+(k<<1)>>1])>>>0<=2047){if(a[A[s>>2]+p|0]=k>>>6|192,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if(a[A[s>>2]+p|0]=k>>>12|224,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m;break U}if(d=2,!((g=k+-203|0)>>>0<10||(d=5,(g=k+-220|0)>>>0<26||(d=8,(g=k+-252|0)>>>0<26||(d=11,(g=k+-470|0)>>>0<17||(d=14,(g=k+-487|0)>>>0<7||(d=17,(g=k+-502|0)>>>0<17||(d=20,(g=k+-519|0)>>>0<7||(d=23,(g=k+-564|0)>>>0<6||(d=26,g=0,570==(0|k)||(d=29,(g=k+-571|0)>>>0<26||(d=32,(g=k+-612|0)>>>0<6||(d=35,g=0,618==(0|k)||(d=38,(g=k+-619|0)>>>0<26||(d=41,(g=k+-1128|0)>>>0<20||(d=44,(g=k+-1148|0)>>>0<10||(d=47,(g=k+-8634|0)>>>0<10||(d=50,(g=k+-10716|0)>>>0<10||(d=53,!((g=k+-10726|0)>>>0>9))))))))))))))))))))break W;if((g=65535&(k=o[1105728+(d<<1)>>1]+g|0))>>>0<=2047){if(a[A[s>>2]+p|0]=k>>>6|192,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m}else if(a[A[s>>2]+p|0]=g>>>12|224,d=A[m>>2]+1|0,A[m>>2]=d,a[d+A[s>>2]|0]=g>>>6&63|128,g=A[m>>2]+1|0,A[m>>2]=g,a[g+A[s>>2]|0]=63&k|128,p=A[m>>2]+1|0,A[m>>2]=p,V=f[0|r])break m}}if(d=Z+1|0,Z>>>0>=n>>>0)break g;if((g=A[s+4>>2])>>>0>=p>>>0)break h;break u}if(a[e+4|0]=2,(0|k)<=-1)break C;A[e>>2]=Z,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}if(a[e+4|0]=2,(0|k)<=-1)break X;A[e>>2]=Z,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}if(a[e+4|0]=2,(0|k)<=-1)break F;A[e>>2]=Z,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}A[e>>2]=Z+1,a[0|(r=e+5|0)]=3,a[r+1|0]=0;break f}A[e>>2]=Z+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}A[e>>2]=Z+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}if(a[e+4|0]=2,(0|k)>-1){A[e>>2]=Z,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}A[e>>2]=Z+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}i[e+4>>1]=770,a[e+6|0]=0,A[e>>2]=Z+1;break f}We(1176472,k,240),u()}i[e+4>>1]=514,a[e+6|0]=0,A[e>>2]=Z+1;break f}We(1176488,g,255),u()}if((d=Z+1|0)>>>0>=n>>>0)break V}if(Z=d,!(p+2>>>0>2]))break}A[e>>2]=d,a[e+4|0]=1;break f}if(k=Z+1|0,h)break d;break s}if(k=0,!h)break s}a[e+4|0]=2,a[0|r]=0,A[e>>2]=k,a[e+6|0]=0,a[e+5|0]=3==(0|V)?2:1;break f}A[e>>2]=k,a[e+4|0]=0;break f}X=-256&s,m=0;h:{s:{d:{V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{for(;;){Y=(I=(k=g-p|0)>>>0<(V=n-d|0)>>>0)?k:V,k=0;E:{Q:{x:{v:{if(!(3&((B=t+d|0)^(p=A[s>>2]+p|0))||(8|(V=0-B&3))>>>0>Y>>>0)){if(V)for(;;){if((0|(Z=a[k+B|0]))<0)break v;if(a[k+p|0]=Z,(0|V)==(0|(k=k+1|0)))break}for(C=Y+-8|0;;){if(Z=A[(V=k+B|0)>>2],F=k+p|0,V=A[V+4>>2],A[F+4>>2]=V,A[F>>2]=Z,(V&=-2139062144)|(Z&=-2139062144))break x;if(!((k=k+8|0)>>>0<=C>>>0))break}}if(k>>>0>=Y>>>0)break Q;for(;;){if((0|(Z=a[k+B|0]))<0)break v;if(a[k+p|0]=Z,!((k=k+1|0)>>>0>>0))break}break Q}V=k;break E}Z?(Z=Z?31-l(Z+-1^Z)|0:32,Z>>>=3):Z=4+((Z=V?31-l(V+-1^V)|0:32)>>>3)|0,V=Z+k|0,Z=f[(Z+B|0)+k|0];break E}p=A[(r=s+8|0)>>2]+Y|0,A[r>>2]=p,k=d+Y|0;break o}if(p=A[(Y=s+8|0)>>2]+V|0,A[Y>>2]=p,k=d+V|0,p+2>>>0>=g>>>0)break B;d=k+1|0;E:{for(;;){p=s;Q:{x:{v:{j:{if((k=255&(g=Z+95|0))>>>0<=93){if(d>>>0>=n>>>0)break w;if(Z=d+1|0,g=(V=a[t+d|0])+95|0,3!=(0|k))break j;if((m=255&g)>>>0>82)break j;if(a[A[s>>2]+A[s+8>>2]|0]=227,k=A[s+8>>2]+1|0,A[s+8>>2]=k,g=k+A[s>>2]|0,k=m+12353|0,a[0|g]=k>>>6&7|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,p=A[s+8>>2],Z>>>0>>0)break Q;break E}if(142==(0|(k=255&Z)))break v;if(143!=(0|k))break U;if(d>>>0>=n>>>0)break G;if(k=d+1|0,(m=255&(V=(g=a[t+d|0])+95|0))>>>0>=94)break X;if(k>>>0>=n>>>0)break F;if(Z=d+2|0,(d=(g=a[t+k|0])+95&255)>>>0>=94)break I;if((g=(k=d+c(m,94)|0)-1410|0)>>>0>=5801){V=2;H:{T:{if((d=k+-108|0)>>>0<=10||(V=5,(d=k+-127|0)>>>0<3||(V=8,(d=k+-168|0)>>>0<7||(V=11,(d=k+-534|0)>>>0<12||(V=14,(d=k+-550|0)>>>0<12||(V=17,(d=k+-608|0)>>>0<2||(V=20,(d=k+-656|0)>>>0<2||(V=23,(d=k+-752|0)>>>0<16||(V=26,(d=k+-784|0)>>>0<16||(V=29,(d=k+-846|0)>>>0<87||(V=32,!((d=k+-940|0)>>>0>=87)))))))))))){if((g=o[1139718+(V<<1)>>1]+d|0)>>>0>=255)break l;if(V=o[1139208+(g<<1)>>1]){if(V>>>0>2047)break T;a[A[s>>2]+A[s+8>>2]|0]=V>>>6|192,k=A[s+8>>2]+1|0;break x}}if((g=k+-597|0)>>>0>10)break H;V=g+1026|0,a[A[s>>2]+A[s+8>>2]|0]=V>>>6|192,k=A[s+8>>2]+1|0;break x}a[A[s>>2]+A[s+8>>2]|0]=V>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=V>>>6&63|128,k=A[s+8>>2]+1|0;break x}if((k=k+-645|0)>>>0>10)break h;V=k+1106|0,a[A[s>>2]+A[s+8>>2]|0]=V>>>6|192,k=A[s+8>>2]+1|0;break x}V=o[1127606+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=V>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=V>>>6&63|128,k=A[s+8>>2]+1|0;break x}if(!(4==(0|k)&&(m=255&g)>>>0<=85)){if((g&=255)>>>0>=94)break W;m=s;j:if((g=(k=g+c(k,94)|0)-1410|0)>>>0<2965)p=o[1091752+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0;else if((g=k+-4418|0)>>>0<3390)p=o[1097682+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0;else if((g=k+-8272|0)>>>0<360)p=o[1104462+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0;else{V=2;H:{if(k>>>0<=107)d=k;else if(V=5,!((d=k+-119|0)>>>0<8||(V=8,(d=k+-135|0)>>>0<7||(V=11,(d=k+-153|0)>>>0<15||(V=14,(d=k+-175|0)>>>0<8)))))if(187!=(0|k)){if(V=20,!((d=k+-658|0)>>>0<32||(V=23,(d=k+-1159|0)>>>0<23||(V=26,(d=k+-1190|0)>>>0<30||(V=32,!((d=k+-8644|0)>>>0>=4))))))break H}else V=17,d=0;if((k=o[1105662+(V<<1)>>1]+d|0)>>>0>=240)break k;if((p=o[1105182+(k<<1)>>1])>>>0<=2047){a[A[s>>2]+A[s+8>>2]|0]=p>>>6|192,k=A[s+8>>2]+1|0;break j}a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0;break j}if(V=2,!((d=k+-203|0)>>>0<10||(V=5,(d=k+-220|0)>>>0<26||(V=8,(d=k+-252|0)>>>0<26||(V=11,(d=k+-470|0)>>>0<17||(V=14,(d=k+-487|0)>>>0<7||(V=17,(d=k+-502|0)>>>0<17||(V=20,(d=k+-519|0)>>>0<7||(V=23,(d=k+-564|0)>>>0<6||(V=26,d=0,570==(0|k)||(V=29,(d=k+-571|0)>>>0<26||(V=32,(d=k+-612|0)>>>0<6||(V=35,d=0,618==(0|k)||(V=38,(d=k+-619|0)>>>0<26||(V=41,(d=k+-1128|0)>>>0<20||(V=44,(d=k+-1148|0)>>>0<10||(V=47,!((d=k+-8634|0)>>>0>9))))))))))))))))))break c;(k=65535&(p=o[1105728+(V<<1)>>1]+d|0))>>>0<=2047?(a[A[s>>2]+A[s+8>>2]|0]=p>>>6|192,k=A[s+8>>2]+1|0):(a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,k=A[s+8>>2]+1|0)}if(A[m+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[(k=s+8|0)>>2]=A[k>>2]+1,p=A[s+8>>2],Z>>>0>>0)break Q;break E}if(a[A[s>>2]+A[s+8>>2]|0]=227,k=A[s+8>>2]+1|0,A[s+8>>2]=k,g=k+A[s>>2]|0,k=m+12449|0,a[0|g]=k>>>6&7|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,p=A[s+8>>2],Z>>>0>>0)break Q;break E}if(d>>>0>=n>>>0)break y;if(Z=d+1|0,(g=(k=a[t+d|0])+95&255)>>>0>=63)break C;k=65535&(V=g+-159|0),a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,k=A[s+8>>2]+1|0}if(A[p+8>>2]=k,a[k+A[s>>2]|0]=63&V|128,A[(k=s+8|0)>>2]=A[k>>2]+1,p=A[s+8>>2],Z>>>0>=n>>>0)break E}if(p+2>>>0>=b[s+4>>2])break R;if(d=Z+1|0,!((0|(Z=a[t+Z|0]))<0))break}if(a[A[s>>2]+p|0]=Z,A[s+8>>2]=A[s+8>>2]+1,d>>>0>n>>>0)break g;if(m=X,(g=A[s+4>>2])>>>0>=(p=A[Y>>2])>>>0)continue;break u}break}A[e>>2]=Z,a[e+4|0]=0;break f}A[e>>2]=Z,a[e+4|0]=1;break f}if(!h)break J;p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=d;break f}p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=d;break f}a[0|r]=1,a[r+1|0]=g,p=A[s+8>>2],A[e>>2]=d,a[e+4|0]=0;break f}if(!h)break Y;p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=d;break f}if(!h)break Z;p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=d;break f}if(p=A[s+8>>2],a[e+4|0]=2,(0|k)<=-1)break p;A[e>>2]=d,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}if(p=A[s+8>>2],a[e+4|0]=2,(0|g)<=-1)break V;A[e>>2]=d,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}if(!h)break m;p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=514,A[e>>2]=k;break f}if(p=A[s+8>>2],a[e+4|0]=2,(0|g)<=-1)break d;A[e>>2]=k,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}I=1;break o}a[0|r]=2,p=A[s+8>>2],A[e>>2]=d,a[e+4|0]=0;break f}if(p=A[s+8>>2],a[e+4|0]=2,(0|V)<=-1)break s;A[e>>2]=d,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break f}a[0|r]=4,p=A[s+8>>2],A[e>>2]=d,a[e+4|0]=0;break f}a[0|r]=3,a[r+1|0]=V,p=A[s+8>>2],A[e>>2]=k,a[e+4|0]=0;break f}A[e>>2]=Z,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}A[e>>2]=k,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}A[e>>2]=Z,a[0|(r=e+5|0)]=3,a[r+1|0]=0;break f}A[e>>2]=Z,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break f}p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=770;break b}Ye(d,n),u()}Ye(p,g),u()}We(1176488,g,255),u()}We(1176472,k,240),u()}p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=514}A[e>>2]=Z;break f}A[e>>2]=k,A[e+4>>2]=m|I}A[e+8>>2]=p,W=s+16|0}(e,r+1|0,t,n,k,g,h);case 3:return void function(e,r,t,n,b,k,l){var g=0,h=0,s=0,d=0,V=0,p=0,m=0;f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{Z:{W:{Y:{B:{if(f[r+4|0]){if(k>>>0<=2)break B;if(a[r+3|0]=0,a[r+4|0]=0,(g=f[0|r])>>>0<2)break Y;if(2==(0|g))break W;if(3!=(0|g))break Z;a[0|r]=4}if(!n)break p;break m}return a[e+4|0]=1,A[e+8>>2]=0,void(A[e>>2]=0)}if(a[0|b]=f[r+2|0],a[r+2|0]=0,d=1,n)break m;break p}if(g=f[r+2|0]+-192|0,a[b+2|0]=63&g|128,g&=65535,a[0|b]=g>>>12|224,a[b+1|0]=g>>>6&63|128,a[r+2|0]=0,d=3,n)break m;break p}xe(1169657,40,1176536),u()}for(p=r+3|0;;){if(d+2>>>0>>0){g=(h=f[t+s|0])<<24>>24;m:{Z:{W:{Y:{B:{I:{F:{X:{if((V=f[0|r]+-1|0)>>>0<=5){switch(V-1|0){default:if(27!=(0|g))break F;if(a[0|r]=5,(s=s+1|0)>>>0>>0)continue;break p;case 3:if(36!=(0|h)&&40!=(0|h))break d;if(a[0|r]=6,a[r+2|0]=g,(s=s+1|0)>>>0>>0)continue;break p;case 1:if(27!=(0|g))break X;if(a[0|r]=5,(s=s+1|0)>>>0>>0)continue;break p;case 2:if(27==(0|g))break V;if(a[0|r]=3,h=f[r+2|0]+-33|0,(g=g+-33&255)>>>0>82)break Y;if(3!=(255&h))break Y;if(a[b+d|0]=227,g=g+12353|0,a[2+(h=b+d|0)|0]=63&g|128,a[h+1|0]=g>>>6&7|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p;case 0:if(27!=(0|g))break I;if(a[0|r]=5,(s=s+1|0)>>>0>>0)continue;break p;case 4:}if(h=f[0|(m=r+2|0)],(66!=(0|g)||(V=0,40!=(0|h)))&&!(74==(0|g)&&(V=1,40==(0|h))||73==(0|g)&&(V=2,40==(0|h)))){if(66!=(2|g))break g;if(V=3,36!=(0|h))break g}if(a[0|r]=V,a[r+1|0]=V,a[0|m]=0,g=f[0|p],a[0|p]=1,g)break s;if((s=s+1|0)>>>0>>0)continue;break p}if(27!=(0|g))break B;if(a[0|r]=5,(s=s+1|0)>>>0>>0)continue;break p}if(a[0|p]=0,(g+-33&255)>>>0>93)break b;if(a[0|r]=4,a[r+2|0]=g,(s=s+1|0)>>>0>>0)continue;break p}if(a[0|p]=0,126==(0|h))break W;if(92!=(0|h))break Z;if(a[b+d|0]=194,a[1+(b+d|0)|0]=165,d=d+2|0,(s=s+1|0)>>>0>>0)continue;break p}if(a[0|p]=0,(g+-33&255)>>>0>62)break b;if(h=65535&(g=(255&g)-192|0),a[b+d|0]=h>>>12|224,a[2+(V=b+d|0)|0]=63&g|128,a[V+1|0]=h>>>6&63|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}if(a[0|p]=0,(0|g)<0)break b;if(15==(1|g))break b;if(a[b+d|0]=g,d=d+1|0,(s=s+1|0)>>>0>>0)continue;break p}if(!(g>>>0>85)&&4==(255&h)){if(a[b+d|0]=227,g=g+12449|0,a[2+(h=b+d|0)|0]=63&g|128,a[h+1|0]=g>>>6&7|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}if(g>>>0>=94)break h;if((h=(g=g+c(255&h,94)|0)-1410|0)>>>0>=2965)break m;if(g=o[1091752+(h<<1)>>1],a[b+d|0]=g>>>12|224,a[2+(h=b+d|0)|0]=63&g|128,a[h+1|0]=g>>>6&63|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}if(a[b+d|0]=226,a[0|(g=1+(b+d|0)|0)]=48768,a[g+1|0]=190,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}if((0|g)<0)break b;if(15==(1|g))break b;if(a[b+d|0]=g,d=d+1|0,(s=s+1|0)>>>0>>0)continue;break p}if((h=g+-4418|0)>>>0<3390){if(g=o[1097682+(h<<1)>>1],a[b+d|0]=g>>>12|224,a[2+(h=b+d|0)|0]=63&g|128,a[h+1|0]=g>>>6&63|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}if((h=g+-8272|0)>>>0<360){if(g=o[1104462+(h<<1)>>1],a[b+d|0]=g>>>12|224,a[2+(h=b+d|0)|0]=63&g|128,a[h+1|0]=g>>>6&63|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}V=2;m:{if(g>>>0<=107)h=g;else if(V=5,!((h=g+-119|0)>>>0<8||(V=8,(h=g+-135|0)>>>0<7||(V=11,(h=g+-153|0)>>>0<15||(V=14,(h=g+-175|0)>>>0<8)))))if(187!=(0|g)){if(V=20,!((h=g+-658|0)>>>0<32||(V=23,(h=g+-1159|0)>>>0<23||(V=26,(h=g+-1190|0)>>>0<30||(V=29,(h=g+-10736|0)>>>0<8||(V=32,!((h=g+-8644|0)>>>0>=4)))))))break m}else V=17,h=0;if((g=o[1105662+(V<<1)>>1]+h|0)>>>0>=240)break u;if((g=o[1105182+(g<<1)>>1])>>>0<=2047){if(a[b+d|0]=g>>>6|192,a[1+(b+d|0)|0]=63&g|128,d=d+2|0,(s=s+1|0)>>>0>>0)continue;break p}if(a[b+d|0]=g>>>12|224,a[2+(h=b+d|0)|0]=63&g|128,a[h+1|0]=g>>>6&63|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}if(V=2,!((h=g+-203|0)>>>0<10||(V=5,(h=g+-220|0)>>>0<26||(V=8,(h=g+-252|0)>>>0<26||(V=11,(h=g+-470|0)>>>0<17||(V=14,(h=g+-487|0)>>>0<7||(V=17,(h=g+-502|0)>>>0<17||(V=20,(h=g+-519|0)>>>0<7||(V=23,(h=g+-564|0)>>>0<6||(V=26,h=0,570==(0|g)||(V=29,(h=g+-571|0)>>>0<26||(V=32,(h=g+-612|0)>>>0<6||(V=35,h=0,618==(0|g)||(V=38,(h=g+-619|0)>>>0<26||(V=41,(h=g+-1128|0)>>>0<20||(V=44,(h=g+-1148|0)>>>0<10||(V=47,(h=g+-8634|0)>>>0<10||(V=50,(h=g+-10716|0)>>>0<10||(V=53,!((h=g+-10726|0)>>>0>9))))))))))))))))))))break l;if((h=65535&(g=o[1105728+(V<<1)>>1]+h|0))>>>0<=2047){if(a[b+d|0]=g>>>6|192,a[1+(b+d|0)|0]=63&g|128,d=d+2|0,(s=s+1|0)>>>0>>0)continue;break p}if(a[b+d|0]=h>>>12|224,a[2+(V=b+d|0)|0]=63&g|128,a[V+1|0]=h>>>6&63|128,d=d+3|0,(s=s+1|0)>>>0>>0)continue;break p}break}a[e+4|0]=1;break c}if(l){if((t=f[0|r])+-4>>>0<2){i[e+4>>1]=258,a[0|r]=f[r+1|0],a[e+6|0]=0;break c}if(6==(0|t)){i[e+4>>1]=258,a[r+4|0]=1,a[0|r]=f[r+1|0],a[e+6|0]=1;break c}}a[e+4|0]=0;break c}i[e+4>>1]=258,a[0|r]=5,a[e+6|0]=1;break f}i[e+4>>1]=258,a[r+3|0]=0,a[e+6|0]=0;break k}i[e+4>>1]=770,a[e+6|0]=3;break f}i[e+4>>1]=514;break o}i[e+4>>1]=258,a[0|(t=r+3|0)]=256,a[t+1|0]=1,a[e+6|0]=1;break k}We(1176472,g,240),u()}return i[e+4>>1]=514,a[e+6|0]=0,A[e+8>>2]=d,void(A[e>>2]=s+1)}a[0|r]=f[r+1|0]}return A[e+8>>2]=d,void(A[e>>2]=s)}i[e+4>>1]=258}a[e+6|0]=0}A[e+8>>2]=d,A[e>>2]=s+1}(e,r+1|0,t,n,k,g,h);case 6:if(!n)break t;if(f[r+1|0])break t;if(g>>>0>2)break e;return A[e+8>>2]=0,A[e>>2]=0,void(a[e+4|0]=1);case 7:break a;case 5:break i;case 4:break n;case 8:}return void function(e,r,t,n,b,c,k){var l,g,h=0,s=0,d=0,V=0,p=0,m=0,Z=0,W=0,Y=0,B=0,I=0,F=0,X=0,C=0,y=0,G=0,J=0,U=0,w=0,R=0,E=0,Q=0;if(f[r+5|0]){A:{f:{if(c>>>0>2){if((h=o[r>>1])>>>0>127)break f;p=1;break A}return a[e+4|0]=1,A[e+8>>2]=0,void(A[e>>2]=0)}h>>>0<=2047?(a[0|b]=h>>>6|192,h=63&h|-128,s=1,p=2):(a[0|b]=h>>>12|224,a[b+1|0]=h>>>6&63|128,h=63&h|-128,s=2,p=3)}a[b+s|0]=h,i[r>>1]=0,a[r+5|0]=0}l=r+2|0,g=r+4|0;A:{f:{o:{b:{c:{k:{l:{for(;;){u:{g:{h:{s:{d:{V:{p:{m:if(1!=f[0|l]&&!o[r>>1]){if(f[0|g]){if(B>>>0>n>>>0)break p;if(p>>>0>c>>>0)break V;if(!(h=n-B>>>1))break m;if(s=0,d=0,(Z=c-p|0)>>>0<4)break h;I=b+p|0,m=h,G=216==(252&(f[0|(h=(U=t+B|0)+((d=h+-1|0)<<1)|0)]|f[h+1|0]<<8))?d:m,E=Z+-3|0,d=0,X=0,h=0;break d}if(B>>>0>n>>>0)break p;if(p>>>0>c>>>0)break V;if(h=n-B>>>1){if(s=0,m=0,(W=c-p|0)>>>0<4)break s;F=b+p|0,m=h,J=55296==(64512&(f[0|(h=(w=t+B|0)+((d=h+-1|0)<<1)|0)]|f[h+1|0]<<8))?d:m,Q=W+-3|0,d=0,C=0,h=1;break d}}if((h=B)>>>0>=n>>>0)break g;break u}Ye(B,n),u()}Ye(p,c),u()}for(;;){d:{V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{E:{Q:{x:{v:{j:{H:{T:{N:{O:{S:{D:{M:{P:{K:{L:{if(!h){if(Z>>>0>>0)break F;if(!(Y=(y=G-d|0)>>>0>(m=Z-X|0)>>>0?m:y))break L;for(s=(d<<1)+U|0,R=I+X|0,h=0;;){if(h>>>0>=y>>>0)break b;if((V=((V=f[0|s]|f[s+1|0]<<8)<<24|V<<8&16711680)>>>16)>>>0<=127){if(h>>>0>=m>>>0)break S;if(a[h+R|0]=V,s=s+2|0,(0|Y)!=(0|(h=h+1|0)))continue;break L}break}if((s=h+X|0)>>>0>=E>>>0)break P;for(d=1+(h+d|0)|0;;){z:{q:{if((h=V+10240&65535)>>>0>=2048){if((65535&V)>>>0>=2048)break q;if(s>>>0>=Z>>>0)break I;if(a[s+I|0]=V>>>6|192,(h=s+1|0)>>>0>=Z>>>0)break B;m=2,h=h+I|0;break z}if(h>>>0>1023)break D;if(d>>>0>=G>>>0)break D;if(56320!=(64512&(h=((h=f[0|(h=(d<<1)+U|0)]|f[h+1|0]<<8)<<24|h<<8&16711680)>>>16)))break D;if(s>>>0>=Z>>>0)break N;if(V=(h+((65535&V)<<10)|0)-56613888|0,a[s+I|0]=V>>>18|240,(h=s+1|0)>>>0>=Z>>>0)break T;if(a[h+I|0]=V>>>12&63|128,(h=s+2|0)>>>0>=Z>>>0)break H;if(a[h+I|0]=V>>>6&63|128,(h=s+3|0)>>>0>=Z>>>0)break j;d=d+1|0,m=4,h=h+I|0;break z}if(s>>>0>=Z>>>0)break Y;if(a[s+I|0]=(61440&V)>>>12|224,(h=s+1|0)>>>0>=Z>>>0)break W;if(a[h+I|0]=V>>>6&63|128,(h=s+2|0)>>>0>=Z>>>0)break Z;m=3,h=h+I|0}if(a[0|h]=63&V|128,(s=s+m|0)>>>0>=E>>>0)break h;if((0|d)==(0|G))break h;if(d>>>0>=G>>>0)break b;if(h=d<<1,d=d+1|0,!((V=((h=f[0|(h=h+U|0)]|f[h+1|0]<<8)<<24|h<<8&16711680)>>>16)>>>0>127))break}if(s>>>0>=Z>>>0)break m;if(a[s+I|0]=V,X=s+1|0,d>>>0<=G>>>0)break V;break p}if(W>>>0>>0)break v;if(!(Y=(y=J-d|0)>>>0>(m=W-C|0)>>>0?m:y))break K;for(s=(d<<1)+w|0,R=F+C|0,h=0;;){if(h>>>0>=y>>>0)break b;if((V=f[0|s]|f[s+1|0]<<8)>>>0<=127){if(h>>>0>=m>>>0)break O;if(a[h+R|0]=V,s=s+2|0,(0|Y)!=(0|(h=h+1|0)))continue;break K}break}if((s=h+C|0)>>>0>=Q>>>0)break M;for(d=1+(h+d|0)|0;;){z:{q:{if((h=V+10240&65535)>>>0>=2048){if((65535&V)>>>0>=2048)break q;if(s>>>0>=W>>>0)break x;if(a[s+F|0]=V>>>6|192,(h=s+1|0)>>>0>=W>>>0)break Q;Y=2,h=h+F|0;break z}if(h>>>0>1023)break D;if(d>>>0>=J>>>0)break D;if(56320!=(64512&(h=f[0|(h=(d<<1)+w|0)]|f[h+1|0]<<8)))break D;if(s>>>0>=W>>>0)break E;if(V=(h+((65535&V)<<10)|0)-56613888|0,a[s+F|0]=V>>>18|240,(h=s+1|0)>>>0>=W>>>0)break R;if(a[h+F|0]=V>>>12&63|128,(h=s+2|0)>>>0>=W>>>0)break w;if(a[h+F|0]=V>>>6&63|128,(h=s+3|0)>>>0>=W>>>0)break U;Y=4,d=d+1|0,h=h+F|0;break z}if(s>>>0>=W>>>0)break J;if(a[s+F|0]=(61440&V)>>>12|224,(h=s+1|0)>>>0>=W>>>0)break G;if(a[h+F|0]=V>>>6&63|128,(h=s+2|0)>>>0>=W>>>0)break y;Y=3,h=h+F|0}if(m=d,a[0|h]=63&V|128,(s=s+Y|0)>>>0>=Q>>>0)break s;if((0|m)==(0|J))break s;if(m>>>0>=J>>>0)break b;if(d=m+1|0,!((V=f[0|(h=(m<<1)+w|0)]|f[h+1|0]<<8)>>>0>127))break}if(s>>>0>=W>>>0)break C;if(a[s+F|0]=V,C=s+1|0,d>>>0<=J>>>0)break d;break X}s=Y+X|0,d=d+Y|0;break h}s=Y+C|0,m=d+Y|0;break s}d=h+d|0,s=h+X|0;break h}m=h+d|0,s=h+C|0;break s}return i[e+4>>1]=514,a[e+6|0]=0,A[e+8>>2]=s+p,void(A[e>>2]=(d<<1)+B)}We(1176220,h,m),u()}We(1176220,h,m),u()}We(1176316,s,Z),u()}We(1176332,h,Z),u()}We(1176348,h,Z),u()}We(1176364,h,Z),u()}Ye(C,W),u()}We(1176236,s,W),u()}We(1176252,h,W),u()}We(1176316,s,W),u()}We(1176332,h,W),u()}We(1176348,h,W),u()}We(1176364,h,W),u()}We(1176268,s,W),u()}We(1176284,h,W),u()}We(1176300,h,W),u()}We(1176380,s,W),u()}xe(1051510,34,1176204),u()}Ye(X,Z),u()}We(1176236,s,Z),u()}We(1176252,h,Z),u()}We(1176268,s,Z),u()}We(1176284,h,Z),u()}We(1176300,h,Z),u()}We(1176380,s,Z),u()}xe(1051510,34,1176204),u()}h=0;continue}h=1}}if(p=s+p|0,(h=(m<<1)+B|0)>>>0>>0)break u;break g}if(p=s+p|0,(h=(d<<1)+B|0)>>>0>>0)break u}g:{if(k){if(o[r>>1]){if(i[r>>1]=0,1!=f[0|(r=r+2|0)])break g;i[e+4>>1]=770;break o}if(1==f[0|(r=r+2|0)]){i[e+4>>1]=258;break o}}a[e+4|0]=0;break f}i[e+4>>1]=514,a[e+6|0]=0;break f}if(!((d=p+3|0)>>>0>>0))break;if(B=h+1|0,h=f[t+h|0],1==f[0|l]){a[0|l]=0,m=f[r+3|0],h=(s=(Y=(V=f[0|g])?m:h)<<8)|255&(m=V?h:m);u:{if(56320!=(0|(s&=64512))){if(55296!=(0|s))break u;if(d=o[r>>1],i[r>>1]=h,!d)continue;break k}if(!(d=o[r>>1]))break l;h=((65535&h)+(d<<10)|0)-56613888|0,a[b+p|0]=h>>>18|240,a[3+(d=b+p|0)|0]=63&h|128,a[d+2|0]=h>>>6&63|128,a[d+1|0]=h>>>12&63|128,i[r>>1]=0,p=p+4|0;continue}if(o[r>>1])break c;(s=65535&h)>>>0<=127?(a[b+p|0]=m,p=p+1|0):s>>>0<=2047?(a[1+(d=b+p|0)|0]=63&m|128,a[0|d]=h>>>6|192,p=p+2|0):(a[2+(p=b+p|0)|0]=63&m|128,a[p+1|0]=h>>>6&63|128,a[0|p]=(240&Y)>>>4|224,p=d)}else a[0|l]=1,a[r+3|0]=h}a[e+4|0]=1;break f}i[e+4>>1]=514,a[e+6|0]=0;break A}i[e+4>>1]=514,a[e+6|0]=2;break A}return i[r>>1]=h,i[e+4>>1]=514,a[r+5|0]=1,a[e+6|0]=2,A[e+8>>2]=p,void(A[e>>2]=B)}xe(1051480,30,1176188),u()}a[e+6|0]=0,a[0|r]=0}return A[e+8>>2]=p,void(A[e>>2]=h)}A[e+8>>2]=p,A[e>>2]=B}(e,r+2|0,t,n,k,g,h)}return void function(e,r,t,n,c,k){var g,h,s=0,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0,F=0;W=g=W-16|0,A[g+8>>2]=0,A[g+4>>2]=k,A[g>>2]=c,h=-256&g;A:{f:{o:{b:{c:{k:{l:{u:{for(;;){g:{if(k>>>0>=V>>>0){m=(Y=(c=k-V|0)>>>0<(s=n-p|0)>>>0)?c:s,c=0;h:{s:{d:{if(!(3&((Z=A[g>>2]+V|0)^(V=t+p|0))||(8|(s=0-V&3))>>>0>m>>>0)){if(s)for(;;){if((0|(d=a[c+V|0]))<0)break d;if(a[c+Z|0]=d,(0|s)==(0|(c=c+1|0)))break}for(I=m+-8|0;;){if(d=A[(s=c+V|0)>>2],B=c+Z|0,s=A[s+4>>2],A[B+4>>2]=s,A[B>>2]=d,(s&=-2139062144)|(d&=-2139062144))break s;if(!((c=c+8|0)>>>0<=I>>>0))break}}if(c>>>0>=m>>>0)break h;for(;;){if((0|(d=a[c+V|0]))<0)break d;if(a[c+Z|0]=d,!((c=c+1|0)>>>0>>0))break}break h}s=c;break g}d=d?(s=d?31-l(d+-1^d)|0:32)>>>3:4+((s=s?31-l(s+-1^s)|0:32)>>>3)|0,s=d+c|0,d=f[(d+V|0)+c|0];break g}V=m+A[(r=g+8|0)>>2]|0,A[r>>2]=V,p=p+m|0;break f}Ye(V,k),u()}if(V=A[(c=g+8|0)>>2]+s|0,A[c>>2]=V,p=s+p|0,V+2>>>0>=k>>>0)break b;if(s=p+1|0,!(d=o[(A[r>>2]+((255&d)<<1)|0)-256>>1]))break l;g:{for(;;){if(p=d>>>6|-64,(k=65535&d)>>>0<=2047||(a[A[g>>2]+V|0]=k>>>12|224,V=A[c>>2]+1|0,A[c>>2]=V,p=k>>>6&63|-128),k=p,a[A[g>>2]+V|0]=k,k=A[c>>2]+1|0,A[c>>2]=k,a[k+A[g>>2]|0]=63&d|128,V=(k=A[c>>2])+1|0,A[c>>2]=V,s>>>0>=n>>>0)break k;if(k+3>>>0>=b[g+4>>2])break c;p=s+1|0;h:{s:{if((0|(d=a[t+s|0]))>=0)for(;;){if(a[A[g>>2]+V|0]=d,V=(k=A[c>>2])+1|0,A[c>>2]=V,(255&d)>>>0>59)break h;if(p>>>0>=n>>>0)break g;if(k+3>>>0>=b[g+4>>2])break u;if(k=t+p|0,p=s=p+1|0,!((0|(d=a[0|k]))>=0))break s}s=p}if(d=o[(A[r>>2]+((255&d)<<1)|0)-256>>1])continue;break l}break}if(k=A[g+4>>2],F=h,p>>>0<=n>>>0)continue;break o}break}A[e>>2]=p,a[e+4|0]=0;break A}A[e>>2]=p,a[e+4|0]=1;break A}i[e+4>>1]=258,A[e>>2]=s,a[e+6|0]=0;break A}A[e>>2]=s,a[e+4|0]=0;break A}A[e>>2]=s,a[e+4|0]=1;break A}Y=1;break f}Ye(p,n),u()}A[e>>2]=p,A[e+4>>2]=Y|F}A[e+8>>2]=V,W=g+16|0}(e,r+4|0,t,n,k,g)}return void function(e,r,t,n,k,g,h){var s,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0,F=0,X=0,C=0;W=s=W-16|0,A[s+8>>2]=0,A[s+4>>2]=g,A[s>>2]=k;n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:if(1==f[0|r]){a[0|r]=0;Z:{W:{Y:{B:{I:{if(n){if(g>>>0<=2)break I;if(I=a[0|t],1!=(0|(d=f[r+1|0])))break Y;if((V=I+97&255)>>>0>82)break Y;a[0|k]=227,d=V+12353|0,a[k+2|0]=63&d|128,a[k+1|0]=d>>>6&7|128;break W}if(!h)break B;A[e>>2]=0,a[e+6|0]=0,i[e+4>>1]=258;break n}A[e>>2]=0,a[e+4|0]=1;break n}A[e>>2]=0,a[e+4|0]=0;break n}Y:{B:{if((255&(p=I+-64|0))>>>0>=63){if((0|I)>=-3){if(a[e+4|0]=2,(0|I)<=-1)break B;p=0,A[e>>2]=0,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break n}p=I+-65|0}if(2==(0|d)&&!((V=255&p)>>>0>85)){a[0|k]=227,d=V+12449|0,a[k+2|0]=63&d|128,a[k+1|0]=d>>>6&7|128;break W}if((d=(V=c(d,188)+(255&p)|0)-1410|0)>>>0<2965){d=o[1091752+(d<<1)>>1],a[k+2|0]=63&d|128,a[0|k]=d>>>12|224,a[k+1|0]=d>>>6&63|128;break W}if((d=V+-4418|0)>>>0<3390){d=o[1097682+(d<<1)>>1],a[k+2|0]=63&d|128,a[0|k]=d>>>12|224,a[k+1|0]=d>>>6&63|128;break W}if((d=V+-10744|0)>>>0>=360)break Y;d=o[1104462+(d<<1)>>1],a[k+2|0]=63&d|128,a[0|k]=d>>>12|224,a[k+1|0]=d>>>6&63|128;break W}A[e>>2]=1,a[0|(r=e+5|0)]=2,a[r+1|0]=0,p=0;break n}if((d=V+-8272|0)>>>0<360)d=o[1104462+(d<<1)>>1],a[k+2|0]=63&d|128,a[0|k]=d>>>12|224,a[k+1|0]=d>>>6&63|128;else if(V+-8836>>>0<1880)d=V+-17028|0,a[k+2|0]=63&d|128,d&=65535,a[0|k]=d>>>12|224,a[k+1|0]=d>>>6&63|128;else{p=2;Y:{B:{if(V>>>0<=107)d=V;else if(p=5,!((d=V+-119|0)>>>0<8||(p=8,(d=V+-135|0)>>>0<7||(p=11,(d=V+-153|0)>>>0<15||(p=14,(d=V+-175|0)>>>0<8)))))if(187!=(0|V)){if(p=20,!((d=V+-658|0)>>>0<32||(p=23,(d=V+-1159|0)>>>0<23||(p=26,(d=V+-1190|0)>>>0<30||(p=29,(d=V+-10736|0)>>>0<8||(p=32,!((d=V+-8644|0)>>>0>=4)))))))break B}else p=17,d=0;if((d=o[1105662+(p<<1)>>1]+d|0)>>>0>=240)break Y;if((d=o[1105182+(d<<1)>>1])>>>0<=2047)break Z;a[k+2|0]=63&d|128,a[0|k]=d>>>12|224,a[k+1|0]=d>>>6&63|128;break W}if(p=2,(d=V+-203|0)>>>0<10||(p=5,(d=V+-220|0)>>>0<26||(p=8,(d=V+-252|0)>>>0<26||(p=11,(d=V+-470|0)>>>0<17||(p=14,(d=V+-487|0)>>>0<7||(p=17,(d=V+-502|0)>>>0<17||(p=20,(d=V+-519|0)>>>0<7||(p=23,(d=V+-564|0)>>>0<6||(p=26,d=0,570==(0|V)||(p=29,(d=V+-571|0)>>>0<26||(p=32,(d=V+-612|0)>>>0<6||(p=35,d=0,618==(0|V)||(p=38,(d=V+-619|0)>>>0<26||(p=41,(d=V+-1128|0)>>>0<20||(p=44,(d=V+-1148|0)>>>0<10||(p=47,(d=V+-8634|0)>>>0<10||(p=50,(d=V+-10716|0)>>>0<10||(p=53,!((d=V+-10726|0)>>>0>9))))))))))))))))))){if((V=65535&(d=o[1105728+(p<<1)>>1]+d|0))>>>0<=2047)break Z;a[k+2|0]=63&d|128,a[0|k]=V>>>12|224,a[k+1|0]=V>>>6&63|128;break W}if(a[e+4|0]=2,p=0,(0|I)>=0){A[e>>2]=0,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break n}A[e>>2]=1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break n}We(1176472,d,240),u()}}if(p=3,A[s+8>>2]=3,m=1,3>g>>>0)break p;break m}if(a[k+1|0]=63&d|128,a[0|k]=d>>>6|192,p=2,A[s+8>>2]=2,m=1,2>g>>>0)break p}for(I=-256&s,V=0;;){Y=(F=(d=g-p|0)>>>0<(Y=n-m|0)>>>0)?d:Y,d=0;m:{Z:{W:{if(!(3&((B=t+m|0)^(p=k+p|0))||(8|(Z=0-B&3))>>>0>Y>>>0)){if(Z)for(;;){if((0|(k=a[d+B|0]))<0)break m;if(a[d+p|0]=k,(0|Z)==(0|(d=d+1|0)))break}for(C=Y+-8|0;;){if(Z=A[(k=d+B|0)>>2],X=d+p|0,k=A[k+4>>2],A[X+4>>2]=k,A[X>>2]=Z,(k&=-2139062144)|(Z&=-2139062144))break W;if(!((d=d+8|0)>>>0<=C>>>0))break}}if(d>>>0>=Y>>>0)break Z;for(;;){if((0|(k=a[d+B|0]))<0)break m;if(a[d+p|0]=k,!((d=d+1|0)>>>0>>0))break}break Z}p=d,Z?(k=Z?31-l(Z+-1^Z)|0:32,k>>>=3):k=4+((k=k?31-l(k+-1^k)|0:32)>>>3)|0,d=d+k|0,k=f[(k+B|0)+p|0];break m}p=A[(r=s+8|0)>>2]+Y|0,A[r>>2]=p,d=m+Y|0;break A}if(p=A[(Y=s+8|0)>>2]+d|0,A[Y>>2]=p,d=d+m|0,p+2>>>0>=g>>>0)break u;m=d+1|0;m:{Z:{for(;;){if((255&(p=k+127|0))>>>0>=31){if((k+32&255)>>>0>=29)break Z;p=k+63|0}if(m>>>0>=n>>>0)break V;if(d=a[0|(B=t+m|0)],1!=(0|(k=255&p))||(g=d+97&255)>>>0>82){if((255&(V=d+-64|0))>>>0>=63){if((0|d)>=-3)break g;V=d+-65|0}if(2!=(0|k)||(g=255&V)>>>0>85)if((g=(k=c(k,188)+(255&V)|0)-1410|0)>>>0<2965)k=o[1091752+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1;else if((g=k+-4418|0)>>>0<3390)k=o[1097682+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1;else{Z=s;W:if((g=k+-10744|0)>>>0<360)p=o[1104462+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0;else if((g=k+-8272|0)>>>0<360)p=o[1104462+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0;else if(k+-8836>>>0<1880)k=65535&(p=k+-17028|0),a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,k=A[s+8>>2]+1|0;else{if(V=2,k>>>0<=107)g=k;else if(V=5,!((g=k+-119|0)>>>0<8||(V=8,(g=k+-135|0)>>>0<7||(V=11,(g=k+-153|0)>>>0<15||(V=14,(g=k+-175|0)>>>0<8)))))if(187!=(0|k)){if(V=20,!((g=k+-658|0)>>>0<32||(V=23,(g=k+-1159|0)>>>0<23||(V=26,(g=k+-1190|0)>>>0<30||(V=29,(g=k+-10736|0)>>>0<8||(V=32,(g=k+-8644|0)>>>0<4)))))){if(g=2,!((V=k+-203|0)>>>0<10||(g=5,(V=k+-220|0)>>>0<26||(g=8,(V=k+-252|0)>>>0<26||(g=11,(V=k+-470|0)>>>0<17||(g=14,(V=k+-487|0)>>>0<7||(g=17,(V=k+-502|0)>>>0<17||(g=20,(V=k+-519|0)>>>0<7||(g=23,(V=k+-564|0)>>>0<6||(g=26,V=0,570==(0|k)||(g=29,(V=k+-571|0)>>>0<26||(g=32,(V=k+-612|0)>>>0<6||(g=35,V=0,618==(0|k)||(g=38,(V=k+-619|0)>>>0<26||(g=41,(V=k+-1128|0)>>>0<20||(g=44,(V=k+-1148|0)>>>0<10||(g=47,(V=k+-8634|0)>>>0<10||(g=50,(V=k+-10716|0)>>>0<10||(g=53,!((V=k+-10726|0)>>>0>9))))))))))))))))))))break c;if((k=65535&(p=o[1105728+(g<<1)>>1]+V|0))>>>0<=2047){a[A[s>>2]+A[s+8>>2]|0]=p>>>6|192,k=A[s+8>>2]+1|0;break W}a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,k=A[s+8>>2]+1|0;break W}}else V=17,g=0;if((k=o[1105662+(V<<1)>>1]+g|0)>>>0>=240)break b;(p=o[1105182+(k<<1)>>1])>>>0<=2047?(a[A[s>>2]+A[s+8>>2]|0]=p>>>6|192,k=A[s+8>>2]+1|0):(a[A[s>>2]+A[s+8>>2]|0]=p>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=p>>>6&63|128,k=A[s+8>>2]+1|0)}A[Z+8>>2]=k,a[k+A[s>>2]|0]=63&p|128,A[(k=s+8|0)>>2]=A[k>>2]+1}else a[A[s>>2]+A[s+8>>2]|0]=227,k=A[s+8>>2]+1|0,A[s+8>>2]=k,d=k+A[s>>2]|0,k=g+12449|0,a[0|d]=k>>>6&7|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1}else a[A[s>>2]+A[s+8>>2]|0]=227,k=A[s+8>>2]+1|0,A[s+8>>2]=k,d=k+A[s>>2]|0,k=g+12353|0,a[0|d]=k>>>6&7|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1;if(p=A[(V=s+8|0)>>2],m+1>>>0>=n>>>0)break d;if(p+2>>>0>=b[s+4>>2])break s;if(m=m+2|0,!((0|(k=a[B+1|0]))<0))break}d=A[s>>2]+p|0;break m}if((g=k+95&255)>>>0>62){if(128!=(255&k))break k;a[A[s>>2]+A[s+8>>2]|0]=194,k=A[s+8>>2]+1|0,A[s+8>>2]=k,V=s+8|0,d=k+A[s>>2]|0,k=128}else g=65535&(k=g+-159|0),a[A[s>>2]+A[s+8>>2]|0]=g>>>12|224,d=A[s+8>>2]+1|0,A[s+8>>2]=d,a[d+A[s>>2]|0]=g>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,V=s+8|0,k=63&k|-128,d=g+A[s>>2]|0}if(a[0|d]=k,A[V>>2]=A[V>>2]+1,m>>>0>n>>>0)break o;if((g=A[s+4>>2])>>>0<(p=A[Y>>2])>>>0)break p;k=A[s>>2],V=I}}Ye(p,g),u()}if(!h)break h;p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=m;break n}a[e+4|0]=0,A[e>>2]=m+1;break n}a[e+4|0]=1,A[e>>2]=m+1;break n}a[0|r]=1,a[r+1|0]=p,p=A[s+8>>2],A[e>>2]=m,a[e+4|0]=0;break n}if(p=A[s+8>>2],a[e+4|0]=2,(0|d)<=-1)break l;A[e>>2]=m,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break n}F=1;break A}A[e>>2]=m+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break n}p=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=m;break n}if(p=A[s+8>>2],a[e+4|0]=2,(0|d)<0)break f;A[e>>2]=m,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break n}We(1176472,k,240),u()}Ye(m,n),u()}A[e>>2]=m+1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break n}A[e>>2]=d,A[e+4>>2]=V|F}A[e+8>>2]=p,W=s+16|0}(e,r+1|0,t,n,k,g,h)}return void function(e,r,t,n,k,g,h){var s,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0,F=0,X=0,C=0;W=s=W-16|0,A[s+8>>2]=0,A[s+4>>2]=g,A[s>>2]=k;i:{n:{A:{f:{o:{b:if(1==f[0|r]){a[0|r]=0;c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{C:{y:{G:{J:{U:{w:{R:{E:{Q:{x:{v:{j:{if(n){if(g>>>0<=2)break j;if(p=a[0|t],(Z=f[r+1|0])>>>0<32)break x;if(Y=Z+-32|0,(d=255&(m=p+95|0))>>>0>=94)break Q;if((Y=(p=d+c(255&Y,94)|0)-1410|0)>>>0>=2350)break R;p=o[1112292+(Y<<1)>>1],a[k+2|0]=63&p|128,a[0|k]=p>>>12|224,a[k+1|0]=p>>>6&63|128;break k}if(!h)break v;A[e>>2]=0,a[e+6|0]=0,i[e+4>>1]=258;break i}A[e>>2]=0,a[e+4|0]=1;break i}A[e>>2]=0,a[e+4|0]=0;break i}if((p+127&255)>>>0>=126)break E;V=p+-77|0;break J}if((p+127&255)>>>0>=32)break w;m=p+-77|0;break C}if((p+-97&255)>>>0>25)break U;V=p+-71|0;break J}if(p>>>0>=165)break G;if((d=o[1126768+(p<<1)>>1])>>>0>2047)break Y;a[k+1|0]=63&d|128;break c}if((p+-97&255)>>>0>25)break y;m=p+-71|0;break C}if((255&(V=p+-65|0))>>>0>=26)break X}if(V=(p=65535&(d=c(Z,178)+(255&V)|0))>>>0>>0<2868?0:539)|0)<<1)>>1]?V:Z,V=p>>>0>1]?V:Z,V=p>>>0>1]?V:Z,V=p>>>0>1]?V:Z,V=p>>>0>1]?V:Z,V=p>>>0>1]?V:Z,V=p>>>0>1]?V:Z,V=p>>>0>1]?V:Z,V=p>>>0>1]?V:Z,Z=p>>>0>1]?V:Z,(0|(m=o[1105836+(V=Z<<1)>>1]))!=(0|p)){if((p=(Z+(p>>>0>m>>>0)|0)-1|0)>>>0>1078)break g;m=(p=65535&(d=(d+o[1107994+(p<<=1)>>1]|0)-o[p+1105836>>1]|0))>>>12,p>>>=6}else m=(d=o[V+1107994>>1])>>>12,p=d>>>6;a[0|k]=224|m,a[k+2|0]=63&d|128,a[k+1|0]=63&p|128;break k}if((Y=p+-3854|0)>>>0>=4888)break W;p=o[1116992+(Y<<1)>>1],a[k+2|0]=63&p|128,a[0|k]=p>>>12|224,a[k+1|0]=p>>>6&63|128;break k}if((255&(m=p+-65|0))>>>0>=26)break Z}if((Z=c(255&Y,84)+(255&m)|0)>>>0<=3125){if(d=o[1110152+((p=134+(d=Z>>>0<1715?0:267)|0)<<1)>>1]>Z>>>0?d:p,d=o[1110152+((p=d+67|0)<<1)>>1]>Z>>>0?d:p,d=o[1110152+((p=d+33|0)<<1)>>1]>Z>>>0?d:p,d=o[1110152+((p=d+17|0)<<1)>>1]>Z>>>0?d:p,d=o[1110152+((p=d+8|0)<<1)>>1]>Z>>>0?d:p,d=o[1110152+((p=d+4|0)<<1)>>1]>Z>>>0?d:p,d=o[1110152+((p=d+2|0)<<1)>>1]>Z>>>0?d:p,d=o[1110152+((p=d+1|0)<<1)>>1]>Z>>>0?d:p,p=o[1110152+((p=d+1|0)<<1)>>1]>Z>>>0?d:p,(0|(V=o[1110152+(d=p<<1)>>1]))!=(0|Z))break F;m=(d=o[d+1111222>>1])>>>12,p=d>>>6;break I}if(a[e+4|0]=2,(0|p)<0)break B;A[e>>2]=0,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break i}if(a[e+4|0]=2,V=0,(0|p)<0)break m;A[e>>2]=0,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break i}if((p=(p+(V>>>0>>0)|0)-1|0)>>>0>534)break u;m=(p=65535&(d=(Z+o[1111222+(p<<=1)>>1]|0)-o[p+1110152>>1]|0))>>>12,p>>>=6}a[0|k]=224|m,a[k+2|0]=63&d|128,a[k+1|0]=63&p|128;break k}A[e>>2]=1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break i}a[k+2|0]=63&d|128,a[0|k]=d>>>12|224,a[k+1|0]=d>>>6&63|128;break k}if(37==(0|Z))break d;if(39==(0|Z))break V;if(40!=(0|Z))break s;if((255&m)>>>0>15)break s;d=o[1127128+(d<<1)>>1],a[k+1|0]=63&d|128;break c}if(a[e+4|0]=2,(0|p)<0)break p;A[e>>2]=0,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break i}A[e>>2]=1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break i}A[e>>2]=1,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break i}if((255&m)>>>0>14)break s;if(!(d=o[1127098+(d<<1)>>1]))break h;a[k+1|0]=63&d|128;break c}if(!((255&m)>>>0>=68)){p=o[1127160+(d<<1)>>1],a[k+2|0]=63&p|128,a[0|k]=p>>>12|224,a[k+1|0]=p>>>6&63|128;break k}}s:{d:{if((Z=p+-188|0)>>>0<927){if(m=o[1127296+((d=19+(m=(p=65535&Z)>>>0<443?0:38)|0)<<1)>>1]>p>>>0?m:d,m=o[1127296+((d=m+10|0)<<1)>>1]>p>>>0?m:d,m=o[1127296+((d=m+5|0)<<1)>>1]>p>>>0?m:d,m=o[1127296+((d=m+2|0)<<1)>>1]>p>>>0?m:d,m=o[1127296+((d=m+1|0)<<1)>>1]>p>>>0?m:d,d=o[1127296+((d=m+1|0)<<1)>>1]>p>>>0?m:d,(0|(Y=o[1127296+(m=d<<1)>>1]))!=(0|p))break d;d=o[m+1127452>>1];break s}i[e+4>>1]=514,A[e>>2]=1,a[e+6|0]=0;break i}if((p=(d+(Y>>>0

>>0)|0)-1|0)>>>0>76)break l;d=(Z+o[1127452+(p<<=1)>>1]|0)-o[p+1127296>>1]|0}if((p=65535&d)>>>0<128){i[e+4>>1]=514,A[e>>2]=1,a[e+6|0]=0;break i}if(p>>>0<=2047){a[k+1|0]=63&d|128;break c}a[k+2|0]=63&d|128,p=65535&d,a[0|k]=p>>>12|224,a[k+1|0]=p>>>6&63|128;break k}i[e+4>>1]=514,A[e>>2]=1,a[e+6|0]=0;break i}We(1176520,p,1079),u()}We(1176520,p,535),u()}We(1176520,p,77),u()}if(V=3,A[s+8>>2]=3,m=1,3>g>>>0)break o;break b}if(a[0|k]=d>>>6|192,V=2,A[s+8>>2]=2,m=1,2>g>>>0)break o}Z=-256&s,p=0;b:{c:{k:{for(;;){Y=(F=(d=g-V|0)>>>0<(Y=n-m|0)>>>0)?d:Y,d=0;l:{u:{g:{if(!(3&((I=t+m|0)^(V=k+V|0))||(8|(B=0-I&3))>>>0>Y>>>0)){if(B)for(;;){if((0|(k=a[d+I|0]))<0)break l;if(a[d+V|0]=k,(0|B)==(0|(d=d+1|0)))break}for(C=Y+-8|0;;){if(B=A[(k=d+I|0)>>2],X=d+V|0,k=A[k+4>>2],A[X+4>>2]=k,A[X>>2]=B,(k&=-2139062144)|(B&=-2139062144))break g;if(!((d=d+8|0)>>>0<=C>>>0))break}}if(d>>>0>=Y>>>0)break u;for(;;){if((0|(k=a[d+I|0]))<0)break l;if(a[d+V|0]=k,!((d=d+1|0)>>>0>>0))break}break u}V=d,B?(k=B?31-l(B+-1^B)|0:32,k>>>=3):k=4+((k=k?31-l(k+-1^k)|0:32)>>>3)|0,d=d+k|0,k=f[(k+I|0)+V|0];break l}V=A[(r=s+8|0)>>2]+Y|0,A[r>>2]=V,d=m+Y|0;break n}if(V=A[(Y=s+8|0)>>2]+d|0,A[Y>>2]=V,d=d+m|0,V+2>>>0>=g>>>0)break A;if(m=d+1|0,(255&(g=k+127|0))>>>0>125)break c;l:{for(;;){u:{g:{h:{s:{d:{V:{p:{m:{Z:{W:{Y:{B:{I:{F:{X:{if(!(m>>>0>>0)){if(!h)break F;V=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=258,A[e>>2]=m;break i}p=m+1|0,d=a[t+m|0],B=s;C:{y:{G:{J:{U:{w:{R:{E:{Q:{x:{v:{j:{if((g&=255)>>>0>=32){if(V=k+95|0,(g=d+95&255)>>>0>=94)break j;if((V=(d=g+c(255&V,94)|0)-1410|0)>>>0>=2350)break x;if(k=o[1112292+(V<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,V=A[(d=s+8|0)>>2],p>>>0>>0)break u;break X}if((d+127&255)>>>0>=126)break v;k=d+-77|0;break R}if((d+127&255)>>>0>=32)break Q;k=d+-77|0;break J}if((d+-97&255)>>>0>25)break E;k=d+-71|0;break R}if(d>>>0>=165)break w;if((k=o[1126768+(d<<1)>>1])>>>0>2047)break G;if(a[A[s>>2]+A[s+8>>2]|0]=k>>>6|192,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,V=A[(d=s+8|0)>>2],p>>>0>>0)break u;break X}if((d+-97&255)>>>0>25)break U;k=d+-71|0;break J}if((255&(k=d+-65|0))>>>0>=26)break B}if(V=(k=65535&(d=c(g,178)+(255&k)|0))>>>0>>0<2868?0:539)|0)<<1)>>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,V=k>>>0>1]?V:g,g=k>>>0>1]?V:g,(0|(I=o[1105836+(V=g<<1)>>1]))!=(0|k)){if((k=(g+(k>>>0>I>>>0)|0)-1|0)>>>0>1078)break s;V=(g=65535&(k=(d+o[1107994+(k<<=1)>>1]|0)-o[k+1105836>>1]|0))>>>12,g>>>=6}else V=(k=o[V+1107994>>1])>>>12,g=k>>>6;if(a[A[s>>2]+A[s+8>>2]|0]=224|V,d=A[s+8>>2]+1|0,A[s+8>>2]=d,a[d+A[s>>2]|0]=63&g|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,V=A[(d=s+8|0)>>2],p>>>0>=n>>>0)break X;break u}if((V=d+-3854|0)>>>0>=4888)break y;V=o[1116992+(V<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=V>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=V>>>6&63|128,k=A[s+8>>2]+1|0;break C}if((255&(k=d+-65|0))>>>0>=26)break W}if((k=c(255&V,84)+(255&k)|0)>>>0>3125)break I;if(d=o[1110152+((g=134+(d=k>>>0<1715?0:267)|0)<<1)>>1]>k>>>0?d:g,d=o[1110152+((g=d+67|0)<<1)>>1]>k>>>0?d:g,d=o[1110152+((g=d+33|0)<<1)>>1]>k>>>0?d:g,d=o[1110152+((g=d+17|0)<<1)>>1]>k>>>0?d:g,d=o[1110152+((g=d+8|0)<<1)>>1]>k>>>0?d:g,d=o[1110152+((g=d+4|0)<<1)>>1]>k>>>0?d:g,d=o[1110152+((g=d+2|0)<<1)>>1]>k>>>0?d:g,d=o[1110152+((g=d+1|0)<<1)>>1]>k>>>0?d:g,g=o[1110152+((g=d+1|0)<<1)>>1]>k>>>0?d:g,(0|(V=o[1110152+(d=g<<1)>>1]))!=(0|k)){if((g=(g+(V>>>0>>0)|0)-1|0)>>>0>534)break h;V=(g=65535&(k=(k+o[1111222+(g<<=1)>>1]|0)-o[g+1110152>>1]|0))>>>12,g>>>=6}else V=(k=o[d+1111222>>1])>>>12,g=k>>>6;if(a[A[s>>2]+A[s+8>>2]|0]=224|V,d=A[s+8>>2]+1|0,A[s+8>>2]=d,a[d+A[s>>2]|0]=63&g|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,V=A[(d=s+8|0)>>2],p>>>0>>0)break u;break X}if(a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=63&k|128,A[s+8>>2]=A[s+8>>2]+1,V=A[(d=s+8|0)>>2],p>>>0>>0)break u;break X}y:{if(166!=(0|(k&=255))){if(168!=(0|k)){if(169!=(0|k))break y;if(g>>>0>15)break y;V=o[1127128+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=V>>>6|192,k=A[s+8>>2]+1|0;break C}if(g>>>0>14)break y;if(!(V=o[1127098+(g<<1)>>1]))break d;a[A[s>>2]+A[s+8>>2]|0]=V>>>6|192,k=A[s+8>>2]+1|0;break C}if(!(g>>>0>=68)){V=o[1127160+(g<<1)>>1],a[A[s>>2]+A[s+8>>2]|0]=V>>>12|224,k=A[s+8>>2]+1|0,A[s+8>>2]=k,a[k+A[s>>2]|0]=V>>>6&63|128,k=A[s+8>>2]+1|0;break C}}if((g=d+-188|0)>>>0>=927)break p;V=o[1127296+((d=19+(V=(k=65535&g)>>>0<443?0:38)|0)<<1)>>1]>k>>>0?V:d,V=o[1127296+((d=V+10|0)<<1)>>1]>k>>>0?V:d,V=o[1127296+((d=V+5|0)<<1)>>1]>k>>>0?V:d,V=o[1127296+((d=V+2|0)<<1)>>1]>k>>>0?V:d,V=o[1127296+((d=V+1|0)<<1)>>1]>k>>>0?V:d,d=o[1127296+((d=V+1|0)<<1)>>1]>k>>>0?V:d;y:{if((0|(I=o[1127296+(V=d<<1)>>1]))==(0|k)){if((k=V=o[V+1127452>>1])>>>0>=128)break y;break V}if((k=(d+(I>>>0>>0)|0)-1|0)>>>0>76)break g;if((k=65535&(V=(g+o[1127452+(k<<=1)>>1]|0)-o[k+1127296>>1]|0))>>>0<128)break V}k>>>0<=2047?(a[A[s>>2]+A[s+8>>2]|0]=V>>>6|192,k=A[s+8>>2]+1|0):(a[A[s>>2]+A[s+8>>2]|0]=k>>>12|224,g=A[s+8>>2]+1|0,A[s+8>>2]=g,a[g+A[s>>2]|0]=k>>>6&63|128,k=A[s+8>>2]+1|0)}if(A[B+8>>2]=k,a[k+A[s>>2]|0]=63&V|128,A[(k=s+8|0)>>2]=A[k>>2]+1,V=A[(d=s+8|0)>>2],p>>>0>>0)break u}A[e>>2]=p,a[e+4|0]=0;break i}a[0|r]=1,a[r+1|0]=g,V=A[s+8>>2],A[e>>2]=m,a[e+4|0]=0;break i}if(V=A[s+8>>2],a[e+4|0]=2,(0|d)<0)break Y;A[e>>2]=m,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break i}if(V=A[s+8>>2],a[e+4|0]=2,(0|d)<0)break Z;A[e>>2]=m,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break i}A[e>>2]=p,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break i}if(V=A[s+8>>2],a[e+4|0]=2,(0|d)<0)break m;A[e>>2]=m,a[0|(r=e+5|0)]=1,a[r+1|0]=0;break i}A[e>>2]=p,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break i}A[e>>2]=p,a[0|(r=e+5|0)]=2,a[r+1|0]=0;break i}V=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=514,A[e>>2]=p;break i}V=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=514,A[e>>2]=p;break i}V=A[s+8>>2],a[e+6|0]=0,i[e+4>>1]=514,A[e>>2]=p;break i}We(1176520,k,1079),u()}We(1176520,g,535),u()}We(1176520,k,77),u()}if(V+2>>>0>=b[s+4>>2])break b;m=m+2|0;u:{if((0|(k=a[t+p|0]))>=0)for(;;){if(a[A[s>>2]+V|0]=k,V=(g=A[d>>2])+1|0,A[d>>2]=V,(255&k)>>>0>59)break u;if(m>>>0>=n>>>0)break l;if(g+3>>>0>=b[s+4>>2])break k;if(k=t+m|0,m=m+1|0,!((0|(k=a[0|k]))>=0))break}if((255&(g=k+127|0))>>>0<=125)continue;break c}break}if(m>>>0>n>>>0)break f;if((g=A[s+4>>2])>>>0<(V=A[Y>>2])>>>0)break o;k=A[s>>2],p=Z;continue}break}A[e>>2]=m,a[e+4|0]=0;break i}A[e>>2]=m,a[e+4|0]=1;break i}i[e+4>>1]=258,A[e>>2]=m,a[e+6|0]=0;break i}A[e>>2]=p,a[e+4|0]=1;break i}Ye(V,g),u()}Ye(m,n),u()}F=1}A[e>>2]=d,A[e+4>>2]=p|F}A[e+8>>2]=V,W=s+16|0}(e,r+1|0,t,n,k,g,h)}r=0,s=0;a:if(n)for(h=0;;){if((V=r+2|0)>>>0>=g>>>0)break r;if(d=r+k|0,s=h+1|0,(0|(h=a[t+h|0]))>=0){if(a[0|d]=h,r=r+1|0,(h=s)>>>0>>0)continue;break a}if(a[0|d]=239,a[k+V|0]=63&h|128,a[d+1|0]=(192&h)>>>6|156,r=r+3|0,!((h=s)>>>0>>0))break}return A[e+8>>2]=r,A[e>>2]=s,void(a[e+4|0]=0)}return A[e+8>>2]=0,A[e>>2]=n,void(a[e+4|0]=0)}return A[e+8>>2]=r,A[e>>2]=h,void(a[e+4|0]=1)}i[e+4>>1]=258,A[e+8>>2]=0,A[e>>2]=1,a[e+6|0]=0,a[r+1|0]=1}function P(e,r,t){var a,i=0,n=0,o=0,b=0;W=a=W-48|0;e:{r:{t:{a:{i:{n:{A:{f:if(!((i=f[r+24|0])>>>0>10)){o:switch(i-1|0){case 9:break t;case 7:break i;case 5:case 6:break A;case 0:case 1:case 2:case 8:break f;case 3:case 4:break o;default:break n}if((n=t+2|0)>>>0>>0)break e;if((i=n+3|0)>>>0>>0)break e;if(1176e3==A[r>>2])break r;if(U(a+24|0,r+4|0,n),1!=A[a+24>>2])break e;i=(r=A[a+28>>2])>>>0>>0?i:r;break r}U(a+16|0,r+4|0,t),i=A[a+20>>2],o=A[a+16>>2];break e}if((n=t+2|0)>>>0>>0)break e;if((t=n+1|0)>>>0>>0)break e;if(t=fr(t>>>1,0,3),Y)break e;if((i=t+1|0)>>>0>>0)break e;if(1175976==(0|(t=A[r>>2])))break r;if(1175952==(0|t))break r;if(U(a+32|0,r+4|0,n),1!=A[a+32>>2])break e;i=(r=A[a+36>>2])>>>0>>0?i:r;break r}if((i=t+3|0)>>>0>>0)break e;if((n=t+1|0)>>>0>>0)break e;if(n=fr(n>>>1,0,3),Y)break e;if((b=n+1|0)>>>0>=n>>>0)break a;break e}if((i=t+2|0)>>>0>>0)break e;U(a+40|0,r+4|0,i),i=A[a+44>>2],o=A[a+40>>2];break e}if(i=b>>>0>>0?i:b,1176e3==(0|(n=A[r>>2])))break r;if(1175976==(0|n))break r;if(1175952==(0|n))break r;if(U(a+8|0,r+4|0,t),1!=A[a+8>>2])break e;i=(r=A[a+12>>2])>>>0>>0?i:r;break r}xe(1051088,41,1176060),u()}o=1}A[e+4>>2]=i,A[e>>2]=o,W=a+48|0}function K(e,r){var t=0,i=0,n=0,o=0,b=0,c=0,k=0,l=0,g=0,h=0,s=0;e:{r:{t:{a:{i:{n:{A:{if((0|(b=A[r+8>>2]))!=(0|(c=A[r+12>>2]))){if(n=b+1|0,A[r+8>>2]=n,(0|(i=(t=1+(i=c-n|0)|0)>>>0>>0?-1:t))<=-1)break t;if(t=f[0|b],!(o=ze(i,1)))break r;if(a[0|o]=t,g=A[r+16>>2],l=A[r+4>>2],h=A[r>>2],(0|n)==(0|c))break A;for(s=c-b|0,r=1;;){if(k=f[0|(t=r+b|0)],(0|r)==(0|i)){if((n=((t=1+(n=c-(t+1|0)|0)|0)>>>0>>0?-1:t)+i|0)>>>0>>0)break i;if((0|(t=n>>>0<(t=i<<1)>>>0?t:n))<0)break i;f:{if(i){if(o=Oe(o,i,1,t))break f;break a}if(!(o=ze(t,1)))break a}i=t}if(a[r+o|0]=k,(0|s)==(0|(r=r+1|0)))break}if(l)break n;break e}return A[e+8>>2]=0,A[e>>2]=1,A[e+4>>2]=0,void((n=A[r+4>>2])&&(t=A[r>>2],e=A[r+16>>2],(0|t)!=(0|(i=A[(r=e+8|0)>>2]))&&Ve((e=A[e>>2])+i|0,e+t|0,n),A[r>>2]=i+n))}if(r=1,!l)break e}return(0|(k=A[(n=g+8|0)>>2]))!=(0|h)&&Ve((t=A[g>>2])+k|0,t+h|0,l),A[n>>2]=l+k,A[e+8>>2]=r,A[e+4>>2]=i,void(A[e>>2]=o)}$e(),u()}e=A[294745],br[e||55](t,1),u()}er(),u()}e=A[294745],br[e||55](i,1),u()}A[e+8>>2]=r,A[e+4>>2]=i,A[e>>2]=o}function L(e,r,t,a){var n,b,k,l=0,g=0;W=n=W-48|0,k=A[t+4>>2],b=A[t>>2];e:{r:{if(l=A[r+48>>2])for(r=A[r+40>>2],g=A[t+8>>2],t=c(l,84);;){if(A[r+32>>2]==(0|g)){if((0|(l=A[r+24>>2]))==(0|b))break r;if(!Ge(l,b,g))break r}if(r=r+84|0,!(t=t+-84|0))break}if(r=qe(1048808,16),k&&E(b),A[e>>2]=1,A[e+4>>2]=r,!A[a+4>>2])break e;E(A[a>>2]);break e}if(k&&E(b),A[n+40>>2]=A[a+8>>2],A[n+24>>2]=0,A[n+28>>2]=0,t=A[a+4>>2],A[n+32>>2]=A[a>>2],A[n+36>>2]=t,I(n+8|0,n+24|0,r),1!=A[n+8>>2]){if(t=A[n+16>>2],a=A[n+12>>2],!f[r+83|0])return r=A[n+20>>2],A[e+4>>2]=a,A[e>>2]=0,A[e+12>>2]=r,A[e+8>>2]=t,void(W=n+48|0);if(r=qe(1048798,10),A[e>>2]=1,A[e+4>>2]=r,!t)break e;E(a)}else r=n+8|4,A[n+32>>2]=A[r+8>>2],t=A[r+4>>2],A[n+24>>2]=A[r>>2],A[n+28>>2]=t,r=function(e){var r,t=0,a=0,n=0,b=0;W=r=W+-64|0;r:{t:{a:{i:{n:{A:{f:{if((t=(n=o[e>>1])+-1|0)>>>0<=3){switch(t-1|0){case 0:break n;case 2:break A;case 1:break f}if(!(t=ze(38,1)))break t;A[r+36>>2]=38,A[r+40>>2]=0,A[r+32>>2]=t,he(r+32|0,38),t=A[r+40>>2],A[r+40>>2]=t+38,ke(t+A[r+32>>2]|0,38,1050254,38),A[r+16>>2]=A[r+40>>2],t=A[r+36>>2],A[r+8>>2]=A[r+32>>2],A[r+12>>2]=t;break i}if(!(t=ze(31,1)))break a;A[r+36>>2]=31,A[r+40>>2]=0,A[r+32>>2]=t,he(r+32|0,31),t=A[r+40>>2],A[r+40>>2]=t+31,ke(t+A[r+32>>2]|0,31,1050292,31),A[r+16>>2]=A[r+40>>2],t=A[r+36>>2],A[r+8>>2]=A[r+32>>2],A[r+12>>2]=t;break i}i[r+24>>1]=o[e+2>>1],A[r+52>>2]=1,A[r+60>>2]=17,A[r+36>>2]=1,A[r+40>>2]=0,A[r+32>>2]=1175692,A[r+56>>2]=r+24,A[r+48>>2]=r+56,ee(r+8|0,r+32|0);break i}if(a=A[4+(t=e+4|0)>>2],A[r+24>>2]=A[t>>2],A[r+28>>2]=a,a=1,A[r+52>>2]=1,A[r+60>>2]=26,A[r+36>>2]=1,A[r+40>>2]=0,A[r+32>>2]=1175684,A[r+56>>2]=r+24,A[r+48>>2]=r+56,ee(r+8|0,r+32|0),f[r+24|0]<2)break i;t=A[r+28>>2],br[A[A[t+4>>2]>>2]](A[t>>2]),A[A[t+4>>2]+4>>2]&&E(A[t>>2]),E(A[r+28>>2]);break i}if(!(t=ze(28,1)))break r;A[r+36>>2]=28,A[r+40>>2]=0,A[r+32>>2]=t,he(r+32|0,28),t=A[r+40>>2],A[r+40>>2]=t+28,ke(t+A[r+32>>2]|0,28,1050226,28),A[r+16>>2]=A[r+40>>2],t=A[r+36>>2],A[r+8>>2]=A[r+32>>2],A[r+12>>2]=t}return b=qe(t=A[r+8>>2],A[r+16>>2]),A[r+12>>2]&&E(t),4!=(0|n)|a||f[e+4|0]<2||(e=A[e+8>>2],br[A[A[e+4>>2]>>2]](A[e>>2]),A[A[e+4>>2]+4>>2]&&E(A[e>>2]),E(e)),W=r- -64|0,b}e=A[294745],br[e||55](31,1),u()}e=A[294745],br[e||55](38,1),u()}e=A[294745],br[e||55](28,1),u()}(n+24|0),A[e>>2]=1,A[e+4>>2]=r}W=n+48|0}function z(e,r,t,i,n,o,b){var c,k=0,l=0,g=0,h=0;W=c=W-32|0,a[r+24|0]=9;e:{r:{t:{a:{i:{n:{if(1!=(0|b)){if(b)break n;if(a[c+14|0]=48111,a[c+15|0]=187,k=2,M(c+16|0,l=r+4|0,c+14|0,2,n,o,0),b=A[c+24>>2],2==(0|(g=f[c+20|0])))break i;if(1==(0|g))break t;if(b>>>0>o>>>0)break r;M(c+16|0,l,t,i,n+b|0,o-b|0,1),t=A[c+24>>2],h=A[c+16>>2],o=f[c+21|0]|f[c+22|0]<<8,(k=f[c+20|0])||(a[r+24|0]=10),b=t+b|0;break a}re(e,r,t,i,n,o,0,239);break e}M(c+16|0,r+4|0,t,i,n,o,1),i=A[c+24>>2],n=A[c+16>>2],t=f[c+21|0]|f[c+22|0]<<8,(o=f[c+20|0])||(a[r+24|0]=10),a[e+4|0]=o,A[e+8>>2]=i,A[e>>2]=n,a[0|(e=e+5|0)]=t,a[e+1|0]=t>>>8;break e}o=f[c+21|0]|f[c+22|0]<<8,1==A[c+16>>2]&&(a[r+24|0]=8)}a[e+4|0]=k,A[e+8>>2]=b,A[e>>2]=h,a[0|(e=e+5|0)]=o,a[e+1|0]=o>>>8;break e}xe(1051129,39,1176124),u()}Ye(b,o),u()}W=c+32|0}function q(e,r,t,i,n){var o,b=0,c=0,k=0,l=0,u=0,g=0,h=0,s=0,d=0,V=0;W=o=W-96|0,A[o+12>>2]=t,A[o+8>>2]=r,r=1;e:if(!f[e+4|0]){t=(r=f[e+5|0])?1:2,A[o+20>>2]=t,c=r?1171846:1171847,A[o+16>>2]=c;r:{r=A[e>>2];t:{if(!(4&f[0|r])){if(A[o+92>>2]=78,A[o+84>>2]=78,t=A[r+28>>2],A[o+88>>2]=o+8,A[o+80>>2]=o+16,r=A[r+24>>2],A[o+44>>2]=2,A[o+28>>2]=3,A[o+32>>2]=0,A[o+24>>2]=1177208,A[o+40>>2]=o+80,y(r,t,o+24|0))break t;r=0|br[A[n+12>>2]](i,A[e>>2]);break e}if(a[o+88|0]=0,k=A[r+16>>2],l=A[r+20>>2],u=A[r+8>>2],g=A[r+12>>2],A[o+52>>2]=1177184,b=A[r+28>>2],A[o+80>>2]=A[r+24>>2],A[o+84>>2]=b,b=A[r+32>>2],h=A[r+36>>2],s=A[r+40>>2],d=A[r+44>>2],a[o+72|0]=f[r+48|0],V=A[r>>2],r=A[r+4>>2],A[o+32>>2]=u,A[o+36>>2]=g,A[o+40>>2]=k,A[o+44>>2]=l,A[o+64>>2]=s,A[o+68>>2]=d,A[o+56>>2]=b,A[o+60>>2]=h,A[o+24>>2]=V,A[o+28>>2]=r,A[o+48>>2]=o+80,!(D(o+80|0,c,t)||D(o+80|0,1171849,1)||D(o+80|0,A[o+8>>2],A[o+12>>2])||D(o+80|0,1171137,2)))break r}r=1;break e}r=0|br[A[n+12>>2]](i,o+24|0)}a[e+5|0]=1,a[e+4|0]=r,W=o+96|0}function _(e,r){var t=0,a=0,i=0,n=0,f=0;if(!(-64-(e=e>>>0>16?e:16)>>>0<=r>>>0)&&(t=F(12+((i=r>>>0<11?16:r+11&-8)+e|0)|0))){r=t+-8|0;e:{r:{if((a=e+-1|0)&t){if(a=(-8&(f=A[(n=t+-4|0)>>2]))-(t=(e=(t=(t+a&0-e)-8|0)-r>>>0>16?t:e+t|0)-r|0)|0,!(3&f))break r;A[e+4>>2]=a|1&A[e+4>>2]|2,A[4+(a=e+a|0)>>2]=1|A[a+4>>2],A[n>>2]=t|1&A[n>>2]|2,A[e+4>>2]=1|A[e+4>>2],H(r,t);break e}e=r;break e}r=A[r>>2],A[e+4>>2]=a,A[e>>2]=r+t}3&(r=A[e+4>>2])&&((t=-8&r)>>>0<=i+16>>>0||(A[e+4>>2]=i|1&r|2,r=e+i|0,i=t-i|0,A[r+4>>2]=3|i,A[4+(t=e+t|0)>>2]=1|A[t+4>>2],H(r,i))),a=e+8|0}return a}function $(e,r,t,a,i,n,A){var o=0,b=0,c=0,k=0,l=0,g=0,h=0;c=1;e:{r:{t:{a:{i:{n:if(t)for(k=(t<<1)+r|0,l=(65280&e)>>>8,h=255&e;;){g=r+2|0,b=o+(t=f[r+1|0])|0;A:{if((0|(r=f[0|r]))==(0|l)){if(b>>>0>>0)break r;if(b>>>0>i>>>0)break e;for(r=a+o|0;;){if(!t)break A;if(t=t+-1|0,o=f[0|r],r=r+1|0,(0|o)==(0|h))break}break i}if(r>>>0>l>>>0)break n;if(o=b,(0|k)!=(0|(r=g)))continue;break n}if(o=b,(0|k)==(0|(r=g)))break}if(!A)break a;for(a=n+A|0,r=65535&e;;){if(e=i=n+1|0,!((0|(A=(t=f[0|n])<<24>>24))>-1)){if((0|a)==(0|i))break t;t=f[n+1|0]|(127&A)<<8,e=n+2|0}if(n=e,(0|(r=r-t|0))<0)break a;if(c^=1,(0|a)==(0|n))break}break a}c=0}return 1&c}Xe(1176952),u()}Ye(o,b),u()}Ze(b,i),u()}function ee(e,r){var t,a,i=0,n=0,f=0,o=0;if(W=t=W-48|0,o=A[r>>2],n=(a=A[r+4>>2])<<3)for(i=o+4|0;f=A[i>>2]+f|0,i=i+8|0,n=n+-8|0;);e:{r:{t:{a:{if(A[r+20>>2]){if(!a)break r;if((A[o+4>>2]||!(f>>>0<=15))&&(i=f+f|0)>>>0>=f>>>0)break a;n=1,i=0,f=t+8|0;break t}i=f}if((0|i)<=-1)break e;if(f=t+8|0,i){if(n=ze(i,1))break t;e=A[294745],br[e||55](i,1),u()}n=1,i=0}if(A[t+16>>2]=0,A[t+12>>2]=i,A[t+8>>2]=n,A[t+20>>2]=t+8,o=A[4+(n=r+16|0)>>2],A[(i=t+40|0)>>2]=A[n>>2],A[i+4>>2]=o,o=A[4+(n=r+8|0)>>2],A[(i=t+32|0)>>2]=A[n>>2],A[i+4>>2]=o,i=A[r+4>>2],A[t+24>>2]=A[r>>2],A[t+28>>2]=i,!y(t+20|0,1176808,t+24|0))return r=A[f+4>>2],A[e>>2]=A[f>>2],A[e+4>>2]=r,A[e+8>>2]=A[f+8>>2],void(W=t+48|0);!function(){var e=0;W=e=W+-64|0,A[e+12>>2]=51,A[e+8>>2]=1170967,A[e+52>>2]=29,A[e+36>>2]=2,A[e+44>>2]=73,A[e+20>>2]=2,A[e+24>>2]=0,A[e+16>>2]=1176848,A[e+48>>2]=e+56,A[e+40>>2]=e+8,A[e+32>>2]=e+40,Ue(e+16|0,1176864),u()}(),u()}We(1176832,0,0),u()}er(),u()}function re(e,r,t,i,n,o,b,c){var k,l,g=0;if(W=k=W-32|0,a[r+24|0]=9,b)return M(k+16|0,r+4|0,t,i,n,o,1),i=A[k+24>>2],n=A[k+16>>2],t=f[k+21|0]|f[k+22|0]<<8,(o=f[k+20|0])||(a[r+24|0]=10),a[e+4|0]=o,A[e+8>>2]=i,A[e>>2]=n,a[0|(e=e+5|0)]=t,a[e+1|0]=t>>>8,void(W=k+32|0);a[k+15|0]=c,M(k+16|0,l=r+4|0,k+15|0,1,n,o,0),b=A[k+24>>2];e:{r:{if(2==(0|(c=f[k+20|0])))o=f[k+21|0]|f[k+22|0]<<8;else{if(1==(0|c))break r;if(b>>>0>o>>>0)break e;M(k+16|0,l,t,i,n+b|0,o-b|0,1),t=A[k+24>>2],g=A[k+16>>2],o=f[k+21|0]|f[k+22|0]<<8,(c=f[k+20|0])||(a[r+24|0]=10),b=t+b|0}return a[e+4|0]=c,A[e+8>>2]=b,A[e>>2]=g,a[0|(e=e+5|0)]=o,a[e+1|0]=o>>>8,void(W=k+32|0)}xe(1051129,39,1176124),u()}Ye(b,o),u()}function te(e,r,t){var i,n,o=0,b=0,c=0,k=0,l=0,g=0,h=0,s=0,d=0;W=i=W-32|0,n=A[t+12>>2],br[n](i+8|0,r);e:{r:{if(1&a[i+8|0])for(h=f[i+9|0],k=e+4|0,l=e+8|0,d=t+16|0;;){if((0|(g=A[l>>2]))==A[k>>2]&&(br[A[d>>2]](i+16|0,r),!((b=A[k>>2])-(o=A[l>>2])>>>0>=(c=(s=(c=A[i+16>>2])+1|0)>>>0>>0?-1:s)>>>0))){if((c=o+c|0)>>>0>>0)break r;if((0|(o=c>>>0<(o=b<<1)>>>0?o:c))<0)break r;t:{if(b){if(b=Oe(A[e>>2],b,1,o))break t;break e}if(!(b=ze(o,1)))break e}A[e>>2]=b,A[k>>2]=o}if(a[A[e>>2]+g|0]=h,A[l>>2]=g+1,br[n](i,r),h=f[i+1|0],!(1&a[0|i]))break}return br[A[t>>2]](r),A[t+4>>2]&&E(r),void(W=i+32|0)}$e(),u()}e=A[294745],br[e||55](o,1),u()}function ae(e,r){var t,a=0,i=0,n=0;A[e+16>>2]=0,A[e+20>>2]=0,t=e,i=e;e:if(a=r>>>8){if(e=31,r>>>0>16777215)break e;e=r>>>(38-(e=l(a))&31)&1|31-e<<1}else e=0;A[i+28>>2]=e,a=1179268+(e<<2)|0;e:{r:{t:{a:{if((i=A[294750])&(n=1<<(31&e))){if(a=A[a>>2],(-8&A[a+4>>2])!=(0|r))break a;e=a;break t}A[294750]=i|n,A[a>>2]=t;break e}for(i=r<<(31==(0|e)?0:25-(e>>>1)&31);;){if(!(e=A[(n=16+((i>>>29&4)+a|0)|0)>>2]))break r;if(i<<=1,a=e,(-8&A[e+4>>2])==(0|r))break}}return r=A[e+8>>2],A[r+12>>2]=t,A[e+8>>2]=t,A[t+24>>2]=0,A[t+12>>2]=e,void(A[t+8>>2]=r)}A[n>>2]=t}A[t+24>>2]=a,A[t+12>>2]=t,A[t+8>>2]=t}function ie(e){var r,t,a=0,i=0,n=0,f=0;r=A[e+24>>2];e:{r:{t:{if((0|(a=A[e+12>>2]))!=(0|e)){if(i=A[e+8>>2],A[i+12>>2]=a,A[a+8>>2]=i,r)break t;break r}if(n=A[(a=e+20|0)>>2],i=A[(n?20:16)+e>>2]){for(n=n?a:e+16|0;;){if(f=n,i=A[(n=(a=i)+20|0)>>2]){if(i)continue}else if(n=a+16|0,i=A[a+16>>2])continue;break}if(A[f>>2]=0,r)break t;break r}if(a=0,!r)break r}i=1179268+(A[e+28>>2]<<2)|0;t:{if(A[i>>2]!=(0|e)){if(A[(A[r+16>>2]==(0|e)?16:20)+r>>2]=a,a)break t;break r}if(A[i>>2]=a,!a)break e}A[a+24>>2]=r,(i=A[e+16>>2])&&(A[a+16>>2]=i,A[i+24>>2]=a),(e=A[e+20>>2])&&(A[a+20>>2]=e,A[e+24>>2]=a)}return}t=A[294750]&or(A[e+28>>2]),A[294750]=t}function ne(e,r,t,i){var n,A=0,o=0,b=0,k=0,l=0,u=0,g=0,h=0;if(W=n=W-48|0,A=39,!r&e>>>0>=1e4|r>>>0>0)for(;b=Ar(e,r),h=o=Y,u=(k=(n+9|0)+A|0)-4|0,o=e-fr(b,o,1e4)|0,l=f[0|(l=1171642+((g=(o>>>0)/100|0)<<1)|0)]|f[l+1|0]<<8,a[0|u]=l,a[u+1|0]=l>>>8,k=k+-2|0,o=1171642+(o-c(g,100)<<1)|0,o=f[0|o]|f[o+1|0]<<8,a[0|k]=o,a[k+1|0]=o>>>8,A=A+-4|0,o=!r&e>>>0>99999999|r>>>0>0,e=b,r=h,o;);else b=e;return(0|b)>99&&(r=(A=A+-2|0)+(n+9|0)|0,e=1171642+(((e=b)-c(b=((65535&e)>>>0)/100|0,100)&65535)<<1)|0,e=f[0|e]|f[e+1|0]<<8,a[0|r]=e,a[r+1|0]=e>>>8),(0|b)<=9?a[(A=A+-1|0)+(n+9|0)|0]=b+48:(e=(A=A+-2|0)+(n+9|0)|0,r=f[0|(r=1171642+(b<<1)|0)]|f[r+1|0]<<8,a[0|e]=r,a[e+1|0]=r>>>8),e=Q(i,t,1171020,0,(n+9|0)+A|0,39-A|0),W=n+48|0,e}function Ae(e,r,t,i){var n,o=0,b=0,c=0,k=0,l=0,g=0,h=0;W=n=W-16|0;e:{r:{t:{a:{i:if(i)for(g=r+16|0,h=r+8|0;;){if(k>>>0>i>>>0)break t;if(o=A[r+4>>2],c=A[r>>2],(b=A[g>>2])>>>0<(o=(o=!o&c>>>0>b>>>0|o>>>0>0)?b:c)>>>0)break r;if(c=t+k|0,l=o+A[h>>2]|0,1==(0|(o=(o=b-o|0)>>>0<(b=i-k|0)>>>0?o:b))){if(!b)break e;if(a[0|c]=f[0|l],b=A[r+4>>2],(c=A[r>>2]+1|0)>>>0<1&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b,(0|(k=o+k|0))!=(0|i))continue;break i}if(we(c,l,o),b=A[r+4>>2],(c=o+A[r>>2]|0)>>>0>>0&&(b=b+1|0),A[r>>2]=c,A[r+4>>2]=b,!o)break a;if((0|(k=o+k|0))==(0|i))break}return a[0|e]=3,void(W=n+16|0)}return pe(n,1049926,27),de(n+8|0,16,A[n>>2],A[n+4>>2]),r=A[n+12>>2],A[e>>2]=A[n+8>>2],A[e+4>>2]=r,void(W=n+16|0)}Ye(k,i),u()}Ye(o,b),u()}We(1175644,0,0),u()}function fe(e,r,t,i,n,o){var b,c,k=0,l=0,g=0,h=0;W=b=W-16|0,c=b+8|0;e:{r:{t:{a:{i:{n:{for(;;){if(k>>>0>o>>>0)break a;if(C(b,r,t+g|0,i-g|0,n+k|0,o-k|0),k=A[c>>2]+k|0,g=A[b>>2]+g|0,1==(0|(l=f[b+4|0])))break i;if(2!=(0|l))break n;if(k>>>0>=o>>>0)break t;if(a[n+k|0]=239,(l=k+1|0)>>>0>=o>>>0)break r;if(a[n+l|0]=191,(l=k+2|0)>>>0>=o>>>0)break e;if(a[n+l|0]=189,k=k+3|0,h=1,!(g>>>0<=i>>>0))break}Ye(g,i),u()}l=0}return a[e+9|0]=h,A[e+4>>2]=k,A[e>>2]=g,a[e+8|0]=l,void(W=b+16|0)}Ye(k,o),u()}We(1176076,k,o),u()}We(1176092,l,o),u()}We(1176108,l,o),u()}function oe(e){var r=0,t=0,a=0;e:{r:{t:{a:{i:{if(r=1177368+(e>>>3&536870904)|0,!(e>>>0<2048))if(e>>>0<65536){if((r=(e>>>6)-32|0)>>>0>=992)break i;if((t=A[294407])>>>0<=(r=f[r+1177648|0])>>>0)break a;r=A[294406]+(r<<3)|0}else{if((r=(e>>>12)-16|0)>>>0>=256)break t;if((r=e>>>6&63|f[r+1178640|0]<<6)>>>0>=(t=A[294409])>>>0)break r;if((t=A[294411])>>>0<=(r=f[r+A[294408]|0])>>>0)break e;r=A[294410]+(r<<3)|0}return t=A[r+4>>2],a=A[r>>2],e=31&(r=63&e),32<=(63&r)>>>0?(r=1<>>32-e,e=1<>2],c=A[a+8>>2],n=A[a+4>>2],f=A[a>>2];e:{r:{t:{if(1==A[294862]){if(b=A[294863]+1|0,A[294863]=b,b>>>0<3)break t;break r}A[294862]=1,A[294863]=1}if(A[12+(a=i+48|0)>>2]=o,A[a+8>>2]=c,A[a+4>>2]=n,A[a>>2]=f,c=A[4+(o=i+56|0)>>2],A[(a=i+36|0)>>2]=A[o>>2],A[a+4>>2]=c,A[i+24>>2]=t,A[i+20>>2]=1176672,A[i+16>>2]=1170428,t=A[i+52>>2],A[i+28>>2]=A[i+48>>2],A[i+32>>2]=t,!((0|(t=A[294746]))<=-1)&&(t=t+1|0,A[294746]=t,(a=A[294748])&&(t=A[294747],br[A[r+16>>2]](i+8|0,e),o=A[i+12>>2],A[i+16>>2]=A[i+8>>2],A[i+20>>2]=o,br[A[a+12>>2]](t,i+16|0),t=A[294746]),A[294746]=t+-1,b>>>0<2))break e}u()}W=t=W-16|0,A[t+12>>2]=r,A[t+8>>2]=e,u()}function ce(e,r){var t,i;return e|=0,r|=0,W=t=W-16|0,A[t+12>>2]=0,i=t+12|0,r>>>0<=127?(a[t+12|0]=r,r=1):r>>>0<=2047?(a[t+13|0]=63&r|128,a[t+12|0]=r>>>6&31|192,r=2):r>>>0<=65535?(a[t+14|0]=63&r|128,a[t+13|0]=r>>>6&63|128,a[t+12|0]=r>>>12&15|224,r=3):(a[t+15|0]=63&r|128,a[t+12|0]=r>>>18|240,a[t+14|0]=r>>>6&63|128,a[t+13|0]=r>>>12&63|128,r=4),e=D(e,i,r),W=t+16|0,0|e}function ke(e,r,t,a){var i;if(W=i=W-96|0,A[i+8>>2]=r,A[i+12>>2]=a,(0|r)==(0|a))return we(e,t,r),void(W=i+96|0);A[i+64>>2]=i+8,A[i+68>>2]=i+12,A[i+92>>2]=0,A[i+60>>2]=27,A[i+52>>2]=28,A[i+36>>2]=3,A[i+88>>2]=1050436,A[i+76>>2]=1,A[i+80>>2]=0,A[i+72>>2]=1175724,A[i+44>>2]=28,A[i+20>>2]=3,A[i+24>>2]=0,A[i+16>>2]=1175700,A[i+56>>2]=i+72,A[i+48>>2]=i+68,A[i+40>>2]=i- -64,A[i+32>>2]=i+40,Ue(i+16|0,1175732),u()}function le(e,r,t,n){var f=0,o=0,b=0,c=0;e:{r:{if((f=(b=1<<(o=31&r))+b|0)>>>0>=b>>>0){if((0|f)<=-1)break r;t:{a:{if(f){if(!(c=ze(f,2)))break e;if(f=c,o)break a;break t}if(c=2,f=2,!o)break t}for(o=b+-1|0,f=c;i[f>>1]=16,f=f+2|0,o=o+-1|0;);}return i[f>>1]=16,A[e+8>>2]=b,A[e+4>>2]=b,A[e>>2]=c,a[e+17|0]=r,a[e+16|0]=r,i[e+14>>1]=n,void(i[e+12>>1]=t)}er(),u()}er(),u()}e=A[294745],br[e||55](f,2),u()}function ue(e,r,t){var a=0,i=0,n=0;e:{r:{t:{a:{i:{if((i=A[e+4>>2])-(a=A[e+8>>2])>>>0>>0){if((n=t+a|0)>>>0>>0)break t;if((0|(a=n>>>0<(a=i<<1)>>>0?a:n))<0)break t;if(!i)break i;if(!(i=Oe(A[e>>2],i,1,a)))break a;break r}i=A[e>>2];break e}if(i=ze(a,1))break r}e=A[294745],br[e||55](a,1),u()}$e(),u()}A[e>>2]=i,A[e+4>>2]=a,a=A[e+8>>2]}A[e+8>>2]=t+a,we(a+i|0,r,t)}function ge(e,r,t){var a=0,i=0;i=2;e:{r:{t:{if(!((a=A[e+4>>2])-r>>>0>=t>>>0||(i=0,(t=r+t|0)>>>0>>0||(0|(t=t>>>0<(r=a<<1)>>>0?r:t))<0))){if(!a)break t;if(!(r=Oe(A[e>>2],a,1,t)))break r;break e}return i}if(r=ze(t,1))break e}e=A[294745],br[e||55](t,1),u()}return A[e>>2]=r,A[e+4>>2]=t,2}function he(e,r){var t,a=0;if((t=A[e+4>>2])>>>0>>0){e:{if(!(r>>>0<0||(0|(a=r>>>0<(a=t<<1)>>>0?a:r))<0)){r:{if(t){if(!(r=Oe(A[e>>2],t,1,a)))break r;break e}if(r=ze(a,1))break e}e=A[294745],br[e||55](a,1),u()}$e(),u()}A[e>>2]=r,A[e+4>>2]=a}}function se(e,r){var t=0,a=0;if((t=A[e+4>>2])-(a=A[e+8>>2])>>>0>>0){e:{if(!((r=r+a|0)>>>0>>0||(0|(r=r>>>0<(a=t<<1)>>>0?a:r))<0)){r:{if(t){if(!(t=Oe(A[e>>2],t,1,r)))break r;break e}if(t=ze(r,1))break e}e=A[294745],br[e||55](r,1),u()}$e(),u()}A[e>>2]=t,A[e+4>>2]=r}}function de(e,r,t,i){var n,o;if(W=n=W-16|0,o=ze(12,4))return a[o+8|0]=r,A[o+4>>2]=i,A[o>>2]=t,r=f[n+13|0]|f[n+14|0]<<8,a[o+9|0]=r,a[o+10|0]=r>>>8,a[o+11|0]=f[n+15|0],a[0|e]=2,A[e+4>>2]=o,r=f[n+10|0]|f[n+11|0]<<8,a[e+1|0]=r,a[e+2|0]=r>>>8,a[e+3|0]=f[n+12|0],void(W=n+16|0);e=A[294745],br[e||55](12,4),u()}function Ve(e,r,t){e:if(r>>>0>>0){if(!t)break e;for(r=r+-1|0,e=e+-1|0;a[e+t|0]=f[r+t|0],t=t+-1|0;);}else if(t)for(;a[0|e]=f[0|r],r=r+1|0,e=e+1|0,t=t+-1|0;);}function pe(e,r,t){var a=0;e:{if((0|t)>-1){r:{if(t){if(a=ze(t,1))break r;e=A[294745],br[e||55](t,1),u()}a=1}if(a=we(a,r,t),!(r=ze(12,4)))break e;return A[r+8>>2]=t,A[r+4>>2]=t,A[r>>2]=a,A[e+4>>2]=1176704,void(A[e>>2]=r)}er(),u()}e=A[294745],br[e||55](12,4),u()}function me(e,r){var t,a,i=0;if(W=t=W-16|0,A[(a=t+8|0)>>2]=A[r+8>>2],i=A[r+4>>2],A[t>>2]=A[r>>2],A[t+4>>2]=i,r=ze(12,4))return i=A[t+4>>2],A[r>>2]=A[t>>2],A[r+4>>2]=i,A[r+8>>2]=A[a>>2],A[e+4>>2]=1176704,A[e>>2]=r,void(W=t+16|0);e=A[294745],br[e||55](12,4),u()}function Ze(e,r){var t;W=t=W-48|0,A[t+4>>2]=r,A[t>>2]=e,A[t+44>>2]=1,A[t+28>>2]=2,A[t+36>>2]=1,A[t+12>>2]=2,A[t+16>>2]=0,A[t+8>>2]=1176976,A[t+40>>2]=t+4,A[t+32>>2]=t,A[t+24>>2]=t+32,Ue(t+8|0,1176992),u()}function We(e,r,t){var a;W=a=W-48|0,A[a+4>>2]=t,A[a>>2]=r,A[a+44>>2]=1,A[a+28>>2]=2,A[a+36>>2]=1,A[a+12>>2]=2,A[a+16>>2]=0,A[a+8>>2]=1176936,A[a+40>>2]=a,A[a+32>>2]=a+4,A[a+24>>2]=a+32,Ue(a+8|0,e),u()}function Ye(e,r){var t;W=t=W-48|0,A[t+4>>2]=r,A[t>>2]=e,A[t+44>>2]=1,A[t+28>>2]=2,A[t+36>>2]=1,A[t+12>>2]=2,A[t+16>>2]=0,A[t+8>>2]=1177008,A[t+40>>2]=t+4,A[t+32>>2]=t,A[t+24>>2]=t+32,Ue(t+8|0,1177024),u()}function Be(e,r){e|=0;var t,a,i=0,n=0,f=0;return W=t=W-32|0,a=A[28+(r|=0)>>2],r=A[r+24>>2],f=A[4+(n=e+16|0)>>2],A[(i=t+24|0)>>2]=A[n>>2],A[i+4>>2]=f,f=A[4+(n=e+8|0)>>2],A[(i=t+16|0)>>2]=A[n>>2],A[i+4>>2]=f,i=A[e+4>>2],A[t+8>>2]=A[e>>2],A[t+12>>2]=i,e=y(r,a,t+8|0),W=t+32|0,0|e}function Ie(e,r){var t,a,i=0,n=0,f=0;return W=t=W-32|0,a=A[e+28>>2],e=A[e+24>>2],f=A[4+(n=r+16|0)>>2],A[(i=t+24|0)>>2]=A[n>>2],A[i+4>>2]=f,f=A[4+(n=r+8|0)>>2],A[(i=t+16|0)>>2]=A[n>>2],A[i+4>>2]=f,i=A[r+4>>2],A[t+8>>2]=A[r>>2],A[t+12>>2]=i,e=y(e,a,t+8|0),W=t+32|0,e}function Fe(e,r,t,a){e:{r:{t:{if(8>>0){if(8>=t>>>0)break t;if(!(t=_(t,a)))break r;break e}return function(e,r){var t=0,a=0,i=0,n=0,f=0,o=0,b=0,c=0,k=0,l=0;a:if(!(r>>>0>4294967231)){t=r>>>0<11?16:r+11&-8,a=-8&(o=A[(f=e+-4|0)>>2]);i:{n:{A:{f:{o:{b:{c:{k:{l:{if(3&o){if(n=a+(b=e+-8|0)|0,a>>>0>=t>>>0)break l;if((0|n)==A[294852])break k;if((0|n)==A[294851])break c;if(2&(o=A[n+4>>2]))break b;if((a=a+(c=-8&o)|0)>>>0>>0)break b;if(r=a-t|0,c>>>0>255)break f;if((0|(i=A[n+12>>2]))==(0|(n=A[n+8>>2])))break A;A[n+12>>2]=i,A[i+8>>2]=n;break n}if(t>>>0<256)break b;if(a>>>0<(4|t)>>>0)break b;if(a-t>>>0<131073)break i;break b}if((r=a-t|0)>>>0<16)break i;A[f>>2]=t|1&o|2,A[4+(i=t+b|0)>>2]=3|r,A[n+4>>2]=1|A[n+4>>2],H(i,r);break i}if((a=a+A[294850]|0)>>>0<=t>>>0)break b;A[f>>2]=t|1&o|2,i=a-t|0,A[4+(r=t+b|0)>>2]=1|i,A[294850]=i,A[294852]=r;break i}if((a=a+A[294849]|0)>>>0>=t>>>0)break o}if(!(t=F(r)))break a;return r=we(t,e,(i=(-8&(i=A[f>>2]))-(3&i?4:8)|0)>>>0>r>>>0?r:i),E(e),r}(r=a-t|0)>>>0<16?(A[f>>2]=a|1&o|2,A[4+(r=a+b|0)>>2]=1|A[r+4>>2],r=0):(A[f>>2]=t|1&o|2,A[4+(i=t+b|0)>>2]=1|r,A[(t=a+b|0)>>2]=r,A[t+4>>2]=-2&A[t+4>>2]),A[294851]=i,A[294849]=r;break i}ie(n);break n}k=1178996,l=A[294749]&or(o>>>3),A[k>>2]=l}r>>>0<=15?(A[f>>2]=a|1&A[f>>2]|2,A[4+(r=a+b|0)>>2]=1|A[r+4>>2]):(A[f>>2]=t|1&A[f>>2]|2,A[4+(i=t+b|0)>>2]=3|r,A[4+(t=a+b|0)>>2]=1|A[t+4>>2],H(i,r))}i=e}return i}(e,a)}if(t=F(a))break e}return 0}return r=we(t,e,r>>>0>a>>>0?a:r),E(e),r}function Xe(e){var r,t,a,i,n,f;W=r=W-48|0,t=A[e+8>>2],a=A[e+12>>2],i=A[e+16>>2],n=A[e+20>>2],f=A[e+4>>2],e=A[e>>2],A[r+20>>2]=0,A[r+24>>2]=e,A[r+28>>2]=f,A[r+16>>2]=1171020,A[r+4>>2]=1,A[r+8>>2]=0,A[r>>2]=r+24,A[r+40>>2]=i,A[r+44>>2]=n,A[r+32>>2]=t,A[r+36>>2]=a,Ue(r,r+32|0),u()}function Ce(e,r){var t,a=0;if((0|(t=A[r+8>>2]))>-1){a=A[r>>2];e:{if(t){if(r=ze(t,1))break e;e=A[294745],br[e||55](t,1),u()}r=1}return r=we(r,a,t),A[e+8>>2]=t,A[e+4>>2]=t,void(A[e>>2]=r)}er(),u()}function ye(e,r,t,a){var i=0;e:{if(1114112==(0|r)||(i=1,!br[A[A[e+28>>2]+16>>2]](A[e+24>>2],r))){if(!t)break e;i=0|br[A[A[e+28>>2]+12>>2]](A[e+24>>2],t,a)}return i}return 0}function Ge(e,r,t){var a=0,i=0,n=0;e:{if(t){for(;;){if((0|(i=f[e+a|0]))!=(0|(n=f[r+a|0])))break e;if(!((a=a+1|0)>>>0>>0))break}return 0}return 0}return i-n|0}function Je(e){var r;return(r=F(e))&&3&f[r+-4|0]&&Qe(r,e),r}function Ue(e,r){var t,a,i,n,f;W=t=W-32|0,i=A[r>>2],n=A[r+4>>2],f=A[r+12>>2],A[(a=t+20|0)>>2]=A[r+8>>2],A[a+4>>2]=f,A[t+12>>2]=i,A[t+16>>2]=n,A[t+8>>2]=e,A[t+4>>2]=1176920,A[t>>2]=1171020,function(e){var r,t,a,i,n=0,f=0;W=r=W-48|0,t=He(e+12|0),a=He(A[e+8>>2]),f=A[t+4>>2],A[(n=r+8|0)>>2]=A[t>>2],A[n+4>>2]=f,n=A[r+12>>2],f=A[r+8>>2],i=A[t+8>>2],A[r+28>>2]=A[t+12>>2],A[r+24>>2]=i,A[r+16>>2]=f,A[r+20>>2]=n,A[r+36>>2]=0,A[r+32>>2]=a,be(r+32|0,1176772,A[e+8>>2],r+16|0),u()}(t),u()}function we(e,r,t){var i=0;if(t)for(i=e;a[0|i]=f[0|r],i=i+1|0,r=r+1|0,t=t+-1|0;);return e}function Re(e){var r,t=0;e:{if(1!=(0|(r=f[0|e]))){if(t=16,2!=(0|r))break e;return f[A[e+4>>2]+8|0]}t=f[e+1|0]}return t}function Ee(e,r,t){var a;return r|=0,t|=0,se(e=A[(e|=0)>>2],t),a=A[e+8>>2],A[e+8>>2]=a+t,we(A[e>>2]+a|0,r,t),0}function Qe(e,r){if(r)for(;a[0|e]=0,e=e+1|0,r=r+-1|0;);}function xe(e,r,t){var a;W=a=W-16|0,A[a+12>>2]=r,A[a+8>>2]=e,be(a+8|0,1176420,0,t),u()}function ve(e,r,t,a,i){r|=0,t|=0,a|=0,i|=0,(e|=0)?br[A[r+12>>2]](e,t,a,i):(Me(1050483,48),u())}function je(e,r,t,a,i){if(r|=0,t|=0,a|=0,i|=0,e|=0)return 0|br[A[r+12>>2]](e,t,a,i);Me(1050483,48),u()}function He(e){if(e)return e;Xe(1176624),u()}function Te(e,r){return r|=0,0|Le(A[(e|=0)>>2],A[e+8>>2],r)}function Ne(e,r){return r|=0,0|Le(A[(e|=0)>>2],A[e+4>>2],r)}function Oe(e,r,t,a){return Fe(e,r,t,a)}function Se(e,r){return r|=0,0|ne(A[(e|=0)>>2],0,1,r)}function De(e,r){return r|=0,0|ne(o[(e|=0)>>1],0,1,r)}function Me(e,r){m(0|e,0|r),u()}function Pe(){Me(1170322,27),u()}function Ke(){Me(1170349,79),u()}function Le(e,r,t){return w(t,e,r)}function ze(e,r){return e=8>>0?_(r,e):F(e)}function qe(e,r){return 0|p(0|e,0|r)}function _e(e){Z(0|e),u()}function $e(){Xe(1176880),u()}function er(){$e(),u()}function rr(e){return Y=286299353,1890621284}function tr(e){return Y=1757840133,-801715452}function ar(e){return Y=-548823216,73165927}function ir(e){}function nr(e,r){var t,a;t=0|e,a=0|r,n[0]=t,n[1]=a}function Ar(e,r){var t=0,a=0,i=0,n=0,A=0,f=0,o=0;if(!r)return nr((r=e)-c(e=(e>>>0)/1e4|0,1e4)|0,0),Y=0,e;if(i=0-(A=51-l(r)|0)|0,t=31&(a=63&A),32<=a>>>0?(a=0,n=r>>>t):(a=r>>>t,n=((1<>>t),t=31&(i&=63),32<=i>>>0?(r=e<>>32-t|r<>>31,n=(a=n<<1|r>>>31)-(t=1e4&(f=(n=0-(i+(9999>>0)|0)|0)>>31))|0,a=i-(a>>>0>>0)|0,r=r<<1|e>>>31,e=o|e<<1,o=f&=1,A=A+-1|0;);return nr(n,a),Y=r<<1|e>>>31,f|e<<1}function fr(e,r,t){return function(e,r,t){var a,i,n,A,f=0;return A=c(a=t>>>16,f=e>>>16),e=(65535&(f=((n=c(i=65535&t,e&=65535))>>>16)+c(f,i)|0))+c(e,a)|0,Y=((A+c(r,t)|0)+(f>>>16)|0)+(e>>>16)|0,65535&n|e<<16}(e,r,t)}function or(e){var r;return(-1>>>(r=31&e)&-2)<>>e}var br=[null,Se,function(e,r){return r|=0,0|Be(A[(e|=0)>>2],r)},Te,function(e,r){return 0|w(r|=0,(e=f[0|(e|=0)])?1171894:1171898,e?4:5)},Te,ir,function(e,r){e|=0;var t,a=0;t=A[(r|=0)>>2],A[r>>2]=0;e:{if(t){if(a=A[r+4>>2],!(r=ze(8,4)))break e;return A[r+4>>2]=a,A[r>>2]=t,A[e+4>>2]=1174908,void(A[e>>2]=r)}return A[e+4>>2]=1174924,void(A[e>>2]=1)}e=A[294745],br[e||55](8,4),u()},function(e,r){var t;e|=0,t=A[(r|=0)>>2],A[e+4>>2]=t?1174908:1174924,A[e>>2]=t?r:1048824},rr,ir,tr,ir,function(e,r,t){return r|=0,t|=0,ue(A[(e|=0)>>2],r,t),0},function(e,r){r|=0;var t,i,n=0,f=0;W=t=W-16|0,i=A[(e|=0)>>2];e:{r:{t:{a:{i:{n:{if(r>>>0<128){if((0|(e=A[i+8>>2]))!=A[i+4>>2])break r;if((n=e+1|0)>>>0>>0)break a;if((0|(n=n>>>0<(f=e<<1)>>>0?f:n))<0)break a;if(!e)break n;if(!(e=Oe(A[i>>2],e,1,n)))break i;break t}A[t+12>>2]=0,e=t+12|0,r>>>0<2048?(a[t+13|0]=63&r|128,a[t+12|0]=r>>>6&31|192,r=2):r>>>0<=65535?(a[t+14|0]=63&r|128,a[t+13|0]=r>>>6&63|128,a[t+12|0]=r>>>12&15|224,r=3):(a[t+15|0]=63&r|128,a[t+12|0]=r>>>18|240,a[t+14|0]=r>>>6&63|128,a[t+13|0]=r>>>12&63|128,r=4),ue(i,e,r);break e}if(e=ze(n,1))break t}e=A[294745],br[e||55](n,1),u()}$e(),u()}A[i>>2]=e,A[i+4>>2]=n,e=A[i+8>>2]}a[A[i>>2]+e|0]=r,A[(e=i+8|0)>>2]=A[e>>2]+1}return W=t+16|0,0},function(e,r){e|=0,r|=0;var t,a=0,i=0;return W=t=W-32|0,A[t+4>>2]=A[e>>2],i=A[4+(a=r+16|0)>>2],A[(e=t+24|0)>>2]=A[a>>2],A[e+4>>2]=i,i=A[4+(a=r+8|0)>>2],A[(e=t+16|0)>>2]=A[a>>2],A[e+4>>2]=i,e=A[r+4>>2],A[t+8>>2]=A[r>>2],A[t+12>>2]=e,e=y(t+4|0,1174940,t+8|0),W=t+32|0,0|e},Ne,De,ir,function(e,r){var t;e|=0,t=f[0|(r|=0)]|f[r+1|0]<<8,a[0|r]=0,a[r+1|0]=0,a[e+1|0]=t>>>8,a[0|e]=1&t},function(e,r){r|=0,A[4+(e|=0)>>2]=1,r=1==f[0|r],A[e+8>>2]=r,A[e>>2]=r},function(e,r,t){e|=0,t|=0;var i,n=0;i=f[0|(r|=0)]|f[r+1|0]<<8,a[0|r]=0,a[r+1|0]=0,n=i>>>8;e:{if(1&i){if(!t)break e;a[0|r]=0,a[r+1|0]=0,n=0}return a[e+1|0]=n,void(a[0|e]=0)}a[e+1|0]=n,a[0|e]=1},ir,function(e,r){var t;if(e|=0,t=A[(r|=0)>>2])return A[r>>2]=t+-1,a[e+1|0]=f[r+4|0],void(a[0|e]=1);a[e+1|0]=0,a[0|e]=0},function(e,r){r|=0,A[4+(e|=0)>>2]=1,r=A[r>>2],A[e+8>>2]=r,A[e>>2]=r},function(e,r,t){var i;if(e|=0,t|=0,(i=A[(r|=0)>>2])>>>0>t>>>0)return A[r>>2]=(-1^t)+i,a[e+1|0]=f[r+4|0],void(a[0|e]=1);i&&(A[r>>2]=0),a[e+1|0]=0,a[0|e]=0},function(e,r){r|=0;var t,i=0,n=0,o=0;W=t=W+-64|0;e:{r:{t:{a:{i:{n:{A:{f:{o:{b:{c:{k:{l:{u:{g:{h:{s:{d:{V:{p:{m:{if(1!=(0|(i=f[0|(e|=0)]))){if(2!=(0|i))break m;e=A[e+4>>2],e=0|br[A[A[e+4>>2]+28>>2]](A[e>>2],r);break r}if(i=16,(e=f[e+1|0]+-1|0)>>>0>16)break k;switch(e-1|0){case 2:break b;case 0:break c;case 14:break l;case 11:break u;case 8:break g;case 3:break h;case 1:break s;case 10:break d;case 15:break V;case 13:break p;case 12:break a;case 9:break i;case 7:break n;case 5:break A;case 6:break f;case 4:break o}i=17,e=1170756;break t}if(A[t+4>>2]=A[e+4>>2],!(e=ze(20,1)))break e;if(i=e+16|0,n=f[1170828]|f[1170829]<<8|f[1170830]<<16|f[1170831]<<24,a[0|i]=n,a[i+1|0]=n>>>8,a[i+2|0]=n>>>16,a[i+3|0]=n>>>24,n=f[1170824]|f[1170825]<<8|f[1170826]<<16|f[1170827]<<24,i=e+8|0,o=f[1170820]|f[1170821]<<8|f[1170822]<<16|f[1170823]<<24,a[0|i]=o,a[i+1|0]=o>>>8,a[i+2|0]=o>>>16,a[i+3|0]=o>>>24,a[i+4|0]=n,a[i+5|0]=n>>>8,a[i+6|0]=n>>>16,a[i+7|0]=n>>>24,i=f[1170816]|f[1170817]<<8|f[1170818]<<16|f[1170819]<<24,n=f[1170812]|f[1170813]<<8|f[1170814]<<16|f[1170815]<<24,a[0|e]=n,a[e+1|0]=n>>>8,a[e+2|0]=n>>>16,a[e+3|0]=n>>>24,a[e+4|0]=i,a[e+5|0]=i>>>8,a[e+6|0]=i>>>16,a[e+7|0]=i>>>24,A[t+12>>2]=20,A[t+16>>2]=20,A[t+8>>2]=e,A[t+36>>2]=52,A[t+60>>2]=2,A[t+28>>2]=53,A[t+44>>2]=3,A[t+48>>2]=0,A[t+40>>2]=1176748,A[t+32>>2]=t+4,A[t+24>>2]=t+8,A[t+56>>2]=t+24,e=Ie(r,t+40|0),!A[t+12>>2])break r;E(A[t+8>>2]);break r}i=21,e=1170528;break t}i=22,e=1170492;break t}i=12,e=1170568;break t}e=1170722;break t}i=13,e=1170691;break t}i=21,e=1170603;break t}i=9,e=1170559;break t}i=14,e=1170514;break t}e=1170773;break t}i=18,e=1170738;break t}i=18,e=1170704;break t}i=14,e=1170677;break t}i=11,e=1170645;break t}i=21,e=1170656;break t}i=21,e=1170624;break t}i=23,e=1170580;break t}i=10,e=1170549}A[t+60>>2]=1,A[t+28>>2]=i,A[t+24>>2]=e,A[t+12>>2]=54,A[t+44>>2]=1,A[t+48>>2]=0,A[t+40>>2]=1176740,A[t+8>>2]=t+24,A[t+56>>2]=t+8,e=Ie(r,t+40|0)}return W=t- -64|0,0|e}e=A[294745],br[e||55](20,1),u()},Be,function(e,r){return r|=0,e=A[(e|=0)>>2],(16&f[0|r])>>>4?0|function(e,r){var t,i=0,n=0;for(W=t=W-128|0,i=A[e>>2],e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+87|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0<129)return e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0),W=t+128|0,e;Ye(i,128),u()}(e,r):(32&f[0|r])>>>5?0|function(e,r){var t,i=0,n=0;for(W=t=W-128|0,i=A[e>>2],e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+55|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0<129)return e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0),W=t+128|0,e;Ye(i,128),u()}(e,r):0|Se(e,r)},function(e,r){return 0|br[A[A[28+(r|=0)>>2]+12>>2]](A[r+24>>2],1174784,5)},je,ve,je,function(e,r,t,a,i,n){if(r|=0,t|=0,a|=0,i|=0,n|=0,e|=0)return 0|br[A[r+12>>2]](e,t,a,i,n);Me(1050483,48),u()},function(e,r,t){if(r|=0,t|=0,e|=0)return 0|br[A[r+12>>2]](e,t);Me(1050483,48),u()},function(e,r,t,a){r|=0,t|=0,a|=0,(e|=0)?br[A[r+12>>2]](e,t,a):(Me(1050483,48),u())},ve,ve,function(e,r,t,a,i){e|=0,r|=0,t=k(t),a|=0,i|=0,e?br[A[r+12>>2]](e,t,a,i):(Me(1050483,48),u())},function(e,r,t,a,i){r|=0,t=+t,a|=0,i|=0,(e|=0)?br[A[r+12>>2]](e,t,a,i):(Me(1050483,48),u())},function(e,r){var t;return e|=0,W=t=W-16|0,function(e,r){var t=0;t=0|br[A[A[r+28>>2]+12>>2]](A[r+24>>2],1050759,4),a[e+5|0]=0,a[e+4|0]=t,A[e>>2]=r}(t,r|=0),A[t+12>>2]=e+2,q(t,1050763,5,t+12|0,1175852),A[t+12>>2]=e,q(t,1050768,4,t+12|0,1175868),e=function(e){var r=0,t=0;return r=f[e+4|0],f[e+5|0]&&(t=255&r,r=1,t||(r=A[e>>2],r=0|br[A[A[r+28>>2]+12>>2]](A[r+24>>2],4&A[r>>2]?1171851:1171853,2)),a[e+4|0]=r),0!=(255&r)}(t),W=t+16|0,0|e},ir,function(e,r){return r|=0,e=A[(e|=0)>>2],(16&f[0|r])>>>4?0|function(e,r){var t,i=0,n=0;for(W=t=W-128|0,i=f[0|e],e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+87|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0<129)return e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0),W=t+128|0,e;Ye(i,128),u()}(e,r):(32&f[0|r])>>>5?0|function(e,r){var t,i=0,n=0;for(W=t=W-128|0,i=f[0|e],e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+55|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0<129)return e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0),W=t+128|0,e;Ye(i,128),u()}(e,r):0|ne(f[0|e],0,1,r)},function(e,r){return r|=0,e=A[(e|=0)>>2],(16&f[0|r])>>>4?0|function(e,r){var t,i=0,n=0;for(W=t=W-128|0,i=o[e>>1],e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+87|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0<129)return e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0),W=t+128|0,e;Ye(i,128),u()}(e,r):(32&f[0|r])>>>5?0|function(e,r){var t,i=0,n=0;for(W=t=W-128|0,i=o[e>>1],e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+55|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0<129)return e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0),W=t+128|0,e;Ye(i,128),u()}(e,r):0|De(e,r)},ir,function(e,r){e|=0;var t,a=0;t=A[(r|=0)>>2],A[r>>2]=0;e:{if(t){if(a=A[r+4>>2],!(r=ze(8,4)))break e;return A[r+4>>2]=a,A[r>>2]=t,A[e+4>>2]=1176440,void(A[e>>2]=r)}return A[e+4>>2]=1176456,void(A[e>>2]=1)}e=A[294745],br[e||55](8,4),u()},function(e,r){var t;e|=0,t=A[(r|=0)>>2],A[e+4>>2]=t?1176440:1176456,A[e>>2]=t?r:1051716},rr,ir,tr,function(){return 1178960},function(e){A[4+(e|=0)>>2]=0,A[e+8>>2]=0,A[e>>2]=4,A[(e=e+12|0)>>2]=0,A[e+4>>2]=0},function(e,r){r|=0;var t,a,i,n=0,f=0;return i=f=A[(e|=0)>>2],t=(n=e=f>>31)>>31,n=n+(a=n>>31)|0,(f=f+t|0)>>>0>>0&&(n=n+1|0),0|ne(f^=t,n^=a,e=(0|e)>-1?1:(0|e)>=-1?i>>>0<=4294967295?0:1:0,r)},Te,Ne,function(e,r){},ir,Ee,function(e,r){r|=0;var t,i=0,n=0;return W=t=W-16|0,e=A[(e|=0)>>2],r>>>0<128?((0|(i=A[e+8>>2]))==A[e+4>>2]&&(se(e,1),i=A[e+8>>2]),a[A[e>>2]+i|0]=r,A[(e=e+8|0)>>2]=A[e>>2]+1):(A[t+12>>2]=0,i=e,n=e,r>>>0<2048?(a[t+13|0]=63&r|128,a[t+12|0]=r>>>6&31|192,e=2):r>>>0<=65535?(a[t+14|0]=63&r|128,a[t+13|0]=r>>>6&63|128,a[t+12|0]=r>>>12&15|224,e=3):(a[t+15|0]=63&r|128,a[t+12|0]=r>>>18|240,a[t+14|0]=r>>>6&63|128,a[t+13|0]=r>>>12&63|128,e=4),se(n,e),r=A[i+8>>2],A[i+8>>2]=r+e,we(r+A[i>>2]|0,t+12|0,e)),W=t+16|0,0},function(e,r){e|=0,r|=0;var t,a=0,i=0;return W=t=W-32|0,A[t+4>>2]=A[e>>2],i=A[4+(a=r+16|0)>>2],A[(e=t+24|0)>>2]=A[a>>2],A[e+4>>2]=i,i=A[4+(a=r+8|0)>>2],A[(e=t+16|0)>>2]=A[a>>2],A[e+4>>2]=i,e=A[r+4>>2],A[t+8>>2]=A[r>>2],A[t+12>>2]=e,e=y(t+4|0,1176648,t+8|0),W=t+32|0,0|e},ir,ar,function(e,r){return r|=0,e=A[(e|=0)>>2],0|function(e,r,t){var i,n=0,o=0,b=0,c=0,k=0,g=0,h=0,s=0,d=0,V=0,p=0,m=0,Z=0,Y=0,B=0,I=0;W=i=W-32|0,p=1;e:if(!br[A[A[t+28>>2]+16>>2]](A[t+24>>2],34)){if(r){for(d=e+r|0,m=t+24|0,Z=t+28|0,c=e;;){Y=c,n=c+1|0;r:{t:if((0|(o=a[0|c]))>=0)o&=255,c=n;else{(0|n)==(0|d)?(k=0,c=d):(k=63&f[0|n],n=c=Y+2|0),V=31&o;a:{i:{if((B=255&o)>>>0>=224){if((0|c)==(0|d))break i;I=63&f[0|c],o=n=c+1|0;break a}o=V<<6|k,c=n;break t}I=0,o=d}k=k<<6|I;a:{i:{if(B>>>0>=240){if((0|o)==(0|d))break i;c=o+1|0,n=63&f[0|o];break a}o=k|V<<12,c=n;break t}c=n,n=0}if(1114112==(0|(o=n|V<<18&1835008|k<<6)))break r}n=2;t:{a:{i:{n:{A:{f:{o:{if((V=o+-9|0)>>>0<=30){k=116;b:switch(V-1|0){case 3:break A;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 25:case 26:case 27:case 28:break f;case 24:case 29:break o;case 0:break b;default:break a}k=110;break a}if(92!=(0|o))break f}k=o;break a}if(!oe(o))break n;break i}k=114;break a}if(o>>>0<=65535){if(!$(o,1171936,40,1172016,303,1172319,316))break i;break t}if(o>>>0<=131071){if(!$(o,1172635,33,1172701,158,1172859,381))break i;break t}if(!(o>>>0>917999)&&!(o+-195102>>>0<722658||o+-191457>>>0<3103||o+-183970>>>0<14||178206==(2097150&o)||o+-173783>>>0<41)&&o+-177973>>>0>10)break t}s=l(1|o)>>>2^7,g=5,n=3,k=o}A[i+4>>2]=r,A[i>>2]=e,A[i+8>>2]=b,A[i+12>>2]=h;a:if(!(h>>>0>>0)){if(b&&(0|r)!=(0|b)){if(b>>>0>=r>>>0)break a;if(a[e+b|0]<=-65)break a}if(h&&(0|r)!=(0|h)){if(h>>>0>=r>>>0)break a;if(a[e+h|0]<=-65)break a}if(!br[A[A[Z>>2]+12>>2]](A[m>>2],e+b|0,h-b|0))for(;;){i:{n:{A:{f:{o:{b:{if(1!=(0|n)){if(b=92,2!=(0|n)){if(3!=(0|n))break n;if((n=(255&g)-1|0)>>>0>4)break n;switch(n-1|0){case 0:break A;case 2:break f;case 1:break o;case 3:break b}g&=-256,n=3,b=125;break i}n=1;break i}n=0,b=k;break i}g=-256&g|4,n=3;break i}g=-256&g|2,n=3,b=123;break i}g=-256&g|3,n=3,b=117;break i}if(b=(n=k>>>(s<<2&28)&15)>>>0<10?48|n:n+87|0,s){s=s+-1|0,n=3;break i}g=-256&g|1,n=3;break i}n=1,o>>>0<128||(n=2,o>>>0<2048||(n=o>>>0<65536?3:4)),b=n+h|0;break t}if(br[A[A[Z>>2]+16>>2]](A[m>>2],b))break}break e}A[i+24>>2]=i+12,A[i+20>>2]=i+8,A[i+16>>2]=i,r=A[(e=i+16|0)>>2],G(A[r>>2],A[r+4>>2],A[A[e+4>>2]>>2],A[A[e+8>>2]>>2]),u()}if(h=(h-Y|0)+c|0,(0|c)!=(0|d))continue}break}b&&(0|r)!=(0|b)&&(a[e+b|0]>-65&&b>>>0>>0||(G(e,r,b,r),u()))}s=t+24|0,c=e+b|0,br[A[A[(e=t+28|0)>>2]+12>>2]](A[s>>2],c,r-b|0)||(p=0|br[A[A[e>>2]+16>>2]](A[s>>2],34))}return W=i+32|0,p}(A[e>>2],A[e+8>>2],r)},function(e){A[4+(e|=0)>>2]&&E(A[e>>2])},function(e,r){r|=0,A[4+(e|=0)>>2]=A[r+8>>2],A[e>>2]=A[r>>2]},function(e,r){A[(e|=0)>>2]=0},function(e){return Y=1755534041,-128109066},Te,function(e,r){var t;return e|=0,W=t=W-16|0,function(e,r){var t=0,i=0;t=e,i=0|br[A[A[r+28>>2]+12>>2]](A[r+24>>2],1170801,11),a[t+8|0]=i,A[e>>2]=r,a[e+9|0]=0,A[e+4>>2]=0}(t,r|=0),A[t+12>>2]=e,function(e,r){var t,i=0,n=0,o=0,b=0,c=0,k=0,l=0,u=0,g=0,h=0,s=0,d=0,V=0;W=t=W-80|0,b=1;e:if(!f[e+8|0])if(c=(o=A[e+4>>2])?1171846:1171855,i=A[e>>2],4&f[0|i])a[t+16|0]=0,k=A[i+16>>2],l=A[i+20>>2],u=A[i+8>>2],g=A[i+12>>2],A[t+52>>2]=1177184,n=A[i+28>>2],A[t+8>>2]=A[i+24>>2],A[t+12>>2]=n,h=A[i+32>>2],s=A[i+36>>2],d=A[i+40>>2],V=A[i+44>>2],a[t+72|0]=f[i+48|0],o=A[i>>2],n=A[i+4>>2],A[t+32>>2]=u,A[t+36>>2]=g,A[t+40>>2]=k,A[t+44>>2]=l,A[t+64>>2]=d,A[t+68>>2]=V,A[t+56>>2]=h,A[t+60>>2]=s,A[t+24>>2]=o,A[t+28>>2]=n,A[t+48>>2]=t+8,D(t+8|0,c,1)||D(t+8|0,1171849,1)||(b=0|br[A[294175]](r,t+24|0));else{if(br[A[A[i+28>>2]+12>>2]](A[i+24>>2],c,1))break e;if(n=A[e>>2],br[A[A[n+28>>2]+12>>2]](A[n+24>>2],o?1171850:1171020,0!=(0|o)))break e;b=0|br[A[294175]](r,A[e>>2])}a[e+8|0]=b,A[e+4>>2]=A[e+4>>2]+1,W=t+80|0}(t,t+12|0),e=function(e){var r=0,t=0,i=0,n=0;if(r=f[e+8|0],i=A[e+4>>2]){n=e+8|0,t=1;e:if(!(255&r)){if(r=A[e>>2],4&f[0|r]){if(t=1,br[A[A[r+28>>2]+12>>2]](A[r+24>>2],1171849,1))break e;i=A[e+4>>2]}1==(0|i)&&f[e+9|0]&&(i=A[e>>2],t=1,br[A[A[i+28>>2]+12>>2]](A[i+24>>2],1171846,1))||(e=A[e>>2],t=0|br[A[A[e+28>>2]+12>>2]](A[e+24>>2],1171856,1))}r=t,a[0|n]=r}return 0!=(255&r)}(t),W=t+16|0,0|e},function(e){var r;(r=A[4+(e|=0)>>2])&&A[e+8>>2]&&E(r)},function(e,r){e|=0;var t,a=0,i=0,n=0,f=0,o=0;if(W=t=W-48|0,(a=A[4+(r|=0)>>2])||(a=A[r>>2],A[t+16>>2]=0,A[t+8>>2]=1,A[t+12>>2]=0,A[t+20>>2]=t+8,f=A[4+(i=a+16|0)>>2],A[(n=t+40|0)>>2]=A[i>>2],A[n+4>>2]=f,o=A[4+(f=a+8|0)>>2],A[(i=n=t+32|0)>>2]=A[f>>2],A[i+4>>2]=o,i=A[a+4>>2],A[t+24>>2]=A[a>>2],A[t+28>>2]=i,y(t+20|0,1176648,t+24|0),A[n>>2]=A[t+16>>2],a=A[t+12>>2],A[t+24>>2]=A[t+8>>2],A[t+28>>2]=a,(i=A[(a=r+4|0)>>2])&&A[r+8>>2]&&E(i),i=A[t+28>>2],A[a>>2]=A[t+24>>2],A[a+4>>2]=i,A[a+8>>2]=A[n>>2],a=A[a>>2]),A[r+4>>2]=1,n=A[r+12>>2],i=A[(r=r+8|0)>>2],A[r>>2]=0,A[r+4>>2]=0,r=ze(12,4))return A[r+8>>2]=n,A[r+4>>2]=i,A[r>>2]=a,A[e+4>>2]=1176792,A[e>>2]=r,void(W=t+48|0);e=A[294745],br[e||55](12,4),u()},function(e,r){e|=0;var t,a,i=0,n=0,f=0,o=0;W=t=W-48|0,a=4+(r|=0)|0,A[r+4>>2]||(i=A[r>>2],A[t+16>>2]=0,A[t+8>>2]=1,A[t+12>>2]=0,A[t+20>>2]=t+8,o=A[4+(f=i+16|0)>>2],A[(n=t+40|0)>>2]=A[f>>2],A[n+4>>2]=o,f=A[4+(o=i+8|0)>>2],A[(n=t+32|0)>>2]=A[o>>2],A[n+4>>2]=f,f=A[i+4>>2],A[t+24>>2]=A[i>>2],A[t+28>>2]=f,y(t+20|0,1176648,t+24|0),A[n>>2]=A[t+16>>2],i=A[t+12>>2],A[t+24>>2]=A[t+8>>2],A[t+28>>2]=i,(i=A[a>>2])&&A[r+8>>2]&&E(i),r=A[t+28>>2],A[a>>2]=A[t+24>>2],A[a+4>>2]=r,A[a+8>>2]=A[n>>2]),A[e+4>>2]=1176792,A[e>>2]=a,W=t+48|0},function(e){return Y=-283795526,-1402134062},Ne,ir,Ee,function(e,r){return r|=0,function(e,r){var t,i=0;W=t=W-16|0,r>>>0<128?((0|(i=A[e+8>>2]))==A[e+4>>2]&&(se(e,1),i=A[e+8>>2]),a[A[e>>2]+i|0]=r,A[(e=e+8|0)>>2]=A[e>>2]+1):(A[t+12>>2]=0,i=e,r>>>0<2048?(a[t+13|0]=63&r|128,a[t+12|0]=r>>>6&31|192,r=2):r>>>0<=65535?(a[t+14|0]=63&r|128,a[t+13|0]=r>>>6&63|128,a[t+12|0]=r>>>12&15|224,r=3):(a[t+15|0]=63&r|128,a[t+12|0]=r>>>18|240,a[t+14|0]=r>>>6&63|128,a[t+13|0]=r>>>12&63|128,r=4),se(i,r),i=A[e+8>>2],A[e+8>>2]=i+r,we(i+A[e>>2]|0,t+12|0,r)),W=t+16|0}(A[(e|=0)>>2],r),0},function(e,r){e|=0,r|=0;var t,a=0,i=0;return W=t=W-32|0,A[t+4>>2]=A[e>>2],i=A[4+(a=r+16|0)>>2],A[(e=t+24|0)>>2]=A[a>>2],A[e+4>>2]=i,i=A[4+(a=r+8|0)>>2],A[(e=t+16|0)>>2]=A[a>>2],A[e+4>>2]=i,e=A[r+4>>2],A[t+8>>2]=A[r>>2],A[t+12>>2]=e,e=y(t+4|0,1176808,t+8|0),W=t+32|0,0|e},function(e,r){return 0|w(r|=0,A[(e|=0)>>2],A[e+4>>2])},function(e,r){var t;return e|=0,r|=0,W=t=W-48|0,A[t+20>>2]=82,A[t+12>>2]=82,A[t+8>>2]=e,A[t+16>>2]=e+4,e=A[r+28>>2],r=A[r+24>>2],A[t+44>>2]=2,A[t+28>>2]=2,A[t+32>>2]=0,A[t+24>>2]=1176904,A[t+40>>2]=t+8,e=y(r,e,t+24|0),W=t+48|0,0|e},function(e,r){e|=0;var t=0,a=0,i=0,n=0,f=0,o=0;if(br[A[A[28+(r|=0)>>2]+16>>2]](A[r+24>>2],39))e=1;else{a=2;e:{r:{t:{a:{i:{n:{if((n=(e=A[e>>2])+-9|0)>>>0<=30){i=116;A:switch(n-1|0){case 0:break A;case 24:case 29:break r;case 3:break i;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 25:case 26:case 27:case 28:break n;default:break e}i=110;break e}if(92==(0|e))break r}if(!oe(e))break a;t=l(1|e)>>>2^7;break t}i=114;break e}a:{i:if(e>>>0<=65535){if(!$(e,1171936,40,1172016,303,1172319,316))break a}else{if(e>>>0<=131071){if($(e,1172635,33,1172701,158,1172859,381))break i;break a}if(e>>>0>917999)break a;if(e+-195102>>>0<722658)break a;if(e+-191457>>>0<3103)break a;if(e+-183970>>>0<14)break a;if(178206==(2097150&e))break a;if(e+-173783>>>0<41)break a;if(e+-177973>>>0<=10)break a}a=1;break r}t=l(1|e)>>>2^7}f=t,t=5,a=3}i=e}o=r+24|0,n=r+28|0;e:{for(;;){r:{t:{a:{i:{n:{A:{f:{o:{if(1!=(0|a)){if(e=92,2==(0|a))break o;if(3!=(0|a))break e;if((a=(255&t)-1|0)>>>0>4)break e;switch(a-1|0){case 3:break i;case 2:break n;case 1:break A;case 0:break f}e=125,t&=-256;break t}e=i,a=0;break r}a=1;break r}if(e=(e=i>>>(f<<2&28)&15)>>>0<10?48|e:e+87|0,!f)break a;f=f+-1|0;break t}e=123,t=-256&t|2;break t}e=117,t=-256&t|3;break t}t=-256&t|4;break t}t=-256&t|1}a=3}if(br[A[A[n>>2]+16>>2]](A[o>>2],e))break}return 1}e=0|br[A[A[r+28>>2]+16>>2]](A[r+24>>2],39)}return 0|e},Se,function(e,r){e|=0;var t,i=0,n=0;W=t=W-128|0;e:{r:{t:{a:{if(!(16&(n=A[(r|=0)>>2]))){if(i=A[e>>2],32&n)break a;e=ne(i,0,1,r);break t}for(i=A[e>>2],e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+87|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0>=129)break r;e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0);break t}for(e=0;n=15&i,a[127+(e+t|0)|0]=n>>>0<10?48|n:n+55|0,e=e+-1|0,i>>>=4;);if((i=e+128|0)>>>0>=129)break e;e=Q(r,1,1171640,2,128+(e+t|0)|0,0-e|0)}return W=t+128|0,0|e}Ye(i,128),u()}Ye(i,128),u()},ir,ar,ir,D,ce,function(e,r){e|=0,r|=0;var t,a=0,i=0;return W=t=W-32|0,A[t+4>>2]=e,i=A[4+(a=r+16|0)>>2],A[(e=t+24|0)>>2]=A[a>>2],A[e+4>>2]=i,i=A[4+(a=r+8|0)>>2],A[(e=t+16|0)>>2]=A[a>>2],A[e+4>>2]=i,e=A[r+4>>2],A[t+8>>2]=A[r>>2],A[t+12>>2]=e,e=y(t+4|0,1177232,t+8|0),W=t+32|0,0|e},ir,function(e,r,t){return r|=0,t|=0,0|D(A[(e|=0)>>2],r,t)},function(e,r){return r|=0,0|ce(A[(e|=0)>>2],r)},function(e,r){e|=0,r|=0;var t,a=0,i=0;return W=t=W-32|0,A[t+4>>2]=A[e>>2],i=A[4+(a=r+16|0)>>2],A[(e=t+24|0)>>2]=A[a>>2],A[e+4>>2]=i,i=A[4+(a=r+8|0)>>2],A[(e=t+16|0)>>2]=A[a>>2],A[e+4>>2]=i,e=A[r+4>>2],A[t+8>>2]=A[r>>2],A[t+12>>2]=e,e=y(t+4|0,1177232,t+8|0),W=t+32|0,0|e}];function cr(r){r|=0;var n=0|t.byteLength/65536,k=n+r|0;if(n>2])break e;if(A[e>>2]=0,t=A[e+16>>2],i=A[e+20>>2],a=A[e+44>>2],n=A[e+48>>2],r=A[e+52>>2],E(e),i&&E(t),r)for(t=c(r,84),r=0;A[28+(e=r+a|0)>>2]&&E(A[e+24>>2]),A[e+40>>2]&&E(A[e+36>>2]),A[e+52>>2]&&E(A[e+48>>2]),(0|t)!=(0|(r=r+84|0)););return void(n&&E(a))}Pe(),u()}Ke(),u()},__wbg_range_free:function(e){e:{if(e|=0){if(A[e>>2])break e;return A[e>>2]=0,void E(e)}Pe(),u()}Ke(),u()},__wbg_get_range_offset:function(e){var r=0;e:{if(e|=0){if(-1==(0|(r=A[e>>2])))break e;return A[e>>2]=r,A[e+4>>2]}Pe(),u()}Ke(),u()},__wbg_get_range_size:function(e){var r=0;e:{if(e|=0){if(-1==(0|(r=A[e>>2])))break e;return A[e>>2]=r,A[e+8>>2]}Pe(),u()}Ke(),u()},lszr_new:function(e,r){e|=0,r|=0;var t,a=0,i=0,n=0,f=0,o=0,b=0;W=t=W-160|0,A[t+120>>2]=r,A[t+116>>2]=r,A[t+112>>2]=e,T(t+8|0,t+112|0),i=A[4+(a=t+24|0)>>2],A[(r=e=t+72|0)>>2]=A[a>>2],A[r+4>>2]=i,n=A[4+(i=t+32|0)>>2],A[(r=t+80|0)>>2]=A[i>>2],A[r+4>>2]=n,o=A[4+(n=t+40|0)>>2],A[(a=t+88|0)>>2]=A[n>>2],A[a+4>>2]=o,f=A[4+(o=t+48|0)>>2],A[(i=t+96|0)>>2]=A[o>>2],A[i+4>>2]=f,b=A[4+(f=t+56|0)>>2],A[(n=t+104|0)>>2]=A[f>>2],A[n+4>>2]=b,f=A[4+(o=t+16|0)>>2],A[t+64>>2]=A[o>>2],A[t+68>>2]=f,o=A[t+12>>2];e:{if(1!=A[t+8>>2]){if(b=A[n+4>>2],A[(f=t+152|0)>>2]=A[n>>2],A[f+4>>2]=b,f=A[i+4>>2],A[(n=t+144|0)>>2]=A[i>>2],A[n+4>>2]=f,n=A[a+4>>2],A[(i=t+136|0)>>2]=A[a>>2],A[i+4>>2]=n,i=A[r+4>>2],A[(a=t+128|0)>>2]=A[r>>2],A[a+4>>2]=i,a=A[e+4>>2],A[(r=t+120|0)>>2]=A[e>>2],A[r+4>>2]=a,e=A[t+68>>2],A[t+112>>2]=A[t+64>>2],A[t+116>>2]=e,!(e=ze(56,4)))break e;return A[e+4>>2]=o,A[e>>2]=0,r=A[t+116>>2],A[e+8>>2]=A[t+112>>2],A[e+12>>2]=r,i=A[4+(a=t+120|0)>>2],A[(r=e+16|0)>>2]=A[a>>2],A[r+4>>2]=i,i=A[4+(a=t+128|0)>>2],A[(r=e+24|0)>>2]=A[a>>2],A[r+4>>2]=i,i=A[4+(a=t+136|0)>>2],A[(r=e+32|0)>>2]=A[a>>2],A[r+4>>2]=i,i=A[4+(a=t+144|0)>>2],A[(r=e+40|0)>>2]=A[a>>2],A[r+4>>2]=i,i=A[4+(a=t+152|0)>>2],A[(r=e+48|0)>>2]=A[a>>2],A[r+4>>2]=i,W=t+160|0,0|e}_e(o),u()}e=A[294745],br[e||55](56,4),u()},lszr_parseCD:function(e,r,t){var a;r|=0,t|=0,W=a=W-32|0;e:{r:{if(e|=0){if(A[e>>2])break r;if(A[e>>2]=-1,A[a+24>>2]=t,A[a+20>>2]=t,A[a+16>>2]=r,j(a+8|0,e+4|0,a+16|0),r=A[a+12>>2],t=A[a+8>>2],A[e>>2]=0,t)break e;return W=a+32|0,0|r}Pe(),u()}Ke(),u()}_e(r),u()},lszr_getRange:function(e,r,t){var a;r|=0,t|=0,W=a=W-32|0;e:{r:{t:{if(e|=0){if(A[e>>2])break t;if(A[e>>2]=-1,A[a+24>>2]=t,A[a+20>>2]=t,A[a+16>>2]=r,function(e,r,t){var a,i=0,n=0,f=0,o=0,k=0,l=0,u=0;W=a=W-48|0;a:{i:{if(f=A[r+48>>2])for(n=c(f,84),o=(i=A[r+40>>2])+20|0,k=A[t+8>>2],l=A[t>>2];;){if((0|k)==A[o+12>>2]){if((0|(u=A[o+4>>2]))==(0|l))break i;if(!Ge(l,u,k))break i}if(o=o+84|0,!(n=n+-84|0))break}if(A[a+36>>2]=1,A[a+44>>2]=5,A[a+40>>2]=t,A[a+20>>2]=1,A[a+24>>2]=0,A[a+16>>2]=1174880,A[a+32>>2]=a+40,ee(a,a+16|0),i=qe(r=A[a>>2],A[a+8>>2]),A[e>>2]=1,A[e+4>>2]=i,A[a+4>>2]&&E(r),!A[t+4>>2])break a;return E(A[t>>2]),void(W=a+48|0)}for(k=c(f,84)+i|0,r=A[r+8>>2];(0|i)!=(0|k);)n=i+20|0,i=f=i+84|0,(n=A[n>>2])>>>0<=b[o>>2]||(r=r>>>0>n>>>0?n:r,i=f);i=A[o>>2],A[e+4>>2]=i,A[e>>2]=0,A[e+8>>2]=(-1^i)+r,A[t+4>>2]&&E(l)}W=a+48|0}(a,e+4|0,a+16|0),A[e>>2]=0,r=A[a+4>>2],1==A[a>>2])break r;if(t=A[a+8>>2],!(e=ze(12,4)))break e;return A[e+8>>2]=t,A[e+4>>2]=r,A[e>>2]=0,W=a+32|0,0|e}Pe(),u()}Ke(),u()}_e(r),u()}e=A[294745],br[e||55](12,4),u()},lszr_getData:function(e,r,t,a,i,n){var f;e|=0,t|=0,a|=0,i|=0,n|=0,W=f=W-48|0;e:{r:{t:{if(r|=0){if(A[r>>2])break t;if(A[r>>2]=-1,A[f+24>>2]=a,A[f+20>>2]=a,A[f+16>>2]=t,A[f+40>>2]=n,A[f+36>>2]=n,A[f+32>>2]=i,L(f,r+4|0,f+16|0,f+32|0),A[r>>2]=0,t=A[f+4>>2],1==A[f>>2])break r;a:if((0|(r=A[f+12>>2]))!=(0|(a=A[f+8>>2]))){if(a>>>0>>0)break e;if(r){if(n=Oe(t,a,1,r))break a;e=A[294745],br[e||55](r,1),u()}r=0,n=1,a&&E(t)}else n=t,r=a;return A[e+4>>2]=r,A[e>>2]=n,void(W=f+48|0)}Pe(),u()}Ke(),u()}_e(t),u()}Xe(1174964),u()},lszr_cdRange:function(e){var r=0,t=0;e:{r:{if(e|=0){if(-1==(0|(r=A[e>>2])))break r;if(A[e>>2]=r,r=A[e+8>>2],t=A[e+12>>2],!(e=ze(12,4)))break e;return A[e+8>>2]=r,A[e+4>>2]=t,A[e>>2]=0,0|e}Pe(),u()}Ke(),u()}e=A[294745],br[e||55](12,4),u()},lszr_eocdRange:function(e){var r=0,t=0;e:{r:{if(e|=0){if(-1==(0|(r=A[e>>2])))break r;if(A[e>>2]=r,r=A[e+32>>2],t=A[e+28>>2],!(e=ze(12,4)))break e;return A[e+8>>2]=r,A[e+4>>2]=t,A[e>>2]=0,0|e}Pe(),u()}Ke(),u()}e=A[294745],br[e||55](12,4),u()},__wbindgen_global_argument_ptr:function(){return 1178896},__wbindgen_malloc:function(e){e:if(!((e|=0)>>>0>4294967292)){if(e){if(!(e=ze(e,(e>>>0<4294967293)<<2)))break e;return 0|e}return 4}u()},__wbindgen_realloc:function(e,r,t){if(e|=0,t|=0,!((r|=0)>>>0>4294967292)&&(e=Oe(e,r,4,t)))return 0|e;u()},__wbindgen_free:function(e,r){e|=0,(r|=0)&&E(e)}}}({Math:Math,Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},{abort:function(){throw new Error("abort")},__wbg_log_99d3625b1101d5c9:a.b,__wbindgen_string_new:a.h,__wbindgen_object_drop_ref:a.f,__wbg_new_acdbe9c25dc35c37:a.d,__wbg_push_60b55c9bdc824202:a.e,__wbg_new_1b8e8daea7ea040d:a.c,__wbindgen_throw:a.i,__wbindgen_rethrow:a.g},f),c=b.memory,k=b.__wbg_lszr_free,l=b.__wbg_range_free,u=b.__wbg_get_range_offset,g=b.__wbg_get_range_size,h=b.lszr_new,s=b.lszr_parseCD,d=b.lszr_getRange,V=b.lszr_getData,p=b.lszr_cdRange,m=b.lszr_eocdRange,Z=b.__wbindgen_global_argument_ptr,W=b.__wbindgen_malloc,Y=b.__wbindgen_realloc,B=b.__wbindgen_free}).call(this,t(113).Buffer)},function(e,r,t){(function(r){var t="object",a=function(e){return e&&e.Math==Math&&e};e.exports=a(typeof globalThis==t&&globalThis)||a(typeof window==t&&window)||a(typeof self==t&&self)||a(typeof r==t&&r)||Function("return this")()}).call(this,t(17))},function(e,r,t){"use strict";t.d(r,"b",function(){return W}),t.d(r,"d",function(){return B}),t.d(r,"e",function(){return I}),t.d(r,"c",function(){return F}),t.d(r,"h",function(){return X}),t.d(r,"g",function(){return C}),t.d(r,"i",function(){return y}),t.d(r,"a",function(){return G}),t.d(r,"f",function(){return U});var a=t(0);function i(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function n(e,r){for(var t=0;t127)break;n[t+i]=A}if(i!==e.length){e=e.slice(i),t=a.h(t,r,r=i+3*e.length);var f=o().subarray(t+i,t+r);i+=d.encodeInto(e,f).written}return b=i,t}:function(e){for(var r=e.length,t=a.g(r),i=0,n=o();i127)break;n[t+i]=A}if(i!==e.length){var f=d.encode(e.slice(i));t=a.h(t,r,r=i+f.length),o().set(f,t+i),i+=f.length}return b=i,t};var V=null;var p=null;var m=new TextDecoder("utf-8");function Z(e,r){return m.decode(o().subarray(e,e+r))}function W(e,r){var t=Z(e,r);console.log(t)}function Y(e){u===k.length&&k.push(k.length+1);var r=u;return u=k[r],k[r]=e,r}function B(){return Y(new Array)}function I(e,r){return l(e).push(l(r))}function F(e,r){var t=Z(e,r);return Y(new Error(t))}function X(e,r){return Y(Z(e,r))}function C(e){throw h(e)}function y(e,r){throw new Error(Z(e,r))}var G=function(){function e(r){i(this,e);var t=c(r),n=b;this.ptr=a.m(t,n)}return A(e,[{key:"free",value:function(){var e=this.ptr;this.ptr=0,function(e){a.c(e)}(e)}}]),A(e,[{key:"parseCD",value:function(e){var r=c(e),t=b;return h(a.n(this.ptr,r,t))}},{key:"getRange",value:function(e){var r=s(e),t=b;return J.__wrap(a.l(this.ptr,r,t))}},{key:"getData",value:function(e,r){var t=s(e),i=b,n=c(r),A=b,f=(null===V&&(V=a.f()),V);a.k(f,this.ptr,t,i,n,A);var k,l,u=(null!==p&&p.buffer===a.o.buffer||(p=new Uint32Array(a.o.buffer)),p),g=u[f/4],h=u[f/4+1],d=(k=g,l=h,o().subarray(k/1,k/1+l)).slice();return a.e(g,1*h),d}},{key:"cdRange",get:function(){return J.__wrap(a.i(this.ptr))}},{key:"eocdRange",get:function(){return J.__wrap(a.j(this.ptr))}}]),e}();var J=function(){function e(){i(this,e)}return A(e,[{key:"free",value:function(){var e=this.ptr;this.ptr=0,function(e){a.d(e)}(e)}},{key:"offset",get:function(){return a.a(this.ptr)>>>0}},{key:"size",get:function(){return a.b(this.ptr)>>>0}}],[{key:"__wrap",value:function(r){var t=Object.create(e.prototype);return t.ptr=r,t}}]),e}();function U(e){g(e)}},function(e,r,t){var a=t(1),i=t(18),n=t(29),A=t(64),f=a.Symbol,o=i("wks");e.exports=function(e){return o[e]||(o[e]=A&&f[e]||(A?f:n)("Symbol."+e))}},function(e,r,t){var a=t(1),i=t(34).f,n=t(5),A=t(13),f=t(26),o=t(69),b=t(50);e.exports=function(e,r){var t,c,k,l,u,g=e.target,h=e.global,s=e.stat;if(t=h?a:s?a[g]||f(g,{}):(a[g]||{}).prototype)for(c in r){if(l=r[c],k=e.noTargetGet?(u=i(t,c))&&u.value:t[c],!b(h?c:g+(s?".":"#")+c,e.forced)&&void 0!==k){if(typeof l==typeof k)continue;o(l,k)}(e.sham||k&&k.sham)&&n(l,"sham",!0),A(t,c,l,e)}}},function(e,r,t){var a=t(10),i=t(11),n=t(19);e.exports=a?function(e,r,t){return i.f(e,r,n(1,t))}:function(e,r,t){return e[r]=t,e}},function(e,r){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,r,t){var a=t(9);e.exports=function(e){if(!a(e))throw TypeError(String(e)+" is not an object");return e}},function(e,r){var t={}.hasOwnProperty;e.exports=function(e,r){return t.call(e,r)}},function(e,r){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,r,t){var a=t(6);e.exports=!a(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,r,t){var a=t(10),i=t(44),n=t(7),A=t(45),f=Object.defineProperty;r.f=a?f:function(e,r,t){if(n(e),r=A(r,!0),n(t),i)try{return f(e,r,t)}catch(e){}if("get"in t||"set"in t)throw TypeError("Accessors not supported");return"value"in t&&(e[r]=t.value),e}},function(e,r){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,r,t){var a=t(1),i=t(18),n=t(5),A=t(8),f=t(26),o=t(46),b=t(21),c=b.get,k=b.enforce,l=String(o).split("toString");i("inspectSource",function(e){return o.call(e)}),(e.exports=function(e,r,t,i){var o=!!i&&!!i.unsafe,b=!!i&&!!i.enumerable,c=!!i&&!!i.noTargetGet;"function"==typeof t&&("string"!=typeof r||A(t,"name")||n(t,"name",r),k(t).source=l.join("string"==typeof r?r:"")),e!==a?(o?!c&&e[r]&&(b=!0):delete e[r],b?e[r]=t:n(e,r,t)):b?e[r]=t:f(r,t)})(Function.prototype,"toString",function(){return"function"==typeof this&&c(this).source||o.call(this)})},function(e,r){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},function(e,r){e.exports={}},function(e,r,t){"use strict";var a=t(12),i=function(e){var r,t;this.promise=new e(function(e,a){if(void 0!==r||void 0!==t)throw TypeError("Bad Promise constructor");r=e,t=a}),this.resolve=a(r),this.reject=a(t)};e.exports.f=function(e){return new i(e)}},function(e,r){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,r,t){var a=t(1),i=t(26),n=t(20),A=a["__core-js_shared__"]||i("__core-js_shared__",{});(e.exports=function(e,r){return A[e]||(A[e]=void 0!==r?r:{})})("versions",[]).push({version:"3.1.3",mode:n?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,r){e.exports=function(e,r){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:r}}},function(e,r){e.exports=!1},function(e,r,t){var a,i,n,A=t(62),f=t(1),o=t(9),b=t(5),c=t(8),k=t(28),l=t(30),u=f.WeakMap;if(A){var g=new u,h=g.get,s=g.has,d=g.set;a=function(e,r){return d.call(g,e,r),r},i=function(e){return h.call(g,e)||{}},n=function(e){return s.call(g,e)}}else{var V=k("state");l[V]=!0,a=function(e,r){return b(e,V,r),r},i=function(e){return c(e,V)?e[V]:{}},n=function(e){return c(e,V)}}e.exports={set:a,get:i,has:n,enforce:function(e){return n(e)?i(e):a(e,{})},getterFor:function(e){return function(r){var t;if(!o(r)||(t=i(r)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return t}}}},function(e,r,t){var a=t(68),i=t(33);e.exports=function(e){return a(i(e))}},function(e,r,t){var a=t(8),i=t(52),n=t(28),A=t(75),f=n("IE_PROTO"),o=Object.prototype;e.exports=A?Object.getPrototypeOf:function(e){return e=i(e),a(e,f)?e[f]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,r,t){var a=t(7),i=t(86),n=t(35),A=t(42),f=t(87),o=t(88),b={};(e.exports=function(e,r,t,c,k){var l,u,g,h,s,d=A(r,t,c?2:1);if(k)l=e;else{if("function"!=typeof(u=f(e)))throw TypeError("Target is not iterable");if(i(u)){for(g=0,h=n(e.length);h>g;g++)if((c?d(a(s=e[g])[0],s[1]):d(e[g]))===b)return b;return}l=u.call(e)}for(;!(s=l.next()).done;)if(o(l,d,s.value,c)===b)return b}).BREAK=b},function(e,r){e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},function(e,r,t){var a=t(1),i=t(5);e.exports=function(e,r){try{i(a,e,r)}catch(t){a[e]=r}return r}},function(e,r,t){var a=t(1),i=t(9),n=a.document,A=i(n)&&i(n.createElement);e.exports=function(e){return A?n.createElement(e):{}}},function(e,r,t){var a=t(18),i=t(29),n=a("keys");e.exports=function(e){return n[e]||(n[e]=i(e))}},function(e,r){var t=0,a=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++t+a).toString(36))}},function(e,r){e.exports={}},function(e,r,t){var a=t(14),i=t(3)("toStringTag"),n="Arguments"==a(function(){return arguments}());e.exports=function(e){var r,t,A;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,r){try{return e[r]}catch(e){}}(r=Object(e),i))?t:n?a(r):"Object"==(A=a(r))&&"function"==typeof r.callee?"Arguments":A}},function(e,r){var t=Math.ceil,a=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?a:t)(e)}},function(e,r){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,r,t){var a=t(10),i=t(67),n=t(19),A=t(22),f=t(45),o=t(8),b=t(44),c=Object.getOwnPropertyDescriptor;r.f=a?c:function(e,r){if(e=A(e),r=f(r,!0),b)try{return c(e,r)}catch(e){}if(o(e,r))return n(!i.f.call(e,r),e[r])}},function(e,r,t){var a=t(32),i=Math.min;e.exports=function(e){return e>0?i(a(e),9007199254740991):0}},function(e,r){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,r,t){var a=t(7),i=t(76),n=t(36),A=t(30),f=t(53),o=t(27),b=t(28)("IE_PROTO"),c=function(){},k=function(){var e,r=o("iframe"),t=n.length;for(r.style.display="none",f.appendChild(r),r.src=String("javascript:"),(e=r.contentWindow.document).open(),e.write(" + + + + + + + +

+ + + + + + + \ No newline at end of file diff --git a/bibi/presets/README.md b/bibi/presets/README.md new file mode 100644 index 0000000..825f6eb --- /dev/null +++ b/bibi/presets/README.md @@ -0,0 +1,286 @@ + + + + +プリセット指定マニュアル +==================================================================================================== + + + +かんたんですが、プリセットについて解説します。今後マニュアルにまとめる計画ですので、読みづらさはしばしご容赦ください。 +※ ときどき、実際のプリセットファイルの内容に追いついていない場合があります。申し訳ありませんがご容赦ください(もしできればご指摘ください)。 + + + +プリセットとは / つかいかた +---------------------------------------------------------------------------------------------------- + +プリセットファイルとは、リーダとしてのデフォルト挙動やレイアウトの初期設定を外部化したテキストファイルです。これを編集することでビビの振る舞いをカスタマイズすることができます。 + +bibi/presets フォルダに入れて使うのが基本ですが、じつはどこか別の場所でも(余所のサーバでも)かまいません。 + +配布状態の bibi/index.html は bibi/presets/default.js を呼び出しています。設定を変更したいときは、この default.js を直接編集してもいいのですが、default.js を複製・リネームして別のプリセットを作成した上で、bibi/index.html から呼び出すファイルをそちらに変更することをお勧めします。 + +bibi/index.html も、たとえば bibi/the-great-book.html のように複製・リネームして使い分けることができるので、本ごとに HTML とプリセットの組み合わせを使い分けることができます。 + + + +カスタマイズについて、はじめに +---------------------------------------------------------------------------------------------------- + +以下、挙動をカスタマイズできる具体的な指定について説明しますが、多くは、対象とする EPUB によって一長一短があります。だからこそ、ビビ側で一律に固定せず、プリセットとして編集可能にしてあるというわけです。 + +読者自身が読みながらボタンで変更できる項目もありますが、ご自身で作成した EPUB を読者に見せたい場合や、ご自身で見た目をカスタマイズした Bibi を読者に使ってもらいたい場合など、EPUB に合わせたスタイルやあなたらしいスタイルを予めプリセットで指定しておくと、きっとステキだと思います。 + + +### この文書内で使用される用語の定義 + +アイテムとは、表示されるファイルひとつひとつのことです。 + +「見開き」とは、アイテムをつつむブロックです。リフロー指定のアイテムはそれ1つだけで「見開き」を構成します。固定レイアウトで左右ペアが作られている場合は、その2つが1つの「見開き」に入ります。 + +「長さ」は、進行方向サイズのことです。水平方向に進行しているときは左右幅、垂直なら上下高を指します。同様に「広さ」は、水平進行なら上下高、垂直なら左右幅です。そして、それらの数値が小さい状態を「短い」「狭い」ということにします。 + +これらの定義は EPUB もしくは電子書籍について一般に使われているわけではなく、あくまでビビ用語だと思ってください。 + + + +項目の説明1:基本設定 +---------------------------------------------------------------------------------------------------- + + +ビビのごく基本的な振る舞いを制御します。 + + + +### "bookshelf" …… bookshelf ディレクトリまでのパス + +そのプリセットファイルからみた bookshelf ディレクトリのパスです。基本的には、同じウェブサーバ内の bookshelf ディレクトリまでの相対パス・ルート相対パス("../../bibi-bookshelf/" や "/bibi-bookshelf/" など)を記述します。 + +高度な設定として、クロスオリジンリクエストが許可されているサーバの bookshelf ディレクトリを http(s):// から書くこともできます。ただし、そのサーバのオリジンは、この文書の最後に述べる "trustworthy-origins" に含まれていなければなりません。 + + +### "reader-view-mode" …… 表示モードの初期値(ページめくり・横スクロール・縦スクロール) + +* "paged" を指定するとページめくりモード、 +* "horizontal" なら横スクロールモード、 +* "vertical" なら縦スクロールモード + +……で表示を開始します。読者は随時変更できるので、あくまで最初にどのモードで表示するか、ということです。 + + +### "fix-reader-view-mode" …… 表示モードを固定して変更を禁止するかどうか + +"yes", "no", "desktop", "mobile" の4つから選べます。 + +この項目の初期値は "no" で、そのままにしておくことをオススメします。 + +"yes" にするといつも、"desktop" ならパソコンのとき、"mobile" ならスマートフォンのときに、ユーザが表示モードを変更できなくなり、変更ボタンも表示されなくなります。コンテンツの性質によって禁止したほうがユーザ体験を向上させられるときに使います。 + +以降、"yes", "no", "desktop", "mobile" の4つから選択する形式の指定がいくつか登場しますが、切り替え条件はすべて同じです + + +### "single-page-always" …… 2ページの見開きにせず1ページで表示させるかどうか + +"yes", "no", "desktop", "mobile" から選択してください。 + +初期値は "no" で、その場合、横書きの本をページめくりモードまたは横スクロールモードで表示したとき、画面の横幅に余裕があれば、1画面あたり2ページの見開きで表示します。 + +"yes" にするといつも、"desktop" ならパソコンのとき、"mobile" ならスマートフォンのときに、画面の横幅が広くても常に1画面あたり1ページで表示させます。 + + +### "autostart" …… 貼り付け時、再生ボタンのクリックを待たずに自動的に本を開くかどうか + +ビビはウェブページに埋め込んで使えますが、データ量の大きい本を自動再生すると、親ウェブページの読み込み処理を遅くしてしまう場合があります。とはいえ、軽い本なら自動再生してしまいたいかもしれませんし、パソコンとスマートフォンで挙動を切り替えたいこともあるでしょう。そこでこれも、"yes", "no", "desktop", "mobile" の値で、切り替えられるようにしました。 + +"yes" なら、どんなときもいつも自動再生します。"no" は逆に、必ず再生ボタンのクリック/タップを必要とします。"desktop" は、パソコンなら自動再生、スマートフォンでは再生ボタンの操作が必要になります。"mobile" は "desktop" の逆です。 + + +### "start-in-new-window" …… 貼り付け状態で再生ボタンを押したとき、新しいウィンドウで開くかどうか + +貼り付け時、"autostart" の設定によって再生ボタンが表示された場合、その再生ボタンをクリック/タップしたとき、そのまま貼り付け状態で再生するか、新しいウィンドウで開くかどうかの設定です。これも "yes", "no", "desktop", "mobile" の4首から選べるようになっています。 + +"yes" はいつも別ウィンドウ、"no" はかならず埋め込み状態、"desktop" はパソコンなら別ウィンドウでスマートフォンなら埋め込み、"mobile" は "desktop" の逆、です。 + +ごく最近まで、ビビはいつも "mobile" と同じ挙動でした。スマートフォンでも埋め込んだまま起動したいという要望はちらほらとあったのですが、読むのに十分なパフォーマンスが出なかったためです。 + +が、どうやらそろそろまともに動くようになったようなので、任意で選べるようにしました。ただ、スマートフォンの場合、狭い画面内のさらに小さなフレームで開くと読者に不便を強いるかもしれません。よく気をつけて使ってみてください(ユーザは、メニュー内のボタンからいつでも別ウィンドウで開きなおせます。とはいえ)。 + + +### "use-nombre" …… ページ番号・パーセントインジケータを使うか + +ページをめくったときなどに、ビビは現在のページと全体のうちのパーセンテージを表示します。これを使うかどうか決められます。 + +これも "yes", "no", "desktop", "mobile" の設定で、初期値は "yes" です。 + + +### "use-slider" …… ページスライダを使うか + +画面の真ん中あたりをクリック/タップすると下端に出てくるページスライダの使用有無です。本の中の好きな位置にジャンプできる便利な UI で、有効になっていると、パソコンではページめくりモードのときに擬似的なスクロールバーの役割も兼ねます。 + +これも "yes", "no", "desktop", "mobile" の設定で、初期値は "yes" です。 + + +### "use-arrows" …… 画面端のクリック/タップに反応するページめくり機能を使うか + +ビビは画面左右にページめくり領域を用意して、クリック/タップで操作できるようになっています。ただ、特別なプログラムを組んで埋め込まれた親ページやアプリに独自の UI をつけて不要になったりしたときは、消せるようにしてあります。 + +これも "yes", "no", "desktop", "mobile" の設定で、初期値は "yes" です。これがないとめくれなくなってしまう場合がほとんどなので、基本的には "yes" のままをおすすめします。 + + +### "use-keys" …… キーボード操作を受け付けるか + +有効になっていると、キーボードのカーソルキーでもページ移動ができます。 + +これも "yes", "no", "desktop", "mobile" の設定で、初期値は "desktop" です。有効にしてもスマートフォンでは使えない機能なので、"desktop" か "no" をおすすめします。 + + +### "use-cookie" …… 状態を Cookie に保存して次回開いたときに再現するか + +有効になっていると、最後に開いていたときの表示モードとページ位置を保存して、次回も同じ本は同じ状態で開始します。 + +本の特定には、ビビのディレクトリとEPUB のメタファイルに書かれた本の ID(identifier)の組み合わせが使われます。記録されるのは表示モードとページ位置だけで、この機能によってプライベートな情報が外部に漏れたりはしません。 + +これも "yes", "no", "desktop", "mobile" の設定で、初期値は "yes" です。パソコンとスマートフォンで挙動を分ける理由は特にないと思いますので、"yes" か "no" かで選ぶのがよいと思われます。 + + +### "cookie-expires" …… Cookie を保存するときの有効期限(単位:ミリ秒) + +上の "use-cookie" が有効になっている場合に保存される Cookie の有効期限です。 + +単位はミリ秒(1/1000 秒)で、初期値は 1000 * 60 * 60 * 24 * 31。これは 1000 × 60 × 60 × 24 × 31 という意味で、最初の 1000 は 1/1000秒が1000なので1秒、つづけて、その60倍で1分、その60倍で1時間、その24倍で1日、その31倍なので、つまり31日間となっています(あらかじめ計算した値の 259200000 と書いておいても同じことですが、バラしたほうがわかりやすいかな、と)。 + +どんなに長くても1年以内にしておくのがいいと思います。たとえば読んでいる途中のリロードだけに対応したいなら数分程度でもいいのです。いろいろ試してみてください。 + + +### "ui-font-family" …… 目次やその他の基本 UI のフォント指定 + +たとえば、台湾では句読点をボックス中央に配置したフォントが一般的なのでそういうフォントを使いたい、などなどの事情があるとき、デフォルトフォントを指定できます。値は CSS の font-family そのままです。 + +これは本文には影響しません。あくまで、ビビの UI として表示される目次などのフォントです。 + + + +項目の説明2:本の中身の表示カスタマイズ +---------------------------------------------------------------------------------------------------- + + +### "book-background" …… 「見開き」の下の背景 + +「見開き」の白い箱のうしろに、暗い色のエリアがあります。そのスタイルを変更できます。値は CSS の background そのままです。つまり背景画像なども使えます。 + + +### "spread-gap" …… 「見開き」と「見開き」の間隔 + +縦/横スクロールモード表示時の、「見開き」同士の間隔です。単位は px。 + +最初と最後の「見開き」とウィンドウ端の距離は、この値にかかわらず、ウィンドウの真ん中に来るようにウィンドウ端との距離が調節されます。 + + +### "spread-margin" …… 「見開き」とウィンドウの間隔 + +「見開き」とウィンドウの、「幅」方向(本の進行方向と垂直の軸)の間隔です。単位は px。 + + +### "spread-border-radius" …… 「見開き」のカド丸設定 + +「見開き」の白い箱のカドを丸めることができます。CSS の border-radius に適用する値そのままです。 + + +### "spread-box-shadow" …… 「見開き」に影を付けるなら CSS を + +「見開き」の白い箱に影をつけられます。CSS の box-shadow に適用する値そのままです。 + +影を付けるとすこしスクロールがもたつくかもしれませんので、ないほうがいいかもしれません。不要なら "none" もしくは "" としてください。 + + +### "item-padding-left" / "****-right" / "****-top" / "****-bottom" …… 各アイテム内の余白 + +「見開き」の内側、EPUB 内の各 HTML が描画される領域までの余白です。数値の単位はすべて px(ピクセル)。 + +グチですが……ホントは全部 0 でいいはずじゃないかと思うんです。EPUB 内の CSS で作者が制御できるなら、その方がいいはずだから。でも、世間には制御不能な余白をつけるリーディングシステムも多く、そうしたリーディングシステムに合わせて、余白を設定していないか狭めにしている EPUB はかなり多いです。この項目はそのためにあります。 + +EPUB 内の HTML に適用された背景色・背景画像もこの余白に反映されるように処理しています。ただし、本が固定レイアウトのときは無視され、ビビによる余白調整は行われません。 + + + +項目の説明3:エクステンション +---------------------------------------------------------------------------------------------------- + + +ビビには、連携プログラムを追加して機能を拡張できる仕組みが用意されています。こういう仕組みは一般にプラグイン、エクステンション、機能拡張などといわれますが、ビビではエクステンションと呼ぶことにしました(ビビは女の子なので、アクセサリっぽいのがいいでしょう?)。 + + +### エクステンションの基本 + +たとえば、example という名前のあたらしいエクステンションを手に入れたとします。そのエクステンションが example/script.js というフォルダ構成になっていれば、まず、example フォルダを bibi/extensions/ フォルダに入れます。 + +次に、プリセットファイル内の "extensions" で始まる行の次の行に、 + +``` +{ "src": "../extensions/example/script.js" }, +``` + +……と書き足します。"src" に指定するのは、そのプリセットファイルからの相対パスです(bookshelf ディレクトリの項目で説明したのと同じように、bibi/extensions 以外のフォルダに置いたファイルや、許可されていれば別サーバを指定することもできます) + +すると、ビビは起動時にそのエクステンションを追加で読み込み、エクステンションの機能が有効になります。 + +配布時にいくつか同梱されていますが、これらはどれも、必要に応じて自動で読み込まれるか、必要だと思う人が自分で有効化すればよいようにデフォルトでは読み込まないようにしてあるか、どちらかです。以下、同梱エクステンションについて説明します。 + + +### "Unzipper" …… 展開していない(= Zip アーカイブ済みの)EPUB を扱えるようにする + +必要に応じて自動的に読み込まれる特殊なエクステンションです。 + +EPUB は ZIP フォーマットでアーカイブされており、ブラウザはふつうは ZIP アーカイブの内部にあるファイルを扱えませんが、このエクステンションによって、ビビはアーカイブ状態の EPUB も扱えるようになります。 + +受信したパソコン/スマートフォンでビビが展開して処理する必要があるため、EPUB のファイルサイズが 10MB を超えるあたりから、読み始められるまでの処理時間の長さが顕著になってきます。そもそも重くて転送時間のかかるファイルを受信した上でにさらに展開処理が発生するので、仕方のないことです。また、古くて非力なスマートフォンなどでは、展開の処理負荷で表示以前にビビが止まってしまうこともあります。 + +ただし最近の改善によって、軽い本の場合は、展開済みの各ファイルをバラバラにダウンロードするよりも読み込みが効率化されて、高速・低負荷になる場合もあります。一度表示してしまえば動作速度に大きな差はありません。 + +ちょっと前まで、ビビを使って本を公開するときには、あらかじめ展開しておくことをおすすめしていました。が、Internet Explorer でも展開できるようになり、全般的に速度も改善し、場合によっては Zip のままのほうが速いこともあるので、「予め展開しておくほうが速い場合が多いですよ」程度の推奨に緩めることにします。 + +数年前のビビ開発初期はむしろアーカイブ状態のままでしか扱えなかったくらいビビの基本的な機能で、また、圧縮ファイルをドラッグ&ドロップで開けるのも、自作 EPUB のプレビューなどに便利なビビのメリットです。 + + +### "Analytics" …… Google Analytics でユーザの行動を分析できるようになる + +本をウェブで公開するとなると、どれだけの人が再生ボタンをクリックしたか、目次のどの項目がクリックされたか、最後まで読んだか、などなど、気になってくると思います。これらを、Google Analytics のイベントトラッキング機能を使って記録できるようにします。 + +Google Analytics の基本機能として同時に記録される OS や アクセス元言語圏などなども合わせて、読まれた状況をさまざまに分析できるようになります。 + +有効化する際には、"src" に加えて "tracking-id" という値で Google Analytics のトラッキング ID(書式:UA-XXXXXXXX-X)を書き足す必要があります。 + +現在記録されるのは、下に挙げるユーザ行動です。ほかに記録・分析したいことがあれば、作者にご要望をお寄せください。 + +* 再生ボタンのクリック/タップ +* 目次項目のクリック/タップ +* 最後のページの表示 + +最近、ビビを使ったお仕事の中で、非常にたくさんの情報を記録する独自拡張を開発しました。そのクライアントのご厚意で、処理自体はオープンソース化するご許可をいただいていますので、そのうち、大きく拡張するかもしれません。 + + + +### "EPUBCFI" …… EPUBCFI 仕様の位置・範囲指定を利用できるようにする + +EPUBCFI は、複数ファイルで構成される EPUB 内の、特定ファイルの特定段落の何文字目から何文字目、といった位置・範囲を指定することができる仕組みです。「これこれについてはこの本のここにかいてあります」といったリンクで人に伝えたりしやすくなります。論文の引用などにも使えますね。 + +EPUB ビューワは EPUBCFI に対応していることが望ましい、ということになっており、実際うまくつかえば便利なのでビビも部分的に対応してみたのですが……書式が「人間の読み書きできるもんじゃねえ」という感じだからか、EPUBCFI 仕様自体があまりつかわれていません。このプラグインも、仕様に用意された機能の完全対応は諦めて、位置の指定のみに対応して開発が止まっています(範囲指定はごく部分的にしか扱えません)。 + +ビビには、EPUBCFI を使わなくても本の途中を指定して開く機能を別につけてあります。それは EPUB の基本仕様ではなく独自機能ですが、もうすこしわかりやすく直感的な書式で指定できるようになっています。別途解説予定ですので、おたのしみに(といってぜんぜん解説しないままですみません) + + + +項目の説明4:高度な設定(普通の使い方をするかぎり変更しないことをおすすめします) +---------------------------------------------------------------------------------------------------- + +"trustworthy-origins" …… bookshelf ディレクトリの場所や Message の送信元として許可するオリジン + +必要であれば外部のオリジンを列挙することで、bookshelf を外部サーバに置いたり、別サーバからの Message で動作指示を受け取ったりできるようになります。なにも書かなくても、ビビ自体が置かれたサーバのオリジンは許可されます。 + +たとえばここに "https://dl.dropboxusercontent.com" を加えれば、自分のウェブサーバに設置したビビから Dropbox の公開フォルダに置いた EPUB を読み込んだりできるようになります。ただし、このオリジンはどんな Dropbox ユーザの公開フォルダの URL でも共通なので、まったく知らない誰かが、その人の Dropbox 公開フォルダに置いた EPUB を、あなたのビビで、表示させることもできるようになります。 + +十分に注意して、ドキュメントルート以下すべてが自分の管理下にあるサーバのみを加えるのがいいと思います(その条件では、Dropbox も除外されます)。 + +もちろん、その外部サーバがビビの置かれたサーバまたはすべての外部サーバからのリクエストを許可していなければ、ここに加えても読み込むことはできません。 + diff --git a/bibi/presets/default.js b/bibi/presets/default.js new file mode 100644 index 0000000..f91bcfa --- /dev/null +++ b/bibi/presets/default.js @@ -0,0 +1,206 @@ +Bibi.preset({ + + +//============================================================================================================================================== +//-- Bookshelf +//---------------------------------------------------------------------------------------------------------------------------------------------- + +"bookshelf" : "../../bibi-bookshelf", // Relative path from this preset file to the bookshelf directory. "/" at the end is ignored. (To use a path begins with "http(s)://", read <01> at the bottom of this preset file.) + + +//============================================================================================================================================== +//-- Behavior +//---------------------------------------------------------------------------------------------------------------------------------------------- + +"reader-view-mode" : "paged", // "paged" or "horizontal" or "vertical" ("paged" is for flipping, "horizontal" and "vertical" are for scrolling) +"full-breadth-layout-in-scroll" : "no", // "yes" or "no" or "desktop" or "mobile" +"fix-reader-view-mode" : "no", // "yes" or "no" or "desktop" or "mobile" + +"keep-settings" : "yes", // "yes" or "no" or "desktop" or "mobile" +"resume-from-last-position" : "yes", // "yes" or "no" or "desktop" or "mobile" + +"autostart" : "yes", // "yes" or "no" or "desktop" or "mobile" +"autostart-embedded" : "no", // "yes" or "no" or "desktop" or "mobile" (It takes priority over "autostart" when the book is embedded in a webpage) +"start-embedded-in-new-window" : "mobile", // "yes" or "no" or "desktop" or "mobile" (It is used only when "autostart" (or "autostart-embedded") is NOT enabled) + + +//============================================================================================================================================== +//-- UI / Design +//---------------------------------------------------------------------------------------------------------------------------------------------- + +"use-menubar" : "yes", // "yes" or "no" or "desktop" or "mobile" +"use-full-height" : "yes", // "yes" or "no" or "desktop" or "mobile". If "use-menubar" is interpreted as "no", "use-full-height" is always treated as "yes". + +"use-arrows" : "yes", // "yes" or "no" or "desktop" or "mobile" +"flipper-width" : 0.25, // Number of ratio (less than 1) or pixel (1 or greater) + +"use-keys" : "yes", // "yes" or "no" or "desktop" or "mobile" + +"use-slider" : "yes", // "yes" or "no" or "desktop" or "mobile" +"flip-pages-during-sliding" : "yes", // "yes" or "no" or "desktop" or "mobile" + +"use-nombre" : "yes", // "yes" or "no" or "desktop" or "mobile" + +"use-font-size-changer" : "yes", // "yes" or "no" or "desktop" or "mobile" +"base-font-size" : "auto", // Number of pixel or "auto" +"font-size-scale-per-step" : 1.25, // Number of scale + +"use-loupe" : "desktop", // "yes" or "no" or "desktop" or "mobile" (Note: Loupe buttons will not appear in touch-devices even if it is set "yes" or "mobile".) +"loupe-max-scale" : 4, // Number of scale (greater than 1) +"loupe-scale-per-step" : 1.6, // Number of scale (greater than 1, less than or equal to "loupe-max-scale") +"zoom-out-for-utilities" : "yes", // "yes" or "no" or "desktop" or "mobile" + +"use-history" : "yes", // "yes" or "no" or "desktop" or "mobile" +"max-history" : 19, // Number (0-19). If larger than 19, treated as 19. If 0, "use-history" is treated as "no". + +"use-bookmarks" : "yes", // "yes" or "no" or "desktop" or "mobile" +"max-bookmarks" : 3, // Number (0-9). If larger than 9, treated as 9. If 0, "use-bookmarks" is treated as "no" (but old data is kept in localStorage). + +"orientation-border-ratio" : 1 * 2 / 1.5, // Number (Width per Height) + +"ui-font-family" : "", // CSS font-family value as "'Helvetica', sans-serif" or "" + +"item-padding-left" : 24, // Number of pixel (It affects only for reflowable books.) +"item-padding-right" : 24, // Number of pixel (It affects only for reflowable books.) +"item-padding-top" : 48, // Number of pixel (It affects only for reflowable books.) +"item-padding-bottom" : 24, // Number of pixel (It affects only for reflowable books.) + +"spread-gap" : 48, // Number of pixel (It affects only in paged view mode.) +"spread-margin" : 0, // Number of pixel + +"fix-nav-ttb" : "no", // "yes" or "no" or "desktop" or "mobile" + +"on-doubletap" : "", +"on-tripletap" : "", + +"content-draggable" : [true, true], // [, ] +"orthogonal-arrow-keys" : ["move", "switch"], // [, ] +"orthogonal-edges" : ["utilities", "utilities"], // [, ] +"orthogonal-touch-moves" : ["move", "switch"], // [, ] +"orthogonal-wheelings" : ["move", "across"], // [, ] +// ^ Each item of the arrays corresponds to the view mode: +// * the first is for the "paged" view mode, and +// * the second is for the "horizontal"/"vertical" scroll view modes. +// ^ Types of the values: +// * : true or false +// * : "" (ignore) or "utilities" or "move" +// * : "" (ignore) or "utilities" or "move" or "switch" +// * : "" (ignore) or "utilities" or "move" or "switch" or "across" + + +//============================================================================================================================================== +//-- Extensions +//---------------------------------------------------------------------------------------------------------------------------------------------- + +// "src" is relative path from this preset file to the JavaScript file of the extension. +// "id" must be defined in each extension file. +"extensions": [ + // { "src": "../extensions/FOLDER-NAME-IF-EXISTS/FILE-NAME.js" }, // +""], + + +//============================================================================================================================================== +//-- Extra +//---------------------------------------------------------------------------------------------------------------------------------------------- + +"website-name-in-title" : "", // "" or name of your website replaces string "Bibi" in . +"website-name-in-menu" : "", // "" or name of your website appears in setting-menu as a link. (Requires "website-href") +"website-href" : "", // "" or URL of your website to be used for the link in setting-menu. (Requires "website-name-in-menu") +"remove-bibi-website-link" : false, // true or false (if true, the link to Bibi Website is not to be added in setting-menu) + + +//============================================================================================================================================== +//-- System +//---------------------------------------------------------------------------------------------------------------------------------------------- + +"extract-if-necessary" : [".epub", ".zip"], // File extensions of the book specified in URL, which you want Bibi to try to extract first. (More info is <02> at the bottom of this preset file.) + +"default-page-progression-direction" : "ltr", // "ltr" or "rtl". Most of EPUBs have right property in itself, but.... + +"accept-local-file" : "yes", // "yes" or "no" or "desktop" or "mobile". (If it is enabled, Bibi prepares UI for loading files. Conditions for acceptance are <03> at the bottom of this preset file.) +"accept-bibizine" : true, // true or false (If true, Bibi accepts EPUB-like bibiZine formated book. If you are interested in it, please contact the author) +"accept-blob-converted-data" : true, // true or false (If true, Bibi accepts BLOB object converted from a EPUB File. If you are interested in it, please contact the author) +"accept-base64-encoded-data" : true, // true or false (If true, Bibi accepts Base64 string encoded from a EPUB File. If you are interested in it, please contact the author) + +"pagination-method" : "auto", // "auto" or "x". (It affects only for vertical-text reflowable books. More info is <04> at the bottom of this preset file.) +"allow-placeholders" : true, // true or false. (true is highly recommended.) +"prioritise-fallbacks" : false, // true or false (If true, Bibi uses <item> at the end of the fallback-chain.) + + +//============================================================================================================================================== +//-- DANGER ZONE +//---------------------------------------------------------------------------------------------------------------------------------------------- +// If you publish Bibi online, +// * keep these options as default, or/and +// * keep your Bibi and website not to open files which you can not guarantee its security. +//---------------------------------------------------------------------------------------------------------------------------------------------- + +/* !!!! BE CAREFUL !!!! */ "allow-scripts-in-content" : false, // true or false (false is recommended). +// If you change its value `true`, Bibi does not remove scripts natively-included in EPUB. +// It makes Bibi to be able to open EPUBs including useful scripts. +// But on the other hand, it may also allow XSS of malicious EPUB in some cases. + +/* !!!! BE CAREFUL !!!! */ "trustworthy-origins" : [], // origins you trust other than where this Bibi is installed. (blank is recommended). +// If you add origins to it, Bibi is made to open not only EPUBs in the same origin as Bibi itself is installed but also EPUBs in remote origins. +// It is useful for some cases like that you want to set directory on the other storaging server as "bookshelf". +// But note that not to set an origin where someone else also can publish files. +// If you do so, someone else can publish one's EPUB as it is on your website, and it may also allow XSS of malicious EPUB in some cases. + + +/* + + +//============================================================================================================================================== + + +## <01> You can use a path begins with "http(s)://" for "bookshelf" option in cases of the below: + + * The origin of the path defined in the "bookshelf" option is same as the origin of this Bibi. + * [OR] The origin is included in "trustworthy-origins" option. + - [AND] The origin allows COR from the origin of this Bibi. + + +## <02> Bibi tries to extract at first in cases of the below: + + * The "extract-if-necessary" option includes "*". + * [OR] The "extract-if-necessary" option includes one or more file extensions. + - [AND] The book name specified as a value of the `book` (or `zine`) query in URL has a file extension. + - [AND] The file extension of the book name is included in the "extract-if-necessary" option. + * [OR] The "extract-if-necessary" option is "". + - [AND] The book name specified as a value of the `book` (or `zine`) query in URL has no file extension. + + ### Note: + * If Bibi failed to extract it, automatically tries to load as a folder (directory). + * The "extract-if-necessary" option affects also as conditions for acceptance of local file. Read <03> at the next. + + +## <03> Bibi accepts user's local file in cases of the below: + + * The file is an EPUB. + - [AND] The extension of the file is ".epub". + - [AND] The "extract-if-necessary" option includes ".epub" or "*". + - [AND] The MIME-Type sent from the browser is "application/epub+zip". + * [OR] The file is a bibiZine. + - [AND] The extension of the file is ".zip". + - [AND] The "extract-if-necessary" includes ".zip" or "*". + - [AND] The MIME-Type sent from the browser is "application/zip", "application/x-zip", or "application/x-zip-compressed". + + ### Note: + * Extension of the file is required even if "extract-if-necessary" is "" (or includes "*"). + + +## <04> Setting "x" for "pagination-method" option + + It affects only for reflowable vertical-text books. + If "x" is set for "pagination-method", Bibi tries to use an experimental layout method on modern web-browsers. + It realizes more prettier layout for simple books like novels. + But sometime causes bad result for some books with figures or floating objects. + + +//============================================================================================================================================== + + +*/ + + +"bibi": "EPUB Reader on your website." }); diff --git a/bibi/resources/scripts/bibi.book.scss b/bibi/resources/scripts/bibi.book.scss new file mode 100644 index 0000000..3cd3177 --- /dev/null +++ b/bibi/resources/scripts/bibi.book.scss @@ -0,0 +1,65 @@ +/*! Bibi Book Style */ + +html, body { + margin: 0; + padding: 0; + border: none 0; +}/* + +html.bibi-vertical-text { &, & body { + max-height: 100%; +}} + +html.bibi-horizontal-text { &, & body { + max-width: 100%; +}} + +html { + overflow: hidden; +}*/ + +html { + img.bibi-spine-item-image { + display: block; + margin: 0; + border: none 0; + padding: 0; + width: auto; + height: auto; + } +} + +html.bibi-columned { + img, svg, video, picture, image, iframe { + break-inside: avoid; + } +} + +html.bibi-flick-active { + &.bibi-flick-hot { user-select: none; } + img { + pointer-events: none; + } +} + +html.bibi-with-gutters { + > head { + display: block; + > *:not(bibi-neck) { display: none; } + > bibi-neck { + display: block; + position: relative; + z-index: -99999999999; + margin: 0; + border: none 0; + padding: 0; + > bibi-throat { + display: block; + float: left; + margin: 0; + border: none 0; + padding: 0; + } + } + } +} diff --git a/bibi/resources/scripts/bibi.heart.js b/bibi/resources/scripts/bibi.heart.js new file mode 100644 index 0000000..8293599 --- /dev/null +++ b/bibi/resources/scripts/bibi.heart.js @@ -0,0 +1,6116 @@ +/*! + * (℠) + * ## Bibi (heart) | Heart of Bibi. + * + */ + + + + +export const Bibi = { 'version': '____Bibi-Version____', 'href': 'https://bibi.epub.link', Status: '', TimeOrigin: Date.now() }; + + +Bibi.SettingTypes = { + 'boolean': [ + 'allow-placeholders', + 'prioritise-fallbacks' + ], + 'yes-no': [ + 'autostart', + 'autostart-embedded', + 'fix-nav-ttb', + 'fix-reader-view-mode', + 'flip-pages-during-sliding', + 'full-breadth-layout-in-scroll', + 'start-embedded-in-new-window', + 'use-arrows', + 'use-bookmarks', + 'use-font-size-changer', + 'use-full-height', + 'use-history', + 'use-keys', + 'use-loupe', + 'use-menubar', + 'use-nombre', + 'use-slider', + 'zoom-out-for-utilities' + ], + 'string': [ + 'book', + 'default-page-progression-direction', + 'on-doubletap', + 'on-tripletap', + 'pagination-method', + 'reader-view-mode' + ], + 'integer': [ + 'item-padding-bottom', + 'item-padding-left', + 'item-padding-right', + 'item-padding-top', + 'spread-gap', + 'spread-margin' + ], + 'number': [ + 'base-font-size', + 'flipper-width', + 'font-size-scale-per-step', + 'loupe-max-scale', + 'loupe-scale-per-step', + 'orientation-border-ratio' + ], + 'array': [ + 'content-draggable', + 'orthogonal-edges', + 'orthogonal-arrow-keys', + 'orthogonal-touch-moves', + 'orthogonal-wheelings' + ] +}; + +Bibi.SettingTypes_PresetOnly = { + 'boolean': [ + 'accept-base64-encoded-data', + 'accept-blob-converted-data', + 'allow-scripts-in-content', + 'remove-bibi-website-link' + ], + 'yes-no': [ + 'accept-local-file', + 'keep-settings', + 'resume-from-last-position' + ], + 'string': [ + 'bookshelf', + 'website-name-in-title', + 'website-name-in-menu', + 'website-href' + ], + 'integer': [ + 'max-bookmarks', + 'max-history' + ], + 'number': [ + ], + 'array': [ + 'extensions', + 'extract-if-necessary', + 'trustworthy-origins' + ] +}; + +Bibi.SettingTypes_UserOnly = { + 'boolean': [ + 'debug', + 'wait', + 'zine' + ], + 'yes-no': [ + ], + 'string': [ + 'edge', + 'epubcfi', + 'p', + ], + 'integer': [ + 'log', + 'nav', + 'parent-bibi-index' + ], + 'number': [ + 'iipp', + 'sipp' + ], + 'array': [ + ] +}; + +Bibi.verifySettingValue = (SettingType, _P, _V, Fill) => Bibi.verifySettingValue[SettingType](_P, _V, Fill); (Verifiers => { for(const SettingType in Verifiers) Bibi.verifySettingValue[SettingType] = Verifiers[SettingType]; })({ + 'boolean': (_P, _V, Fill) => { + if(typeof _V == 'boolean') return _V; + if(_V === 'true' || _V === '1' || _V === 1) return true; + if(_V === 'false' || _V === '0' || _V === 0) return false; + if(Fill) return false; + }, + 'yes-no': (_P, _V, Fill) => { + if(/^(yes|no|mobile|desktop)$/.test(_V)) return _V; + if(_V === 'true' || _V === '1' || _V === 1) return 'yes'; + if(_V === 'false' || _V === '0' || _V === 0) return 'no'; + if(Fill) return 'no'; + }, + 'string': (_P, _V, Fill) => { + if(typeof _V == 'string') { + switch(_P) { + case 'edge' : return /^(head|foot)$/.test(_V) ? _V : undefined; + case 'book' : return (_V = decodeURIComponent(_V).trim()) ? _V : undefined; + case 'default-page-progression-direction' : return _V == 'rtl' ? _V : 'ltr'; + case 'on-doubletap': case 'on-tripletap' : return /^(panel|zoom)$/.test(_V) ? _V : undefined; + case 'p' : return /^([a-z]+|[1-9]\d*((\.[1-9]\d*)*|-[a-z]+))$/.test(_V) ? _V : undefined; + case 'pagination-method' : return _V == 'x' ? _V : 'auto'; + case 'reader-view-mode' : return /^(paged|horizontal|vertical)$/.test(_V) ? _V : 'paged'; + } + return _V; + } + if(Fill) return ''; + }, + 'integer': (_P, _V, Fill) => { + if(typeof (_V *= 1) == 'number' && isFinite(_V)) { + _V = Math.max(Math.round(_V), 0); + switch(_P) { + case 'log' : return Math.min(_V, 9); + case 'max-bookmarks' : return Math.min(_V, 9); + case 'max-history' : return Math.min(_V, 19); + } + return _V; + } + if(Fill) return 0; + }, + 'number': (_P, _V, Fill) => { + if(typeof (_V *= 1) == 'number' && isFinite(_V) && _V >= 0) return _V; + if(Fill) return 0; + }, + 'array': (_P, _V, Fill) => { + if(Array.isArray(_V)) { + switch(_P) { + case 'content-draggable' : _V.length = 2; for(let i = 0; i < 2; i++) _V[i] = _V[i] === false || _V[i] === 'false' || _V[i] === '0' || _V[i] === 0 ? false : true; return _V; + case 'extensions' : return _V.filter(_I => typeof _I['src'] == 'string' && (_I['src'] = _I['src'].trim())); + case 'extract-if-necessary' : return (_V = _V.map(_I => typeof _I == 'string' ? _I.trim().toLowerCase() : '')).includes('*') ? ['*'] : _V.filter(_I => /^(\.[\w\d]+)*$/.test(_I)); + case 'orthogonal-arrow-keys' : + case 'orthogonal-edges' : + case 'orthogonal-touch-moves' : + case 'orthogonal-wheelings' : _V.length = 2; for(let i = 0; i < 2; i++) _V[i] = typeof _V[i] == 'string' ? _V[i] : ''; return _V; + case 'trustworthy-origins' : return _V.reduce((_VN, _I) => typeof _I == 'string' && /^https?:\/\/[^\/]+$/.test(_I = _I.trim().replace(/\/$/, '')) && !_VN.includes(_I) ? _VN.push(_I) && _VN : false, []); + } + return _V.filter(_I => typeof _I != 'function'); + } + if(Fill) return []; + } +}); + +Bibi.applyFilteredSettingsTo = (To, From, ListOfSettingTypes, Fill) => { + ListOfSettingTypes.forEach(STs => { + for(const ST in STs) { + STs[ST].forEach(_P => { + const VSV = Bibi.verifySettingValue[ST](_P, From[_P]); + if(Fill) { + To[_P] = Bibi.verifySettingValue[ST](_P, To[_P]); + if(typeof VSV != 'undefined' || typeof To[_P] == 'undefined') To[_P] = Bibi.verifySettingValue[ST](_P, From[_P], true); + } else if(From.hasOwnProperty(_P)) { + if(typeof VSV != 'undefined') To[_P] = VSV; + } + }); + } + }); + return To; +}; + + +Bibi.ErrorMessages = { + Canceled: `Fetch Canceled`, + CORSBlocked: `Probably CORS Blocked`, + DataInvalid: `Data Invalid`, + NotFound: `404 Not Found` +}; + + + + +//============================================================================================================================================== +//---------------------------------------------------------------------------------------------------------------------------------------------- + +//-- Hello ! + +//---------------------------------------------------------------------------------------------------------------------------------------------- + + +Bibi.at1st = () => Bibi.at1st.List.forEach(fn => typeof fn == 'function' ? fn() : true), Bibi.at1st.List = []; + +Bibi.hello = () => new Promise(resolve => { + Bibi.at1st(); + O.log.initialize(); + O.log(`Hello!`, '<b:>'); + O.log(`[ja] ${ Bibi['href'] }`); + O.log(`[en] https://github.com/satorumurmur/bibi`); + resolve(); +}) +.then(Bibi.initialize) +.then(Bibi.loadExtensions) +.then(Bibi.ready) +.then(Bibi.getBookData) +.then(Bibi.loadBook) +.then(Bibi.bindBook) +.then(Bibi.openBook) +.catch(O.error); + + +Bibi.initialize = () => { + //const PromiseTryingRangeRequest = O.tryRangeRequest().then(() => true).catch(() => false).then(TF => O.RangeRequest = TF); + { // Path / URI + O.Origin = location.origin || (location.protocol + '//' + (location.host || (location.hostname + (location.port ? ':' + location.port : '')))); + O.Local = location.protocol == 'file:'; + O.RequestedURL = location.href; + } + { // DOM + O.contentWindow = window; + O.contentDocument = document; + O.HTML = document.documentElement; + O.Head = document.head; + O.Body = document.body; + O.Info = document.getElementById('bibi-info'); + O.Title = document.getElementsByTagName('title')[0]; + } + { // Environments + O.HTML.classList.add(...sML.Environments, 'Bibi', 'welcome'); + if(O.TouchOS = (sML.OS.iOS || sML.OS.Android) ? true : false) { // Touch Device + O.HTML.classList.add('touch'); + if(sML.OS.iOS) { + O.Head.appendChild(sML.create('meta', { name: 'apple-mobile-web-app-capable', content: 'yes' })); + O.Head.appendChild(sML.create('meta', { name: 'apple-mobile-web-app-status-bar-style', content: 'white' })); + } + } + if(Bibi.Dev) O.HTML.classList.add('dev'); + if(Bibi.Debug) O.HTML.classList.add('debug'); + O.HTML.classList.add('default-lang-' + (O.Language = (NLs => { // Language + if(Array.isArray(navigator.languages)) NLs = NLs.concat(navigator.languages); + if(navigator.language && navigator.language != NLs[0]) NLs.unshift(navigator.language); + for(let l = NLs.length, i = 0; i < l; i++) { + const Lan = NLs[i].split ? NLs[i].split('-')[0] : ''; + if(Lan == 'ja') return 'ja'; + if(Lan == 'en') break; + } return 'en'; + })([]))); + } + { // Modules + E.initialize(); O.Biscuits.initialize(); + P.initialize(); + U.initialize(); + D.initialize(); + S.initialize(); + I.initialize(); + } + { // Embedding, Window, Fullscreen + O.Embedded = (() => { // Window Embedded or Not + if(window.parent == window) { O.HTML.classList.add('window-direct' ); return 0; } // false + else { O.HTML.classList.add('window-embedded'); try { if(location.host == parent.location.host || parent.location.href) return 1; } catch(Err) {} return -1; } // true (1:Reachable or -1:Unreachable) + })(); + O.ParentBibi = O.Embedded === 1 && typeof S['parent-bibi-index'] == 'number' ? window.parent['bibi:jo'].Bibis[S['parent-bibi-index']] || null : null; + O.ParentOrigin = O.ParentBibi ? window.parent.location.origin : ''; + O.FullscreenTarget = (() => { // Fullscreen Target + const FsT = (() => { + if(!O.Embedded) { sML.Fullscreen.polyfill(window ); return O.HTML; } + if(O.ParentBibi) { sML.Fullscreen.polyfill(window.parent); return O.ParentBibi.Frame; } + })() || null; + if(FsT && FsT.ownerDocument.fullscreenEnabled) { O.HTML.classList.add('fullscreen-enabled' ); return FsT; } + else { O.HTML.classList.add('fullscreen-disabled'); return null; } + })(); + if(O.ParentBibi) { + O.ParentBibi.Window = window, O.ParentBibi.Document = document, O.ParentBibi.HTML = O.HTML, O.ParentBibi.Body = O.Body; + ['bibi:initialized', 'bibi:readied', 'bibi:prepared', 'bibi:opened'].forEach(EN => E.add(EN, Det => O.ParentBibi.dispatch(EN, Det))); + window.addEventListener('message', M.receive, false); + } + } + if(sML.UA.Trident && !(sML.UA.Trident[0] >= 7)) { // Say Bye-bye + I.note(`Your Browser Is Not Compatible`, 99999999999, 'ErrorOccured'); + throw I.Veil.byebye({ + 'en': `<span>Sorry....</span> <span>Your Browser Is</span> <span>Not Compatible.</span>`, + 'ja': `<span>大変申し訳ありません。</span> <span>お使いのブラウザでは、</span><span>動作しません。</span>` + }); + } else { // Say Welcome! + I.note(`<span class="non-visual">Welcome!</span>`); + } + { // Writing Mode, Font Size, Slider Size, Menu Height + O.WritingModeProperty = (() => { + const HTMLComputedStyle = getComputedStyle(O.HTML); + if(/^(vertical|horizontal)-/.test(HTMLComputedStyle[ 'writing-mode']) || sML.UA.Trident) return 'writing-mode'; + if(/^(vertical|horizontal)-/.test(HTMLComputedStyle['-webkit-writing-mode']) ) return '-webkit-writing-mode'; + if(/^(vertical|horizontal)-/.test(HTMLComputedStyle[ '-epub-writing-mode']) ) return '-epub-writing-mode'; + return undefined; + })(); + const StyleChecker = O.Body.appendChild(sML.create('div', { id: 'bibi-style-checker', innerHTML: ' aAaAあ亜 ', style: { width: 'auto', height: 'auto', left: '-1em', top: '-1em' } })); + O.VerticalTextEnabled = (StyleChecker.offsetWidth < StyleChecker.offsetHeight); + O.DefaultFontSize = Math.min(StyleChecker.offsetWidth, StyleChecker.offsetHeight); + StyleChecker.style.fontSize = '0.01px'; + O.MinimumFontSize = Math.min(StyleChecker.offsetWidth, StyleChecker.offsetHeight); + StyleChecker.setAttribute('style', ''), StyleChecker.innerHTML = ''; + I.Slider.Size = S['use-slider' ] ? StyleChecker.offsetWidth : 0; + I.Menu.Height = S['use-menubar'] ? StyleChecker.offsetHeight : 0; + delete document.body.removeChild(StyleChecker); + } + { // Scrollbars + O.Body.style.width = '101vw', O.Body.style.height = '101vh'; + O.Scrollbars = { Width: window.innerWidth - O.HTML.offsetWidth, Height: window.innerHeight - O.HTML.offsetHeight }; + O.HTML.style.width = O.Body.style.width = '100%', O.Body.style.height = ''; + } + O.HTML.classList.toggle('book-full-height', S['use-full-height']); + O.HTML.classList.remove('welcome'); + E.dispatch('bibi:initialized', Bibi.Status = Bibi.Initialized = 'Initialized'); + //return PromiseTryingRangeRequest; +}; + + +Bibi.loadExtensions = () => { + return new Promise((resolve, reject) => { + const AdditionalExtensions = []; + if(!S['allow-scripts-in-content']) AdditionalExtensions.push('sanitizer.js'); + let ReadyForExtraction = false, ReadyForBibiZine = false; + if(S['book']) { + if(O.isToBeExtractedIfNecessary(S['book'])) ReadyForExtraction = true; + if(S['zine']) ReadyForBibiZine = true; + } else { + if(S['accept-local-file'] || S['accept-blob-converted-data']) ReadyForExtraction = ReadyForBibiZine = true; + } + if(ReadyForBibiZine) AdditionalExtensions.unshift('zine.js'); + (ReadyForExtraction ? (S['book'] ? O.tryRangeRequest().then(() => 'on-the-fly') : Promise.reject()).catch(() => 'at-once').then(_ => AdditionalExtensions.unshift('extractor/' + _ + '.js')) : Promise.resolve()).then(() => { + if(AdditionalExtensions.length) AdditionalExtensions.forEach(AX => S['extensions'].unshift({ 'src': new URL('../../extensions/' + AX, Bibi.Script.src).href })); + if(S['extensions'].length == 0) return reject(); + O.log(`Loading Extension${ S['extensions'].length > 1 ? 's' : '' }...`, '<g:>'); + const loadExtensionInPreset = (i) => { + X.load(S['extensions'][i]).then(Msg => { + //O.log(Msg); + }).catch(Msg => { + O.log(Msg); + }).then(() => { + S['extensions'][i + 1] ? loadExtensionInPreset(i + 1) : resolve(); + }); + }; + loadExtensionInPreset(0); + }); + }).then(() => { + O.log(`Extensions: %O`, X.Extensions); + O.log(X.Extensions.length ? `Loaded. (${ X.Extensions.length } Extension${ X.Extensions.length > 1 ? 's' : '' })` : `No Extension.`, '</g>') + }).catch(() => false); +}; + + +Bibi.ready = () => new Promise(resolve => { + O.HTML.classList.add('ready'); + O.ReadiedURL = location.href; + E.add('bibi:readied', resolve); + setTimeout(() => E.dispatch('bibi:readied', Bibi.Status = Bibi.Readied = 'Readied'), (O.TouchOS && !O.Embedded) ? 1234 : 0); +}).then(() => { + O.HTML.classList.remove('ready'); +}); + + +Bibi.getBookData = () => + S['book-data'] ? Promise.resolve({ BookData: S['book-data'], BookDataMIMEType: S['book-data-mimetype'] }) : + S['book'] ? Promise.resolve({ Book: S['book'] }) : + S['accept-local-file'] ? new Promise(resolve => { Bibi.getBookData.resolve = (Par) => { resolve(Par), O.HTML.classList.remove('waiting-file'); }; O.HTML.classList.add('waiting-file'); }) : + Promise.reject (`Tell me EPUB name via ${ O.Embedded ? 'embedding tag' : 'URI' }.`); + +Bibi.setBookData = (Par) => Bibi.getBookData.resolve ? Bibi.getBookData.resolve(Par) : Promise.reject(Par); + +Bibi.busyHerself = () => new Promise(resolve => { + O.Busy = true; + O.HTML.classList.add('busy'); + O.HTML.classList.add('loading'); + window.addEventListener(E['resize'], R.resetBibiHeight); + Bibi.busyHerself.resolve = () => { resolve(); delete Bibi.busyHerself; }; +}).then(() => { + window.removeEventListener(E['resize'], R.resetBibiHeight); + O.Busy = false; + O.HTML.classList.remove('busy'); + O.HTML.classList.remove('loading'); +}); + + +Bibi.loadBook = (BookInfo) => Promise.resolve().then(() => { + Bibi.busyHerself(); + I.note(`Loading...`); + O.log(`Initializing Book...`, '<g:>'); + return L.initializeBook(BookInfo).then(InitializedAs => { + O.log(`${ InitializedAs }: %O`, B); + O.log(`Initialized. (as ${ /^[aiueo]/i.test(InitializedAs) ? 'an' : 'a' } ${ InitializedAs })`, '</g>'); + }); +}).then(() => { + S.update(); + R.updateOrientation(); + R.resetStage(); +}).then(() => { + // Create Cover + O.log(`Creating Cover...`, '<g:>'); + if(B.CoverImage.Source) { + O.log(`Cover Image: %O`, B.CoverImage.Source); + O.log(`Will Be Created.`, '</g>'); + } else { + O.log(`Will Be Created. (w/o Image)`, '</g>'); + } + return L.createCover(); // ← loading is async +}).then(() => { + // Load Navigation + if(!B.Nav.Source) return O.log(`No Navigation.`) + O.log(`Loading Navigation...`, '<g:>'); + return L.loadNavigation().then(PNav => { + O.log(`${ B.Nav.Type }: %O`, B.Nav.Source); + O.log(`Loaded.`, '</g>'); + E.dispatch('bibi:loaded-navigation', B.Nav.Source); + }); +}).then(() => { + // Announce "Prepared" (and Wait, sometime) + E.dispatch('bibi:prepared', Bibi.Status = Bibi.Prepared = 'Prepared'); + if(!S['autostart'] && !L.Played) return L.wait(); +}).then(() => { + // Background Preparing + return L.preprocessResources(); +}).then(() => { + // Load & Layout Items in Spreads and Pages + O.log(`Loading Items in Spreads...`, '<g:>'); + const Promises = []; + const LayoutOption = { + TargetSpreadIndex: 0, + Destination: { Edge: 'head' }, + resetter: () => { LayoutOption.Reset = true; LayoutOption.removeResetter(); }, + addResetter: () => { window .addEventListener('resize', LayoutOption.resetter); }, + removeResetter: () => { window.removeEventListener('resize', LayoutOption.resetter); } + }; + if(typeof R.StartOn == 'object') { + const Item = typeof R.StartOn.Item == 'object' ? R.StartOn.Item : (() => { + if(typeof R.StartOn.ItemIndex == 'number') { + let II = R.StartOn.ItemIndex; + if(II < 0 ) R.StartOn = { ItemIndex: 0 }; + else if(II >= R.Items.length) R.StartOn = { ItemIndex: R.Items.length - 1 }; + return R.Items[R.StartOn.ItemIndex]; + } + if(typeof R.StartOn.ItemIndexInSpine == 'number') { + let IIIS = R.StartOn.ItemIndexInSpine; + if(IIIS < 0 ) IIIS = 0; + else if(IIIS >= B.Package.Spine.length) IIIS = B.Package.Spine.length - 1; + let Item = B.Package.Spine[R.StartOn.ItemIndexInSpine]; + if(!Item.Spread) { + R.StartOn = { ItemIndex: 0 }; + Item = R.Items[0]; + } + return Item; + } + if(typeof R.StartOn.P == 'string') { + const Steps = R.StartOn.P.split('.'); + let II = Steps.shift() * 1 - 1; + if(II < 0 ) II = 0, R.StartOn = { P: String(II + 1) }; + else if(II >= R.Items.length) II = R.Items.length - 1, R.StartOn = { P: String(II + 1) }; + return R.Items[II]; + } + if(typeof R.StartOn.IIPP == 'number') { + let II = Math.floor(R.StartOn.IIPP); + if(II < 0 ) II = 0, R.StartOn = { IIPP: II }; + else if(II >= R.Items.length) II = R.Items.length - 1, R.StartOn = { IIPP: II }; + return R.Items[II]; + } + if(typeof R.StartOn.Edge == 'string') { + R.StartOn = (R.StartOn.Edge != 'foot') ? { Edge: 'head' } : { Edge: 'foot' }; + switch(R.StartOn.Edge) { + case 'head': return R.Items[0]; + case 'foot': return R.Items[R.Items.length - 1]; + } + } + })(); + LayoutOption.TargetSpreadIndex = Item && Item.Spread ? Item.Spread.Index : 0; + LayoutOption.Destination = R.StartOn; + } + LayoutOption.addResetter(); + let LoadedItems = 0; + R.Spreads.forEach(Spread => Promises.push(new Promise(resolve => L.loadSpread(Spread, { AllowPlaceholderItems: S['allow-placeholders'] && Spread.Index != LayoutOption.TargetSpreadIndex }).then(() => { + LoadedItems += Spread.Items.length; + I.note(`Loading... (${ LoadedItems }/${ R.Items.length } Items Loaded.)`); + !LayoutOption.Reset ? R.layOutSpreadAndItsItems(Spread).then(resolve) : resolve(); + })))); + return Promise.all(Promises).then(() => { + O.log(`Loaded. (${ R.Items.length } in ${ R.Spreads.length })`, '</g>'); + return LayoutOption; + }); +}); + + +Bibi.bindBook = (LayoutOption) => { + if(!LayoutOption.Reset) { + R.organizePages(); + R.layOutStage(); + } + return R.layOutBook(LayoutOption).then(() => { + LayoutOption.removeResetter(); + E.dispatch('bibi:laid-out-for-the-first-time', LayoutOption); + return LayoutOption + }); +}; + + +Bibi.openBook = (LayoutOption) => new Promise(resolve => { + // Open + Bibi.busyHerself.resolve(); + I.Veil.close(); + L.Opened = true; + document.body.click(); // To responce for user scrolling/keypressing immediately + I.note(''); + O.log(`Enjoy Readings!`, '</b>'); + E.dispatch('bibi:opened', Bibi.Status = Bibi.Opened = 'Opened'); + E.dispatch('bibi:scrolled'); + resolve(); +}).then(() => { + const LandingPage = R.hatchPage(LayoutOption.Destination) || R.Pages[0]; + if(!I.History.List.length) { + I.History.List = [{ UI: Bibi, Item: LandingPage.Item, PageProgressInItem: LandingPage.IndexInItem / LandingPage.Item.Pages.length }]; + I.History.update(); + } + if(S['allow-placeholders']) E.add('bibi:scrolled', () => I.PageObserver.turnItems()); + if(S['resume-from-last-position']) E.add('bibi:changed-intersection', () => { try { if(O.Biscuits) O.Biscuits.memorize('Book', { Position: { IIPP: I.PageObserver.getIIPP() } }); } catch(Err) {} }); + E.add('bibi:commands:move-by', R.moveBy); + E.add('bibi:commands:scroll-by', R.scrollBy); + E.add('bibi:commands:focus-on', R.focusOn); + E.add('bibi:commands:change-view', R.changeView); + (Bibi.Dev && location.hostname != 'localhost') ? Bibi.createDevNote() : delete Bibi.createDevNote; + /* + alert((Alert => { + [ + 'document.referrer', + 'navigator.userAgent', + '[navigator.appName, navigator.vendor, navigator.platform]', + 'window.innerHeight', + '[O.HTML.offsetHeight, O.HTML.clientHeight, O.HTML.scrollHeight]', + '[O.Body.offsetHeight, O.Body.clientHeight, O.Body.scrollHeight]', + '[R.Main.offsetHeight, R.Main.clientHeight, R.Main.scrollHeight]' + ].forEach(X => Alert.push(`┌ ' + X + '\n' + eval(X))); + return Alert.join('\n\n'); + })([])); + //*/ +}); + + +Bibi.createDevNote = () => { + const Dev = Bibi.IsDevMode = O.Body.appendChild(sML.create('div', { id: 'bibi-is-dev-mode' })); + Bibi.createDevNote.logBorderLine(); + Bibi.createDevNote.appendParagraph(`<strong>This Bibi seems to be a</strong> <strong>Development Version</strong>`); + Bibi.createDevNote.appendParagraph(`<span>Please don't forget</span> <span>to create a production version</span> <span>before publishing on the Internet.</span>`); + Bibi.createDevNote.appendParagraph(`<span class="non-visual">(To create a production version, run it on terminal: \`</span><code>npm run build</code><span class="non-visual">\`)</span>`); + Bibi.createDevNote.appendParagraph(`<em>Close</em>`, 'NoLog').addEventListener('click', () => Dev.className = 'hide'); + Bibi.createDevNote.logBorderLine(); + [E['pointerdown'], E['pointerup'], E['pointermove'], E['pointerover'], E['pointerout'], 'click'].forEach(EN => Dev.addEventListener(EN, Eve => { Eve.preventDefault(); Eve.stopPropagation(); return false; })); + setTimeout(() => Dev.className = 'show', 0); + delete Bibi.createDevNote; +}; + Bibi.createDevNote.logBorderLine = (InnerHTML, NoLog) => { + O.log('========================', '<*/>'); + }; + Bibi.createDevNote.appendParagraph = (InnerHTML, NoLog) => { + const P = Bibi.IsDevMode.appendChild(sML.create('p', { innerHTML: InnerHTML })); + if(!NoLog) O.log(InnerHTML.replace(/<[^<>]*>/g, ''), '<*/>'); + return P; + }; + + +Bibi.createElement = (...Args) => { + const TagName = Args[0]; + if(!Bibi.Elements) Bibi.Elements = {}; + if(window.customElements) { + if(!Bibi.Elements[TagName]) Bibi.Elements[TagName] = class extends HTMLElement { constructor() { super(); } }, window.customElements.define(TagName, Bibi.Elements[TagName]); + } else if(document.registerElement) { + if(!Bibi.Elements[TagName]) Bibi.Elements[TagName] = document.registerElement(TagName); + return sML.edit(new Bibi.Elements[Args.shift()](), Args); + } + return sML.create(...Args); +}; + + + + +//============================================================================================================================================== +//---------------------------------------------------------------------------------------------------------------------------------------------- + +//-- Book + +//---------------------------------------------------------------------------------------------------------------------------------------------- + + +export const B = { // Bibi.Book + Path: '', + PathDelimiter: ' > ', + DataElement: null, + Container: { Source: { Path: 'META-INF/container.xml' } }, + Package: { Source: {}, Metadata: {}, Manifest: {}, Spine: [] }, + Nav: {}, CoverImage: {}, + FileDigit: 0 +}; + + + + +//============================================================================================================================================== +//---------------------------------------------------------------------------------------------------------------------------------------------- + +//-- Loader + +//---------------------------------------------------------------------------------------------------------------------------------------------- + + +export const L = { // Bibi.Loader + Opened: false +}; + + +L.wait = () => { + L.Waiting = true; + O.Busy = false; + O.HTML.classList.remove('busy'); + O.HTML.classList.add('waiting'); + E.dispatch('bibi:waits'); + O.log(`(Waiting...)`, '<i/>'); + I.note(''); + return new Promise(resolve => L.wait.resolve = resolve).then(() => { + L.Waiting = false; + O.Busy = true; + O.HTML.classList.add('busy'); + O.HTML.classList.remove('waiting'); + I.note(`Loading...`); + return new Promise(resolve => setTimeout(resolve, 99)); + }); +}; + + +L.openNewWindow = (HRef) => { + const WO = window.open(HRef); + return WO ? WO : location.href = HRef; +}; + + +L.play = () => { + if(S['start-in-new-window']) return L.openNewWindow(location.href); + L.Played = true; + R.resetStage(); + L.wait.resolve(); + E.dispatch('bibi:played'); +}; + + +L.initializeBook = (BookInfo = {}) => new Promise((resolve, reject) => { + const reject_failedToOpenTheBook = (Msg) => reject(`Failed to open the book (${ Msg })`); + if(!BookInfo.Book && !BookInfo.BookData) return reject_failedToOpenTheBook(Bibi.ErrorMessages.DataInvalid); + const BookDataFormat = + typeof BookInfo.Book == 'string' ? 'URI' : + typeof BookInfo.BookData == 'string' ? 'Base64' : + typeof BookInfo.BookData == 'object' && BookInfo.BookData.size && BookInfo.BookData.type ? (BookInfo.BookData.name ? 'File' : 'Blob') : ''; + if(!BookDataFormat) return reject_failedToOpenTheBook(Bibi.ErrorMessages.DataInvalid); + B.Type = !S['book'] ? '' : S['zine'] ? 'Zine' : 'EPUB'; + if(B.Type != 'EPUB') B.ZineData = { Source: { Path: 'zine.yaml' } }; + if(BookDataFormat == 'URI') { + // Online + if(O.Local) return reject(`Bibi can't open books via ${ D['book'] ? 'data-bibi-book' : 'URL' } on local mode`); + B.Path = BookInfo.Book; + const RootSource = (B.Type == 'Zine' ? B.ZineData : B.Container).Source; + const InitErrors = [], initialize_as = (FileOrFolder) => ({ + Promised: ( + FileOrFolder == 'folder' ? O.download(RootSource).then(() => (B.PathDelimiter = '/') && '') : + O.RangeLoader ? O.extract(RootSource).then(() => 'on-the-fly') : + O.loadZippedBookData( B.Path ).then(() => 'at-once') + ).then(ExtractionPolicy => { + B.ExtractionPolicy = ExtractionPolicy; + //O.log(`Succeed to Open as ${ B.Type } ${ FileOrFolder }.`); + resolve(`${ B.Type } ${ FileOrFolder }`); + }).catch(Err => { + InitErrors.push(Err = (/404/.test(String(Err)) ? Bibi.ErrorMessages.NotFound : String(Err).replace(/^Error: /, ''))); + O.log(`Failed as ${ /^[aiueo]/i.test(B.Type) ? 'an' : 'a' } ${ B.Type } ${ FileOrFolder }: ` + Err); + return Promise.reject(); + }), + or: function(fun) { return this.Promised.catch(fun); }, + or_reject: function(fun) { return this.or(() => reject_failedToOpenTheBook(InitErrors.length < 2 || InitErrors[0] == InitErrors[1] ? InitErrors[0] : `as a file: ${ InitErrors[0] } / as a folder: ${ InitErrors[1] }`)); } + }); + O.isToBeExtractedIfNecessary(B.Path) ? initialize_as('file').or(() => initialize_as('folder').or_reject()) : initialize_as('folder').or_reject(); + } else { + let BookData = BookInfo.BookData; + let FileOrData; + const MIMETypeREs = { EPUB: /^application\/epub\+zip$/, Zine: /^application\/(zip|x-zip(-compressed)?)$/ }; + const MIMETypeErrorMessage = 'File of this type is unacceptable'; + if(BookDataFormat == 'File') { + // Local-Archived EPUB/Zine File + if(!S['accept-local-file']) return reject(`Local file is set to unacceptable`); + if(!BookData.name) return reject(`File without a name is unacceptable`); + if(!/\.[\w\d]+$/.test(BookData.name)) return reject(`Local file without extension is set to unacceptable`); + if(!O.isToBeExtractedIfNecessary(BookData.name)) return reject(`File with this extension is set to unacceptable`); + if(BookData.type) { + if(/\.epub$/i.test(BookData.name) ? !MIMETypeREs['EPUB'].test(BookData.type) : + /\.zip$/i.test(BookData.name) ? !MIMETypeREs['Zine'].test(BookData.type) : true) return reject(MIMETypeErrorMessage); + } + FileOrData = 'file'; + B.Path = '[Local File] ' + BookData.name; + } else { + if(BookDataFormat == 'Base64') { + // Base64-Encoded EPUB/Zine Data + if(!S['accept-base64-encoded-data']) return reject(`Base64 encoded data is set to unacceptable`); + try { + const Bin = atob(BookData.replace(/^.*,/, '')); + const Buf = new Uint8Array(Bin.length); + for(let l = Bin.length, i = 0; i < l; i++) Buf[i] = Bin.charCodeAt(i); + BookData = new Blob([Buf.buffer], { type: BookInfo.BookDataMIMEType }); + if(!BookData || !BookData.size || !BookData.type) throw ''; + } catch(_) { + return reject(Bibi.ErrorMessages.DataInvalid); + } + B.Path = '[Base64 Encoded Data]'; + } else { + // Blob of EPUB/Zine Data + if(!S['accept-blob-converted-data']) return reject(`Blob converted data is set to unacceptable`); + B.Path = '[Blob Converted Data]'; + } + if(!MIMETypeREs['EPUB'].test(BookData.type) && !MIMETypeREs['Zine'].test(BookData.type)) return reject(MIMETypeErrorMessage); + FileOrData = 'data'; + } + O.loadZippedBookData(BookData).then(() => { + switch(B.Type) { + case 'EPUB': case 'Zine': + B.ExtractionPolicy = 'at-once'; + return resolve(`${ B.Type } ${ FileOrData }`); + default: + return reject_failedToOpenTheBook(Bibi.ErrorMessages.DataInvalid); + } + }).catch(reject_failedToOpenTheBook); + } +}).then(InitializedAs => { + delete S['book-data']; + delete S['book-data-mimetype']; + return (B.Type == 'Zine' ? X.Zine.loadZineData() : L.loadContainer().then(L.loadPackage)).then(() => E.dispatch('bibi:initialized-book')).then(() => InitializedAs); +}); + + +L.loadContainer = () => O.openDocument(B.Container.Source).then(L.loadContainer.process); + + L.loadContainer.process = (Doc) => B.Package.Source.Path = Doc.getElementsByTagName('rootfile')[0].getAttribute('full-path'); + + +L.loadPackage = () => O.openDocument(B.Package.Source).then(L.loadPackage.process); + + L.loadPackage.process = (Doc) => { // This is Used also from the Zine Extention. + const _Package = Doc.getElementsByTagName('package' )[0]; + const _Metadata = Doc.getElementsByTagName('metadata')[0], Metadata = B.Package.Metadata; + const _Manifest = Doc.getElementsByTagName('manifest')[0], Manifest = B.Package.Manifest; + const _Spine = Doc.getElementsByTagName('spine' )[0], Spine = B.Package.Spine; + const SourcePaths = {}; + // ================================================================================ + // METADATA + // -------------------------------------------------------------------------------- + const DCNS = _Package.getAttribute('xmlns:dc') || _Metadata.getAttribute('xmlns:dc'); + const UIDID = _Package.getAttribute('unique-identifier'), UIDE = UIDID ? Doc.getElementById(UIDID) : null, UIDTC = UIDE ? UIDE.textContent : ''; + Metadata['unique-identifier'] = UIDTC ? UIDTC.trim() : ''; + ['identifier', 'language', 'title', 'creator', 'publisher'].forEach(Pro => sML.forEach(Doc.getElementsByTagNameNS(DCNS, Pro))(_Meta => (Metadata[Pro] ? Metadata[Pro] : Metadata[Pro] = []).push(_Meta.textContent.trim()))); + sML.forEach(_Metadata.getElementsByTagName('meta'))(_Meta => { + if(_Meta.getAttribute('refines')) return; // Should be solved. + let Property = _Meta.getAttribute('property'); + if(Property) { + if(/^dcterms:/.test(Property)) { + if(!Metadata[Property]) Metadata[Property] = []; + Metadata[Property].push(_Meta.textContent.trim()); // 'dcterms:~' + } else { + Metadata[Property] = _Meta.textContent.trim(); // ex.) 'rendition:~' + } + } else { + let Name = _Meta.getAttribute('name'); + if(Name) { + Metadata[Name] = _Meta.getAttribute('content').trim(); // ex.) 'cover' + } + } + }); + // -------------------------------------------------------------------------------- + if(!Metadata['identifier']) Metadata['identifier'] = Metadata['dcterms:identifier'] || []; + if(!Metadata['language' ]) Metadata['language' ] = Metadata['dcterms:language' ] || ['en']; + if(!Metadata['title' ]) Metadata['title' ] = Metadata['dcterms:title' ] || Metadata['identifier']; + // -------------------------------------------------------------------------------- + if(!Metadata['rendition:layout' ] ) Metadata['rendition:layout' ] = 'reflowable'; if(Metadata['omf:version']) Metadata['rendition:layout'] = 'pre-paginated'; + if(!Metadata['rendition:orientation'] || Metadata['rendition:orientation'] == 'auto') Metadata['rendition:orientation'] = 'portrait'; + if(!Metadata['rendition:spread' ] || Metadata['rendition:spread' ] == 'auto') Metadata['rendition:spread' ] = 'landscape'; + if( Metadata[ 'original-resolution']) Metadata[ 'original-resolution'] = O.getViewportByOriginalResolution(Metadata[ 'original-resolution']); + if( Metadata[ 'rendition:viewport']) Metadata[ 'rendition:viewport'] = O.getViewportByMetaContent( Metadata[ 'rendition:viewport']); + if( Metadata['fixed-layout-jp:viewport']) Metadata['fixed-layout-jp:viewport'] = O.getViewportByMetaContent( Metadata['fixed-layout-jp:viewport']); + if( Metadata[ 'omf:viewport']) Metadata[ 'omf:viewport'] = O.getViewportByMetaContent( Metadata[ 'omf:viewport']); + B.ICBViewport = Metadata['original-resolution'] || Metadata['rendition:viewport'] || Metadata['fixed-layout-jp:viewport'] || Metadata['omf:viewport'] || null; + // ================================================================================ + // MANIFEST + // -------------------------------------------------------------------------------- + const PackageDir = B.Package.Source.Path.replace(/\/?[^\/]+$/, ''); + sML.forEach(_Manifest.getElementsByTagName('item'))(_Item => { + let Source = { + 'id': _Item.getAttribute('id'), + 'href': _Item.getAttribute('href'), + 'media-type': _Item.getAttribute('media-type') + }; + if(!Source['id'] || !Source['href'] || (!Source['media-type'] && B.Type == 'EPUB')) return false; + Source.Path = O.getPath(PackageDir, Source['href']); + if(Manifest[Source.Path]) Source = Object.assign(Manifest[Source.Path], Source); + if(!Source.Content) Source.Content = ''; + Source.Of = []; + let Properties = _Item.getAttribute('properties'); + if(Properties) { + Properties = Properties.trim().replace(/\s+/g, ' ').split(' '); + if(Properties.includes('cover-image')) B.CoverImage.Source = Source; + else if(Properties.includes('nav' )) B.Nav.Source = Source, B.Nav.Type = 'Navigation Document'; + } + const FallbackItemID = _Item.getAttribute('fallback'); + if(FallbackItemID) Source['fallback'] = FallbackItemID; + Manifest[Source.Path] = Source; + SourcePaths[Source['id']] = Source.Path; + }); + [B.Container, B.Package].forEach(Meta => { if(Meta && Meta.Source) Meta.Source.Content = ''; }); + // ================================================================================ + // SPINE + // -------------------------------------------------------------------------------- + if(!B.Nav.Source) { + const Source = Manifest[SourcePaths[_Spine.getAttribute('toc')]]; + if(Source) B.Nav.Source = Source, B.Nav.Type = 'TOC-NCX'; + } + if( B.Nav.Source) B.Nav.Source.Of.push( B.Nav); + if(B.CoverImage.Source) B.CoverImage.Source.Of.push(B.CoverImage); + // -------------------------------------------------------------------------------- + B.PPD = _Spine.getAttribute('page-progression-direction'); + if(!B.PPD || !/^(ltr|rtl)$/.test(B.PPD)) B.PPD = S['default-page-progression-direction']; // default; + // -------------------------------------------------------------------------------- + const PropertyRE = /^((rendition:)?(layout|orientation|spread|page-spread))-(.+)$/; + let SpreadBefore, SpreadAfter; + if(B.PPD == 'rtl') SpreadBefore = 'right', SpreadAfter = 'left'; + else SpreadBefore = 'left', SpreadAfter = 'right'; + const SpreadsDocumentFragment = document.createDocumentFragment(); + sML.forEach(_Spine.getElementsByTagName('itemref'))(ItemRef => { + const IDRef = ItemRef.getAttribute('idref'); if(!IDRef) return false; + const Source = Manifest[SourcePaths[IDRef]]; if(!Source) return false; + const Item = sML.create('iframe', { className: 'item', scrolling: 'no', allowtransparency: 'true' /*, TimeCard: {}, stamp: function(What) { O.stamp(What, this.TimeCard); }*/ }); + Item['idref'] = IDRef; + Item.Source = Source; + Item.AnchorPath = Source.Path; + Item.FallbackChain = []; + if(S['prioritise-fallbacks']) while(Item.Source['fallback']) { + const FallbackItem = Manifest[SourcePaths[Item.Source['fallback']]]; + if(FallbackItem) Item.FallbackChain.push(Item.Source = FallbackItem); + else delete Item.Source['fallback']; + } + Item.Source.Of.push(Item); + let Properties = ItemRef.getAttribute('properties'); + if(Properties) { + Properties = Properties.trim().replace(/\s+/g, ' ').split(' '); + Properties.forEach(Pro => { if(PropertyRE.test(Pro)) ItemRef[Pro.replace(PropertyRE, '$1')] = Pro.replace(PropertyRE, '$4'); }); + } + Item['rendition:layout'] = ItemRef['rendition:layout'] || Metadata['rendition:layout']; + Item['rendition:orientation'] = ItemRef['rendition:orientation'] || Metadata['rendition:orientation']; + Item['rendition:spread'] = ItemRef['rendition:spread'] || Metadata['rendition:spread']; + Item['rendition:page-spread'] = ItemRef['rendition:page-spread'] || ItemRef['page-spread'] || undefined; + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Item.IndexInSpine = Spine.push(Item) - 1; + if(ItemRef.getAttribute('linear') == 'no') { + Item['linear'] = 'no'; + Item.IndexInNonLinearItems = R.NonLinearItems.push(Item) - 1; + } else { + Item['linear'] = 'yes'; + Item.Index = R.Items.push(Item) - 1; + let Spread = null; + if(Item['rendition:layout'] == 'pre-paginated' && Item['rendition:page-spread'] == SpreadAfter && Item.Index > 0) { + const PreviousItem = R.Items[Item.Index - 1]; + if(Item['rendition:layout'] == 'pre-paginated' && PreviousItem['rendition:page-spread'] == SpreadBefore) { + PreviousItem.SpreadPair = Item; + Item.SpreadPair = PreviousItem; + Spread = Item.Spread = PreviousItem.Spread; + Spread.Box.classList.remove('single-item-spread-before', 'single-item-spread-' + SpreadBefore); + Spread.Box.classList.add(Item['rendition:layout']); + } + } + if(!Spread) { + Spread = Item.Spread = sML.create('div', { className: 'spread', + Items: [], Pages: [], + Index: R.Spreads.length + }); + Spread.Box = sML.create('div', { className: 'spread-box ' + Item['rendition:layout'], Inside: Spread, Spread: Spread }); + if(Item['rendition:page-spread']) { + Spread.Box.classList.add('single-item-spread-' + Item['rendition:page-spread']); + switch(Item['rendition:page-spread']) { + case SpreadBefore: Spread.Box.classList.add('single-item-spread-before'); break; + case SpreadAfter: Spread.Box.classList.add('single-item-spread-after' ); break; + } + } + R.Spreads.push(SpreadsDocumentFragment.appendChild(Spread.Box).appendChild(Spread)); + } + Item.IndexInSpread = Spread.Items.push(Item) - 1; + Item.Box = Spread.appendChild(sML.create('div', { className: 'item-box ' + Item['rendition:layout'], Inside: Item, Item: Item })); + Item.Pages = []; + if(Item['rendition:layout'] == 'pre-paginated') { + Item.PrePaginated = true; + if(Item.IndexInSpread == 0) Spread.PrePaginated = true; + const Page = sML.create('span', { className: 'page', + Spread: Spread, Item: Item, + IndexInItem: 0 + }); + Item.Pages.push(Item.Box.appendChild(Page)); + I.PageObserver.observePageIntersection(Page); + } else { + Item.PrePaginated = Spread.PrePaginated = false; + } + } + }); + R.createSpine(SpreadsDocumentFragment); + // -------------------------------------------------------------------------------- + B.FileDigit = String(Spine.length).length; + // ================================================================================ + B.ID = Metadata['unique-identifier'] || Metadata['identifier'][0] || ''; + B.Language = Metadata['language'][0].split('-')[0]; + B.Title = Metadata['title' ].join(', '); + B.Creator = !Metadata['creator' ] ? '' : Metadata['creator' ].join(', '); + B.Publisher = !Metadata['publisher' ] ? '' : Metadata['publisher'].join(', '); + const FullTitleFragments = [B.Title]; + if(B.Creator) FullTitleFragments.push(B.Creator); + if(B.Publisher) FullTitleFragments.push(B.Publisher); + B.FullTitle = FullTitleFragments.join(' - ').replace(/&?/gi, '&').replace(/<?/gi, '<').replace(/>?/gi, '>'); + O.Title.innerHTML = ''; + O.Title.appendChild(document.createTextNode(B.FullTitle + ' | ' + (S['website-name-in-title'] ? S['website-name-in-title'] : 'Published with Bibi'))); + try { O.Info.querySelector('h1').innerHTML = document.title; } catch(_) {} + B.WritingMode = /^(zho?|chi|kor?|ja|jpn)$/.test(B.Language) ? (B.PPD == 'rtl' ? 'tb-rl' : 'lr-tb') + : /^(aze?|ara?|ui?g|urd?|kk|kaz|ka?s|ky|kir|kur?|sn?d|ta?t|pu?s|bal|pan?|fas?|per|ber|msa?|may|yid?|heb?|arc|syr|di?v)$/.test(B.Language) ? 'rl-tb' + : /^(mo?n)$/.test(B.Language) ? 'tb-lr' + : 'lr-tb'; + B.AllowPlaceholderItems = (B.ExtractionPolicy != 'at-once' && Metadata['rendition:layout'] == 'pre-paginated'); + // ================================================================================ + E.dispatch('bibi:processed-package'); + }; + + +L.createCover = () => { + const VCover = I.Veil.Cover, PCover = I.Panel.BookInfo.Cover; + VCover.Info.innerHTML = PCover.Info.innerHTML = (() => { + const BookID = []; + if(B.Title) BookID.push(`<strong>${ L.createCover.optimizeString(B.Title) }</strong>`); + if(B.Creator) BookID.push( `<em>${ L.createCover.optimizeString(B.Creator) }</em>` ); + if(B.Publisher) BookID.push( `<span>${ L.createCover.optimizeString(B.Publisher) }</span>` ); + return BookID.join(' '); + })(); + return Promise.resolve(new Promise((resolve, reject) => { + if(!B.CoverImage.Source || !B.CoverImage.Source.Path) return reject(); + let TimedOut = false; + const TimerID = setTimeout(() => { TimedOut = true; reject(); }, 5000); + O.file(B.CoverImage.Source, { URI: true }).then(Item => { + if(!TimedOut) resolve(Item.URI); + }).catch(() => { + if(!TimedOut) reject(); + }).then(() => clearTimeout(TimerID)); + }).then(ImageURI => { + VCover.className = PCover.className = 'with-cover-image'; + sML.style(VCover, { 'background-image': 'url(' + ImageURI + ')' }); + PCover.insertBefore(sML.create('img', { src: ImageURI }), PCover.Info); + }).catch(() => { + VCover.className = PCover.className = 'without-cover-image'; + VCover.insertBefore(I.getBookIcon(), VCover.Info); + PCover.insertBefore(I.getBookIcon(), PCover.Info); + })); +}; + L.createCover.optimizeString = (Str) => `<span>` + Str.replace( + /([  ・/]+)/g, '</span><span>$1' + ) + `</span>`; + + +L.loadNavigation = () => O.openDocument(B.Nav.Source).then(Doc => { + const PNav = I.Panel.BookInfo.Navigation = I.Panel.BookInfo.insertBefore(sML.create('div', { id: 'bibi-panel-bookinfo-navigation' }), I.Panel.BookInfo.firstElementChild); + PNav.innerHTML = ''; + const NavContent = document.createDocumentFragment(); + if(B.Nav.Type == 'Navigation Document') { + sML.forEach(Doc.querySelectorAll('nav'))(Nav => { + switch(Nav.getAttribute('epub:type')) { + case 'toc': Nav.classList.add('bibi-nav-toc'); break; + case 'landmarks': Nav.classList.add('bibi-nav-landmarks'); break; + case 'page-list': Nav.classList.add('bibi-nav-page-list'); break; + } + sML.forEach(Nav.getElementsByTagName('*'))(Ele => Ele.removeAttribute('style')); + NavContent.appendChild(Nav); + }); + } else { + const makeNavULTree = (Ele) => { + const ChildNodes = Ele.childNodes; + let UL = undefined; + for(let l = ChildNodes.length, i = 0; i < l; i++) { + if(ChildNodes[i].nodeType != 1 || !/^navPoint$/i.test(ChildNodes[i].tagName)) continue; + const NavPoint = ChildNodes[i]; + const NavLabel = NavPoint.getElementsByTagName('navLabel')[0]; + const Content = NavPoint.getElementsByTagName('content')[0]; + const Text = NavPoint.getElementsByTagName('text')[0]; + if(!UL) UL = document.createElement('ul'); + const LI = sML.create('li', { id: NavPoint.getAttribute('id') }); LI.setAttribute('playorder', NavPoint.getAttribute('playorder')); + const A = sML.create('a', { href: Content.getAttribute('src'), innerHTML: Text.innerHTML.trim() }); + UL.appendChild(LI).appendChild(A); + const ChildUL = makeNavULTree(NavPoint); + if(ChildUL) LI.appendChild(ChildUL); + } + return UL; + }; + const NavUL = makeNavULTree(Doc.getElementsByTagName('navMap')[0]); + if(NavUL) NavContent.appendChild(document.createElement('nav')).appendChild(NavUL); + } + PNav.appendChild(NavContent); + L.coordinateLinkages(B.Nav.Source.Path, PNav, 'InNav'); + if(B.Nav.Source.Of.length == 1) B.Nav.Source.Content = ''; + return PNav; +}); + + +L.coordinateLinkages = (BasePath, RootElement, InNav) => { + const As = RootElement.getElementsByTagName('a'); if(!As) return; + for(let l = As.length, i = 0; i < l; i++) { const A = As[i]; + if(InNav) { + A.NavANumber = i + 1; + A.addEventListener(E['pointerdown'], Eve => Eve.stopPropagation()); + A.addEventListener(E['pointerup'], Eve => Eve.stopPropagation()); + } + let HRefPathInSource = A.getAttribute('href'), HRefAttribute = 'href'; + if(!HRefPathInSource) { + HRefPathInSource = A.getAttribute('xlink:href'); + if(HRefPathInSource) { + HRefAttribute = 'xlink:href'; + } else { + if(InNav) { + A.addEventListener('click', Eve => { Eve.preventDefault(); Eve.stopPropagation(); return false; }); + A.classList.add('bibi-bookinfo-inactive-link'); + } + continue; + } + } + if(/^[a-zA-Z]+:/.test(HRefPathInSource)) { + if(HRefPathInSource.split('#')[0] == location.href.split('#')[0]) { + const HRefHashInSource = HRefPathInSource.split('#')[1]; + HRefPathInSource = (HRefHashInSource ? '#' + HRefHashInSource : R.Items[0].AnchorPath) + } else { + A.addEventListener('click', Eve => { + Eve.preventDefault(); + Eve.stopPropagation(); + window.open(A.href); + return false; + }); + continue; + } + } + const HRefPath = O.getPath(BasePath.replace(/\/?([^\/]+)$/, ''), (!/^\.*\/+/.test(HRefPathInSource) ? './' : '') + (/^#/.test(HRefPathInSource) ? BasePath.replace(/^.+?([^\/]+)$/, '$1') : '') + HRefPathInSource); + const HRefFnH = HRefPath.split('#'); + const HRefFile = HRefFnH[0] ? HRefFnH[0] : BasePath; + const HRefHash = HRefFnH[1] ? HRefFnH[1] : ''; + sML.forEach(R.Items)(Item => { + if(HRefFile == Item.AnchorPath) { + A.setAttribute('data-bibi-original-href', HRefPathInSource); + A.setAttribute(HRefAttribute, B.Path + '/' + HRefPath); + A.InNav = InNav; + A.Destination = { ItemIndex: Item.Index }; // not IIPP. ElementSelector may be added. + if(Item['rendition:layout'] == 'pre-paginated') A.Destination.PageIndexInItem = 0; + else if(HRefHash) A.Destination.ElementSelector = '#' + HRefHash; + L.coordinateLinkages.setJump(A); + return 'break'; //// break sML.forEach() + } + }); + if(HRefHash && /^epubcfi\(.+?\)$/.test(HRefHash)) { + A.setAttribute('data-bibi-original-href', HRefPathInSource); + A.setAttribute(HRefAttribute, B.Path + '/#' + HRefHash); + if(X['EPUBCFI']) { + A.InNav = InNav; + A.Destination = X['EPUBCFI'].getDestination(HRefHash); + L.coordinateLinkages.setJump(A); + } else { + A.addEventListener('click', Eve => { + Eve.preventDefault(); + Eve.stopPropagation(); + I.note(O.Language == 'ja' ? '<small>このリンクの利用には EPUBCFI エクステンションが必要です</small>' : '"EPUBCFI" extension is required to use this link.'); + return false; + }); + } + } + if(InNav && R.StartOn && R.StartOn.Nav == (i + 1) && A.Destination) R.StartOn = A.Destination; + } +}; + + L.coordinateLinkages.setJump = (A) => A.addEventListener('click', Eve => { + Eve.preventDefault(); + Eve.stopPropagation(); + if(A.Destination) new Promise(resolve => A.InNav ? I.Panel.toggle().then(resolve) : resolve()).then(() => { + if(L.Opened) { + I.History.add(); + return R.focusOn({ Destination: A.Destination, Duration: 0 }).then(Destination => I.History.add({ UI: B, SumUp: false, Destination: Destination })); + } + if(!L.Waiting) return false; + if(S['start-in-new-window']) return L.openNewWindow(location.href + (location.hash ? '&' : '#') + 'jo(nav=' + A.NavANumber + ')'); + R.StartOn = A.Destination; + L.play(); + }); + return false; + }); + + +L.preprocessResources = () => { + E.dispatch('bibi:is-going-to:preprocess-resources'); + const Promises = [], PreprocessedResources = [], pushItemPreprocessingPromise = (Item, URI) => Promises.push(O.file(Item, { Preprocess: true, URI: URI }).then(() => PreprocessedResources.push(Item))); + if(B.ExtractionPolicy) for(const FilePath in B.Package.Manifest) { + const Item = B.Package.Manifest[FilePath]; + if(/\/(css|javascript)$/.test(Item['media-type'])) { // CSSs & JavaScripts in Manifest + if(!Promises.length) O.log(`Preprocessing Resources...`, '<g:>'); + pushItemPreprocessingPromise(Item, true); + } + } + return Promise.all(Promises).then(() => {/* + if(B.ExtractionPolicy != 'at-once' && (S.BRL == 'pre-paginated' || (sML.UA.Chromium || sML.UA.WebKit || sML.UA.Gecko))) return resolve(PreprocessedResources); + R.Items.forEach(Item => pushItemPreprocessingPromise(Item, O.isBin(Item))); // Spine Items + return Promise.all(Promises).then(() => resolve(PreprocessedResources));*/ + if(PreprocessedResources.length) { + O.log(`Preprocessed: %O`, PreprocessedResources); + O.log(`Preprocessed. (${ PreprocessedResources.length } Resource${ PreprocessedResources.length > 1 ? 's' : '' })`, '</g>'); + } + E.dispatch('bibi:preprocessed-resources'); + }); +}; + + +L.loadSpread = (Spread, Opt = {}) => new Promise((resolve, reject) => { + Spread.AllowPlaceholderItems = (S['allow-placeholders'] && Opt.AllowPlaceholderItems); + let LoadedItemsInSpread = 0, SkippedItemsInSpread = 0; + Spread.Items.forEach(Item => { + L.loadItem(Item, { IsPlaceholder: Opt.AllowPlaceholderItems }) + .then(() => LoadedItemsInSpread++) // Loaded + .catch(() => SkippedItemsInSpread++) // Skipped + .then(() => { + if(LoadedItemsInSpread + SkippedItemsInSpread == Spread.Items.length) /*(SkippedItemsInSpread ? reject : resolve)*/resolve(Spread); + }); + }); +}); + + +L.loadItem = (Item, Opt = {}) => { + const IsPlaceholder = (S['allow-placeholders'] && Item['rendition:layout'] == 'pre-paginated' && Opt.IsPlaceholder); + if(IsPlaceholder === Item.IsPlaceholder) return Item.Loading ? Item.Loading : Promise.resolve(Item); + Item.IsPlaceholder = IsPlaceholder; + const ItemBox = Item.Box; + ItemBox.classList.remove('loaded'); + ItemBox.classList.toggle('placeholder', Item.IsPlaceholder); + return Item.Loading = ( // Promise + Item.IsPlaceholder ? Promise.reject() + : Item.ContentURL ? Promise.resolve() + : /\.(html?|xht(ml)?|xml)$/i.test(Item.Source.Path) ? // (X)HTML + O.file(Item.Source, { + Preprocess: (B.ExtractionPolicy || sML.UA.Gecko), // Preprocess if archived (or Gecko. For such books as styled only with -webkit/epub- prefixed properties. It's NOT Gecko's fault but requires preprocessing.) + initialize: () => { + if(!S['allow-scripts-in-content']) { + Item.Source.Content = Item.Source.Content.replace(/<script(\s+[\w\-]+(\s*=\s*('[^'']*'|"[^""]*"))?)*\s*\/>/ig, ''); + O.sanitizeItemSource(Item.Source, { As: 'HTML' }); + } + } + }).then(ItemSource => + ItemSource.Content + ) + : /\.(gif|jpe?g|png)$/i.test(Item.Source.Path) ? // Bitmap-in-Spine + O.file(Item.Source, { + URI: true + }).then(ItemSource => [ + (Item['rendition:layout'] == 'pre-paginated' && B.ICBViewport) ? `<meta name="viewport" content="width=${ B.ICBViewport.Width }, height=${ B.ICBViewport.Height }" />` : '', + `<img class="bibi-spine-item-image" alt="" src="${ Item.Source.URI }" />` // URI is BlobURL or URI + ]) + : /\.(svg)$/i.test(Item.Source.Path) ? // SVG-in-Spine + O.file(Item.Source, { + Preprocess: (B.ExtractionPolicy ? true : false), + initialize: () => { + const StyleSheetRE = /<\?xml-stylesheet\s*(.+?)\s*\?>/g, MatchedStyleSheets = Item.Source.Content.match(StyleSheetRE); + if(!S['allow-scripts-in-content']) O.sanitizeItemSource(Item.Source, { As: 'SVG' }); + Item.Source.Content = (MatchedStyleSheets ? MatchedStyleSheets.map(SS => SS.replace(StyleSheetRE, `<link rel="stylesheet" $1 />`)).join('') : '') + '<bibi:boundary/>' + Item.Source.Content; // Join for preprocessing. + } + }).then(ItemSource => + ItemSource.Content.split('<bibi:boundary/>') + ) + : Item.Skipped = true && Promise.resolve([]) + ).then(ItemSourceContent => new Promise(resolve => { + const DefaultStyleID = 'bibi-default-style'; + if(!Item.ContentURL) { + let HTML = typeof ItemSourceContent == 'string' ? ItemSourceContent : [`<!DOCTYPE html>`, + `<html>`, + `<head>`, + `<meta charset="utf-8" />`, + `<title>${ B.FullTitle } - #${ Item.Index + 1 }/${ R.Items.length }`, + (ItemSourceContent[0] ? ItemSourceContent[0] + '\n' : '') + + ``, + ``, + (ItemSourceContent[1] ? ItemSourceContent[1] + '\n' : '') + + ``, + `` + ].join('\n'); + HTML = HTML.replace(/(]+)?>)/i, `$1\n` + (!B.ExtractionPolicy && !Item.Source.Preprocessed ? `\n` : '')); + if(O.Local || sML.UA.LINE || sML.UA.Trident || sML.UA.EdgeHTML) { // Legacy Microsoft Browsers do not accept DataURLs for src of